File and File System
1) File
- ์ด๋ฆ์ ํตํด ์ ์ฅํ๋ collection : a named collection of related information
- ๋นํ๋ฐ์ฑ์ ๋ณด์กฐ๊ธฐ์ต์ฅ์น์ ์ ์ฅ
- ๋์ผํ ๋ ผ๋ฆฌ์ ๋จ์๋ก๋ ์ฌ์ฉ๋จ (device special file)
- create, read, write, reposition(lseek - ์ด๋๊น์ง ์ฝ์๋์ง ํ์ํ๋ ํฌ์ธํฐ), delete, open, close
* open : file์ ๋ด์ฉ์ด ์๋ metadata๋ฅผ disk์ ์ฌ๋ ค๋๋ ๊ฒ
2) File attribute(metadata)
ํ์ผ์ ๊ด๋ฆฌํ๊ธฐ ์ํ ๊ฐ์ข ์ ๋ณด๋ค
- ํ์ผ ์ด๋ฆ, ์ ํ, ์ ์ฅ๋ ์์น, ํ์ผ ์ฌ์ด์ฆ
- ์ ๊ทผ ๊ถํ(r/w/x), ์๊ฐ(์์ฑ, ๋ณ๊ฒฝ, ์ฌ์ฉ), ์์ ์ ๋ฑ
3) File system
- OS์์ ํ์ผ์ ๊ด๋ฆฌํ๋ ๋ถ๋ถ
- ํ์ผ ๋ฐ ํ์ผ์ metadata, ๋๋ ํ ๋ฆฌ ์ ๋ณด ๋ฑ์ ๊ด๋ฆฌ
- ํ์ผ์ ์ ์ฅ ๋ฐฉ๋ฒ ๊ฒฐ์
- ํ์ผ์ ๋ณดํธ ๋ฑ
Directory and Logical Disk
1) Directory
ํ์ผ์ metadata ์ค ์ผ๋ถ๋ฅผ ๋ณด๊ดํ๊ณ ์๋ ์ผ์ข ์ ํน๋ณํ ํ์ผ
- ๊ทธ ๋๋ ํ ๋ฆฌ์ ์ํ ํ์ผ ์ด๋ฆ ๋ฐ ํ์ผ attribute
- search for, create, delete a file
- list a directory, rename a file, traverse a file system
2) Partition(Logical Disk)
- OS๊ฐ ๋ณด๋ DISK = Logical Disk
- ํ๋์ (๋ฌผ๋ฆฌ์ ) ๋์คํฌ ์์ ์ฌ๋ฌ ํํฐ์ ์ ๋๋ ๊ฒ์ด ์ผ๋ฐ์
- ์ฌ๋ฌ ๊ฐ์ ๋ฌผ๋ฆฌ์ ์ธ ๋์คํฌ๋ฅผ ํ๋์ ํํฐ์ ์ผ๋ก ๊ตฌ์ฑํ๊ธฐ๋ ํจ
- (๋ฌผ๋ฆฌ์ ) ๋์คํฌ๋ฅผ ํํฐ์ ์ผ๋ก ๊ตฌ์ฑํ ํ ๊ฐ๊ฐ์ ํํฐ์ ์ file system์ ๊น๊ฑฐ๋ swap area๋ก ์ฌ์ฉํ ์ ์์
open()
๋์คํฌ๋ก๋ถํฐ file์ metadata๋ฅผ ๋ฉ๋ชจ๋ฆฌ๋ก ๊ฐ์ง๊ณ ์ด
directory path์ search์ ๋๋ฌด ๋ง์ ์๊ฐ์ด ์์๋๊ธฐ ๋๋ฌธ์ open์ read/write์ ๋ณ๊ฐ๋ก ๋
-> ํ ๋ฒ openํ file์ read/write ์ directory search ๋ถํ์
open file table
ํ์ฌ open๋ ํ์ผ๋ค์ metadata ๋ณด๊ด์(in memory)
system-wideํ๊ฒ ํ๋๋ง ์กด์ฌ
๋์คํฌ์ metadata๋ณด๋ค ๋ช ๊ฐ์ง ์ ๋ณด๊ฐ ์ถ๊ฐ
- openํ process ์
- file offset : ํ์ผ์ ์ด๋ ์์น์ ์ ๊ทผ ์ค์ธ์ง ํ์(๋ณ๋ ํ ์ด๋ธ ํ์)
file descriptor(file handle, file control block)
process๋ง๋ค ๊ฐ์ง๊ณ ์์ (per-process)
- open file table์ ๋ํ ์์น ์ ๋ณด(ํ๋ก์ธ์ค ๋ณ)
* buffer cache
- ์์ฒญํ ๋ด์ฉ์ด buffer cache์ ์๋ ์๋ system call์ ํตํด ๊ฒฐ์ ๊ถ์ด OSํํ ๋ก ๋์ด๊ฐ
- OS๊ฐ cache๋ฅผ ๋ณธ ํ ํ๋์ ๊ฒฐ์
File Protection
๊ฐ file์ ๋ํด ๋๊ตฌ์๊ฒ, ์ด๋ค ์ ํ์ ์ ๊ทผ(read / write / execution)์ ํ๋ฝํ ๊ฒ์ธ๊ฐ?
Access control matrix
1) ํ๋ ฌ ํํ : ์ฌ์ฉ์์ ํ์ผ ์ด๋ฆ ๋์ด ํ ๊ถํ ํ์ -> ํน์ ์ฌ์ฉ์๋ง ์ฌ์ฉํ๋ ํ์ผ์ด ๋ง๊ธฐ ๋๋ฌธ์ ๊ณต๊ฐ ๋ญ๋น๊ฐ ์ฌํ๋ค (sparse matrix)
2) ์ฐ๊ฒฐ๋ฆฌ์คํธ ํํ
๋ชจ๋ ์ฌ์ฉ์์ ๋ํด ๋ชจ๋ ํ์ผ์ ์ ๊ทผ ๊ถํ ์ ์ด ๊ฐ๋ฅ
(-) high overhead
- access control list : ํ์ผ๋ณ๋ก ๋๊ตฌ์๊ฒ ์ ๊ทผ ๊ถํ์ด ์๋์ง ํ์
- capability : ์ฌ์ฉ์๋ณ๋ก ์์ ์ด ์ ๊ทผ ๊ถํ์ ๊ฐ์ง ํ์ผ ๋ฐ ํด๋น ๊ถํ ํ์
Grouping
์ผ๋ฐ์ ์ธ OS์์ ์ฌ์ฉํ๋ ๋ฐฉ์ / ๊ต์ฅํ ํจ์จ์
์ ์ฒด user๋ฅผ owner, group, public์ ์ธ ๊ทธ๋ฃน์ผ๋ก ๊ตฌ๋ถ
๊ฐ ํ์ผ์ ๋ํด ์ธ ๊ทธ๋ฃน์ ์ ๊ทผ ๊ถํ(rwx)๋ฅผ 3 bit์ฉ ํ์ (์ด 9 bit)
Password
ํ์ผ๋ง๋ค password๋ฅผ ๋๋ ๋ฐฉ๋ฒ(directory file์ ๋๋ ๋ฐฉ๋ฒ๋ ๊ฐ๋ฅ)
- ๋ชจ๋ ์ ๊ทผ ๊ถํ์ ๋ํด ํ๋์ password๋ฅผ ๋๋ ๊ฒฝ์ฐ : all or nothing
- ์ ๊ทผ ๊ถํ ๋ณ๋ก password๋ฅผ ์ฃผ๋ ๊ฒฝ์ฐ: ์๊ธฐ / ๊ด๋ฆฌ ๋ฌธ์ ๋ฐ์
File System์ Mounting
root file system์์ ๋ค๋ฅธ partition์ด ์ค์น๋์ด ์๋ file system์ ์ ๊ทผํ๊ธฐ ์ํ ๋ฐฉ๋ฒ
๊ธฐ๋ณธ์ ์ผ๋ก ํ๋์ physical disk๋ฅผ logical disk๋ก partition (๊ฐ logical disk์ file system ์ค์น ๊ฐ๋ฅ)
root file system์ ํน์ ๋๋ ํ ๋ฆฌ ์ด๋ฆ์ [๋ค๋ฅธ partition์ ์๋ file system / root]์ mountํด์ค๋ค
-> ๋ค๋ฅธ file system์ root directory์ ๋ฐ๋ก ์ ๊ทผ ๊ฐ๋ฅ
File Access Method
1) ์์ฐจ์ ๊ทผ(sequential access)
- ์นด์ธํธ ํ ์ดํ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ์์ฒ๋ผ ์ ๊ทผ
- ์ฝ๊ฑฐ๋ ์ฐ๋ฉด offset์ ์๋์ ์ผ๋ก ์ฆ๊ฐ
2) ์ง์ ์ ๊ทผ(direct access, random access)
- ์์ ์ ๊ทผ
- ํ์ผ์ ๊ตฌ์ฑํ๋ ๋ ์ฝ๋๋ฅผ ์์์ ์์๋ก ์ ๊ทผํ ์ ์์
'๐ป CS > ์ด์์ฒด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ด์์ฒด์ ] 12. Disk Management and Scheduling (0) | 2023.01.29 |
---|---|
[์ด์์ฒด์ ] 11. File System Implementation (0) | 2023.01.22 |
[์ด์์ฒด์ ] 9. Virtual Memory (0) | 2023.01.22 |
[์ด์์ฒด์ ] 8. Memory Management (1) | 2023.01.08 |
[์ด์์ฒด์ ] 7. Deadlocks (0) | 2023.01.01 |
๋๊ธ