프로세스 (Process)
프로세서에 의해 처리되는 사용자 프로그램. 시스템 프로그램, 즉 실행 중인 프로그램을 의미한다.
PCB (Process Control Block) , 프로세스 제어 블록
PCB는 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓은 곳이다
각 프로세스가 생성 될 때마다 고유의 PCB가 생성되고, 프로세스가 완료되면 PCB는 제거된다.
프로세스 상태 전이
제출 (Submit) : 작업을 처리하기 위해 사용자가 작업을 시스템에 제출한 상태
접수 (Hold) : 제출된 작업이 스풀 공간인 디스크의 할당 위치에 저장된 상태
* Spooling : 입 출력 장치의 공유 및 상대적으로 느린 I/O 장치의 처리 속도 보완. I/O할 데이터를 직접 I/O장치에 보내지 않고 한꺼번에 나중에 I/O하기 위해 디스크에 저장하는 과정
준비 (Ready) : 프로세스가 프로세서를 할당받기 위해 기다리고 있는 상태
실행 (Run) : 준비상태 큐에 있는 프로세스를 할당받아 실행하는 상태
대기(Wait, Block) : 프로세스에 I/O 처리가 필요하면 현재 실행중인 프로세스가 중단되고 I/O 처리가 완료될 때까지 대기하는 상태
종료(Terminated, Exit) : 프로세스의 실행이 끝나고 프로세스 할당이 해지된 상태
Dispatch : 준비 상태에서 대기하고 있는 프로세스 중 하나가 프로세서를 할당받아 실행상태로 전이되는 과정
Wake Up : 입출력 작업이 완료되어 프로세스가 대기 상태에서 준비 상태로 전이되는 과정
Thread
시스템의 여러 자원을 할당받아 실행하는 프로그램의 단위. 프로세스 내에서 하나의 작업 단위로 사용.
스레드 기반 시스템에서 스레드는 독립적인 스케줄링의 최소 단위로 프로세스의 역할을 담당한다
스케줄링 (Scheduling)
프로세스가 생성되어 실행될 때 필요한 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업
장기 스케줄링 : 어떤 프로세스가 시스템의 자원을 차지할 수 있도록 할 것인가를 결정하여 준비상태 큐로 보내는 작업
중기 스케줄링 : 어떤 프로세스들이 CPU를 할당 받을 것인지 결정하는 작업
단기 스케줄링 : 프로세스가 실행되기 위해 CPU를 할당받는 시기와 특정 프로세스를 지정하는 작업
비선점 스케줄링
이미 할당된 CPU를 다른 프로세스가 강제로 빼앗아 사용할 수 없는 스케줄링 기법
FCFS, SJF, 우선순위, HRN, 기한부
선점 스케줄링
우선 순위가 높은 다른 프로세스가 CPU를 강제로 빼앗아 사용할 수 있는 스케줄링 기법
우선순위가 높은 프로세스를 빠르게 처리할 수 있다
많은 오버헤드를 초래한다
Round Robin, SRT, 선점 우선순위, 다단계 큐, 다단계 피드백 큐
'Computer Science > 정보처리기사' 카테고리의 다른 글
[정보처리기사/실기] 인터넷, 서브네팅 (0) | 2022.09.17 |
---|---|
[정보처리기사/실기] window & linux/unix 명령어 (0) | 2022.09.17 |
[정보처리기사/실기] 운영체제 - 페이지 교체 알고리즘 (0) | 2022.09.14 |
[정보처리기사/실기] 운영체제 - 가상기억장치 구현 기법 (0) | 2022.09.14 |
[정보처리기사/실기] 운영체제의 개념 (0) | 2022.09.14 |