效能之巔讀書筆記 作業系統部分概念

2022-05-03 22:03:11 字數 957 閱讀 3525

1.核心

核心管理包括:cpu排程、記憶體、檔案系統、網路協議棧、硬體裝置(磁碟、網絡卡等);其對外提供系統呼叫介面,使用者態的應用程式可以通過有系統呼叫或者系統庫提供的介面來呼叫核心。

核心排程需要考慮點:

(1)資源競爭:如cpu競爭,在多程序系統中,cpu資源不足時,核心排程器需要決定哪個程序占用cpu,哪個程序需要等待,這種情況下,系統的某些功能的效能可能就會受到影響;

(2)核心態和使用者態間切換的時間開銷:核心是唯一執行在特殊cpu模式下的程式,這種cpu模式叫核心態,這種狀態下,裝置的一切訪問和特權指令都可以執行;應用程式執行在使用者態,對核心的特權操作需要通過系統呼叫切換到核心態;使用者態和核心態有自己的軟體執行上下文(包括棧和暫存器),這些上下文的切換就會引起cpu耗時;

2.棧棧:用函式和暫存器的方式記錄執行緒的執行歷史。通過棧資訊可以看到全部的呼叫歷史。

3.程序

程序:用以執行使用者級別程式的環境,包括記憶體位址空間、檔案描述符、執行緒棧和暫存器。類似於早起電腦的虛擬化,裡面只執行1個程式,用著自己的暫存器和棧。

執行緒:可以被排程執行在cpu上的可執行上下文,包括棧、暫存器和程式計數器,多執行緒可以讓單一程序在多個cpu上併發執行。

二者的區別:在核心的角度,執行緒僅僅被視為乙個與其他程序共享某些資源的程序,而是否共享位址空間幾乎是程序和 linux 中所謂執行緒的唯一區別。執行緒建立的時候,加上了 clone_vm 標記,這樣 執行緒的記憶體描述符將直接指向 父程序的記憶體描述符。

4.檔案系統

etc存放系統配置檔案;usr是系統提供的使用者界別的程式和庫;dev是裝置檔案;var是包括系統日誌在內的各種檔案

效能之巔讀書筆記 推薦序

本書是難得的unix linux 系統管理員和運維工程師的百科全書式參考手冊 張銀奎給出的軟體工程師發展道路 首先要確認自己是喜歡軟體技術的,願意在技術方向上持續發展。接下來的問題是如何在技術方向上不斷前進。日日新,又日新 我的建議是,逐級攀登軟體技術的 台階 編碼 除錯和調優。優化的成倍效應 不要...

作業系統讀書筆記

前言管程 訊號量體系有內容如下 整型訊號量 記錄型訊號量 and型訊號量 訊號量集。最容易搞混的就是整型訊號量和記錄型訊號量,理解之後很容易區分,記住一點 整型訊號量不遵循 讓權等待 的原則,只要待操作的訊號量s 0,就會處於一種 忙等待 的狀態,更嚴重的是,一旦事件發生,會導致一種稱之為 驚群現象...

《浪潮之巔》讀書筆記

下面引用亞馬遜的推薦語 浪潮之巔 不只是一本歷史書,除了講述科技頂尖企業的發展規律,對於華爾街如何左右科技公司,以及金融風暴對科技產業的衝擊,也多有著墨。此外,浪潮之巔 第2版 套裝上下冊 也著力講述很多尚在普及或將要發生的,比如微博和雲計算,以及對下一代網際網路科技產業浪潮的判斷和 因為在極度商業...