【学习笔记】第三章——内存 I(交换技术、进程七状态模型、动态分区分配、动态分区算法)
生活随笔
收集整理的這篇文章主要介紹了
【学习笔记】第三章——内存 I(交换技术、进程七状态模型、动态分区分配、动态分区算法)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 一. 交換狀態、進程七狀態模型
- 二. 內存的分配方式
- 三. 動態分配算法
一. 交換狀態、進程七狀態模型
- 交換技術:內存空間緊張,把某些進程暫時換出外存。(進程在內存與磁盤間動態調度)
- 進程七狀態:相對于五狀態,多了兩種掛起狀態(掛起:換到外存)
- (以后談到進程狀態的時候,可以再提提掛起態噢)
- 進程換到磁盤的存儲位置:對換區(連續存儲,更快)。外存還有文件區,這地兒是用來存儲的(占比更多),更追求空間利用率,因此采用離散存儲。
- 何時交換:缺頁頻繁時
- 換出哪些進程?
- 阻塞進程(反正你也跑不了,不如把你換了~)
- 低優先級進程
- 注意:PCB 常駐內存,不會被換出
二. 內存的分配方式
- 前提:操作系統需要為用戶進程分配連續的內存空間。
- 動態分區分配:進程裝入內存時,才動態地建立分區(動態分區沒有內部碎片)
- 內部碎片:分配給進程的內存區域,有部分沒用上
- 外部碎片:內存空閑分區太小,分配不了
- 外部碎片的解決方法:緊湊技術(往下壓,類似 JVM GC 的標記壓縮算法)
三. 動態分配算法
- 這地兒…也不知道重不重要,總之先寫一點筆記吧
- 四種算法各有優劣
- 首次適應:按序找,用第一個合適的。綜合性能最好
- 最佳適應:優先使用更小的。(產生很多碎片)
- 最壞適應:優先使用更大的。(解決碎片問題,但不利于大進程)
- 鄰近適應:從上一次查找的結束位置開始查找。
總結
以上是生活随笔為你收集整理的【学习笔记】第三章——内存 I(交换技术、进程七状态模型、动态分区分配、动态分区算法)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 零基础自学编程应读书籍
- 下一篇: 【LeetCode笔记】152. 乘积最