Chapter 5. CPU Scheduling (2) 💡 Scheduling Criteria - Performance Index(스케쥴링 성능 척도) CPU Utilization (이용률) Keep the CPU as busy as possible CPU가 놀지 않고 일한 시간의 비율 Throughput (처리량) # of processes that complete their execution per time unit 주어진 시간 동안 몇개의 작업을 처리했는지에 대한 비율 Turnaround Time (소요 시간, 평균 시간) amount of time to execute a particular process CPU를 쓰기 시작해서 I/O 처리를 위해 종료할 때까지 (뺏길 때까지) 걸린 시간 (CPU b..
Chapter 5. CPU Scheduling - 1 💡 CPU and I/O Bursts in Program Execution 명령어 실행 도중 I/O 작업으로 넘어가면 wait이 발생하게 됨. CPU만 연속적으로 사용하는 CPU burst 상태와 I/O만 연속되어 발생하는 I/O Burst 상태가 반복되게 됨. 주로 사람이 연결되어 있는 프로그램에서 주로 반복되는 형태가 많이 발생함 (interactive한 job) 프로그램의 종류에 따라 빈도나 유형이 각각 다름. 💡 CPU-burst time의 분포 여러 종류의 job(=process)이 섞여 있기 때문에 CPU 스케쥴링이 필요하다. 중간에 I/O가 많으면 CPU bust time이 적음. (= I/O bound job) -> 반대가 CPU bou..
Chapter 4. Process Management 💡 프로세스 생성 (Process Creation) 부모 프로세스(Parent Process)가 자식 프로세스(Children Process)를 생성한다. (프로세스가 또 다른 프로세스를 만드는 구조. 복제 생성) 프로세스의 트리(계층 구조)가 형성된다. 프로세스는 자원을 필요로 한다. 이 때, 자원은 운영체제(OS)로부터 받거나 부모와 공유한다. 자원의 공유 부모와 자식이 모든 자원을 공유하는 모델 일부를 공유하는 모델 (모든 자원을 공유하는 것보다 더 효율적임) ex) Linux 전혀 공유하지 않는 모델 수행 (Execution) 부모와 자식은 공존하며 수행되는 모델 자식이 종료(terminate)될 때까지 부모가 기다리는(wait = blocke..
Chapter 3. Process(2), (3) 💡 동기식 입출력과 비동기식 입출력 부연설명 입출력을 요청한 프로세스가 입출력이 끝날 때까지 대기상태일 경우 동기식 입출력. 입출력을 요청한 프로세스가 종료시까지 대기하지 않고 CPU가 새로운 instruction를 실행할 경우 비동기식 입출력. 💡 Thread A thread is a basic unit of CPU utilization lightweight process라고도 부름 CPU를 수행하는 단위라고 할 수 있음. data, code 부분은 thread들이 공유를 하고 각각 stack부분만 thread가 고유 공간을 가지고 있음. PCB에서도 Thread 각각이 독립적으로 구성하고 있는 것은 PC(Program counter), Register이..
Chapter 2. System Structure & Program Execution (1) 💡 컴퓨터 시스템 구조 하드 디스크는 input device/output device 둘 다의 역할을 한다. – cpu안에는 memory보다 빠른 저장 공간이 있음. 이를 register라고 함. Interrupt line은 항상 프로그램이 memory 영역만을 사용해서 작동하기는 어렵기 때문에, I/O device 접근을 위해 프로그램 실행 중 interrupt를 걸어 해당 device에서 데이터를 읽거나 쓴다. Mode Bit 사용자 프로그램의 잘못된 수행으로 다른 프로그램 및 운영체제에 피해가 가지 않도록 하기 위한 보호 장치 필요. cpu는 항상 interrupt line을 체크해 프로그램 실행 중 int..