Coding, Filming, and Nothing
article thumbnail
1.4 Operating System Structure and Operation
무제 메모장 2021. 4. 11. 00:33

1. Operating System Structure Motivation 단일 사용자가 계속해서 I/O 디바이스와 CPU를 동시에 사용하는 것을 유지할 수 없음 -> CPU utilization 을 높이기 위해서 CPU를 쓰지 않을 때 최대한 사용하게 하자 멀티프로그래밍 멀티프로그래밍은 jobs(코드와 데이터)로 구성되어 있는데, CPU는 항상 한 job 밖에 실행하지 못함. 모든 job중에 일부를 메모리에 저장/적재 한다. 하나의 job을 선택해서 실행을 시키는데, 이때 job scheduling에 의해 실행된다. OS는 job이 I/O 등으로 인해 대기해야하면 다른 Job으로 스위칭을 수행한다. #필기 멀티프로그래밍의 최초 동기는 CPU Utilization을 높이고자 하는데에서 시작을 했다. CPU..

article thumbnail
1.2 Computer system organization and operation
무제 메모장 2021. 3. 16. 16:02

1. 컴퓨터 시스템의 동작 컴퓨터가 실행되기 시작하면 무슨 일이 일어나는가? Bootstrap program(firmware) 가 실행이 된다. 시스템을 진단하고 초기화를 수행한다. 그리고, OS Kernel을 적재하고 실행시킨다. (Bootstrap loader) OS Kernel 부팅된다. (초기) 어떠한 일(event)을 대기한다. 그리고 그 이벤트를 처리한다. 현대의 운영체제들은 Interrupt driven programs 이다. #필기 펌웨어(Firmware) 아주 작은 프로그램으로, 메인보드에 위치해있다. 해당 프로그램은 전원을 켜면 실행이 된다. 첫번째로, 하드웨어의 진단(e.g. 키보드 유/무에 따른 경고)과 초기화를 수행한다. 두번째로, 운영체제를 읽고 실행을 한다. 펌웨어가 어떻게 O..