Operation System 2

[OS] CPU 스케줄링 방법

운영체제의 역할 중에는 CPU 작업 프로세스와 할당 순서를 관리하는 "CPU 스케줄러"의 역할이 있다. 스케쥴러는 공평하게 프로세스를 실행시키고 반응시간을 최소화, 자원의 효율성을 증가시키는 등의 목적을 가지며 이를 위한 스케줄링 방법에는 여러가지가 있다. 스케줄러 종류 o 선점형 스케줄러 (Preemptive) : 운영체제가 CPU에서 실행 중인 프로세스의 차례를 뺏을 수 있다. ==> interrupt (장점) 문맥교환(Context Switch)에 의한 낭비가 발생 (단점) CPU의 독점이 없기 때문에 전체적으로 빠른 응답시간 o 비선점형 스케줄러 (Non-Preemptive) : 한 번 실행된 프로세스가 종료될 때까지 CPU를 독점한다. ==> 일괄작업시스템 (장점) 스케줄러의 작업율이 높고, 문..

CS/OS 2021.08.10

[OS] 인터럽트(Interrupt)란?

초기 컴퓨터 시스템은 CPU 작업 중 입출력장치에 데이터를 통신할 일이 생기면 이를 직접 수행하는 폴링(Polling) 방식이었다. 이 때, CPU에서 입출력에 관여하는데 시간이 소요된다는 시간문제가 있었는데 이를 해결하기 위해 등장한 것이 바로 인터럽트(Interrupt)방식이다. 기존의 폴링 방식때에는 CPU만이 메모리나 주변장치에 대한 권한을 가지고 있었는데, 인터럽트 방식에서는 이 권한을 입출력 관리자에게 부여하고, CPU는 본래 역할(명령어 해석, 실행)에 충실하여 작업의 효율을 높혔다. 이 때, 입출력 관리자에게 부여한 권한을 직접 메모리 접근(DMA)라고 한다. 인터럽트 동작과정 (1) CPU에서 프로세스 실행중 I/O요청 발생시 해당 프로세스를 대기 상태로 변경. 다음 프로세스 수행 (2)..

CS/OS 2021.08.07