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์ ํด์ผ ํ๋ค. ํ๋ก์ธ์ค๋ฅผ ์๊ฒ ์ชผ๊ฐ์ ์ฌ์ฉ์ ํ๋ค.
Contiguous Memory Allcoation
100MB ํ๋ก์ธ์ค๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์ 100MB์ ํด๋น ํ๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋์ ๋์ ์์ด๋ ๋๊ณ ์ฐ์์ ์ผ๋ก ์กด์ฌํด๋ ๊ฐ๋ฅํ๋ค. logical Address spcae๋ ํ ๋ฉ์ด๋ฆฌ๋ก ์์ด์ผ ํ์ง๋ง Physical Address Space๋ ๋์ ๋์ ์์ด๋ ๊ฐ๋ฅํ๋ค. ํ๋์ ํ๋ก์ธ์ค๋ฅผ ๋ก๋ฉํ ๋ Logical์ ์ฐ์๋์ด์ผ ํ๋ค๋ ๊ฒ์ ๋ค์ ๊ฐ์ ๋ ์์ธํ๊ฒ ๋ฐฐ์ด๋ค. (์ ์ ๋ก ๋์) ๋ฉ๋ชจ๋ฆฌ๊ฐ OS์ User Process๋ก ๋๋๋ค. User Process๊ฐ High memory์ด๋ค. ์ด๋ป๊ฒ ๋๋ ์ฌ์ฉํ ์ ์์ ๊น?
Memory Mapping Protection
logical address๊ฐ ์๊ธฐ ์์ ์ ๊ณต๊ฐ์์ ์๋์ ์์์ ์ ์๋ฏธํ๋ค. ์ค๋ฅธ์ชฝ ํ๋์ ์์ ์์ด ๊ธฐ์ค์ด ๋๋ค. Limit์ ํ๋์ ์์์ ํฌ๊ธฐ๊ฐ ๋๋ค. ์์ ์ ํฌ๊ธฐ๋ฅผ ๋์ด ์๋ ์ง๋ฅผ ํ์ธํด์ผ ํ๋ค. ๋จ์ ์์ญ์ ์นจ๋ฒํ๋์ง ์ํ๋์ง๋ฅผ ํ์ธ. Interrupt Handler๊ฐ ์๋์ ํ๊ฒ ๋๋ค. relocation register๋ base register์ ๊ฐ์ ์๋ฏธ์ด๋ค. ์์์ ์ ์ ์ฅํ๋ ๊ฒ์ด base register์ธ๋ฐ relocation๊ณผ ๋์ผํ ์๋ฏธ๋ฅผ ๊ฐ์ง๋ค. relocatable address์ relocation register๋ ์์ ํ ๋ค๋ฅธ ์๋ฏธ์!!!! ์ค์๊ฐ relocation์ ํ๊ฒ ๋๋ค. ์ด ๋ชจ๋ ์์ ์ HardWare๊ฐ ๋ด๋น์ ํ๋ค.
Memory Allocation
์ฒ์์๋ OS ๋ง๊ณ ์๋ฌด๊ฒ๋ ์กด์ฌํ์ง ์๋๋ค. P1, P2, P3 User Process ๊ฐ ๋ค์ด์ค๊ฒ ๋๋ค. P2๊ฐ ๋๊ฐ๊ฒ ๋๋ฉด ํด๋น ๊ณต๊ฐ์ด Free Space๊ฐ ๋๋ค. P4๋ ๋ํ๋๊ฒ ๋๋ฉด P2๊ฐ ๋๊ฐ๋ ๊ณต๊ฐ์ ๋ค์ด์ค๊ฒ ๋๋ค. (P2๋ณด๋ค ์๋ค๊ณ ๊ฐ์ ) P1์ด ๋๊ฐ๋ฉด ๋น ๊ณต๊ฐ์ด ๋๊ณ P5๊ฐ ๋ค์ด์ค๋ฉด P1์ด ๋๊ฐ ๊ณต๊ฐ์ ๋ค์ด๊ฐ๊ฒ ๋๋ค. ๋น ๊ณต๊ฐ์ด ์๊พธ ์ชผ๊ฐ์ง๋ ๋ฌธ์ ๊ฐ ๊ณ์ ๋ฐ์ํ๋ค. ์ด๋ ๊ฒ ์๋ผ์ง๊ฒ ๋๋ฉด ์ธ ์ ์๋ ๊ณต๊ฐ์ผ๋ก ๋์ด๋ฒ๋ฆฌ๊ณ ๋ง๋ค.
Fragmentation(ํํธํ)
External Fragmentation. N๊ฐ์ ๋ธ๋ญ์ด ์์ผ๋ฉด ๊ทธ ์ค์ 0.5N ์ ํด๋นํ๋ ๋ฉ๋ชจ๋ฆฌ ๋ถ๋ถ์ด Fragmentation ๋์๋ค๋ ํต๊ณ ์์น๋ฅผ ๋ณผ ์ ์๋ค. ์ ๋ป์ ๋ฉ๋ชจ๋ฆฌ์ 1/3์ ์ฌ์ฉํ์ง ๋ชปํ๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค. Disk๋ ๋นํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๊ฒ ๋๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค. ํ๋ก์ธ์ค ๋ฐ์ ์๊ธฐ๋ ๊ฒ
Fragmentation
Internal Fragmentation, ํ๋ก์ธ์ค๊ฐ ์์ฒญํ ๋ฉ๋ชจ๋ฆฌ๋ณด๋ค ๋ ํฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ดค์ ๋๋ฅผ ์๋ฏธํ๋ค. 18462 ๋ฐ์ดํธ๋ฅผ ๋ฌ๋ผ๊ณ ์์ฒญํ๋ค๊ณ ํ์. ๋น ๊ณต๊ฐ์ ์ฐพ์๋ค๊ณ ํ์ ๋ 18464๋ผ๋ ๊ณต๊ฐ์ ์ฐพ์๋ค๊ณ ํ์. ํ๋ก์ธ์ค ์ ์ฅ์์๋ ์์ ํฌ๊ธฐ๋ณด๋ค ๋ ํฐ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋ฐ๊ฒ ๋๋๋ฐ ๊ทธ๊ฒ์ Internal Fragmentation ์ด๋ผ๊ณ ํ๋ค. ์ด๋ ๊ฒ ํด์ ๋ฒ๋ ค์ง๋ ๊ณต๊ฐ์ ์๋ฏธํ๋ค. ์ค์ ๋ก ์ด๋ค ์ํฉ์์ ๋ฐ์ํ๊ฒ ๋๋๊ฐ? Block ๋จ์๋ก ๋จ์ด์ง๊ฒ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํด์ค๋ค. ์๋ฅผ ๋ค์ด ๋ธ๋ญ ๋จ์๊ฐ 4KB์ธ๋ฐ ํ๋ก์ธ์ค๊ฐ 5KB๋ฅผ ๋ฌ๋ผ๊ณ ํ๋ฉด 8KB๋ฅผ ์ฃผ๊ฒ ๋๊ณ 3KB๋งํผ ๋ ์ฃผ๊ฒ ๋๋ค. ์ด๊ฒ์ด Internal Fragmentation์ด๋ผ๊ณ ํ๋ค. ํ๋ก์ธ์ค ์์ ์๊ธฐ๋ ๊ฒ.
Fragmentation
๋น ๊ณต๊ฐ์ ์์ ๊ณ ์๋ก ๋ฐ์ด ์ฌ๋ฆฌ๋ ๋ฐฉ์์ Compaction์ด๋ผ๊ณ ํ์ง๋ง ์ด๋ก ์์ผ๋ก๋ง ์กด์ฌํ๋ค. (์ค์ฉ์ x) Logical ๊ณต๊ฐ์์๋ ์ฐ์์ด์ด์ผ ํ๊ณ Physical Memory๋ ์ฐ์์ด์ง ์์๋ ๋๋ค. Physical ํ๊ฒ ๋ค ๋จ์ด์ ธ ์์ด๋ Mapping์ ์ ํ๋ฉด ๋ถ๋๋ฝ๊ฒ ์ ์คํ๋ ์ ์๋ค. ์ด๋ฐ ๋ฐฉ๋ฒ์ด ๋ ๊ฐ์ง ์กด์ฌํ๋ค. Paging๊ณผ Segmentation์ด ์กด์ฌํ๋ค. ์ด๋ฅผ ์ ์ ์ฉํ๋๊ฐ? Fragmentation์ ๋ํ ํด๋ฒ์ด๋ค!!!(**)
Paging
Logical Memory ๋ฅผ ๊ฐ์ ํฌ๊ธฐ๋ก ์ชผ๊ฐ๋ ๊ณผ์ ์ด๋ค. Physical Memory๋ ๋๊ฐ์ ์ฌ์ด์ฆ๋ก ์ชผ๊ฐ๊ฒ ๋๋ค. Logical Memory์ ํ ๊ณต๊ฐ์ Page๋ผ๊ณ ๋ถ๋ฅด๊ณ Physical Memory์ ๊ณต๊ฐ์ Frame์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. Logical Memory๋ ์ค์ ๋ก ์กด์ฌํ๋ ๊ณต๊ฐ์ด ์๋๋ค. page๋ผ๋ ๊ฒ์ Content์ ๋ํ ๊ฒ์ ์๊ธฐํ ๋ ์ฌ์ฉ์ด ๋๋ค. Frame์์ 0๋ฒ Page๋ 1๋ฒ Frame์ ์๋ ๊ฒ์ด๋ค. 1๋ฒ Page๋ 4๋ฒ Frame์ ์กด์ฌํ๋ ๊ฒ์ด๋ค. Page๋ผ๋ ๊ฒ์ ๋ ผ๋ฆฌ์ ์ธ ๊ณต๊ฐ์์ page๋ฅผ ์๋ฏธํ๊ณ Frame์ ์ค์ ๋ก ์ ์ฅ๋๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์๋ฏธํ๋ ๊ฒ์ด๋ค. Page์ Frame์ ํฌ๊ธฐ๋ ๊ฐ์์ผ ํ๋ค. ์ค๊ฐ์ Mappingํ๋ ๊ฒ์ page table์ด๋ผ๊ณ ํ๋ค.
Paging
page table์ ๊ฐ์ page index์ ํด๋นํ๋ frame index๋ฅผ ๊ฐ์ง๊ณ ์๋ ๊ตฌ์กฐ๋ก ๋ณผ ์ ์๋ค. page table์๋ frame์ ๋ฒํธ๊ฐ ๋ค์ด๊ฐ๊ฒ ๋๋ค. page table ์๋ page number๊ฐ ๋ค์ด๊ฐ์ผ ํ๋ค? ๋ง๋ค ํ๋ฆฌ๋ค? ํ๋ฆฌ๋ค. page table์ ๊ฐ์ด ์๋๋ผ ๊ทธ๋ฅ index์ด๋ค. Page Number๋ก ๋ค์ด์ฌ ๋ฟ ๊ฐ์ด ๋ค์ด์ค๋ ๊ฒ์ด ์๋๋ค.
paging
logical address๋ page number์ page offset๋ก ๊ตฌ์ฑ๋๋ค. page size๋ฅผ 1000์ด๋ผ๊ณ ํด๋ณด์. 5320 ์ 5๋ฒ ํ์ด์ง์ ๋ค์ด๊ฐ๊ฒ ๋๋ค. 35821 ์ 35๋ฒ์งธ Page์ ๋ค์ด๊ฐ๋ค. 45861์ 45๋ฒ์งธ Page์ ๋ค์ด๊ฐ๋ค. 35๋ผ๋ ๊ฒ์ด Page Number๋ผ๊ณ ํ๊ณ 821๋ฅผ Offset Number๋ผ๊ณ ํ๋ค. page offset์ ๋ํ๋ด๋ Bit๋ 12 bit์ด๋ค. 4KB์ ํด๋นํ๋ค. 32 Bit , 2^10์ด ํ ๋ฒ ์์ผ๋ฉด KB ๋ ๋ฒ ์์ผ๋ฉด MB ์ธ ๋ฒ ์์ผ๋ฉด GB๊ฐ ๋๋ค. ์ฆ 32 Bit๋ 4GB๋ผ๊ณ ํ ์ ์๋ค.
Paging
4bit ์ง๋ฆฌ๋ Logical Address๊ฐ 16Byte์ ํด๋นํ๋ค. ํ ํ์ด์ง์ ํฌ๊ธฐ๋ 4Byte์ด๋ค. 2^N์ ํด๋นํ๋ฏ๋ก ์ ์ ํ ํฌ๊ธฐ์ด๋ค. 9๋ฒ์งธ ํ์ด์ง ๋ฒํธ๋ 2๊ฐ ๋๋ค. 9์ Page Offset์ 1์ด ๋๋ค. ํ์ด์ง ์์์๊ฐ ๊ธฐ์ค์ด๋ฏ๋ก. Page Offset์ ์์์ 0์ด๋ค. ์ด๋ฅผ ์ด์ง์๋ก ํํํด๋ณด์. ํ์ด์ง ํฌ๊ธฐ๊ฐ 4์ด๋ฏ๋ก 2bit์ ํด๋นํ๋ค. Page Offset์ ํด๋นํ๋ ํฌ๊ธฐ๊ฐ 2bit๋ผ๋ ๊ฒ!!!(***) 14๋ฅผ ์ด์ง์๋ก ๋ํ๋ด๋ฉด 1110 ์ธ๋ฐ 2Bit์์ ์๋ฅด๊ฒ ๋๋ฉด ์ ๋ถ๋ถ์ ์ซ์๋ 3์ ํด๋นํ๊ณ Page number๋ 3์ด ๋๋ค. ๋ค์ ๋ Bit๋ฅผ ๋ณด๊ฒ ๋๋ฉด 2์ ํด๋นํ๊ณ Offset ๋ํ 2 ์ธ ๊ฒ์ ํ์ธํ ์ ์๋ค.
J์ Physical Address๋ 5๊ฐ ๋๋ค. 5๋ 0101 ์ด๊ณ 2bit๋ก ๋๋๊ฒ ๋๋ฉด ์ค๋ฅธ์ชฝ 2bit 01์ Offset์ด๊ณ ์ผ์ชฝ 2bit๋ Frame number์ด๋ค. MMU๋ฅผ ํตํด์ ๋ณ๊ฒฝ๋ Offset์ ๋ณ๊ฒฝ๋์ง ์๋๋ค. ์ฆ, Logical Address์ Offset๊ณผ Physical Address์ Offset์ ๋์ผํ๋ค. Page์ ํฌ๊ธฐ์ Frame์ ํฌ๊ธฐ๊ฐ ๊ฐ๊ธฐ ๋๋ฌธ์ด๋ค. Page Number์ Frame Number์ ๋ณํ๋๋ ์ซ์๋ page table์ ์ ํ์๋ค.