OS 2

CPU 스케줄링

스케줄링의 개요 CPU 스케줄러는 프로세스가 생성된 후 종료될 때까지 모든 상태 변화를 조정한다. CPU 스케줄러의 작업을 레스토랑 관리자의 역할에 빗대어 이해해 보자 1. 레스토랑 관리자의 스케줄링 주방과 홀이 분뢰된 레스토랑에서는 요리사가 홀 상황을 알기 어려우므로 주문을 받거나 대기자를 관리하는 업무는 레스토랑 관리자가 도맡는다. 레스토랑 관리자는 그 외에도 여러 역할을 담한다. 운영체제에서 이러한 레스토랑 관리자의 역할을 담당하는 것은 CPU 스케줄러이다. 스케줄링은 여러 프로세스의 상황을 고려하여 CPU와 시스템 자원을 어떻게 배정할지 결정하는 일을 말한다. 2. CPU 스케줄링 CPU 스케줄링은 규모에 따라 고수준 스케줄링, 중간 수준 스케줄링, 저수준 스케줄링으로 구분된다. 고수준 스케줄링 ..

OS 2023.04.21

프로세스와 스레드

프로세스란? 운영체제에서 프로세스는 하나의 작업 단위이다. 예) 사용자가 마우스를 더블클릭하여 프로그램을 실행하면 그 프로그램은 프로세스가 된다. 또 실행을 위해 메모리에 올라온 동적인 상태이기도 하다. 프로그램에서 프로세스로의 전환 프로그램과 프로세스의 관계 프로그램이 프로세스가 되었단 것은 운영체제로부터 프로세스 제어 블록(PCB)을 받았다는 의미이다. 프로세스가 종료된다는 것은 해당 프로세스 제어 블록이 폐기된다는 뜻이다. 더보기 프로세스 = 프로그램 + 프로세스 제어 블록 프로그램 = 프로세스 - 프로세스 제어 블록 프로세스의 상태 운영체제에서는 여러 가지의 이유로 프로세스의 상태가 변한다. 프로세스가 네 가지 상태 생성 상태: 프로세스가 메모리에 올라와 실행 준지를 완료한 상태이다. 준비 상태:..

OS 2023.04.11