reference: kocw์ ๋ฐํจ๊ฒฝ ๊ต์๋ ๊ฐ์์ ๊ถ์ง์ฑ ๊ต์๋ ๊ฐ์(๋ํ ์ ๊ท ์์
)
์์
์ ๋ฃ๊ณ ๋์ ๊ฐ์ ๊ต์ฌ๋ฅผ ํ์ดํํ๊ณ ํ๊ธฐํ ๋ถ๋ถ์ ์ถ๊ฐ์ ์ผ๋ก ์ ๋ฆฌํ์์ต๋๋ค.
์น๋ทฐ์์ toc๋ฅผ ์ ๊ณตํฉ๋๋ค.
github์ md ํ์ผ๋ก ๋ณด๋ ๊ฒ ํธํ์๋ค๋ฉด, ์ฌ๊ธฐ๋ก ์ด๋ํด์ฃผ์๋ฉด ๋ฉ๋๋ค.
1 file, file system, directory, logical disk
File
- "A named collection of related information"
- ๋นํ๋ฐ์ฑ์ ๋ณด์กฐ๊ธฐ์ต์ฅ์น(ex ํ๋๋์คํฌ)์ ์ ์ฅ๋๋ ๋จ์
- ์ด์์ฒด์ ๋ ๋ค์ํ ์ ์ฅ ์ฅ์น๋ฅผ file์ด๋ผ๋ ๋์ผํ ๋ ผ๋ฆฌ์ ๋จ์๋ก ๋ณผ ์ ์๊ฒ ํด ์ค
- ๋ฉ๋ชจ๋ฆฌ๋ ์ฃผ์๋ฅผ ํตํด์ ์ ๊ทผ ↔ ํ์ผ์ ์ด๋ฆ์ ํตํด์ ์ ๊ทผ
- Operation ๊ฐ๋ฅํ ์ฐ์ฐ
- create, read, write, reposition (lseek), delete, open, close ๋ฑ
- ํ์ผ์ ์ฐ์ฐ์ค reposition(lseek)๋ ํ์ผ์ ์ฝ๊ณ ์๋ ํฌ์ธํฐ๋ฅผ ์์ ํด์ฃผ๋ ๊ฒ
- Openํ๊ณ Close๋ ์ ํ ๊น? → ํ์ผ์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ ์ฌ๋ฆฌ๊ณ ๋ด๋ฆฌ๋ ์์
File attribute ( = metadata)
- ํ์ผ ์์ฒด์ ๋ด์ฉ์ด ์๋๋ผ ํ์ผ์ ๊ด๋ฆฌํ๊ธฐ ์ํ ๊ฐ์ข
์ ๋ณด๋ค
- ํ์ผ ์ด๋ฆ, ์ ํ, ์ ์ฅ๋ ์์น, ํ์ผ ์ฌ์ด์ฆ
- ์ ๊ทผ ๊ถํ(์ฝ๊ธฐ/์ฐ๊ธฐ/์คํ), ์๊ฐ(์์ฑ/๋ณ๊ฒฝ/์ฌ์ฉ), ์์ ์ ๋ฑ
File system
- ์ด์์ฒด์ ์์ ํ์ผ์ ๊ด๋ฆฌํ๋ ๋ถ๋ถ
- ํ์ผ ๋ฐ ํ์ผ์ ๋ฉํ๋ฐ์ดํฐ, ๋๋ ํ ๋ฆฌ ์ ๋ณด ๋ฑ์ ๊ด๋ฆฌ
- ํ์ผ์ ์ ์ฅ ๋ฐฉ๋ฒ์ ๊ฒฐ์ ํ๊ณ ํ์ผ์ ๋ณดํธ
Directory (ํด๋)
- ํ์ผ์ ๋ฉํ๋ฐ์ดํฐ ์ค ์ผ๋ถ๋ฅผ ๋ณด๊ดํ๊ณ ์๋ ์ผ์ข
์ ํน๋ณํ ํ์ผ
- ๋๋ ํ ๋ฆฌ๋ ํ๋์ ํ์ผ!
- ๋๋ ํ ๋ฆฌ๋ ์๊ธฐ ์์ ํ์ผ๋ค์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ค
- ๋๋ ํ ๋ฆฌ์ ์ํ ํ์ผ ๋ฐ ํ์ผ attribute ๋ค์ ๊ฐ์ง๊ณ ์์
- Operation ์ฐ์ฐ
- search for a file ํ์ผ ์ฐพ๊ธฐ, create a file ์์ฑ, delete a file ์ง์ฐ๊ธฐ
- list a dictionary ๋ฆฌ์คํธ, rename a file ์ด๋ฆ ๋ฐ๊พธ๊ธฐ, traverse the file system ํ์ผ ์์คํ ์ ์ ์ฒด ํ์ ๋ฑ์ ์ฐ์ฐ์ ํ ์ ์๋ค.
Partition (= Logical Disk)
- ํ๋์ (๋ฌผ๋ฆฌ์ ) ๋์คํฌ ์์ ์ฌ๋ฌ ํํฐ์ ์ ๋๋ ๊ฒ ์ผ๋ฐ์ ex) C drive, D drive
- ์ฌ๋ฌ ๊ฐ์ ๋ฌผ๋ฆฌ์ ์ธ ๋์คํฌ๋ฅผ ํ๋์ ํํฐ์ ์ผ๋ก ๊ตฌ์ฑํ๊ธฐ๋ ํจ ex) raid
- (๋ฌผ๋ฆฌ์ ) ๋์คํฌ๋ฅผ ํํฐ์ ์ผ๋ก ๊ตฌ์ฑํ ๋ค ๊ฐ๊ฐ์ ํํฐ์ ์ file system์ ๊น๊ฑฐ๋ swapping ๋ฑ ๋ค๋ฅธ ์ฉ๋๋ก ์ฌ์ฉํ ์ ์์
- ์ด์์ฒด์ ๊ฐ ๋ณด๋ ๊ฒ์ ๋ฌผ๋ฆฌ์ ๋์คํฌ๊ฐ ์๋ ๋ ผ๋ฆฌ์ ๋์คํฌ
2 Open()
open("/a/b/c")
- ๋ํฌ์ค๋ก๋ถํฐ ํ์ผ c์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ๋ก ๊ฐ์ง๊ณ ์ค๋ ๋ป์ด๋ค.
- Open ํจ์๊ฐ ๋ฆฌํดํ๋ ๊ฐ์ ๊ฐ ํ๋ก์ธ์ค์ ์๋ ํ์ผ ๋์คํฌ๋ฆฝํฐ(fd) ๊ฐ์ ๋ฐํํ๋ค.
- ๋ณดํต 3๋ถํฐ ์์(0, 1, 2 ํ์ค ์ ์ถ๋ ฅ ์ ๋ฌ)
- A ํ๋ก์ธ์ค๊ฐ open ํจ์๋ฅผ ์ฌ์ฉํ๋ค. (→ ์์คํ ์ฝ์ด๋ผ์ ํ๋ก์ธ์ค๊ฐ ์ด์์ฒด์ ์๊ฒ ๋์ด๊ฐ)
- ์คํ๋ ํ์ผ์ด ์ ์ญ์ผ๋ก ๊ด๋ฆฌ ๋๋ Open file table ์ด ์๋ค.
- ์ด์์ฒด์ ์ Root ๋๋ ํ ๋ฆฌ์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
- Root์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ Open(open file table๋ก ๊ฐ์ง๊ณ ์จ๋ค) ํ๋ค.
- Root ํด๋(root์ content) ์์์ a์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ ๊ทผํด์ ๋ค์ ์ฐ๋ค (์ด ์์ ์ ์ฐพ์ ๋๊น์ง ๋ฐ๋ณตํ๋ค.)
- a ํด๋(a์ content) ์์์ b์ ๋ฉํ๋ฐ์ดํฐ์ ์ ๊ทผํด์ ๋ค์ ์ฐ๋ค.
- b์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ Process A์ PCB์ ๊ฐ์ง๊ณ ์จ๋ค.
- ์ด์ ์คํํ ํ์ผ์ ์ฝ์ ๋ ์ด๋ฏธ ์ฌ๋ผ์จ FD์ ์ ๊ทผ๋ง ํ๋ฉด ๋๋ค.
- FD๋ ํ์ผ์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๊ฐ๋ฆฌํค๊ณ ์๊ณ (์ผ์ข ์ ๋ฉํ๋ฐ์ดํฐ ํฌ์ธํฐ), ํด๋น ๋ฉํ๋ฐ์ดํฐ๋ ํ์ผ์ ๋ด์ฉ์ ๊ฐ๋ฅดํค๊ณ ์๋ค.
- ํ์ผ์ ๋ด์ฉ์ ๋ฉ๋ชจ๋ฆฌ์ ์์ ๋ถ๋ถ์ ์ ์ฅํ๋ ๋ฐ ์ด๋ฅผ ๋ฒํผ ์บ์๋ผ๊ณ ํ๋ค.
- ๋ฉ๋ชจ๋ฆฌ ์์ ๋ฒํผ ์บ์์ ์ ์ฅ์ ํ๋ฉด ๋ค์ ์ฌ์ฉ์ read ์์ฒญ์ ํ์ ๋ ์บ์์ ์๋ ๊ฒ์ ๋ฐ๋ก ์ฃผ๋ฉด ๋๋ค.
- ์ด ๋ฒํผ์ ๋ํ ๊ถํ์ ๋ชจ๋ OS๊ฐ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ LRU, LFU ์๊ณ ๋ฆฌ์ฆ์ด ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
- ์ฌ๋ฌ ํ๋ก์ธ์ค์ ๊ฐ์ ํ์ผ์ ์ ๊ทผํ ์ ์๋ค. ๊ฐ ํ๋ก์ธ์ค๋ง๋ค offset์ ๋๋ค.
- directory path์ search์ ๋๋ฌด ๋ง์ ์๊ฐ์ด ์์๋๊ธฐ์ open์ read/write ๋ณ๋๋ก ๋๋ค. ํ ๋ฒ openํ ํ์ผ์ read/write ์ directory search๊ฐ ๋ถํ์ํ๋ค. ์๋ํ๋ฉด ์ด๋ฏธ ์ํ๋ ํ์ผ์ ๋ฉํ๋ฐ์ดํฐ๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ๋ค์ด์์๊ธฐ ๋๋ฌธ์ด๋ค.
- Open file table: ๋ฉ๋ชจ๋ฆฌ์์ ํ์ฌ open ๋ ํ์ผ๋ค์ ๋ฉํ๋ฐ์ดํฐ ๋ณด๊ด์๋ฅผ ๋งํ๋ค. ๋์คํฌ์ ๋ฉํ๋ฐ์ดํฐ๋ณด๋ค openํ ํ๋ก์ธ์ค์ ์, file offset(ํ์ผ ์ด๋ ์์น ์ ๊ทผ ์ค์ธ์ง) ๋ฑ์ ๋ช ๊ฐ์ง ์ ๋ณด๊ฐ ์ถ๊ฐ๋๋ค.
- fd: file descriptor (file handle, file control block) ์ ์ฝ์์ด๊ณ ํ๋ก์ธ์ค ๋ณ๋ก open file table์ ๋ํ ์์น ์ ๋ณด๊ฐ ์ ํ์๋ค.
3 File Protection
- ๋ฉ๋ชจ๋ฆฌ์์๋ read, write์์๋ง ์ ๊ฒฝ ์ผ๋ค.
- ํ์ผ์ ์ฌ๋ฌ ๊ณณ์ ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์.. ์ ๊ทผ๊ถํ ์ ์ ์, ์ด๋๊น์ง ์ฐ์ฐ์ด ๊ฐ๋ฅํ์ง๋ฅผ ๋์์ ๊ฐ์ง๊ณ ์์ด์ผ ํ๋ค.
Access control Matrix (์ ๊ทผ์ ์ดํ๋ ฌ)
- ํ์ผ๊ณผ ์ฌ์ฉ์์ ์ฌ์ฉ๊ถํ์ ํ๋ก ๋ง๋ ๊ฒ
- Access control list(ACL): ํ์ผ ๋ณ๋ก ๋๊ตฌ์๊ฒ ์ด๋ค ์ ๊ทผ ๊ถํ์ด ์๋์ง ํ์
- Capability: ์ฌ์ฉ์๋ณ๋ก ์์ ์ด ์ ๊ทผ ๊ถํ์ ๊ฐ์ง ํ์ผ ๋ฐ ํด๋น ๊ถํ ํ์
Grouping
- ์ ์ฒด user๋ฅผ owner, group, public ์ธ ๊ทธ๋ฃน์ผ๋ก ๊ตฌ๋ถํ์ฌ ๊ฐ ํ์ผ์ ๋ํด 3bit์ฉ ์ฌ์ฉ์ ๊ถํ์ ํ์ (9bit)
- ์ ๋ ์ค์์ ์ฌ์ฉ(๋งฅ ํฐ๋ฏธ๋์์ ls -al), ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ
- ex) rwxr--r--
Password
- ํ์ผ ๋ง๋ค ๋น๋ฐ๋ฒํธ๋ฅผ ๋๋ ๋ฐฉ๋ฒ (๋๋ ํ ๋ฆฌ ํ์ผ์ ๋๋ ๋ฐฉ๋ฒ๋ ๊ฐ๋ฅ)
- ๋ชจ๋ ์ ๊ทผ ๊ถํ์ ๋ํด ํ๋์ password: all-or-nothing
- ์ ๊ทผ ๊ถํ๋ณ password: ๋น๋ฒ์ ์๊ธฐ ๋ฐ ๊ด๋ฆฌ ๋ฌธ์ ๊ฐ ์๊น.
๋ค๋ฅธ ๋์คํฌ์ ํ์ผ ์์คํ ์ ์ ๊ทผํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ๋๋ → Mounting
04 File System์ Mounting
mount: ๊ฐ์ ธ๋ค ๋ถ์ธ๋ค
Q. disk1 ์์ disk 2์ disk 3์ ์ ๊ทผํ๊ณ ์ถ๋ค๋ฉด ์ด๋ป๊ฒ ํด์ผํ ๊น?
A. mounting ํ๋ฉด ๋๋ค. ์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ฐ๊ฒฐ ์ํค๋ ๊ฒ์ด mounting์ด๋ค.
๊ต์ฅํ flexibleํ ๋ฐฉ์
mounting์ ํตํด file system์ ๋ฌดํ ํ์ฅํ ์ ์๋ค!
linux์์ man mount ์ ๊ฐ์ ๋ช ๋ น์ด๋ก ์คํํ๊ธฐ ๋จ.
window์์๋ ๋ด ์ปดํจํฐ ๋ฐ์ C: D: E: ๋๋ผ์ด๋ธ๋ค์ด ๋ถ์ด์๋ ๊ฒ์ ๋ฐ๋ก linux์ mount ๊ฐ๋ ์์ ๋์จ ๊ฒ.
5 Access Methods
์์คํ ์ด ์ ๊ณตํ๋ ํ์ผ ์ ๋ณด์ ์ ๊ทผ ๋ฐฉ์
- ์์ฐจ ์ ๊ทผ (sequenctional access)
- ์นด์ธํธ ํ ์ดํ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ์์ฒ๋ผ ์ ๊ทผ
- ์ฝ๊ฑฐ๋ ์ฐ๋ฉด offset์ ์๋์ ์ผ๋ก ์ฆ๊ฐ
- ์ง์ ์ ๊ทผ (direct access, random access)
- LP ๋ ์ฝ๋ ํ๊ณผ ๊ฐ์ด ์ ๊ทผํ๋๋ก ํจ
- ํ์ผ์ ๊ตฌ์ฑํ๋ ๋ ์ฝ๋๋ฅผ ์์์ ์์๋ก ์ ๊ทผํ ์ ์์
ex)
- HDD: ์ํ์ ์ํ ํํ๋ก ๋ฐ์ดํฐ๊ฐ ๋ค์ด์์. track ๊น์ง๋ ์ง์ ์ ๊ทผ์ด ๊ฐ๋ฅํ๊ณ ์ดํ์ ์ํ๋ ์ง์ ๊น์ง ๋์์ ์ฐพ๊ธฐ ๋๋ฌธ์ ์ฝ๊ฐ์ ์์ฐจ ์ ๊ทผ ๋ฐฉ์์ด ์์ฌ ์์
- SSD: ๋ฉ๋ชจ๋ฆฌ ์นฉ ์์ ์ ์ฅ ์ฅ์น๋ค์ด ์๊ธฐ ๋๋ฌธ์ ์ง์ ์ ๊ทผ
- DRAM: ์ง์ ์ ๊ทผ
'OS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
12์ฅ Disk Management And Scheduling (0) | 2021.06.19 |
---|---|
11์ฅ File Systems Implementation (0) | 2021.06.19 |
9์ฅ Virtual Memory (0) | 2021.06.19 |
8์ฅ Memory Management (0) | 2021.06.19 |
7์ฅ Deadlock (0) | 2021.06.19 |
6์ฅ Process Synchronization (0) | 2021.06.19 |