【王道操作系統】ch1計算機系統概述-04操作系統結構

文章目錄

  • 【王道操作系統】ch1計算機系統概述-04操作系統結構
    • 操作系統的內核
    • 操作系統的體系結構考綱新增內容(紅色為全新內容,黃色為原有內容):
      • 01 分層結構
      • 02 模塊化
      • 03 宏內核(大內核)和微內核
      • 04 外核

【王道操作系統】ch1計算機系統概述-04操作系統結構

在這里插入圖片描述

操作系統的內核

操作系統內核是操作系統最基本、最核心的部分,實現操作系統內核功能的那些程序就是內核程序
在這里插入圖片描述最底層的時鐘管理、中斷管理、原語是與硬件關聯最緊密的三個模塊,這些功能是必須放在內核當中的。還有一些管理相關的功能,如進程管理,存儲器管理。對于這些功能的管理,更多的是對數據結構的一個操作,而不會直接涉及到硬件。所以有的操作系統并不把這些管理功能放在內核當中,而只在內核當中保留與硬件接觸最緊密的這些部分。

因此,這就引出了兩種截然不同的內核的設計方法:

  • 大內核
    把所有的這些功能都包含在操作系統內核當中的這種結構,就叫做大內核(宏內核/單內核)
  • 微內核
    而如果內核當中只保留與硬件關系最緊密的這些部分,那么這種內核就叫做微內核
    在這里插入圖片描述
    在這里插入圖片描述
    背景:一個應用程序想要請求操作系統服務,這個服務的處理同時涉及到進程管理、
    存儲管理、設備管理。
  • 在大內核的操作系統下,CPU的狀態將會發生2次改變
  • 在微內核的操作系統下,CPU的狀態將會發生6次改變
    而CPU狀態的切換是有成本的,頻繁地切換狀態會降低系統的性能。

在這里插入圖片描述

操作系統的體系結構考綱新增內容(紅色為全新內容,黃色為原有內容):

在這里插入圖片描述

01 分層結構

在這里插入圖片描述

02 模塊化

在這里插入圖片描述

03 宏內核(大內核)和微內核

在這里插入圖片描述
在這里插入圖片描述

04 外核

在這里插入圖片描述

  • 內核負責進程調度、進程通信等功能
  • 外核負責為用戶進程分配未經抽象的硬件資源,且由外核負責保證資源使用安全

在普通的操作系統當中,如果用戶進程他想要申請使用一片內存空間。那么給他分配的內存空間是經過虛擬化的。用戶進程自己看到的視角,似乎是自己擁有了一整片連續的這個內存空間。但事實上,這只是虛擬的地址空間,操作系統內核會把這些虛擬空間映射到實際的物理空間中,這些物理空間在內存當中通常是離散的。

除了內存空間之外,給進程分配的文件存儲空間外存空間也是經過抽象的。對于進程來說,他覺得自己的文件好像是連續的一個地址空間。但事實上,這個文件的各個塊。在磁盤當中,很有可能是被離散存放的,所以普通的操作系統給用戶進程分配的磁盤空間也是經過抽象的。

外核可以給用戶進程直接分配未經抽象的硬件資源
優點:比如一個用戶進程知道自己的這一片存儲空間是經常需要隨機訪問的,一會訪問a地址,一會訪問b地址

  • 如果給這個用戶進程分配的磁盤空間在外存當中是離散的,那么用戶進程在隨機訪問這些文件塊的時候,意味著這個磁頭需要來回橫跳,那這樣就會導致用戶進程對自己的文件隨機訪問的這種性能效能變低。

  • 如果采用外核的這種策略,那么外核可以直接給用戶進程分配未經抽象的硬件資源。也就是說,如果這個用戶進程他知道自己的這個文件需要頻繁的被隨機訪問,那么我就可以向外核申請給我分配一整片連續的這個磁盤塊,比如說從0號塊到1024號塊,全部都是我的。用戶進程文件數據直接存放到連續的幾個磁盤塊當中,那他之后想要隨機訪問自己這個文件里邊的任何一塊,磁頭移動的這些距離就會變少。

外核除了分配回收這些未經抽象的硬件資源之外,還需要負責保證這些硬件資源的使用安全。

  • 比如a到b這個空間已經分配給了進程p1,此時另一個進程p2想要訪問這片區域。外核就需要及時的發現并且制止。
  • 同時,進程p1如果要訪問a-b之外的其他空間,這個行為也應該被外核發現并制止。所以外核它分配了這些硬件資源之后,還需要保證這些硬件資源的使用安全。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/714039.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/714039.shtml
英文地址,請注明出處:http://en.pswp.cn/news/714039.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

redis03 八種數據類型

思維草圖 String類型 字符串類型,是redis中最簡單的存儲類型,可以包含任何數據,例如jpg圖片或者序列化的對象等,底層都是以字節數組形式存儲,最大能存儲512MB的數據。 常用命令 KEY命名規范 加前綴,分…

802.11局域網的 MAC 幀

目錄 802.11 局域網的 MAC 幀 802.11 數據幀的三大部分 1.關于 802.11 數據幀的地址 最常用的兩種情況 2.序號控制字段、持續期字段和幀控制字段 802.11 局域網的 MAC 幀 802.11 幀共有三種類型:控制幀、數據幀和管理幀。 802.11 數據幀的三大部分 MAC 首部&…

總結springboot啟動jar,指定配置文件

第一:覆蓋 -- 覆蓋系統中的文件中的application-dev.yml文件,兩種指定方法都可以 springboot默認優先讀取application.properties>application.yml>指定文件(application-dev.yml) 公共配置可以在application.yml,其他配置在applicatio…

基于 STM32U5 片內溫度傳感器正確測算溫度

目錄預覽 1、引言 2、問題 3、小結 01 引言 STM32 在內部都集成了一個溫度傳感器,STM32U5 也不例外。這個位于晶圓上的溫度傳感器雖然不太適合用來測量外部環境的溫度,但是用于監控晶圓上的溫度還是挺好的,以防止芯片過溫運行。 02 問題…

C# - 類與類之間的繼承關系判斷

Type.IsSubclassof(Type type) 作用:用來確定 一個類是否派生自另一個類/ValueType/Enum/委托 不能用于確定:接口是派生自另一個接口,還是類實現接口 class A{} class B : A{}A a; B b;var boo b.GetType().IsSubclassOf(typeof(A)) // t…

sqllabs第五關floor報錯注入

實驗環境sqllabs第五關 floor()報錯注入的原因是group by在向臨時表插入數據時,由于rand()多次計算導致插入臨時表時主鍵重復,從而報錯,又因為報錯前concat()中的SQL語句或函數被執行,所以該語句報錯且被拋出的主鍵是SQL語句或函…

go語言中的協程和Java中線程以及進程的區別

理解 Go 語言中的協程(Goroutine)、Java 中的線程和進程之間的區別可以從以下幾個方面來看: 輕量性: Goroutine(協程): 協程是非常輕量級的執行單位,創建和銷毀的成本很低。在 Go 中…

深入理解Lambda表達式:基礎概念與實戰演練【第114篇—python:Lambda表達式】

深入理解Lambda表達式:基礎概念與實戰演練 在現代編程語言中,Lambda表達式作為一種輕量級的匿名函數形式,越來越受到程序員的青睞。特別是在函數式編程興起的今天,Lambda表達式在簡化代碼、提高可讀性方面發揮著重要作用。本文將…

C++筆記(六)--- 靜態成員變量/函數(static)

目錄 C語言中靜態變量 C靜態成員變量 C靜態成員函數 C語言中靜態變量 1.函數內部用static修飾的變量,只能在此函數使用,但所修飾的變量不隨函數釋放而釋放,下次調用時的值仍為上次結束時的值2.static修飾的全局變量只能在其定義的文件使用…

華為OD技術面試案例6-2024年

個人情況:西電本,二戰某985基本寄了。知識儲備方面:無任何408基礎,學校開過數據結構課程60分過,python純靠自學,無任何刷題經驗,無項目經驗,簡歷東拼西湊。 大概是12月底和OD聯系&a…

數據可視化原理-騰訊-熱力圖

在做數據分析類的產品功能設計時,經常用到可視化方式,挖掘數據價值,表達數據的內在規律與特征展示給客戶。 可是作為一個產品經理,(1)如果不能夠掌握各類可視化圖形的含義,就不知道哪類數據該用…

CSP-201712-2-游戲

CSP-201712-2-游戲 解題思路 初始化變量:定義整數變量n和k,分別用來存儲小朋友的總數和淘汰的特定數字。然后定義了num(用來記錄當前報的數)和peopleIndex(用來記錄當前報數的小朋友的索引)。 初始化小朋…

MATLAB環境下基于離散小波變換的體外血管圖像處理

下面簡要介紹小波變換的部分應用。 信號去噪。小波去噪是根據有效信號和噪聲信號在小波變換后表現出的不同特性實現的,一般可用于去除語音、圖像、視頻等中的噪聲信號。小波去噪方法根據對小波系數的非線性處理方式分為三類,分別是小波變換模極大值去噪…

電子電器架構新趨勢 —— 最佳著力點:域控制器

電子電器架構新趨勢 —— 最佳著力點:域控制器 我是穿拖鞋的漢子,魔都中堅持長期主義的汽車電子工程師(Wechat:gongkenan2013)。 老規矩,分享一段喜歡的文字,避免自己成為高知識低文化的工程師…

備戰藍橋杯---狀態壓縮DP基礎1之棋盤問題

它只是一種手段,一種直觀而高效地表示復雜狀態的手段。 我們先來看一道比較基礎的: 直接DFS是肯定不行,我們發現對某一行,只要它前面放的位置都一樣,那么后面的結果也一樣。 因此我們考慮用DP,并且只有0/…

Vue3+Element-Plus中ELMessage樣式丟失處理

Vu3Element-Plus項目中,element-plus使用按需引入有時會出現樣式失效和在vscode中使用會報錯[找不到名稱“ElMessage”。ts(2304)]錯誤 ELMessage彈框樣式丟失處理方法 使用按需引入就不能手動再引入 import { ElMessage } from "element-plus";ElMessage.success…

藍橋杯-單片機組基礎6——定時計數器與外部中斷混合使用(附小蜜蜂課程代碼)

藍橋杯單片機組備賽指南請查看這篇文章:戳此跳轉藍橋杯備賽指南文章 本文章針對藍橋杯-單片機組比賽開發板所寫,代碼可直接在比賽開發板上使用。 型號:國信天長4T開發板(綠板),芯片:IAP15F2K6…

常見的瀏覽器跨域解決方法

1. 前端方法&#xff1a;JSONP&#xff08;僅適用于GET請求&#xff09; JSONP&#xff08;JSON with Padding&#xff09;是一種利用<script>標簽的src屬性不受同源策略限制的特性來實現跨域數據請求的方法。JSONP通過在前端動態創建<script>標簽&#xff0c;并將…

4.1.CVAT——目標檢測的標注詳細步驟

文章目錄 1. 進入任務1. 創建任務2. 已創建的task3. 進入標注界面 2. 選擇標注類型2.1 選擇標注類型2.2 進行標注2.3 遮擋 2.快捷鍵3.導出標注結果 1. 進入任務 登錄后會看到如下圖界面&#xff0c;CVAT的標注最小單位是Task&#xff0c;每個Task為一個標注任務。點擊Task按鈕…

[法規規劃]國家數據局局長劉烈宏《激活數據要素價值》演講要點解析

國家數據局黨組書記、局長劉烈宏在北大光華論壇上發表了題為《激活數據要素價值》的演講&#xff0c;當時曾極大推動了市場熱度&#xff0c;引發了行業思考。現在演講過去了一段時間&#xff0c;但是溫故而知新&#xff0c;我們不妨結合演講之后的市場反應&#xff0c;回顧一下…