操作系統(一)

操作系統的功能

1.進程管理
進程控制、進程同步、進程間通信、調度
2. 存儲管理
 內存的分配與回收、存儲保護、內存擴充
3.文件管理
 文件存儲空間的管理、目錄管理、文件系統的安全性
4.設備管理
 緩存管理、設備分配、設備處理
5.用戶接口
  命令接口、程序接口、圖形接口

操作系統的分類

按照用戶界面的使用環境和功能特徵:
批處理系統、分時系統、實時系統

操作系統的結構

整體式結構、層次式結構、微內核(客戶機/服務器)結構

一般指令和特權指令

特權指令:輸入輸出指令、停機指令等,只有監視程序才能執行特權指令。
一般指令:用戶只能執行一般指令,如需執行特權指令,處理器會將控制權移交給監控程序。

操作系統的啓動

中央處理器(CPU)

處理器由運算器、控制器、一系列的寄存器以及高速緩存構成。
寄存器分爲兩類:用戶可見寄存器、控制和狀態寄存器。

系統調用

定義:應用程序主動向操作系統發出服務請求
源頭:應用程序請求操作提供服務
處理時間:同步或者異步
響應:等待和持續

異常

定義:非法指令或者其他壞的處理狀態(如:內存出錯)
源頭:應用程序意想不到的行爲
處理時間:同步
響應:殺死或者重新執行意想不到的應用程序指令

中斷

定義:來自不同的硬件設備的計時器和網絡的中斷
源頭:外設
處理時間:異步
響應:持續,對用戶應用程序是透明的

注意:
只有內核可以執行特權指令。

在操作系統中管理內存的不同方法
  1. 程序重定位
  2. 分段
  3. 分頁
  4. 虛擬內存
  5. 按需分頁虛擬內存

連續內存分配:內存碎片與分區的動態分配

(1)內存碎片問題

空閒內存不能被利用
外部碎片:在分配單元間的未使用內存
內部碎片:在分配單元中的未使用內存

(2)簡單的內存管理方法:

當一個程序准許運行在內存中時,分配一個連續的區間
分配一個連續的內存區間給運行的程序以訪問數據

(3)分區的動態分配策略

首次適配
內容:現在想分配n字節,從低地址開始找,碰到的第一個空間比n大的空閒塊就使用它。

要想實現首次分配,需要滿足以下條件:
需要存在一個按地址排序的空閒塊列表
分配需要找一個合適的分區
重分配需要檢查,看看自由分區能不能與相鄰的空閒分區合併(形成更大的空閒塊),若有

優點
簡單
易於產生更大的空閒塊,向着地址空間的結尾

缺點
外部碎片的問題會加劇
不確定性

最佳適配
內容:爲了分配n字節,使用最小的可用空閒塊,以致塊的尺寸比n大。

目的:避免分割大的空閒塊;最小化外部碎片產生的尺寸。
要想實現最佳分配,需要滿足以下條件:
按尺寸排列的空閒列表
分配需要尋找一個合適的分區
重分配需要搜索和合並於相鄰的空閒分區,若有

**優點:**大部分分配是小尺寸時很有效;簡單
**缺點:**外部碎片;重分配慢;易產生很多沒用的微小碎片。

最差適配
內容:爲了分配n字節,使用最大的可用空閒塊,以致塊的尺寸比n大。

目的:避免太多的微小碎片
要想實現最差分配,需要滿足以下條件:
按尺寸排列的空閒列表
分配很快(獲得最大的分區)
重分配需要合併於相鄰的空閒分區,若有,然後調整空閒塊列表
**優點:**假如分配時是中等尺寸效果最好
**缺點:**重分配慢;外部碎片;易於破碎大的空閒塊以至大分區不能被分割

連續內存分配:壓縮式與交換式碎片整理

(1)壓縮式碎片整理(緊緻)

-重製程序以合併孔洞
-要求所有程序是 動態可重置的
-問題:何時重置;開銷。

(2)交換式碎片整理

-運行程序需要更多的內存
-搶佔等待的程序或回收它們的內存(把暫時不用的內容挪到磁盤裏)

你知道的越多,你不知道的越多。
有道無術,術尚可求,有術無道,止於術。
如有其它問題,歡迎大家留言,我們一起討論,一起學習,一起進步

發佈了114 篇原創文章 · 獲贊 67 · 訪問量 7995
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章