본문 바로가기

Archived(CSE)/운영체제

(10)
Chap 10. File System - File 개념(array of byte) - File System(disk block과 실제 file을 맵핑, 관리) - File System 구조(boot, super, inode, data) - FCB(file control block, INODE) 정보들(file type, file size, owner/group, # of blocks, timestamp, ptr to blocks) - INODE 구조(direct blocks, single indirect, double indirect, tirpple indirect) - directory in file system - virtual file system(vnode)
Chap 9. Virtual Memory Management - demand paging(Process에서 페이지 요구시 Os에서 처리) - Page fault(요구 - 부재 - Trap Os - Disk(page) - Page 갱신 후 - Table 갱신) - Pure Demand Paging(장 메모리 시간 절약, 연속 할당 / 단 반응성(속도 느림)) - Memory Perfomance 계산( (1-p)*m + p *f ) , slowdown(EAT/m) - COW(write가 이루어지는 순간에 copy) - Page replacement(Frame과의 관계, modify bit) - FIFO, OPT, LRU - LRU(HW 보조 counter, stack) - LRU ref bit, additional ref bit - LRU second chance A..
Chap 8. Memory Management - Memory address 접근 - Memory address binding(compile, loading, execution) - physical vs logical address(execution만 다르다), MMU(메모리 접근 처리) - Static vs Dynamic linking(장점- 유지보수, 메모리 관리, 단점 - one time cost) - Swapping(메모리와 디스크 교환), Context Switching time - Contiguous Memory Allocation, 고정/가변 사이즈(first, best, worst fit) - Fragmentation(내부외부) -> Segmentation(내부 단편화 해결 가능) - Paging(외부 단편화 해결가능), page #,..
Chap 7. Deadlock - Deadlock의 개념(모든 프로세스가 다른 프로세스의 이벤트를 기다리는 상태) - Deadlock의 조건(Mutual Exclusion, Hold and wait, Non preemption, Circular wait) - Resource allocation graph(자원, 프로세스, 관계) - Deadlock 대처 방안 3가지 (예방 & 회피, 탐지 & 회복, 그냥 두기) - Deadlock 예방(조건 4가지에 대해 각각, circular만 현실적으로 가능) - Deadlock 회피(RAG alg, 뱅커스 alg) RAG는 cycle 형성 x -> 데드락 발생x 뱅커스 alg은 RAG가 multiple instance에서 사용이 불가능하기에 등장 새로운 요청이 있을 경우, safe state인지..
Chap 6. Synchronization - Bounded-Buffer problem(Producer/Consumer 간에 같은 버퍼 공간 사용 시, Instruction이 Atomic X -> Race Condition 문제 발생) - Synchronization이 필요한데, Multi-Thread 에서는 변수 공유를 하기에 더욱 필요, Kernel의 경우 선점문제 - Critical Section 문제(ES-CS-ES-RS), 솔루션의 3가지 요구사항(상호배제, 진행, 기다림 제한) - Strict Alternation(상호배제는 o, Progress는 x(원하지 않더라도 반복)) - Peterson's Algorithm(flag, turn 두 가지 변수를 활용해 원하는지도 체크, 나올 때 flag false 준다) - 상호 배제(무조건 하..
Chap 5. Process Scheduling 운영체제 Chap 5. (프로세스 스케쥴링 - 분포 - 상태변화, 선점비선점 - 디스패처 - 기준 - FCFS - SJF - PS -MQS MFQS) 프로세스 스케쥴링(스레드, 이용률, 공유) cycle io cpu (exp 구성) cpu schedule(rw rr wr t) 선점/ 비선점 1,4 상태에서 구분 선점의 문제점(race condition, syscall) Dispatcher (스위치, latency) scheduling criteria(max:ctf /min: trw) working conserving scheduler FCFS 일반적인 스케쥴링(순서에 영향, convoy) SJF 이론상 좋지만 미래정보(유저?) exp avg 활용( a 가중치활용) SJF 선점 비선점 우선순위 스케쥴링(F..
Chap 4. Thread 운영체제 Chap 4. (스레드 개념 - 이점 - Parallelism/Concurrency - Multicore 고려사항 - 병행 종류 - 멀티스레딩 모델 - 스레드 lib - 스레드 풀 - 스레드 이슈) Thread 개념(register stack 각각, 데이터 파일 공유) Thread 이점(효율성, 반응성, 공유성, 범위성) Multicore 는 각 코어당 스레드 처리 Concurrency vs Parallelism Multicore 고려사항(일 파악, 균형, 의존성, 디버깅) 병행 종류(data, task) 멀티스레딩 모델(nto1, 1to1, ntom) 스레드 라이브러리(pthread, window, java) Thread pool(미리 대기, 사용자 문제) 스레드 이슈(fork exec, si..
Chap 3. Process 운영체제 Chap 3. (프로세스 개념 - 메모리 구조 - 상태와 PCB - Scheduler - Creation/Termination - IPC) process 기본 개념 memory 구조(stack heap data text) Process memory layout(다 쓸 수 있다고 생각) Process state(new ready running wait terminate) PCB(프로세스 정보 담은 블록) Process switch 시 PCB 활용 Process scheduling(ready running wait) Scheduler(Long term Job/ Short term cpu) Context Switching(HW 적으로 구성) Process creation pid Process crea..