패스트캠퍼스

[패스트캠퍼스 수강 후기] 올인원 패키지 : 컴퓨터 공학 전공 필수👉C언어인강 100% 환급 챌린지 34회차 미션

돌맹이시터 2020. 11. 21. 21:48

 

 

환급미션 34일째..

 

 

 

운영체제 - 프로세스와 스케쥴러의 이해 - 01. 스케쥴링 알고리즘 기본 1

운영체제 - 프로세스와 스케쥴러의 이해 - 02. 스케쥴링 알고리즘 기본 2

 

 

 

*

프로세스 (process) : 메모리에 올려져서, 실행 중인 프로그램

(작업, task, job이라는 용어와 유사한 용어로 혼용되기도 한다)

응용프로그램 != 프로세스

(응용 프로그램은 여러 개의 프로세스로 이루어질 수 있음)

 

(간단한 c/c++ 프로그램을 만든다면 -> 하나의 프로세스)

(여러 프로그램을 만들어서, 서로 통신하면서 프로그램을 작성할 수도 있음 - IPC 기법)

 

코드 이미지(바이너리): 실행파일 ex) ELF format

 

 

 

- 스케쥴러와 프로세스 (스케쥴러 : 프로세스 실행을 관리)

 

 

* 스케쥴링 알고리즘 ( 어느 순서대로 프로세스를 실행시킬까? )

 

목표

•시분할 시스템 - 프로세스 응답시간을 가능한 짧게 만듬

•멀티 프로그래밍 - cpu 활용도를 극대화, 프로세스를 빨리 실행

 

 

 

* FIFO 스케쥴러

 

프로세스가 저장매체를 읽거나 프린팅 한다거나 하는 작업 없이,

쭉 cpu를 처음부터 끝까지 사용한다고 가정

 

•가장 간단한 스케쥴러 ( 배치 처리 시스템 )

•FCFS (first come first served) 스케쥴러

 

 

 

 

 

* 최단 작업 우선 (SJF, shortest job first) 스케쥴러

 

가장 실행시간이 짧은 프로세스부터 먼저 실행시키는 알고리즘

 

FIFO, SJF 스케쥴러를 비교해보았다.

 

 

 

*

•RealTime OS (RTOS) : 응용 프로그램 실시간 성능 보장을 목표로 하는 OS

정확하게 프로그램 시작, 완료 시간을 보장 (시간에 민감)

Hardware RTOS, Software RTOS

 

•General Purpose OS (GPOS)

프로세스 실행시간에 민감하지 않고, 일반적인 목적으로 사용되는 OS 

ex) Windows, Linux 등

 

 

 

* 우선순위 기반 스케쥴러 (priority-based)

 

•정적 우선순위 - 프로세스마다 우선순위를 미리 지정

 

(경우마다 다른데, 숫자가 높으면 우선순위가 높다고 가정한 경우임)

 

 

•동적 우선순위 - 스케쥴러가 상황에 따라 우선순위를 동적으로 변경

 

 

 

 

 

 

* Round Robin 스케쥴러

 

큐&시분할 시스템을 기본으로 한다.

 

 

 

 

 

 

 

정리

 

다양한 기본 스케쥴링 알고리즘

•FIFO (FCFS) 스케쥴링 알고리즘 (배치 처리 시스템)

•최단 작업 우선 (SJF) 스케쥴링 알고리즘

•우선순위 기반 스케쥴링 알고리즘 (정적 우선순위/동적 우선순위)

•Round Robin 스케쥴링 알고리즘 (시분할 시스템 기반)

 

 

 

 

올인원 패키지 : 컴퓨터 공학 전공 필수👉https://bit.ly/3i4sCVE