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 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..
Chapter 1. Introduction to Operating Systems 💡 운영체제란 무엇인가 ? 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층 운영체제는 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공해주며, 동시 사용자/프로그램들이 각각 독자적 컴퓨터에서 수행되는 것 같은 환상을 제공함. 하드웨어를 직접 다루는 복잡한 부분을 운영체제가 대행해줌. 컴퓨터 시스템의 자원을 효율적으로 관리해줌. 프로세서, 기억장치, 입출력장치 등의 효율적 관리 사용자간의 형평성 있는 자원 분배와 주어진 자원으로 최대한의 성능을 내도록 OS가 관리해줌. 사용자 및 운영체제 자신의 보호 프로세스, 파일, 메세지 등을 관리 좁은 의미의 운영체제 : 커널(..