๐ Major Study (Bachelor)164 [OS / ์ด์ ์ฒด์ ] Paging, Frame Table, Hardware Support, Shared Pages, Hierarchical Paging Paging overhead๋ 2๊ฐ์ง๊ฐ ์๋ค. ๋ฉ๋ชจ๋ฆฌ ๊ด์ ์์ page table ์ ๋จผ์ ์ดํด๋ณด์. page table์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋ฌด์ํ์ง ๋ชปํ ๋งํผ ํฌ๋ค. page์ ํ ์นธ์ด frame number ๋ฅผ ๋ํ๋ผ ์ ์์ด์ผ ํ๊ณ page offset์ด 12 bit๋ผ๋ฉด 20bit์ ํฌ๊ธฐ๋ฅผ ๋ด์ ์ ์์ด์ผ ํ๋ค. 4MB ์ ๋ ํด๋นํ๋ฏ๋ก ๋ฌด์ํ ์ ์๋ค. page table์ ์ปดํจํฐ ์์ ํ๋ก์ธ์ค ๊ฐ์ ๋งํผ ์กด์ฌํ๋ค. ํ๋ก์ธ์ค๊ฐ 100๊ฐ ์ ๋ ์๋ค๊ณ ํ๋ฉด 400MB ์ ๋ ์ฐจ์งํ๋ค๊ณ ๋ณผ ์ ์๋ค. ๋ ๋ฒ์งธ๋ Internel Fragmentation ๊ด์ ์ด๋ค. ์๋ฅผ ๋ค์ด logical memory์ ๊ณต๊ฐ์ด 14๋ผ๊ณ ํ๋ฉด ์ด์ฐ ๋๋ 16์ ํด๋นํ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น ๋ฐ์์ผ ํ๋ค. ๊ทธ๋ ๊ฒ ๋๋ฉด ํ๋์ Frame์๋.. 2022. 6. 2. [OS / ์ด์์ฒด์ ] Swapping, Contiguous Memory Allcoation, Fragmentation, Paging, Swapping ํ์ฌ ํ๋ก์ธ์ค์์ ๋ค๋ฅธ ํ๋ก์ธ์ค๋ก Switching์ด ์ผ์ด๋๋ ค๊ณ ํ๋ค. ํ๋ก์ธ์ค ํฌ๊ธฐ๋ฅผ 100MB๋ก ๊ฐ์ . ๋์คํฌ์ latency๊ฐ 8ms ์ ๋ ๊ฑธ๋ฆฐ๋ค. 2์ด์๋ค๊ฐ 8ms ์ ๋ ์ถ๊ฐ๋๋ค. 2008ms ๊ฑธ๋ฆฌ๊ฒ ๋๊ณ Swap out๊ณผ Swap in ์ด 2๋ฒ ์ผ์ด๋๊ณ 4016ms๊ฐ ๊ฑธ๋ฆฐ๋ค๊ณ ํ ์ ์๋ค. Context Switching ํ ๋ ๊ฑธ๋ฆฌ๋ ์ซ์์ด๋ค. Time slice๊ฐ ๋ณดํต 10 ~ 100 ms ํ๋๋ฐ Context Switching ํ ๋ 4์ด๊ฐ ๊ฑธ๋ฆฐ๋ค๋ ๊ฒ์ ๋๋ฌด ์ค๋ ๊ฑธ๋ฆฌ๋ ๊ฒ์ด๋ค. disk transfer rate๋ฅผ ๋๋ฆฌ๊ธฐ ์ํด์ Hard Dist๋ฅผ SSD๋ก ๋ฐ๊พธ๋ ๋ฑ์ ์์ ์ด ํ์ํ๋ค. ์ฌ์ฉ์ ํ์ํ ํ๋ก์ธ์ค๋ง ๋๊ธฐ๋ ๊ฒ์ผ๋ก Context Switching์ ํด์ผ ํ๋ค. .. 2022. 5. 30. ์๊ณ ๋ฆฌ์ฆ 13์ฃผ์ฐจ ๋ชฉ์์ผ 2022. 5. 26. [OS / ์ด์์ฒด์ ] Address Binding, Logical vs Physical Address Space, Dynamic Linking and Shared Library, Swapping Basic HardWare ํ๋์จ์ด๊ฐ ์๋์ ์ผ๋ก ๋ฒ์ด๋ฌ๋์ง ์๋์ง๋ฅผ ํ์ธํด์ค๋ค. Memory Management Unit. ์์ฃผ ๋น ๋ฅธ ์๊ฐ์ ์ฒ๋ฆฌ๋ฅผ ํ๋ค. ํ์ฌ ํ๋ก์ธ์ค์ ์์์ ์ base๋ผ๊ณ ํ๋ค. ์ฃผ์๋ฅผ ๋ฌ๋ผ๊ณ ํ๋ฉด base์ ๋น๊ต๋ฅผ ํด์ ์๋ ์์ผ๋ฉด NO (Interrupt๊ฐ ๋ฐ์)์์ ์์ผ๋ฉด YES๋ฅผ ์ป๊ฒ ๋๋ค. base๋ณด๋ค ํฐ ๊ฐ์ด๋ฉด ๋ค์ Task๋ฅผ ๋น๊ตํ๋ค. base + limit์ ํด์ ์ฃผ์๊ฐ์ ์ป๊ณ ์ด๋ณด๋ค ํฌ๊ฒ ๋๋ฉด Segmentation fault๋ฅผ ๋ณด๊ฒ ๋๋ค. ์ด ๋ชจ๋ ๊ฒ์ HardWare๊ฐ ํ๋ค๋ ๊ฒ์ ๊ธฐ์ตํ์. base์ limit์ด ์ ์ฅ๋๋ ๊ณณ์ ๋์ง์คํฐ์ด๋ค. ์์ฃผ ๋น ๋ฅธ ์๊ฐ์ ์ฒ๋ฆฌ๋ฅผ ํ ์ ์๋ค๋ ๊ฒ์ด๋ค. Base/limit ๋์ง์คํฐ๋ priviledge ~ ์ด ๋ฌธ์ฅ ํ์ธํด๋ณผ ๊ฒ.. 2022. 5. 26. [OS / ์ด์์ฒด์ ] The Readers-Writers Problem, The Dining Philosopher's Problems, Synchronization within the Kernel, POSIX Synchronization The Readers-Writers Problem Writer๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๊พธ๊ธฐ๋ ํ๊ณ ์ฝ์ด์ฌ ์ ์๋ ํจ์์ด๋ค. Mutual Exclusion ๋ณด์ฅํ์ง ์๊ณ Shared Data๋ฅผ ๊ฑด๋๋ฆฌ๋ฉด race condition์ด ๋ฐ์ํ๊ณ Debug ํ๊ธฐ ๊ต์ฅํ ์ด๋ ต๋ค. Writer ๋ค์ด ๋์์ ๋ค์ด์ค๋ฉด ์๋๋ค. Reader ๋ค์ด ์๋๋ฐ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ค๊ธฐ๋ ํ์ง๋ง ์์ ์ ํ์ง ์๋๋ค. ๋์์ Shard Data์ ์ ๊ทผ์ ํ๋ฉด ๋ฌธ์ ๋ ๋ฐ์ํ์ง ์๋๋ค. ์ฝ๊ธฐ๋ง ํ๋ Reader๋ ์ฌ๋ฌ ๊ฐ๊ฐ ์์ด๋ ์๊ด์ด ์๋ค. ์ฐ๊ณ ์๋ ์ค๊ฐ์ ์ฝ์ด๊ฐ๋ฉด ์ด๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค. ์ด ์ํฉ์ ์ํํ ์ํฉ์ด๋ค. ๋ฐ๋์ ๊ฒฝ์ฐ Reader๊ฐ ์ฝ์ด๊ฐ๊ณ ์๋๋ฐ Writer๊ฐ ๋ค์ด์์ ๋ด์ฉ์ ๋ฐ๊พธ์ด ๋ฒ๋ฆฌ๋ฉด ์ด๊ฒ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ์ํฉ์ด๋ค. ์ด 4๊ฐ.. 2022. 5. 23. [OS / ์ด์ ์ฒด์ ] Monitors, Condition Variable, Implementing a Monitor Using Semaphore, Deadlock and Starvation, Bounded Buffer Problem Monitors Monitor์์ ์คํํ ์ ์๋ ๊ฒ ์์ฒด๊ฐ Resource์ด๋ค. Spin lock๊ณผ Block์ ๋ฐฉ๋ฒ์ผ๋ก Waiting ์ํค๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค. Waiting ์ Linked List๋ก ๊ตฌํ์ ํ๋ค. Monitor ์์ฒด๋ Mutual Exclusion์ ์ง์ํ๊ธฐ ๋๋ฌธ์ ์ ๊ฒฝ์ฐ์ง ์์๋ ๋๋ค. Monitor in Java synchronized๋ผ๋ ํค์๋๋ฅผ ์ ๊ณตํ๋ค. ๋ฉ์๋๋ฅผ ์ ์ํ ๋ ์ฌ์ฉ์ ํ๋ฉด ํ ๋ฒ์ ํ๋์ Thread๋ง์ด ์คํ๋ ์ ์๋ ํจ์์ธ ๊ฒ์ด๋ค. System.Threading.Monitor์ ํน์ฑ์ ์ ํด ๋ฐ์ผ๋ฉด Monitor์ ํน์ฑ์ ๊ฐ์ง ์ ์๊ฒ ๋๋ค. Condition Variable ์ผ์ ๋ก ๋์ด. ๋ณ์๋ฅผ ์ ์ธํ๊ณ x.wait์ผ๋ก ์คํ์ ํ๋ฉด ์ผ์๊ณผ ๋์ผํ ์ํ๊ฐ ๋.. 2022. 5. 19. [OS / ์ด์์ฒด์ ] Mutex, Semaphores, Monitors Mutex Mutex์ ๊ฐ์ด 1์ด๋ฉด ๋ค์ด๊ฐ๋ ๋๋ค. Boolean variable์ ๋ป์ Availableํ๋ค๋ ๊ฒ์ ๊ฐ์ง๋ค. True์ด๋ฉด ๋ค์ด์๋ ๋๋ค! ์ด๊ธฐํ๋ฅผ True๋ก ์ค์ ์ ํด์ผ ํ๋ค. ํ์ง๋ง ์๋ฌด๋ ์ ๊ทผํ ์ ์๋ค. Atomic Operation์ ํตํด์๋ง ๋ฐ๊ฟ ์ ์๋ค. Class์ Private ๋ณ์๋ก ์ ์ธ์ ํ๋ ๊ฒ๊ณผ ๋์ผํ๋ค. acquire๋ Entry section์์ ์ฌ์ฉ๋๋ ํจ์์ด๋ค. ๋๊ฐ ๋ค์ด๊ฐ ์๋์ง ํ์ธ์ ํด์ผ ํ๋ค. release ํจ์๋ Exit function์ด๋ค. ๋ค์ ์น๊ตฌ๊ฐ ๋ค์ด์๋ ๋๋ค๊ณ ํ๋ ํ์ด์ฃผ๋ ๊ตฌ์ญ์ด๋ค. acquire ํจ์ available์ ๊ฐ์ด ์ฒ์์ true์ด๋ฏ๋ก while ๋ฌธ์ ํต๊ณผํ๊ฒ ๋๋ค. ๊ทธ๋ฌ๋ฉด์ available๊ฐ false๋ก ๋ฐ๋๊ฒ ๋๋ค. ์ด.. 2022. 5. 16. ์๊ณ ๋ฆฌ์ฆ 11์ฃผ์ฐจ ๋ชฉ์์ผ 2022. 5. 12. [OS / ์ด์์ฒด์ ] Mutual Exclusion using TestAndSet, Mutual Exclusion and Swap, Mutual Exclusion using CAS, Bounded Waiting Mutual Exclusion, Atomic Variable Mutual Exclusion using TestAndSet critical section ์์ entry section์ด ์๋ค. Lock์ ์ด๊น๊ฐ์ด false์ด๋ค. ์ฒซ ๋ฒ์งธ ํ๋ก์ธ์ค๊ฐ critical section์ ๋ค์ด๊ฐ๋ ค๊ณ ์๋๋ฅผ ํ๋ค. TestAndSet์ ์ด์ ์ lock์ ๊ฐ์ return ํด์ฃผ๋ ํจ์์ด๋ค. while()๋ฌธ์ด ๊นจ์ง๊ฒ ๋๋ค. ๋ค์ด๊ฐ๋ ์ ์ฅ์์ while๋ฌธ์ด ๊นจ์ง๋ ๊ฒ, Critical section์ ๋ค์ด๊ฐ ์ ์๋ค๋ ์๋ฏธ์ด๋ค. lock = 0์ด๋ฏ๋ก ๋ค์ด๊ฐ ์ ์๊ฒ ํด์ฃผ๊ณ TestAndSet์ ํด๋น lock๊ฐ์ ๋ฌด์กฐ๊ฑด 1๋ก ๋ฐ๊พธ์ด ์ค๋ค. ๊ทธ ๋ณ์์ ๊ฐ์ true๋ก ๋ฐ๊ฟ์ค๋ค. ๋ค์ ํ๋ก์ธ์ค๊ฐ ๋ค์ด์ค๊ฒ ๋๋ ๊ฒฝ์ฐ TestAndSet์ ๋ฆฌํด๊ฐ์ true์ด๋ฏ๋ก while ๋ฌธ์ด ์ ์ง๊ฐ ๋์ด.. 2022. 5. 9. [OS / ์ด์์ฒด์ ] Peterson's solution, Erroneus Algorithm, Peterson's Solution, Memory Barriers, Hardware Instructions, compare and swap, TestAndSet Peterson's solution ํ๋ก์ธ์ค๊ฐ 2๊ฐ ์๋ค๊ณ ๊ฐ์ , 3๊ฐ๋ถํฐ๋ ์ด๋ป๊ฒ ํ๋๊ฐ. Peterson์ solution์ผ๋ก๋ ์๋๋ค. Pi, Pj๋ ์๋์ ์ธ ์ด๋ฆ์ด๋ค. ๋ ์์ ์ด P0๋ผ๋ฉด Pi๊ฐ P0๊ฐ ๋๋ค. Pi๋ ๋ ์์ ์ ์ผ์ปซ๋ ๋ง์ด๋ค. turn, ๋๊ฐ ๋ค์ด๊ฐ ์ฐจ๋ก์ธ์ง๊ฐ turn ๋ณ์์ ํด๋นํ๋ค. flag๋ณ์๋ ์ฌ์ด์ฆ๊ฐ 2์ธ ๋ฐฐ์ด์ด๋ค. ํ๋ก์ธ์ค๊ฐ 2๊ฐ ์๋ค๊ณ ๊ฐ์ ์ ํ๊ธฐ ๋๋ฌธ. turn์ ์ด๊น๊ฐ์ 0 flag๋ 0์ผ๋ก ์ด๊ธฐํ ๋์ด์๋ค. Erroneus Algorithm do while ๋ฃจํ ์์์ critical section์ด ์กด์ฌํ๋ค. entry section์ด while ์์๋ฌธ์ด๊ณ exit section์ ์๋ ์ฒ๋ผ ๊ตฌํํ๋ค๋ ๊ฒ์ด๋ค. ๋ด ์ฐจ๋ก๊ฐ ์๋๋ฉด ๊ธฐ๋ค๋ฆฌ๋ผ๋ ๋ฐ๋ณต๋ฌธ์ด ๋๋ค. tur.. 2022. 5. 2. ์ด์ 1 2 3 4 5 6 7 8 ยทยทยท 17 ๋ค์