context switching 2

Mechanism : Limited Direct Execution

Limited Direct Execution cpu를 가상화할때 필요한 mechanism에 대해서 알아보자. 여기서 direct라는 것은 사용자 프로그램이든, 커널이든 상관없이 cpu가 직접 처리한다는 의미이고, 성능때문에 그렇게 하고있지만 이렇게 될 경우 운영체제가 cpu를 직접 컨트롤(스케줄링)할수 없게 되는 문제가 생긴다. 그런데 운영체제 입장에서는 cpu를 하나의 자원으로 보고 적절히 스케줄링할 수 있어야 하기 때문에 성능손실 없이 cpu를 컨트롤하기 위해서 고안된 것이 바로 Limited Direct Execution(제한적 직접 실행)이라는 메커니즘이다. cpu가 물리적으로는 하나지만 모드는 두개가 있다. (user mode, kernel mode) 그리고 이 모드를 어떻게 설정하느냐에 따라서..

운영체제 2023.03.13

The Abstraction : The process

process와 virtualizing 소스프로그램을 컴파일하여 얻은 실행파일을 program이라고 하고, 이는 하드디스크에 저장되어 있다가 메인메모리로 로딩된다.(폰노이만 아키텍쳐) 그러면 메인메모리에 있는 이 코드를 cpu가 읽어다가 처리하고, 이 과정이 반복 수행되는 것을 '프로그램이 수행된다'라고 한다. 그리고 이렇게 프로그램이 실행될 때 나타나는 현상들을 추상화하여 개념적으로 정리해놓은 것이 process이다. 우리는 cpu를 가상화해서 여러개의 프로그램이 동시에 실행되는 효과를 얻을 수 있는데, 이때 실행되는 상태를 추상화한 것이 process이고, 메모리도 모자라는 상황에서 이것을 여러개의 프로그램이 사용하기 위해서는 메모리도 가상화가 필요하다. 여기에 필요한 것이 주소공간(address s..

운영체제 2023.03.12