운영체제 3

CPU 스케줄링

스케줄링의 단계 고수준 스케줄링 (=장기 스케줄링, 작업 스케줄링) 시스템 내의 전체 작업 수를 조절한다. 작업 요청이 오면 시스템의 상황을 고려하여 작업을 승인할지 거부할지를 결정한다. 메인프레임과 같은 큰 시스템에서 사용된다. 중간 수준 스케줄링 (=중기 스케줄링) 프로세스가 활성화된 후에도 시스템의 부하를 조절하기 위해 프로세스 중 일부를 보류 상태로 보내기도 하고, 다시 활성화시키기도 한다. 저수준 스케줄링 (=단기 스케줄링) 준비 상태에 있는 프로세스를 실행 상태 또는 대기 상태로 보내기도 하며, 타임아웃으로 준비 상태로 돌려보내기도 한다. 스케줄링의 목적 공평성: 모든 프로세스가 자원을 공평하게 배정받아야 한다. 효율성: 시스템 자원이 유휴 시간 없이 사용되어야 한다. 안정성: 우선순위를 사용..

프로세스란?

프로세스 저장장치에 저장되어 있는 프로그램을 실행하기 위해 메모리에 올라온 동적인 상태이다. 컴퓨터 시스템의 작업 단위로 태스크라고도 한다. 프로세스 제어 블록 (PCB) 운영체제가 프로세스를 처리하는 데 필요한 다양한 정보가 들어 있으며 운영체제 영역에 만들어진다. 프로그램이 프로세스가 전환되려면 반드시 운영체제로부터 프로세스 제어 블록을 받아야 한다. 프로세스가 종료되면 프로세스가 메모리에서 삭제되고 프로세스 제어 블록도 폐기된다. 프로세스 구분자 (ID) 각 프로세스를 구분하는 구분자 메모리 관련 정보 실행하려는 프로세스가 메모리의 어디에 저장되어 있는지에 대한 메모리 위치 정보, 메모리 보호를 위한 경계 레지스터와 한계 레지스터 각종 중간값 시분할 시스템에서는 여러 프로세스가 번갈아가며 실행되기 ..

프로그램, 프로세스, 스레드의 차이

프로그램 저장장치에 저장되어 있는 정적인 상태 프로세스 프로그램 실행을 위해 메모리에 올라온 동적인 상태 프로그램이 메모리에 올라오고 PCB가 생성된다. * PCB (Process Control Block): 프로세스를 처리하는 데 필요한 다양한 정보가 들어있다. 프로세스 메모리 구조 코드 영역: 프로그램의 본문이 기술된 곳 데이터 영역: 코드가 실행되면서 사용하는 변수나 파일 등의 각종 데이터를 모아놓은 곳 힙 영역: 동적으로 할당되는 변수 영역 스택 영역: 운영체제가 프로세스를 실행하기 위해 부수적으로 필요한 데이터를 모아놓은 곳 스레드 프로세스의 코드에 정의된 절차에 따라 CPU에 작업 요청을 하는 실행 단위 프로세스와 스레드의 차이 - 프로세스가 스레드보다 더 큰 개념의 작업 단위이다. - 프로세..

1