2020. 1. 11. 16:24ㆍ컴퓨터공학기초 및 이론/운영체제
Process란?
- 실행중인 프로그램을 일반적으로 일컬음, task, job 등과 혼용
프로세스: 메모리에 올려져서 실행중인 프로그램
코드 이미지(바이너리): 실행 파일, (ex: ELF format)
응용프로그램 != 프로세스 -> 응용 프로그램은 여러개의 프로세스로 이루어질 수 있다// 하나의 응용 프로그램은 여러 개의 프로세스(프로그램)가 상호작용을 하면서 실행될 수도 있음
프로세스 실행을 관리하는 것 - 스케쥴러
스케쥴링 알고리즘이란? 어느 순서대로 프로세스를 실행시킬까에 대한 결정
-> 시분할 시스템 // 멀티프로그래밍 등과 같은 부분을 적용
FIFO 스케쥴러 - 가장 간단한 스케쥴러 (배치 처리 시스템). 저장매체 IO작업이나 프린팅 작업등 없이 쭉 CPU를 처음부터 끝까지 사용한다. FCFS 스케쥴러라고도 한다(First Come First Served)
SJF(최단 작업 우선) 스케쥴러 - 가장 프로세스 실행시간이 짧은 프로세스부터 먼저 실행을 시키는 알고리즘
우선순위 기반 스케쥴러 (Priority-Based)
- 정적 우선순위 : 프로세스마다 우선순위를 미리 지정
- 동적 우선순위 : 스케쥴러가 상황에 따라 우선순위를 동적으로 변경
Round Robin 스케쥴러
- 준비 큐에 프로세스에 올릴 작업들을 넣고, 시분할 시스템을 적용하여 실행. 시분할 단위로 작업이 완료되지 않은 작업은 다시 큐에 반환하는 식으로 돌리고 작업이 완료되면 다시 큐에 추가되지 않음.
'컴퓨터공학기초 및 이론 > 운영체제' 카테고리의 다른 글
선점형과 비선점형 스케쥴러 (0) | 2020.01.26 |
---|---|
프로세스 상태와 스케쥴링 (0) | 2020.01.11 |
멀티프로그래밍 (0) | 2020.01.02 |
OS구조 - 사용자 모드와 커널 모드 (0) | 2019.12.27 |
시스템 콜 (0) | 2019.12.27 |