프로세스의 개념 > 프로세스의 문맥이란 어디까지 실행했고, 독자적인 주소 공간에 대한 정보, 레지스터에 어떤 값이 있는가 등이다. 이런 문맥을 파악하는 이유는 여러 프로세스들이 번갈아가며 실행되기 때문이다. 프로세스의 상태 (Process State) > read
부모 프로세스와 자원을 공유할 수도 있고, 공유하지 않을 수도 있다. 원칙적으로는 자원을 공유하지 않는다. 서로 경쟁하는 관계가 된다.프로세스가 실행될 때 부모와 자식이 공존할 수도 있고, 부모는 blocked에서 기다릴 수도 있다.자식은 부모의 공간을 그대로 복사한다
cpu 이용률은 전체 시간 중에 cpu가 놀지않고 일한 시간이다.처리량은 주어진 시간에 얼마나 많은 일을 처리했는가이다.밑에 3개는 고객의 입장이다. 3\. turnaround time은 cpu를 쓰러 들어와서 다쓰고 나갈때까지의 시간이다.4\. waiting time
0번 프로세스는 turn이 0이 아니면 기다리고, 0이면 critical section을 처리하고 turn을 1로 만들어 1번 프로세스가 들어가게 해준다.하지만 busy waiting이 발생한다.flag는 들어가고자 하는 의중을 드러낸다. 만약 flag로 의중을 나타내
여기에는 사이클이 없으니 deadlock이 아니다. 왼쪽은 데드락이다. 자원이 두 개가 있지만 사이클도 두개다. 오른쪽은 사이클이 있지만, 자원이 두개씩 있기 때문이다. 여분의 자원이 있기 때문에 2번과 4번이 자원을 반납하면 available해진다. mutual ex
Logical vs. Physical Address > 프로그래머 입장에서는 숫자로 된 주소가 아닌 symbolic address를 사용한다. > 언제 주소 변환을 하는지에 따라 3 가지 방법으로 구분할 수 있다. 주소 바인딩 (Address Binding) >
swap area에 내려가 있는 경우에도 invalid bit으로 표시한다.만약 주소 변환을 하러 갔는데 페이지 테이블에 없다면 "page fault"가 났다고 한다. 이 경우 cpu는 운영체제에게 넘어간다. 만약 메모리가 변경되었다면 쫓아내기전에 디스크에 써줘야 한다