목록운영체제 (3)
🐥
multi programming과 time sharing 시대가 도래하며 초기에는 process 전체에 권한을 주고 시간이 끝나면 모든 상태를 disk에 저장하는 방식을 사용했다. 당연히 이 방법은 매우 느렸다. 따라서 OS는 프로세스 전환 시 프로세스를 메모리에 유지하면서 time sharing system과 그에 따른 protection을 효율적으로 구현할 수 있게 설계되어야 했다. Address Space OS는 physical memory를 사용하기 쉬운 abstraction으로 만든다. 즉 address space는 running program의 view인 것이다. Virtual Memory virtual memory는 한정적인 DRAM을 여러 process가 나눠쓰기 위해 사용된다. 즉, pr..
Direct Execution OS가 program을 시작할 때 ① process list에 process entry를 만들고 ② memory를 할당하고 ③ program code를 memory에 load하고 ④ 진입점을 찾아 그 지점으로 분기한다. program을 cpu상에서 직접 실행시키므로 빠르게 실행된다. 그러나 한번에 한 프로그램만 실행할 수 있다는 단점을 가지고 있다. 한번에 한 프로그램만 돌릴 수 있다는 것은, 일단 프로그램이 시작되면, cpu는 현재 프로그램이 cpu를 자발적으로 반환할 때까지 기다려야 한다는 의미이다. 이 경우에 time sharing이 힘들어지고, Limited direct execution이 등장했다. Limited Direct Execution 1. 제한된 연산 프로..
cpu virtualizing scheduling policy에 따라 process가 실행되는 순서가 다르다. 각 process는 서로 자신이 register를 전부 점유하고 있다고 알아야 함 disk에서 memory로 올리는 역할을 OS가 한다고 볼 수 있음 Running process fetch: single instruction을 special register에 복사하는 과정 decode: interpret instruction and generate digital signal execute: 실행 update PC: PC를 next instruction으로 옮김 이 네 과정을 반복한다. 이 때 multiple cpu가 존재한다면 각각 한 process를 fetch해 실행할 수 있다. 그러나 sin..