본문 바로가기

운영체제

(28)
22. File System Implementations 1 & 2 이화여자대학교 반효경 교수님의 운영체제 강의 25강을 듣고 정리한 내용이다. ✏️ Allocation of File Data in Disk ✔️ Contiguous Allocation (연속 할당) 하나의 파일이 디스크 상에 연속해서 저장되는 기법 파일의 크기가 균일하지 않기 때문에 중간중간 hole이 생기는 문제 발생 페이징 기법과 유사 장점 Fast I/O 많은 양의 데이터를 빠르게 가져올 수 있음 한번의 seek/rotation으로 많은 바이트 transfer Realtime file 용으로, 또는 이미 run 중이던 process의 swapping 용 Direct access(=random access) 가능 단점 external fragmentation File grow가 어려움 파일 생성 시 ..
21. File Systems 이화여자대학교 반효경 교수님의 운영체제 강의 24강을 듣고 정리한 내용이다. ✏️ File and File System 📂 File "A named collection of related information" 일반적으로 비휘발성의 보조기억장치에 저장 운영체제는 다양한 저장 장치를 file이라는 동일한 논리적 단위로 볼 수 있게 해줌 Operation - create, read, write, reposition(lseek), delete, open, close 등 reposition(lseek) - 위치 수정 ✔️ File attribute (혹은 파일의 metadata) 파일 자제의 내용이 아니라 파일을 관리하기 위한 각종 정보들 파일 이름, 유형, 저장된 위치, 파일 사이즈 접근 권한 (읽기/쓰기/실..
20. Virtual Memory 2 이화여자대학교 반효경 교수님의 운영체제 강의 23강을 듣고 정리한 내용이다. ✏️ 다양한 캐싱 환경 ✔️ 캐싱 기법 한정된 빠른 공간(=캐시)에 요청된 데이터를 저장해 두었다가 후속 요청 시 캐시로부터 직접 서비스하는 방식 가능하면 물리적 메모리에서 해결을 하고, page fault가 나면 처리 속도가 느린 backing store을 참조하는 것 Paging system 외에도 cache memory, buffer caching, Web caching 등 다양한 분야에서 사용(LRU, LFU 사용 가능) ✔️ 캐시 운영의 시간 제약 교체 알고리즘에서 삭제할 항목을 결정하는 일에 지나치게 많은 시간이 걸리는 경우 실제 시스템에서 사용할 수 없음 Buffer caching 이나 Web caching의 경우 ..
19. Virtual Memory 1 이화여자대학교 반효경 교수님의 운영체제 강의 22강을 듣고 정리한 내용이다. 물리적인 메모리의 주소 변환은 운영체제가 관여하지 않는다. 그에 반에 virtual memory 기법은 전적으로 운영체제가 관리하고 있다. 가상 메모리라는 것은 프로세스 전체가 메모리 내에 올라오지 않더라도 실행이 가능하도록 하는 기법이다. 가상 메모리는 물리 메모리로부터 논리 메모리를 분리해, 메인 메모리를 균일한 크기의 저장 공간으로 구성된 엄청나게 큰 배열로 추상화 시켜준다. 이 기법을 통해 프로그래머는 메모리의 크기 제약으로부터 자유로워지고, 공유 메모리 구현도 가능하게 해주며, 프로세스 생성을 효율적으로 처리할 수 있는 기법도 제공한다. 그러나 이러한 가상 메모리는 구현하기 어렵고, 만약 잘못 사용하게 되면 성능이 현저..
17. Memory Management 2 이화여자대학교 반효경 교수님의 운영체제 강의 19강을 듣고 정리한 내용이다. ✏️ Paging example 프로그램을 구성하는 논리적인 메모리를 동일한 크기로 나누고, 페이지별로 물리적인 메모리에 올리는 것(=페이징 기법) 페이지 테이블(page table)은 각각의 논리적인 페이지들이 물리적인 페이지 어디에 올라가 있는가, 각각의 논리적 페이지 별로 주소 변환을 할 수 있게 하는 것이 페이지 테이블 페이지 테이블은 논리적인 메모리의 페이지 개수 만큼 엔트리가 존재 ✏️ Address Translation Architecture ✏️ Implementation of Page Table Page table은 메인 메모리에 상주 Page-table base register(PTBR)가 page table을..
16. Memory Management 1 이화여자대학교 반효경 교수님의 운영체제 강의 18강을 듣고 정리한 내용이다. ✏️ Logical vs. Physical Address ✓ logical address (= virtual address) - 프로세스마다 독립적으로 가지는 주소 공간으로, 각 프로세스마다 0번지부터 시작. 즉, CPU가 보는 주소는 논리적 주소임 ✓ physical address - 메모리에 실제 올라가는 위치 주소 바인딩 - 주소를 결정하는 것 (symbolic address → logical address → physical address) 프로그래머 입장에선 숫자가 아닌 심볼로 된 주소를 사용하고, 이것이 컴파일 되면 숫자로 된 주소로 변환됨 ✏️ 주소 바인딩(Address Binding) ✓ Compile time b..
15. Deadlocks 2 이화여자대학교 반효경 교수님의 운영체제 강의 17강을 듣고 정리한 내용이다. ✏️ Deadlock Detection and Recovery Deadlock Detection Resource type에 따라 ✓ Single instance인 경우, 자원 할당 그래프에서 사이클이 곧 deadlock을 의미 ✓ Multiple instance인 경우, Banker's algorithm과 유사한 방법 활용 Wait-for graph 알고리즘 ✓ Resource type당 single instance인 경우 ✓ Wait-for graph • 자원할당 그래프의 변형 • 프로세스만으로 node 구성 • $P_j$가 가지고 있는 자원을 $P_k$가 기다리는 경우 $P_k → P_j$ ✓ Algorithm • Wait-..
14. Deadlocks 1 이화여자대학교 반효경 교수님의 운영체제 강의 16강을 듣고 정리한 내용이다. ✏️ Deadlock (교착상태) 위의 교통상황처럼, 누군가가 희생을 하겠다라고 한다면 deadlock이 발생하는 일은 없을 것 → 컴퓨터 시스템에서도 마찬가지로 각자 일부 자원은 갖고 있으면서 다른 프로세스의 자원을 요구하는 상황이 발생해서 생기는 것이라고 이해 ✏️ The Deadlock Problem • Deadlock - 일련의 프로세스들이 서로가 가진 자원을 기다리며 블록(block)된 상태 • Resource(자원) - 하드웨어, 소프트웨어 등을 포함하는 개념 ex. I/O device, CPU cycle, memory space, semaphore 등 Request(요청), Allocate(획득/할당), Use(사용..