文章目錄
計算機沒有操作系統也能運行程序,比如bios。只不過將這樣的程序安裝到計算機中需要一些特別的操作。
操作系統的基本功能
- 提供操作界面
- 控制程序運行
- 管理系統資源
- 配置系統參數
- 監控系統狀態
- 工具軟件集合
應用程序要運行,需要操作系統提供哪些支持?
- 可執行程序文件的存放
- 可執行程序的啓動
- 爲應用程序分配內存
- 打印字符串等需要的設備支持
- while死循環不會獨佔cpu
- 程序結束如何退出系統
操作系統的功能之進程管理
進程管理(CPU管理)是操作系統最核心的功能。讓多個“進程”在併發運行。
進程管理(CPU管理)
- 進程控制:創建、暫停、喚醒、撤銷;
- 進程調度:調度策略、優先級;
- 進程通信:進程間通信。
操作系統的功能之內存管理
- 內存分配
- 內存共享
- 內存保護
- 虛擬內存
會不會因爲計算機的內存太小導致程序無法運行?不會。
實際內存只有1G,但是卻申請到了1.85G。
運行5個這樣的程序計算機還是不會崩潰,而且每個程序依然能申請到1.85G內存!
這是因爲操作系統使用了特殊的方式,讓一個對內存需求很大的程序在較小的內存中依然能夠運行。這體現了操作系統對內存的有效管理。
操作系統的功能之設備管理
- 設備的分配和調度
- 設備無關性
- 設備傳輸控制
- 設備驅動
操作系統的功能之文件管理
- 存儲空間的管理
- 文件的操作
- 目錄的操作
- 文件和目錄的存取權限管理
操作系統的定義
操作系統是一個大型系統程序
- 提供用戶接口,方便用戶控制計算機
- 負責爲應用程序分配和調度軟硬件資源,並控制與協調應用程序併發活動,幫助用戶存取和保護信息。
分時技術與分時操作系統
通道技術讓外設和內存之間直接交互。
分時技術的概念
主機以很短的時間片爲單位,把cpu輪流分配給每個終端使用,直到全部作業被運行完。
買計算機的時候就已經帶有bios,bios分隔了操作系統和硬件的直接聯繫,使得操作系統實現硬件無關性。
操作系統的邏輯結構
操作系統的邏輯結構指操作系統的設計和實現思路。
操作系統邏輯結構的種類:
- 整體式結構
- 層次式結構
- 微內核結構(客戶/服務端結構:Client/Sever)
整體式結構
特點是以模塊爲基本單位構建
模塊之間的調用關係很難維護。
層次式結構
微內核結構
CPU的態
支持操作系統的最基本硬件結構
- CPU
- 內存
- 中斷
- 時鐘
CPU的態(Mode)
- CPU的工作狀態
- 對資源和指令使用權限的描述。CPU在不同的態下,對資源和指令能使用的權限也不同。
如上圖,這些特權指令不能隨便讓應用程序使用。
態的分類
- 核態(Kernel):
- 能夠訪問所有資源和執行所有指令
- 管理程序/OS內核
- 用戶態(User mode,目態)
- 僅能訪問部分資源,其它資源受限
- 用戶程序
- 管態(Supervisor mode)
- 介於核態和用戶態之間
用戶態和核態之間的轉換
用戶態向核態轉換
- 用戶請求OS提供服務
- 發生中斷
- 用戶進程產生錯誤(內部中斷)
- 用戶態企圖執行特權指令
核態向用戶態轉換的情形
- 一般是執行中斷返回:IRET
硬件和OS對CPU的觀察
- 硬件按態來區分CPU的狀態
- OS按進程來區分CPU的狀態
Ring3是應用程序層,無法訪問設備,所以要Ring3和Ring0通信
現場也叫上下文。