※ 공부 내용의 복습 개념으로 정리된 글입니다. - 출처 시나공
프로세스의 정의
프로세스(Process)는 일반적으로 프로세서 (처리기, CPU)에 의해 처리되는 사용자 프로그램, 시스템 프로그램,
즉 실행중인 프로그램을 의미하며, 운영체제가 관리하는 최소 단위의 작업(Job), 태스크(Task) 입니다.
- 프로세스는 다음과 같이 여러 형태로 정의할 수 있습니다.
- PCB를 가진 프로그램
- 실기억장치(주기억장치)에 저장된 프로그램
- 프로세서가 할당되는 실체
- 프로시저가 활동중인 것
- 비동기적 행위를 일으키는 주체 (독립적 싱행)
- 지정된 결과를 얻기 위한 일련의 계통적 동작
- 목적 또는 결과에 따라 발생되는 사건들의 과정
※ 프로시저 / 비동기적 행위
프로시저
한 프로그램은 여러 개의 작은 프로그램으로 분할될 수 있는데, 이때 분활된 작은 프로그램을 의미하며, 부프로그램이라고도 부른다.
비동기적 행위
다수의 프로세스가 서로 규칙적이거나 연속적이지 않고 독립적으로 실행되는 것을 말한다.
※ PCB (Process Control Block)
프로세스 저어 블록(Process Control Block)의 약자로, CPU에 의해 실행 중인 특정한 프로세스를 관리할 필요가 있는 정보를 포함하는 운영체제 커널의 자료 구조입니다.
운영 체제 차원에서 관리해주며, 이게 없다면 프로세스를 효율적으로 관리해줄 정보가 없어 사용자가 컴퓨터를 통한 원하는 기능을 제대로 이용할 수 없을 것입니다.
작업 제어 블록(Task Control Block) 또는 작업 구조, 영문 이니셜로 TCB라고도 합니다.
프로세스 상태 전이
프로세스 상태 전이는 프로세스가 시스템 내에 존재하는 동안 프로세스의 상태가 변하는 것을 의미하며,
프로세스의 상태를 다음과 같이 상태 전이도로 표시할 수 있습니다.
- 제출(Submit)
- 작업을 처리하기 위해 사용자가 작업을 시스템에 제출한 상태
- 접수(Hold)
- 제출된 작업이 스풀 공간인 디스크의 할당 위치에 저장된 상태
- 준비(Ready)
- 프로세스가 프로세서를 할당받기 위해 기다리고 있는 상태
- 실행(Run)
- 준비상태 큐에 있는 프로세스가 프로세서를 할당받아 실행되는 상태
- 대기(Wait), 보류, 블록(Block)
- 프로세스에 입 출력 처리가 필요하면 현재 실행 중인 프로세스가 중단되고,
입 출력 처리가 완료될 때까지 대기하고 있는 상태
- 프로세스에 입 출력 처리가 필요하면 현재 실행 중인 프로세스가 중단되고,
- 종료(Terminated, Exit)
- 프로세서의 실행이 끝나고 프로세스 할당이 해제된 상태
스레드
스레드(Thread)는 프로세스 내에서의 작업 단위로서 시스템의 여러 자원을 할당받아 실행하는 프로그램의 단위입니다.
- 하나의 프로세스에 하나의 스레드가 존재하는 경우에는 단일 스레드,
하나 이상의 스레드가 존재하는 경우에는 다중 스레드라고 합니다. - 프로세스의 일부 특성을 갖고 있기 때문에 경량(Light Weight) 프로세스라고도 합니다.
- 자신만의 스택(Stack)과 레지스터(Register)를 갖으며 독립된 제어 흐름을 갖고 있습니다.
'정보처리산업기사' 카테고리의 다른 글
정보처리산업기사, 정보처리기사 - HRN 스케줄링 알고리즘 집중 탐색!! (0) | 2024.05.17 |
---|---|
정보처리산업기사, 정보처리기사 - SJF, 우선 스케줄링 알고리즘 집중 탐색!! (0) | 2024.05.15 |
정보처리산업기사, 정보처리기사 - FCFS, FIFO, 페이지 교체 알고리즘 집중 탐색!! (0) | 2024.05.14 |
정보처리산업기사 - 응용 SW 기초 기술 활용 - 스케줄링 (0) | 2024.05.14 |
정보처리산업기사 - 응용 SW 기초 기술 활용 - 운영체제의 개념 (0) | 2024.05.11 |