본문 바로가기

programming/OS

(2)
[운영체제] 프로세스 스케줄링 프로세스 스케줄링이란? 프로세스 스케줄링은 CPU를 사용하려고 하는 프로세스들 사이의 우선순위를 관리하는 작업이다. 즉, CPU가 할 일을 적절하게 스케줄링해준다고 볼 수 있다. 예를 들어, CPU가 하나뿐인 시스템인 단일 처리 시스템에서는 운영체제의 CPU 등의 자원을 얻으려는 작업 A와 B가 있을 때, A가 이미 실행 중일때는 이 작업이 끝나야 B작업을 수행할 수 있다. 반면에 CPU가 여러 개인 다중 처리 시스템에서는 운영체제의 스케줄러가 자원을 사용하려는 프로세스들에 자원을 적절히 분배해서 할당한다. 결국 CPU가 놀지 않도록 이거해라 저거해라 해준다는 의미이다. 스케줄링을 통해서 우리가 가지는 이점은 CPU의 처리율 증가 : 같은 시간 동안 프로세스를 처리하는 비율 증가 CPU 이용률을 증가 :..
프로세스, 스레드 프로그램 프로그램은 보통 하드디스크나 보조기억장치에 저장된 실행가능한 코드를 말한다. 프로세스 프로세스란 CPU에 의해 처리되는 사용자 프로그램, 시스템 프로그램, 즉 실행중인 프로그램을 의미하고 작업(Job) 또는 태스크(Task)라고도 한다. 운영체제로부터 자원을 할당받는 작업의 단위라고도 할 수 있다. 프로세스가 여러 개가 된다면 멀티프로세스라고 한다. 프로세스 상태 하나의 프로세스는 여러가지 이벤트에 의해 일련의 서로 구분되는 상태 변화를 겪는다. 생성, 준비, 실행, 대기, 완료 상태를 가질 수 있다. 프로세스 상태 설명 생성(Create) 상태 사용자에 의해 프로세스가 생성된 상태 준비(Ready) 상태 CPU를 할당 받을 수 있는 상태. 준비 리스트 : 각각 우선순위를 부여하여 가장 높은 우..