process : 실행중인 program(program in Execution)disk controller, USB controller, graphics adapter : I/O devicesmemory, CPU : Stored program ArchitectureSy
I/O devices와 CPU는 concurrent하게 작동된다.I/O : device와 controller의 buffer 사이 data가 이동하는 것.(CPU까지 도달하는 과정 포함)Controller : I/O processor각 controller는 local b
program이 실행하는 경우encapsulationdynamic, active 객체이다.memory에 있는 process들의 scheduling을 관리process는 process ID(PID)를 부여받고 식별자로 사용된다.task, sequential process
ready process 중 CPU를 누구한테 전달할 것인가를 정하는 것All systemsNo starvation : CPU를 분배Fairness : CPU 자원을 공평하게 분배 받아야 한다.Balance : system 전체적으로 골고루 자원을 사용하도록 한다.Ba
여러 개의 process가 협력하는 상황에서 resource를 share하는 상황에서 발생share 중에 read가 아닌 write가 하나라도 있어야한다.이러한 실행 흐름을 조정하는 것임의의 속도(arbitrarily)라고 가정을 해야 한다.CPU scheduling에
OS가 지원하는 lock object이다.lock spinning을 예방하기 위해서 만들어졌다.mutex_lock : acquire / lock permission을 얻는다. 누군가 lock을 가지고 있다면 다음 온 process는 lock이 release될 때까지 b
Process는 많은 정보를 포함하기 때문에 hevey-weight하다.Address space : code, data pagesHardware execution state(Context) : PCB 내부의 PC, SP, registers.. OS resources,
서로 협력하는(연결된) process들이 발생할 수 없는 사건을 기다리는 상태를 의미한다.deadlock 상태의 process는 계속해서 block 상태를 유지한다.network, speed 등 상황에 따라 한번씩 일어날 수 있어서 debugging이 어렵다.두 개 이
programming을 하는데 있어서 편의성을 제공하는 것한정된 memory를 여러 process가 최고의 performance를 수행하고 minimal overhead를 가지게 하는 것각 process 사이에 철저한 isolation(보호, 독립)OS를 제외한 나머지
Space over head of page tables32 bit address의 page(0~11 : offset/12~31 : page- 낭비가 심해서 table의 사용하는 부분만 구현을 하는 방식을 생각Virtual address의 page number를 2개의
page fault가 발생하면 OS는 fault page를 disk에서 읽고 check해서 memory frame에 올린다.process가 자신에게 할당된 page frame들을 전부 사용했다면 OS는 다른 page를 replace(evict)한다.victim page
File → 대용량의 정보를 지속적으로(persistence)하게 저장하기 위해 사용HDD, SDD, CD ROM 등도 기한이 있어 주의해야한다.정보를 file에 담아 여러 process가 공유하기 위해서 사용하기도 한다.file : 물리적인 저장 장치에 저장하는 것이
file system을 향상시킬 때 On-disk, in-memory 두 part로 작업을 한다.Boot control block / Master Boot Record(MBR) : OS의 booting 정보가 담겨 있는 block, kernel 관련 정보Volume c
Boot block : boot volume/boot loader를 가리키는 blockSuper block : 구성 정보(inode, freelist, datablock의 개수, 위치 등)를 담고 있는 blockI-node List(Table) : 모든 inode는 같