1. 프로세스 정의
프로세스
: 일반적으로 프로세서(CPU)에 의해 처리되는 사용자 프로그램, 시스템 프로그램,
즉 실행 중인 프로그램을 의미하며,
운영체제가 관리하는 최소 단위의 작업(Job), 태스크(Task)이다.
프로세스의 또 다른 정의
- PCB를 가진 프로그램
더보기
PCB?
환자기록부에 비유.
CPU가 그 프로그램에 대한 정조를 모아둔 것.
PCB를 통해 각 프로그램별 실행 우선순위를 정할 수 있다.
- 실기억장치(주기억장치)에 저장된 프로그램
- 프로세서가 할당되는 실체(디스패치가 가능한 단위)
- 프로시저가 활동 중인 것
더보기
프로시저?
한 프로그램을 여러 개의 작은 프로그램으로 분할할 수 있는데, 이때 분할된 작은 프로그램을 의미하며, 부프로그램이라고도 함
- 비동기적 행위를 일으키는 주체
더보기
비동기적 행위?
다수의 프로세스가 서로 규칮겆깅거나 연속적이지 않고 독립적으로 실행되는 것을 의미
- 지정된 결과를 얻기 위한 일련의 계통적 동작
- 목적 또는 결과에 따라 발생되는 사건들의 과정
2. 프로세스 상태 전이
병원에서 접수하고 대기하고, 간호사가 부르고 진료 받고 다시 대기하고 등등의 절차로
- 제출(Submit)
- 작업을 처리하기 위해 사용자가 작업을 시스템에 제출한 상태
- 프로그램을 실행하는 단계
- 병원에 왔어유
- 접수(Hold)
- 제출된 작업이 스풀 공간인 디스크의 할당 위치에 저장된 상태
- 병원에서 접수를 합니다유
더보기
스풀?
하드웨어와 소프트웨어 사이의 속도 차이를 조절해 주는 곳
- 준비(Ready)
- 프로세스가 프로세서를 할당받기 위해 기다리고 있는 상태
- 외과 앞에서 간호사가 대기해 주기를 기다리고 있어유
- 실행(Run)
- 준비상태 큐에 있는 프로세스가 프로세서를 할당받아 실행되고 있는 상태
- 의사를 만나 진료를 받고 있어유
- 대기(Wait)/보류/블록(Block)
- 프로세스에 입출력 처리가 필요하면, 현재 실행 중인 프로세스가 중단되고, 입출력 처리가 완료될 때까지 대기하고 있는 상태
- 진료 후에 방사선과로 가서 대기하고 있는 상태
- 종료(Terminated, Exit)
- 프로세서의 실행이 끝나고 할당이 해제된 상태
3. 스레드
스레드(Thread)
: 프로세스 내에서의 작업 단위로서 시스템의 여러 자원을 할당받아 실행하는 프로그램의 단위
- 프로세스의 일부 특성을 가지고 있어, 경량(Light Weight) 프로세스라고도 부름
- 자신만의 스택(Stack)과 레지스터(Register)를 가지고 있고, 독립된 제어 흐름을 갖는다
- 하나의 프로세스 내에 있는 작업 단위
- 독립적인 스케줄링의 최소 단위
- 단일 스레드
- 하나의 프로세스에 하나의 스레드가 존재하는 경우
- 다중 스레드
- 하나의 프로세스에 여러 스레드가 존재하는 경우
'자격증 > 정보처리산업기사' 카테고리의 다른 글
003. 스케줄링 (1) | 2024.12.08 |
---|---|
001. 운영체제의 개념 (0) | 2024.12.08 |