Memory Management - Variable Partition Multi-programming
Multi-Programming (Variable Partition Multiprogramming)
โ ์ด๊ธฐ์๋ ์ ์ฒด๊ฐ ํ๋์ ์์ญ
โ ํ๋ก์ธ์ค๋ฅผ ์ฒ๋ฆฌํ๋ ๊ณผ์ ์์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ด ๋์ ์ผ๋ก ๋ถํ
โ No internal fragmentation
VPM Example
โ Memory space: 120 MB
1. ์ด๊ธฐ์ํ
![](https://blog.kakaocdn.net/dn/EliTe/btrUWbmvvuS/Ykdi20o2BQ03VrwmSl1vq1/img.png)
2. ํ๋ก์ธ์ค A(20MB) ์ ์ฌ
![](https://blog.kakaocdn.net/dn/bw9A7g/btrUVbmSfEn/xkWel4ndskUpkbZDqOTwSK/img.png)
3. ํ๋ก์ธ์ค B(10MB) ์ ์ฌ
![](https://blog.kakaocdn.net/dn/du140Y/btrUYPXw5sh/AI3QEk3CBIEzjozJ2yWMQK/img.png)
4. ํ๋ก์ธ์ค C(25MB) ์ ์ฌ
![](https://blog.kakaocdn.net/dn/NChTl/btrUV4Oy9kO/LRKAsevu62rE3JLdCZRDt0/img.png)
5. ํ๋ก์ธ์ค D(20MB) ์ ์ฌ
![](https://blog.kakaocdn.net/dn/dpK32V/btrUYPJ07ou/c16kQO0gHpp6Kyf0G5rJLk/img.png)
6. ํ๋ก์ธ์ค B๊ฐ ์ฃผ๊ธฐ์ต์ฅ์น ๋ฐ๋ฉ
![](https://blog.kakaocdn.net/dn/JI34W/btrUTYaaRrw/kyGsso7OSg5QjOOUnNa6Tk/img.png)
7. ํ๋ก์ธ์ค E(15MB) ์ ์ฌ
![](https://blog.kakaocdn.net/dn/2NxJ7/btrU2KOzxw6/uOemztF88HOXQtEvk37jrK/img.png)
8. ํ๋ก์ธ์ค D๊ฐ ์ฃผ๊ธฐ์ต์ฅ์น ๋ฐ๋ฉ
![](https://blog.kakaocdn.net/dn/oQUKq/btrUXpEQvBl/HiVokfZIS9056erXq8cQa1/img.png)
9. ์ด๋์ ๋ฐฐ์นํ ๊ฒ์ธ๊ฐ...?
![](https://blog.kakaocdn.net/dn/HFeKa/btrUV3IWBGC/0K5RBy9k0ftfJdYnjWB0i1/img.png)
Placement Strategies(๋ฐฐ์น ์ ๋ต)
1. First-fit(์ต์ด ์ ํฉ)
![](https://blog.kakaocdn.net/dn/yHkoh/btrU2KugERy/3XBlVqJcxo5reAxfr7b18K/img.png)
โ ์ถฉ๋ถํ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง ์ฒซ ๋ฒ์งธ partition ์ ํ
โ simple and low overhead
โ ๊ณต๊ฐ ํ์ฉ๋ฅ ์ด ๋จ์ด์ง ์ ์์
2. Best-fit(์ต์ ์ ํฉ)
![](https://blog.kakaocdn.net/dn/bIVocA/btrU3asPoul/ElP6NYy08pPpKHykRuQXH1/img.png)
โ Process๊ฐ ๋ค์ด๊ฐ ์ ์๋ partition ์ค ๊ฐ์ฅ ์์ ๊ณณ ์ ํ
โ ํ์ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆผ(๋ชจ๋ partition ํ์)
โ ํฌ๊ธฐ๊ฐ ํฐ partition ์ ์ง ๊ฐ๋ฅ
โ ํ์ฉํ๊ธฐ ๋๋ฌด ์์ partition ๋ง์ด ๋ฐ์
3. Worst-fit(์ต์ ์ ํฉ)
![](https://blog.kakaocdn.net/dn/ZKd2Q/btrU1pjH3Kc/kV98juvIRNqqKOWesg3RCK/img.png)
โ Process๊ฐ ๋ค์ด๊ฐ ์ ์๋ partition ์ค ๊ฐ์ฅ ํฐ ๊ณณ ์ ํ
โ ํ์ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆผ(๋ชจ๋ partition ํ์)
โ ์์ ํฌ๊ธฐ์ partition ๋ฐ์ ์ค์ผ ์ ์์
โ ํฐ ํ๋ก์ธ์ค์ ํ์ํ ํฐ ํฌ๊ธฐ์ parition ํ๋ณด ์ด๋ ค์
4. Next-fit(์์ฐจ ์ต์ด ์ ํฉ)
โ ์ต์ด ์ ํฉ ์ ๋ต๊ณผ ์ ์ฌ
โ state table์์ ๋ง์ง๋ง์ผ๋ก ํ์ํ ์์น๋ถํฐ ํ์
โ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ์ฌ์ฉ ๋น๋ ๊ท ๋ฑํ
โ Low overhead
Coalescing holes (๊ณต๊ฐ ํตํฉ)
![](https://blog.kakaocdn.net/dn/SKrqa/btrUVaBuQjp/CafBXdZ9k1CEXhFS3P2RL0/img.png)
โ ์ธ์ ํ ๋น ์์ญ์ ํ๋์ partition์ผ๋ก ํตํฉ
- process๊ฐ memory๋ฅผ releaseํ๊ณ ๋๊ฐ๋ฉด ์ํ
- Low overhead
![](https://blog.kakaocdn.net/dn/bXkVvQ/btrU0uyQRkl/JcSwGSLha3wDlKnTT2H4k1/img.png)
Storage compaction(๋ฉ๋ชจ๋ฆฌ ์์ถ)
![](https://blog.kakaocdn.net/dn/dkr8m3/btrUVkKIylT/KZtBpUWgE5mRwCSckyenJ1/img.png)
โ ๋ชจ๋ ๋น ๊ณต๊ฐ์ ํ๋๋ก ํตํฉ
โ ํ๋ก์ธ์ค ์ฒ๋ฆฌ์ ํ์ํ ์ ์ฌ ๊ณต๊ฐ ํ๋ณด๊ฐ ํ์ํ ๋ ์ํ
โ high overhead
- ๋ชจ๋ process ์ฌ๋ฐฐ์น
- ๋ง์ ์์คํ ์์ ์๋น
'โญ Group_Study > Operating System' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[6์ฃผ์ฐจ] Virtual Memory: Paging system (0) | 2023.01.11 |
---|---|
[6์ฃผ์ฐจ] Virtual Memory: Non-continuous allocation (0) | 2023.01.08 |
[5์ฃผ์ฐจ] Memory Management - Fixed Partition Multiprogramming (0) | 2023.01.03 |
[5์ฃผ์ฐจ] Memory Management: Backgrounds (0) | 2023.01.02 |
[4์ฃผ์ฐจ] Deadlock: Deadlock Detection and Recovery (1) | 2022.12.29 |
๋๊ธ