전체 글

12-1 동기화란동기화의 의미동시다발적으로 실행되는 많은 프로세스는 서로 데이터를 주고 받으며 협력하며 실행될 수 있다.아무렇게나 마구 동시에 실행해서는 안되기 때문에(경쟁 상태: race condition) 프로세스(스레드) 동기화가 필수.실행 순서 제어를 위한 동기화는 프로세스를 올바른 순서대로 실행한다.상호 배제를 위한 동기화는 동시에 접근해서는 안 되는 자원에 하나의 프로세스만 접근하게 한다. 생산자와 소비자 문제공유 버퍼를 사이에 두고, 생산자와 소비자간 공유 버퍼를 문제없이 사용하도록 동기화시키는 문제.생산자가 데이터를 생성하면 소비자는 그것을 소비하는 형태에서 발생하는 형식.공유 버퍼에 상호 배제 해결.비어 있는 공유 버퍼를 소비자가 읽으면 안됨.꽉 찬 공유 버퍼에 생산자가 더 이상 데이터를..
11-1 CPU 스케줄링 개요운영체제가 프로세스들에게 공정하고 합리적으로 CPU자원을 배분하는 것을 CPU 스케줄링이라고 한다.프로세스 우선순위프로세스의 중요도에 따라 운영체제가 우선순위(priority)를 부여.우선순위가 높은 프로세스는 대표적으로 입출력 작업이 많은 프로세스.입출력 작업을 완료하기 전까지 입출력 집중 프로세스는 대기 상태가 되므로, 다른 프로세스가 CPU를 사용할 수 있기 때문. 스케줄링 큐각 프로세스의 PCB에 부여된 우선순위에 따라 CPU를 사용할 수 있도록 줄을 세우는 것이 스케줄링 큐(scheduling queue)대표적인 큐로 준비 큐(ready queue: CPU를 이용하고 싶은 프로세스들이 서는 줄)와 대기 큐(waiting queue: 입출력장치를 이용하기 위해 대기 상..
10-1 프로세스 개요프로세스 제어 블록CPU 자원은 한정되어 있기 때문에 프로세스들은 차례대로 돌아가며 한정된 시간만큼만 CPU를 이용.운영체제는 빠르게 번갈아 수행되는 프로세스의 실행 순서를 관리하고, 프로세스에 CPU를 비롯한 자원을 배분하기 위해 프로세스 제어 블록(PCB: Process Control Block)을 이용.PCB는 프로세스와 관련된 정보를 저장하는 자료 구조이며, 커널 영역에 생성된다.PCB를 통해 알수있는 대표적인 정보들: 프로세스ID, 레지스터 값, 프로세스 상태, CPU스케줄링 정보, 메모리 관리 정보, 사용한 파일과 입출력장치 목록 문맥 교환Ex) 프로세스 A가 운영체제로부터 CPU를 할당받아 실행되다가 시간이 다 되어 프로세스 B에 CPU 사용권을 넘기는 상황.프로세스 A..
09-1 운영체제를 알아야 하는 이유운영체제란프로그램 실행에 필요한 요소들을 가리켜 시스템 자원이라고 한다.실행할 프로그램에 필요한 자원을 할당하고, 프로그램이 올바르게 실행되도록 돕는 특별한 프로그램이 바로 운영체제(operating system)이다. 운영체제는 특별한 프로그램이기 때문에 항상 컴퓨터가 부팅될 때 메모리 내 커널 영역(kernel space)에 따로 적재되어 실행 됨.커널 영역을 제외한 나머지 영역, 사용자가 이용하는 응용 프로그램이 적재되는 영역을 사용자 영역(user space)이라고 함.운영체제는 실행할 프로그램을 메모리에 적재.더 이상 실행되지 않는 프로그램을 메모리에서 삭제하며 지속적으로 메모리 자원을 관리.또한, 응용 프로그램에 자원을 효율적으로 배분하고, 실행할 프로그램들..
Chynmn
Chynmn