sw사관학교정글/OS 개념정리 19

[week13] KOCW 운영체제(반효경교수님) - File System Implementation 2

File systems implementation 2 Page cache and buffer cache 운영체제가 file입출력을 할 때 사용자 프로그램의 요청을 받아서 disk에서 읽어온 내용을 그냥 전달하는 게 아니라 자신의 buffer cache 영역에 읽어놓고, 그 내용을 copy로 넘겨주기 때문에 다음번에 동일한 file data에 대한 read, write system call이 오면, disk까지 가지않고 buffer cache에서 처리한다. 예전에는 sector단위는 512byte였다. 최근에는 buffer cache가 page cache와 통합이 되면서 buffer cache에서 사용하는 단위도 4KB를 사용한다(unified buffer cache). unified buffer cach..

[week13] KOCW 운영체제(반효경교수님) - File System Implementation 1

File System Implementation 1 지난 시간 리뷰 storage에 있는 data에 접근하는 방법에는 순차접근(sequential access)과 직접접근(random access)이 있다. 그 매체에 따라 다른데 tape은 순차접근만 된다. hard disk, flash memory, CD들은 직접접근이 가능하다. 직접 접근이 가능한 매체라도 data를 어떻게 관리하느냐에 따라서 순차접근만 허용될 수도 있고 직접접근이 가능할 수도 있다(지금은 무슨말인지 몰라도 뒤에 읽다보면 이해가 된다). Allocation of File Data in Disk file은 크기가 일정하지 않다. 그러나 disk에 file을 저장할 때는 동일한 크기의 sector 단위로 나눠서 저장한다. file sys..

[week13] KOCW 운영체제(반효경교수님) - File Systems

File Systems File and File System file a named collection of related information 일반적으로 비휘발성의 보조기억장치에 저장 운영체제는 다양한 저장 장치를 file이라는 동일한 논리적 단위로 볼 수 있게 해줌 operation(연산) create, read, write, reposition(lseek), delete, open, close 등 File attribute(혹은 file의 metadata) 파일 자체의 내용이 아니라 파일을 관리하기 위한 각종 정보들 파일 이름, 유형, 저장된 위치, 파일 사이즈 접근 권한(읽기/쓰기/실행), 시간(생성/변경/사용), 소유자 등 File system 운영체제에서 파일을 관리하는 부분 파일 및 파일의 ..

[week09] KOCW 운영체제(반효경교수님) - Virtual Memory 2

Virtual Memory 2 다양한 캐슁 환경 캐슁(caching) 기법 한정된 빠른 공간(=캐쉬)에 요청된 데이터를 저장해 두었다가 후속 요청시 캐쉬로부터 직접 서비스하는 방식 paging system 외에도 cache memory, buffer caching, web caching등 다양한 분야에서 사용 캐쉬 운영의 시간 제약 교체 알고리즘에서 삭제할 항목을 결정하는 일에 지나치게 많은 시간이 걸리는 경우 실제 시스템에서 사용할 수 없음 buffer caching이나 web caching의 경우 O(1) ~ O(log n) 정도까지 허용 paging system인 경우 page fault인 경우에만 OS가 관여함 O(1)인 LRU의 list 조작조차 불가능 → 왜?(뒷부분에 자세한 설명 나옴) 페이..

[week09] KOCW 운영체제(반효경교수님) - Virtual Memory 1

Virtual Memory 1 주소변환은 운영체제가 관여하지 않았는데, virtual memory 기법은 전적으로 운영체제가 관여한다. Demand paging 실제로 필요할 때 page를 메모리에 올린다. I/O 양의 감소 memory 사용량 감소 더 빠른 응답 시간 더 많은 사용자(프로그램) 수용 Vaild / Invalid bit의 사용 당장 필요한 A,C,F는 physical memory에 올라가 있고(valid), 그렇지 않은 부분은 backing store에 내려가 있다(invalid). invalid의 의미 사용되지 않는 주소 영역인 경우 페이지가 물리적 메모리에 없는 경우 처음에는 모든 page entry가 invalid로 초기화 address translation(주소변환)시에 inval..

[week09] KOCW 운영체제(반효경교수님) - Memory Management 4

Memory Management 4 Example of Segmentation page는 개수가 굉장히 많지만, segment는 개수가 별로 없다. 따라서 memory 공간의 overhead 측면에서 segment방식이 유리하다.(page table보다 segment table의 크기가 훨씬 작다) Sharing of Segments Segmentation with Paging paged segmentation 이라고도 한다. 주소변환을 두 단계를 거쳐서 해야한다. segmentation 주소변환을 해주면 page-table의 시작위치가 나온다. (segment 당 page table이 존재) page-table에서 physical address로 주소변환을 진행한다. segment 하나가 여러개의 pa..

[week09] KOCW 운영체제(반효경교수님) - Memory Management 3

Memory Management 3 Multilevel Paging and Performance Address space가 더 커지면 다단계 페이지 테이블이 필요 4단계 페이지 테이블을 사용하는 경우 주소변환하는데 4번 + 직접 메모리 접근 1번 = 총 5번의 메모리 access가 필요함 메모리 접근 시간이 100ns, TLB 접근 시간이 20ns, TLB hit ratio가 20%인 경우 effective memory access time = 0.98 x 120+0.02 x 520 = 128ns 결과적으로 주소 변환을 위해 걸리는 시간은 28ns이다. Valid(v) / Invalid(i) Bit in a Page Table Memory Protection page table의 각 entry마다 아래의..