File Systems - hochan222/Everything-in-JavaScript GitHub Wiki
File and File System
- File
- "A named collection of related information"
- ์ผ๋ฐ์ ์ผ๋ก ๋นํ๋ฐ์ฑ์ ๋ณด์กฐ๊ธฐ์ต์ฅ์น์ ์ ์ฅ
- ์ด์์ฒด์ ๋ ๋ค์ํ ์ ์ฅ ์ฅ์น๋ฅผ file์ด๋ผ๋ ๋์ผํ ๋ ผ๋ฆฌ์ ๋จ์๋ก ๋ณผ ์ ์๊ฒ ํด์ค
- Operation
- create, read, write, reposition (lseek), delete, open, close ๋ฑ
- File attribute (ํน์ ํ์ผ์ metadata)
- ํ์ผ ์์ฒด์ ๋ด์ฉ์ด ์๋๋ผ ํ์ผ์ ๊ด๋ฆฌํ๊ธฐ ์ํ ๊ฐ์ข
์ ๋ณด๋ค
- ํ์ผ ์ด๋ฆ, ์ ํ, ์ ์ฅ๋ ์์น, ํ์ผ ์ฌ์ด์ฆ
- ์ ๊ทผ ๊ถํ(์ฝ๊ธฐ, ์ฐ๊ธฐ, ์คํ), ์๊ฐ (์์ฑ, ๋ณ๊ฒฝ, ์ฌ์ฉ), ์์ ์ ๋ฑ
- ํ์ผ ์์ฒด์ ๋ด์ฉ์ด ์๋๋ผ ํ์ผ์ ๊ด๋ฆฌํ๊ธฐ ์ํ ๊ฐ์ข
์ ๋ณด๋ค
- File system
- ์ด์์ฒด์ ์์ ํ์ผ์ ๊ด๋ฆฌํ๋ ๋ถ๋ถ
- ํ์ผ ๋ฐ ํ์ผ์ ๋ฉํ๋ฐ์ดํฐ, ๋๋ ํ ๋ฆฌ ์ ๋ณด ๋ฑ์ ๊ด๋ฆฌ
- ํ์ผ์ ์ ์ฅ ๋ฐฅ๋ฒ ๊ฒฐ์
- ํ์ผ ๋ณดํธ
Directory and Logical Disk
-
Directory
- ํ์ผ์ ๋ฉํ๋ฐ์ดํฐ ์ค ์ผ๋ถ๋ฅผ ๋ณด๊ดํ๊ณ ์๋ ์ผ์ข ์ ํน๋ณํ ํ์ผ
- ๊ทธ ๋๋ ํ ๋ฆฌ์ ์ํ ํ์ผ ์ด๋ฆ ๋ฐ ํ์ผ attribute๋ค
- operation
- search for a file, create, delete, list, rename, traverse...
-
Partition(=Logical Disk)
- ํ๋์ ๋ฌผ๋ฆฌ์ ๋์คํฌ ์์ ์ฌ๋ฌ ํํฐ์ ์ ๋๋๊ฒ ์ผ๋ฐ์
- ์ฌ๋ฌ ๊ฐ์ ๋ฌผ๋ฆฌ์ ์ธ ๋์คํฌ๋ฅผ ํ๋์ ํํฐ์ ์ผ๋ก ๊ตฌ์ฑํ๊ธฐ๋ํจ
- (๋ฌผ๋ฆฌ์ ) ๋์คํฌ๋ฅผ ํํฐ์ ์ผ๋ก ๊ตฌ์ฑํ ๋ค ๊ฐ๊ฐ์ ํํฐ์ ์ file system์ ๊น๊ฑฐ๋ swapping๋ฑ ๋ค๋ฅธ ์ฉ๋๋ก ์ฌ์ฉํ ์ ์์
-
open()
File Protection
- ๊ฐ ํ์ผ์ ๋ํด ๋๊ตฌ์๊ฒ ์ด๋ค ์ ํ์ ์ ๊ทผ์ ํ๋ฝํ ๊ฒ์ธ๊ฐ?
Allocation of File Data in Disk
- Contiguous Allocation
- Linked Allocation
- Indexed Allocation
UNIX ํ์ผ ์์คํ ์ ๊ตฌ์กฐ
Free Space Management
- bit
- Linked List
- Grouping
- Counting
Directory Implementation
- Linearlist
- Hash Table
VFS and NFS
Page Cache and Buffer Cache
- Page Cache
- Virtual memory์ paging system์์ ์ฌ์ฉํ๋ page frame์ caching์ ๊ด์ ์์ ์ค๋ช ํ๋ ์ฉ์ด
- Memory-Mapped I/O๋ฅผ ์ฐ๋ ๊ฒฝ์ฐ file์ I/O์์๋ page cache ์ฌ์ฉ
- Memory-Mapped I/O
- File์ ์ผ๋ถ๋ฅผ virtual memory์ mapping์ํด
- ๋งคํ์ํจ ์์ญ์ ๋ํ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ์ฐ์ฐ์ ํ์ผ์ ์ ์ถ๋ ฅ์ ์ํํ๊ฒ ํจ
- Buffer Cache
- ํ์ผ์์คํ ์ ํตํ I/O ์ฐ์ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ํน์ ์์ญ์ธ buffer cache ์ฌ์ฉ
- File ์ฌ์ฉ์ locality ํ์ฉ
- ํ๋ฒ ์ฝ์ด์จ block์ ๋ํ ํ์ ์์ฒญ์ buffer cache ์์ ์ฆ์ ์ ๋ฌ
- ๋ชจ๋ ํ๋ก์ธ์ค๊ฐ ๊ณต์ฉ์ผ๋ก ์ฌ์ฉ
- Replacement algorithm ํ์ (LRU, LFU ๋ฑ)
- Unified Buffer Cache
- ์ต๊ทผ์ OS์์๋ ๊ธฐ์กด์ buffer cache๊ฐ page cache์ ํตํฉ๋จ.
06 32