2020 操作系统第四天复习(知识点总结)
生活随笔
收集整理的這篇文章主要介紹了
2020 操作系统第四天复习(知识点总结)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1:那些指令只能在核心態運行?
核心態和用戶態 【第二章第一節】
- 通過處理器狀態標志,處理器可以知道當前是操作系統還是應用程序在其上面運行呢
- 處理器的狀態又叫做處理器的模式,可以分為核心態(管態)和用戶態(目態)
- 當處理器處于核心態的時候,CPU運行可信軟件,硬件允許執行全部機器指令。
- Intel X86 處理器的狀態有四種,0的權限最高,3的權限最低。典型是0:為內核級,1:系統調用,2:共享庫函數,3:應用程序級。操作系統可以進行自己的設定,Windows中只有0級和3級
- 0:處理 I/O 操作,存儲管理
- 1:系統調用:執行系統調用,得到特定和受保護的程序的服務
- 2:共享庫級:可被多個運行進程共享,允許調用庫函數,讀取但不修改相關的數據
- 3:應用程序級
處理器的模式轉換
-
處理器從用戶態向核心態轉換
- 系統調用
- 中斷或者是異常
- 這兩種的本質上都是通過中斷機制發生的,所以說中斷和異常是用戶態到核心態轉換的僅有途徑。
-
處理器從和核心態向用戶態的轉換
- 加載程序狀態字的特權指令
- IBM 370 是LOAD PSW 指令,Intel 是IRET指令
程序狀態字
-
PSW 用來指示處理器狀態,控制指令的執行順序,并且保留和指示與運行程序有關的各種信息,主要作用是實現程序狀態的保護和恢復
-
每個正在執行的狀態都有一個與其當前狀態相關的PSW,而每個處理器都設置一個硬件PSW寄存器,一個程序占用處理器之行時候,其PSW將占用硬件的PSW寄存器。
-
在Intel X86中,PSW由標志寄存器Eflags 和指令指針寄存器 EIP 組成,均為32位
- Eflags的低16位被稱為flags,可以當做一個單元來處理
- 標志劃分為三組:狀態標志,控制標志和系統標志
讀時鐘日期,這個是在用戶態也是可以的
訪管指令:用戶態
設時鐘日期:只能在核心態
加載PSW:這個是IBM700 和intel 從核心態轉到用戶態的動作
設置特殊的寄存器:比如PSW,只能是核心態
改變存儲器映像圖:只能在核心態
啟動I/O指令:只能在核心態
2:關于內核級線程,以下的描述不正確的是?
- A 內核可以將處理器調度直接分配到某個內核級線程
- B 控制權從一個線程傳送到另一個線程的時候不需要用戶態-內核態-用戶態的模式切換
- C 可以將一個進程的多個線程分派到多個處理器中,能夠發揮多處理器并行工作的優勢
- D 建立和維護現成的數據結構并且保存每個線程的入口
【第二章第四節:線程及其實現】
- 分類
- 用戶級線程(user level thread) POSIX1003.4a的 Pthreads,java 線程庫
- 內核級線程(kernal level thread) 比如Windows 2003 ,OS /2 和March C-thread
- 混合方式(Solaris UI-threads)
- 內核級線程
- 內核可以使一個進程中的多個線程并行,使得能夠發揮多CPU的優勢
- 如果某一個線程被堵塞,內核能夠調度統一進程的其他線程占有處理器,也可以運行其他進程的線程
- 內核級別只有很小的數據結構和堆棧,其切換速度比較快,內核自身也可以使用多線程技術來實現
- 線程在用戶態運行的時候,線程的調度和管理在內核實現,在同一進程中,控制權從一個線程傳送到另外一個線程的時候需要用戶態——核心態——用戶態的模式切換,系統開銷較大。
- 用戶級線程
- 相當遠周天子的分封,內核是不感知的
- 無需內核切換,可以節省模式切換的開銷和內核的寶貴資源
- 運用進程按照應用的特定選擇需要的調度算法,且線程庫的線程調度算法和操作系統的低級調度算法無關
- 能夠運行在任何的操作系統上,內核無需做任何的改變
- 大多數的系統調用是堵塞型的,一個用戶級別的堵塞將引起整個進程的堵塞
- 用戶級進程不能利用多重處理的優點,進程由內核分配到CPU的時候,僅有一個用戶級別可以進行
- 因此,不可能得益進程的并發執行
- 混合式線程
- 一個應用程序的多個用戶級別的線程能夠分配和對應于一個或者是多個內核級別線程
- 內核級別的線程在多處理器上并行執行
- 并且在阻塞一個用戶級線程的時候,內核可以調整另一個線程執行
- 窗口系統
- 用一組用戶級線程表示多個窗戶
- 用一個內核級別的線程來支持這一組用戶級別的線程
- 系統中同時會出現很多的窗口(用戶級線程),但是又只有一個處于活躍的狀態(內核級線程)
- 系統開銷小,窗口系統執行效率高
- 大規模的并行計算
- 大規模的并行計算是對物理并行度要求比較高的應用
- 可以將一個內核級線程綁定到一個用戶級縣城當中
- 每個內核級別的線程占用一個 CPU 并行執行
- 減少了線程切換的次數,通過并行計算提高效率
3:分時操作系統必須在規定時間內處理來自外部的事件
4:I/O軟件的一般分為四層結構,請按照自頂向下的順序寫出四層結構的名稱。
【第五章的第二節】
- I/O 軟件的總體設計目標是:高效率和通用性
- 設備無關性
- 出錯處理
- 同步 / 異步 傳輸
- 緩沖技術
- 為了合理的解決以上的這些問題,操作系統把 I/ O 軟件一次組織成了四個層次
- I/O 中斷程序
- I/O 設備驅動程序
- 獨立于設備的 I/O 軟件
- 用戶空間的I/O軟件
總結
以上是生活随笔為你收集整理的2020 操作系统第四天复习(知识点总结)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mongoDB的常见命令
- 下一篇: (1)WEB复习