HYU/์ด์์ฒด์ (OS)16 14. I/O Systems I/O Hardware ์ด์์ฒด์ ๋ ์ผ๊ด๋ ๋ฐฉ์์ผ๋ก I/O ๋๋ฐ์ด์ค์๊ฒ ๋ช ๋ น์ ๋ด๋ฆฐ๋ค. ๋ด๋ถ์ ์ธ ์ํ์ I/O ๋๋ฐ์ด์ค๊ฐ ์์์ ํ๋ค. => ์๋ง์ ์ข ๋ฅ์ I/O ๋๋ฐ์ด์ค๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํจ. I/O ๋๋ฐ์ด์ค์ ์ปจํธ๋กค๋ฌ๋ ๋ ์ง์คํฐ๋ฅผ ๊ฐ์ง๊ณ ์๋๋ฐ, ๊ทธ ๋ ์ง์คํฐ์ ๋ช ๋ น์ ์จ์ฃผ๋ ๊ฒ์ผ๋ก ๋๋ฐ์ด์ค๋ฅผ ์ปจํธ๋กค ํ๋ค. ์ปจํธ๋กค๋ฌ์ ๋ ์ง์คํฐ์ ์ด๋ป๊ฒ ๊ฐ์ ์จ์ค๊น? ๋ฉ๋ชจ๋ฆฌ์ ํน์ ์ฃผ์๋ฅผ I/O ๋๋ฐ์ด์ค์ ๋ฒํผ์ ๋งคํ์ ํ๋ค๊ณ ํ๋ค. ์ด ์ฃผ์์๋ค๊ฐ ๋ฐ์ดํฐ๋ฅผ ์จ์ฃผ๋ฉด ๋งคํ์ด ๋์ด ๋๋ฐ์ด์ค์ ๋ฒํผ์ ๋ค์ด๊ฐ๋ค๊ณ ํ๋ค. => Memory Mapped I/O ์ด๊ฒ๊ณผ ๋ณ๊ฐ๋ก CPU๊ฐ I/O ๋ช ๋ น์ ๋ณ๋๋ก ๊ฐ์ง๋ ๊ฒฝ์ฐ๋ ์๋ค. I/O ๋๋ฐ์ด์ค์ ๋ช ๋ น์ ๋ด๋ฆด ๋ ์ด ๋ช ๋ น์ ์ฌ์ฉํ๋๋ก ์ฃผ์ด์ง๋ ๊ฒฝ์ฐ๋ ์๋ค. I/O ํฌํธ๋ 4๊ฐ์ง์ ๋ ์ง์คํฐ๋ก ๊ตฌ.. 2023. 6. 2. 13. Mass Storage Management Mass Storage๋ ํ๋ ๋์คํฌ์ ๊ฐ์ 2์ฐจ ์ ์ฅ์ฅ์น๋ฅผ ์๋ฏธํ๋ค. Physical Disk Structure ๊ธฐ๋ณธ์ ์ธ ํ๋ ๋์คํฌ์ ๊ตฌ์กฐ์ ๋์ ๋ฐฉ์์ ๋ํด ์์๋ณด์. ์์ฆ์ 2์ฐจ ์ ์ฅ์ฅ์น๋ก ํ๋ ๋์คํฌ ๋์ SSD๋ ๋ง์ด ์ฌ์ฉํ์ง๋ง, ์์ง๊น์ง๋ ํ๋ ๋์คํฌ๋ฅผ ๋ง์ด ์ฌ์ฉํ๊ณ ์๊ธฐ ๋๋ฌธ์ ํ๋ ๋์คํฌ ์ฌ์ฉ์ ์ ์ ๋ก ์ค๋ช ํ๋ค. ํ๋ ๋์คํฌ๋ฅผ ์์์ ๋ณธ ๋ชจ์ต๊ณผ ์์์ ๋ณธ ๋ชจ์ต์ ์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ๋ค. ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋กํ ์ ์๋ ํ๋ํฐ๋ค์ด ์๊ณ , ํ๋ํฐ์ ๊ฐ์ ์ฐ๊ณ ์ฝ๋ ๊ฒ์ ์คํ๋ค์ ์ฐ๊ฒฐ๋ ํค๋๊ฐ ํ๋ค. ์ด๋ก ์ ์ผ๋ก platter ํ๋์ ํค๋๊ฐ 2๊ฐ ๋ถ์ ์ ์๋ค. ์๋ฉด์ ํ๋, ๋ท๋ฉด์ ํ๋ ๊ทธ๋ฆฌ๊ณ ์คํ๋ค ํ๋์ ๋ชจ๋ ํค๋๋ค์ด ๋ฌ๋ ค์๊ธฐ ๋๋ฌธ์ ์คํ๋ค์ ์์ง์ด๋ฉด ๋ชจ๋ ํค๋๊ฐ ๋์์ ์์ง์ด๊ฒ ๋๋ค. ๋ค๋ฅธ Platt.. 2023. 6. 2. 12. File System OS์ ์ญํ ์ ํฌ๊ฒ 3๊ฐ์ง๋ก ๋๋ ์ ์๋ค. 1. ํ๋ก์ธ์ค ๊ด๋ฆฌ 2. ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ 3. ํ์ผ๊ณผ I/O File ํ์ผ์ ํ ๋ง๋๋ก ์ ์ํ๋ฉด, ๋ฐ์ดํฐ๋ ํ๋ก๊ทธ๋จ์ ๋ด๋ ๊ทธ๋ฆ์ด๋ผ ์๊ฐํ ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ ๊ทธ๋ฆ๋ค์ ๊ด๋ฆฌํ๋ ์์คํ ์ด ํ์ผ ์์คํ ์ด๋ค. ํ์ผ์ ๋ฐ์ดํฐ๋ ํ๋ก๊ทธ๋จ์ ๋ด๋๋ฐ, ํ์ผ์ ์ ์ผ ์ ๋ถ๋ถ์ 0๋ฒ์ง๋ผ ์๊ฐํ๊ณ offset์ด ์ปค์ง๋ฉด์ ์ฐ์์ ์ผ๋ก ๋ด๊ธฐ๊ฒ ๋๋ค. ์ฆ, ํ์ผ ํ๋๋ ๊ทธ ์์ฒด๋ก ํ๋์ logicalํ address space์ด๋ค. ๊ทธ ์ฃผ์๊ณต๊ฐ ์์ ๋ฐ์ดํฐ๋ฅผ ์ฐ์์ ์ผ๋ก ์ ์ฅํ๋ค. File Structure ํ์ผ์ ๊ตฌ์กฐ๋ 3๊ฐ์ง๊ฐ ์๋ค. 1. None: ๊ตฌ์กฐ๊ฐ ์๋ ํ์ผ๋ก ๋ฐ์ดํธ sequence๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค. 2. Simple record structure: ํ์ผ์์ ํ ์ค์ด ํ๋.. 2023. 5. 27. 11. Virtual Memory (2) page fault๋ฅผ ๋ง์ด ๋ฐ์์ํค์ง ์๊ธฐ ์ํด์๋ ์์ผ๋ก ์ฌ์ฉ๋์ง ์์ ๊ฐ๋ฅ์ฑ์ด ๋์ ํ์ด์ง๋ฅผ victim์ผ๋ก ์ ์ ํ๋ ๊ฒ์ด ์ค์ํ๋ค. ์์์๋ ์ด ํ๋ก์ธ์ค์๊ฒ ๋ช ๊ฐ์ ํ๋ ์์ด ํ ๋น๋์๋ค๋ ๊ฐ์ ํ์ victim์ ์ ์ ํ์๋ค. ๊ทธ๋ฌ๊ธฐ ์ํด์๋ ์ฒ์์ ๊ฐ ํ๋ก์ธ์ค์๊ฒ ๋ช ๊ฐ์ frame์ ํ ๋นํ ๊ฒ์ธ๊ฐ๋ฅผ ์ ํด์ผ ํ๋ค. Allocation of Frames ๊ฐ ํ๋ก์ธ์ค๋ง๋ค ํ์๋ก ํ๋ ์ต์ frame์ ์๊ฐ ์์ ๊ฒ์ด๋ค. ํ๋์จ์ด์ ์ธ ์ธก๋ฉด์์ instruction ํ๋๊ฐ 6byte๋ผ๋ฉด, instruction ํ๋๊ฐ 2ํ์ด์ง์ ๊ฑธ์ณ์ ์์ ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ ๋ช ๋ น์ด source์ ์ฃผ์์ ์๋ ๋ฐ์ดํฐ๋ฅผ, destination์ ์๋ ์ฃผ์์ ์ฎ๊ฒจ๋ผ. ์ด๋ฐ instruction์ด๊ณ source๊ฐ 2 ํ์ด์ง์ .. 2023. 5. 19. 7. Deadlocks The Deadlock Problem ๊ธฐ๋ณธ์ ์ผ๋ก ํ๋ก์ธ์ค๊ฐ ์ผ์ ํ ๋๋ ํ๋ก์ธ์ค๊ฐ ์ผ์ ํ๊ธฐ ์ํด์ ํ์ํ ์์์ด ์์ด์ผ ํ๋ค. ๋ํ์ ์ผ๋ก CPU, ๋ฉ๋ชจ๋ฆฌ, ๋ฒ์ค ๋ฑ์ ํ๋์จ์ด ์์๋ ์๊ณ , ์ธ๋ง ํฌ์ด ๋๋ lock ๊ฐ์ ์ํํธ์จ์ด ์์๋ ์๋ค. => ๋ฝ์ ํ๋ณดํด์ผ ์ผ์ ํ ์ ์์ผ๋๊น. => ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ์ ์ ์ฅํ ๋๋ ๋ฉ๋ชจ๋ฆฌ ๋ฒ์ค๋ฅผ ํ๋ณดํด์ผ ํ๋ค. => CPU ์ค์ผ์ค๋ง๋ ๋ง์ฐฌ๊ฐ์ง, CPU๋ฅผ ํ๋ณด๋ฅผ ํด์ผ ํ๋ก์ธ์ค๊ฐ ๋์๋ ์ ์๋ค. ํ๋ก๊ทธ๋๋จธ๊ฐ ๋ช ์์ ์ผ๋ก ์์์ ์์ฒญํ์ง ์์๋, ์์คํ ๋ด์๋ ์์ฐ์ค๋ฝ๊ฒ ์์์ ํ๋ณดํ๊ณ ๋ฐ๋ฉํ๋ ๊ณผ์ ์ด ๋ฐ์ํ๊ณ ์๋ค. ๊ทผ๋ฐ ์ด๋ค ์ผ์ ํ๊ธฐ ์ํด ํ์ํ ๋ฆฌ์์ค๊ฐ ํ๋๊ฐ ์๋๋ค. ์ฌ๋ฌ ๊ฐ์ ๋ฆฌ์์ค๋ฅผ ํ๋ณดํด์ผ ์ง๋๋ฅผ ๋๊ฐ ์ ์๋๋ฐ, ์ด์ด ๋์๊ฒ ์ผ๋ถ ๋ฆฌ์์ค๋ง ํ๋ณดํ๊ณ ๋๋จธ.. 2023. 5. 18. 10. Virtual Memory (1) Virtual Memory๋ Physical Memory์ ๊ณต๊ฐ ์ฌ์ฉ ํจ์จ์ ๋์ด๊ธฐ ์ํด ๋ง๋ค์ด์ง ๊ธฐ์ ์ด๋ค. ์ง๊ธ๊น์ง ์ดํด๋ณธ memory management๋ virtual memory๊ฐ ์๋ค๋ ๊ฐ์ ํ์ ์ ๊ฐ๊ฐ ๋์๋ค. Virtual Memory ํฐ๋ ธ์๋ง ๋จธ์ ์ ๋ฐ๋ฅด๋ฉด ํ๋ก์ธ์ค์ ๋ชจ๋ address space๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์์ผ ํ๋ก๊ทธ๋จ์ด ์ํ๋ ์ ์๋ค๊ณ ํ๋ค. => ์ด๋ก ์ ์ผ๋ก๋ ๊ทธ๋ ๋ค. ๊ทธ๋ฌ๋ CPU ์ ์ฅ์์๋ ์๊ธฐ๊ฐ ํ์ฌ ์ํํด์ผ ํ Instruction๊ณผ Instruction์ด ์ ๊ทผํด์ผ ํ Data๋ง ์ฌ์ฉํ๋ฏ๋ก ์๋ค๋ง ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์ ์์ผ๋ฉด ์ค์ง์ ์ผ๋ก ํ๋ก๊ทธ๋จ ์ํ์ ์๋ฌด๋ฐ ๋ฌธ์ ๊ฐ ์๋ค. ์ด์ ๋ถํฐ ์ด๋ก ๊ณผ ์ค์ ๋ ๋ค๋ฅด๋ค. ์ค์ ๋ก CPU๊ฐ ์ ๊ทผํ๋ Instruction๊ณผ ๋ฐ์ดํฐ๋ง ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฌ์. .. 2023. 5. 12. 9. Memory Management (2) ํ์ด์ง ํ ์ด๋ธ์ ํํ์ ๋ฐ๋ผ์ ์ฐธ์กฐํ๋ ๋ฐฉ์์ด ๋ฌ๋ผ์ง๋ค. ํ์ด์ง ํ ์ด๋ธ์ ํํ๋ ํฌ๊ฒ 3๊ฐ์ง๊ฐ ์๋ค. Hierarchical Paging : Break up the logical address space into multiple page tables Hashing Page Tables : Using Hash to look up page table Inverted Page Tables Two-Level Page-Table Scheme(Hierarchical Paging) ์ ๋ด์ฉ์์ ๋งํ๋ฏ์ด ๊ฐ ํ๋ก์ธ์ค์ address space๋ ์ด์์ฒด์ ์ ์ต๋ bit์ ๋ง์ถฐ์ max ์ฃผ์๊ฐ ์ค์ ๋๊ฒ ๋๊ณ 32bit OS๋ผ๋ฉด max ์ฃผ์๊ฐ 2^32 - 1์ด ๋๋ค. => ๊ฐ ํ๋ก์ธ์ค๋ 32bit๋ฅผ ๋ชจ๋ ์ฌ์ฉํ๋ค 32bit.. 2023. 5. 7. 8. Memory Management (1) OS๊ฐ ํ๋ Memory Management์ ํต์ฌ ๊ธฐ๋ฅ์ CPU๊ฐ ํ๋ก๊ทธ๋จ์ ์ํํ ์ ์๋๋ก ๋ง๋ค์ด์ฃผ๋ ๊ฒ์ด๋ค. CPU๊ฐ ๋ฉ๋ชจ๋ฆฌ์์ data์ Instruction์ ๊ฐ์ ธ์ฌ ๋ ์ฃผ์๋ฅผ ๋ฐํ์ผ๋ก ๊ฐ์ ธ์จ๋ค. PC, MAR์ ๋ค์ด์๋ ์ฃผ์๋ฅผ ๋ณด๊ณ ๊ฐ์ ธ์ด. ๊ทธ๋ฌ๊ธฐ ์ํด์, OS๊ฐ ๋ฉ๋ชจ๋ฆฌ ์ธก๋ฉด์์ ํ๋ ์ผ์ ํฌ๊ฒ 2๊ฐ์ง. 1. ์ฃผ์๋ฅผ ์ด๋ป๊ฒ ๊ด๋ฆฌํ ๊ฒ์ธ๊ฐ. (๋ณธ์ง์ ๊ธฐ๋ฅ) 2. virtual memory - ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํจ์จ์ ์ฌ์ฉ ํ๋ก์ธ์ค๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์์๋ ๊ทธ ํ๋ก์ธ์ค์ ์ฝ๋๋ฅผ ์ํํ๋ ๊ณผ์ ์ ์์ ์ address space๋ฅผ ๋ฒ์ด๋ ์์ญ์ ์ ๊ทผํ๋ ค ํ๋ฉด ๋ง์์ฃผ๋ ๊ธฐ๋ฅ๋ ์ ๊ณตํด์ผ ํ๋ค. ๋์ ์์ ์ ์์ญ์ด ์๋ ์ปค๋ ์์ญ์ ์ ๊ทผํ๋ ๊ฒ์ System call์ ํตํด์ ๊ฐ์ ์ ์ผ๋ก ์ ๊ทผํ ์ ์๋ค. Mul.. 2023. 5. 2. 6. Process Syncronization (2) Classical Problems of Synchronization Synchronization Problem์ผ๋ก ๋ํ์ ์ธ ๋ฌธ์ ๋ ๋ค์์ 3๊ฐ์ง์ด๋ค. 1. Bounded-Buffer Problem 2. Readers and Writers Problem 3. Dining-Philosophers Problem Bounded-Buffer Problem ์ผ๋ช Producer & Consumer ๋ฌธ์ ๋ผ๊ณ ๋ ๋ถ๋ฆฌ๋ ์ด ๋ฌธ์ ๋ ํ๋ก๋์๊ฐ ๊ณต์ ๋ ๋ฒํผ์ ๋ฐ์ดํฐ๋ฅผ ์ฐ๋ฉด ์ปจ์๋จธ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด๊ฐ๋ ํํ์ด๋ค. ์ด๋ ๋ฒํผ์ ์ฌ์ด์ฆ๋ ๋ฌด์ ํ์ด ์๋๋ผ ํ์ ๋์ด ์๋ค. ๋ฒํผ๋ ํ๋ก๋์์ ์ปจ์๋จธ ์ฌ์ด์ ๊ณต์ ๋๋ ๊ณต๊ฐ์ด๋ฏ๋ก ํ๋ก๋์๊ฐ ๋ฒํผ์ ๊ฐ์ ์ฐ๋ ๋์ ์ปจ์๋จธ๊ฐ ๊ฐ์ ์ฝ์ด๊ฐ๋ ์ ๋๊ณ , ์ปจ์๋จธ๊ฐ ๊ฐ์ ์ฝ๊ณ ์๋ ๋์ค์ ํ๋ก๋์๊ฐ .. 2023. 4. 7. ์ด์ 1 2 ๋ค์