본문 바로가기

CS/운영체제3

Mechanism : Limited Direct Execution How to efficiently virtualize the CPU with control? CPU 가상화를 하기 위해서는 OS가 물리적인 CPU를 이용해 여러 process를 동시에 실행해야 한다. 어떻게 CPU 가상화를 효율적으로 할 것 인가? >>> OS는 time sharing을 통해 물리 CPU를 공유 문제가 발생한다. Performance : 어떻게 시스템에 과도한 overhead 없이 가상화를 구현하는가? Control : 어떻게 CPU 제어를 유지하면서 process를 효율적으로 control 할 것 인가? Direct Execution 프로그램을 CPU 위에 직접 실행한다. 프로그램이 돌아가는 동안 OS가 아무것도 못하게 된다. 문제가 발생했을 때 개입을 못하기 때문에, 그저 librar.. 2023. 5. 14.
Processes Dialogue on Virtualization 여기 하나의 복숭아가 있다고 가정해 보자. 나는 이 복숭아를 3명의 사람에게 공유하려고 한다. 이때, 3명의 사람이 다른 사람과 복숭아를 공유한다는 사실을 알면 불쾌할 수도 있다. 따라서 3명의 사람이 각각 자신만의 복숭아를 지급받았다고 생각하도록 해야 한다. 복숭아 - CPU or memory, 3명의 사람 - process이라고 할 때 >>> CPU 또는 memory를 각각의 프로세스가 혼사 소유하고 사용하고 있다고 여기도록 하는 것이다. 어떻게?? 3명의 사람은 모두 하루종일 복숭아를 먹지 않을 것이기 때문에, 내가 복숭아를 빼앗아 복숭아가 필요한 사람에게 제공하면 된다. CPU Virtualization The Crux of the Problem :.. 2023. 4. 12.
Introduction to Operating Systems What a happens when a program runs? 프로그램은 실행 중일 때 명령들을 실행한다. 1. Fetch : processor가 memory에서 instruction을 가져오면 2. Decode : 해당 명령이 어떤 명령인지 확인하는 decode를 한다. 3. Execute : 실행한다. (ex. 숫자 추가, memoery 접근, condition 확인,...) 4. next instruction : processor가 다음 명령으로 이동 Operating System (OS) OS는 program 실행을 쉽게 하고 program에서 memory 공유를 허용하고 program이 devices들과 interact 하는 것을 허용한다. OS is in charge of making sur.. 2023. 4. 12.