본문 바로가기

전체 글

(99)
Chapter# 23 Fast File System Chapter#23 Fast File System Fast File System Old Unix File System 장점 : 간단하며 기본적인 file/directory abstraction 지원 file system 구현이 쉽다 단점 : 1) high positioning costs data가 넒게 퍼져있어서 찾는데 왔다갔다 해야됨 2) Fragmentation makes it worse FFS(Fast File System) : Disk Awareness is the solution. (UC.Berkeley에서 만듦) Cylinder Group(or block group) : 비슷한 위치에 있는 트랙들을 묶은 것 - seek time을 줄일 수 있다 File/Directory 할당 방법 : poli..
Chapter#22 File System Implementation Chapter#22 File System Implementation File System Implementation Data structure : data/metadata 표시를 위한 on-disk structure Access methods : open(), read(), write() Divide disk into blocks Block size : 4KB (sector 512B) data region : user data를 저장하기 위한 공간을 잡아둠 inode table : on-disk inodes array - inode table : 3~7, inode size : 256 bytes - 4KB block can hold 16 inodes - filesystem contains 10 inode..
Chapter#21 IO : File and Directory Chapter#21 IO : File and Directory - Files and Directories - Unix file IO - Links - Mount Files and Directories Storage Virtualization File : read/write가능한 linear array of bytes - content : creator에 의해 만들어짐 e.g. text/binary - inode number로 identified됨 (pid와 유사) Directory : file과 directories를 묶기 위한 special file - content : list of (user-readable name, inode #) pairs를 가짐 - hierarchical oraganizati..
Chapter#20 Flash-based SSDs Chapter#20 Flash-based SSDs - Flash-based SSD - Direct Mapped FTL - Log-structured FTL - Wear-leveling Flahs-based SSD Solid-state Storage Drives (SSDs) - much shorter I/O latency (e.g. 10ms vs 50us) - much higher I/O throughput (e.g. 100MB/s vs 5GB/s) - DRAM과 다르게 power가 꺼져도 data 유지 - key technology : NAND flash memory NAND Flash - HDD는 transistor based이지만 - SSD는 NAND Flahs memory based이다 > non-..
Chapter#19 I/O : HDD and RAID Chapter#19 I/O : HDD and RAID - Hard Distk Drives - Disk Scheduling - RAID 시스템 프로그래밍 수업 내용이랑 겹치는 부분 Hard Disk Drivers (HDDs) Disk Geometry 각 Platter : 2 surface 각 Surface : Ring 형태의 tracks 각 track : gaps로 나눠진 sectors Disk Operation disk surface : fixed rotation rate로 회전 read/write head : arm 끝에 달려서 disk surface를 얇은 air cushion을 두고 읽음. arm에 의해 track이동 Disk Access surface는 CCW로 돎 헤더가 위에 있을 때 해당 se..
Chapter#18 I/O Device Chapter#18 I/O Devices I/O Devices I/O System Architecture memory bus를 통해서 main memory가 cpu에 붙는다 I/O bus를 통해서 system에 연결된다 Memory Bus : 100~300 GB/s General I/O Bus : PCIe3.0 36GB/s ~ PCIe5.0 100GB/s Peripheral I/O Bus : 5GB/s hierarchical structrue 사용 이유 : 물리/비용적 issue bus가 빠를수록 high performance를 유지하는건 비용이 크며 더 적은 device를 넣을 수 있다 Canonical Device H/W interface : system software가 작동을 제어할 수 있도록 함..
Chapter#17 Swapping Chapter#17 Swapping - Swapping - Replacement Policy Swapping Swap Space page 이동을 위해 disk에 저장하는것 OS는 page-sized unit만큼의 swap space를 기억해 둬야함 Page Table with Swapping PTE는 additional bit를 가져 present(or valid)한지 확인한다 - 1 : 페이지는 physical memory에 존재한다 - 0 : 페이지는 physical memory에 존재하지 않지만, disk에 존재한다 Page Hit : Virtual Memory(disk)에 존재하며 physical memory에 올라온 word를 참조 (DRAM cache hit) Page Fault : Virtu..
Chapter#16 Paging Advanced Chapter#16 Paging Advanced - Hybrid Approach - Multi-level Page Table - Inverted Page Table Hybrid Approach 굳이 안쓰이는 공간에 대해서 page table이 메모리 공간을 잡아 둘 의미가 없다 -> Segmentation과 Paging 동시 사용 - code, heap, stack별로 page table을 만들자 - base register : 각 segment에 대해 page table의 physical address를 가리킴 - bound(or limit) register : page table의 끝을 가리킴(length) Design of Hybrid Approach Virtual Address : 상위 2 bit..