실제로 필요할 때 page를 메모리에 올리는 것I/O 양의 감소Memory 사용량 감소빠른 응답 시간더 많은 사용자 수용Valid / Invalid bitInvalid사용되지 않는 주소 영역인 경우page가 물리적 메모리에 없는 경우address translation
Paging logical memory는 page(고정된 사이즈)로 분리되어 있고, physical memory는 frame(고정된 사이즈)으로 분리되어 있음. page table logical memory를 physical memory로 변환할 때 사용
Logical address프로세스마다 독립적으로 가지는 주소 공간각 프로세스마다 0번지부터 시작CPU가 보는 주소Physical address메모리에 실제 올라가는 위치주소 바인딩 : 주소를 결정하는 것logical address를 physical address로 매
Deadlock : 일련의 프로세스들이 서로가 가진 자원을 기다리며 block된 상태 Deadlock 발생 조건 (1) Mutual exclusion : 매 순간 하나의 프로세스만이 자원을 사용할 수 있음 (2) No preemption :
: 여러 프로세스들이 동시에 공유 데이터를 접근하는 상황 데이터의 최종 연산 결과는 마지막에 그 데이터를 다룬 프로세스에 따라 달라짐 (1) 커널 모드 실행 중 인터럽트가 발생하는 경우(둘 다 커널 코드이므로 kernel address space 공유)
어떤 프로그램이 실행 된다는 것은 CPU burst와 I/O burst를 반복하며 실행된다는 뜻.선점(preemptive) : 강제로 회수ex) timer interrupt, I/O 완료 후 interrupt비선점(nonpreemptive) : 자진 반납ex) I/O
fork() : 자식 프로세스를 생성(부모 프로세스를 복제)exec() : 새로운 프로그램으로 덮어씌움wait() : 자식이 종료될 때까지 기다림(blocked)exit() : 프로세스 종료자발적 종료프로그램에 명시적으로 적어주지 않아도 main 함수가 리턴되는 위치에
: 프로세스 내부의 CPU 수행 단위program counter, register set으로 구성되고 나머지 영역은 다른 thread들과 공유. stack에 할당.응답성 : 다중 스레드로 구성된 구조에서는 하나의 스레드가 blocked 상태인 동안에도 동일한 태스크
: 실행중인 프로그램 : 특정 시점에서 프로세스의 상태를 규명하기 위한 요소들Running : CPU를 잡고 instruction을 수행중인 상태Ready : CPU를 기다리는 상태Blocked(wait, sleep): CPU를 주어도 당장 instruction을 수