作業系統網課筆記^_^使用者視角:
pc使用者:追求方便,易用、高效能
主機使用者:關注資源利用率
手持裝置使用者:關心方便、電池續航時間
正是由於不同使用者,不同的應用場景對作業系統有不同分要求,就需要設計不同的作業系統,以適合使用者和應用的需求。這也是作業系統多樣化的原因。
系統視角:
(1)管理所有資源
(2)面對衝突的資源請求,決定如何分配資源,以便系統能有效公平執行。
管理使用者程式執行,以防止計算機資源的錯誤使用或使用不當
由於在系統層面對作業系統的要求基本一致這就使得絕大多數的作業系統具有共性,都包括cpu管理、記憶體管理、檔案管理和裝置管理等內容。
觀點一:(極大化)
「當你預定乙個作業系統時零售商所裝的所有東西」就是作業系統
觀點二:(極小化)
核心(kernel)才是作業系統。
核心是一直執行在計算機上的程式,核心不執行則計算機無法執行。
cpu可以從記憶體讀取指令和資料,並執行指令,也就是執行程式,而各個i/o裝置,則由各自的控制器控制。
cpu和裝置控制器可並行工作,並競爭記憶體。
以從磁碟讀入資料為例來演示cpu和磁碟控制器的協作過程。
cpu發出i/o指令,通過匯流排傳輸到磁碟控制器;
cpu可以執行其他程序指令,磁碟控制器收到指令後控制磁碟執行指令;
磁碟把資料傳輸到磁碟控制器的本地緩衝區;
磁碟控制器觸發中斷,通知cpu資料已經讀好;
cpu響應中斷,並且把磁碟緩衝區中的資料讀入記憶體,完成了一次讀取資料。
中斷是指當出現需要時,cpu暫時停止當前程序的執行,轉而執行處理新情況的中斷處理程式,當執行完該中斷處理程式後,則重新從剛才停下的位置繼續當前程序的執行。
中斷服務程式
為了區分不同的中斷,每個裝置有自己的中斷號,系統有0~255一共256個中斷,系統有一張中斷向量表,用於存放256個中斷的中斷服務程式入口位址。每個入口位址對應一段**,即中斷服務程式。
中斷需要cpu的支援,一般cpu至少有乙個引腳用於接收中斷。
計算機加電->執行引導程式->引導區裝入記憶體->執行引導區**->引導作業系統的啟動
例如,linux系統首先載入root目錄下的kernel,核心載入成功後,第二個載入的是root下bin目錄下的init的initialise程式。
作業系統0x00 作業系統的基本概念
1.1.3 作業系統的目標和功能 作業系統是指控制和管理整個計算機系統的硬體與軟體資源,合理地組織 排程計算機的工作與資源的分配,進而為使用者和其他軟體提供方便介面與環境的程式集合。作業系統管理各種計算機硬體,為應用程式提供基礎,並充當計算機硬體與使用者之間的中介,是最基本的系統軟體。作業系統中兩個...
推薦系統實踐 0x00 序
最後還是找到了自己算是滿意的工作,也準備開始新的研究領域,推薦演算法。由於我之前的研究內容主要是圍繞著cv展開,所以還是需要提前學習一下推薦演算法的知識。目前選擇了 推薦系統實踐 這本書,看中了它能夠將知識點和 相結合的優勢,並不枯燥也有一部分專案實踐等等。這篇文章就算作自己開始讀這本 推薦系統實踐...
演算法競賽高階指南 0x00
快速冪模板,寫一下快速冪的原理。我們知道,乙個數 n 在二進位制 也可以是其他進製 下可以被表示為 a 1 a 2 2 1 a 3 2 2 a m 2 那麼我們可以考慮將其分拆成二進位制狀態下的每一位,然後做冪運算。這樣做的時間複雜度為 o log 2 n 實現的過程類似於倒過來的分治 當然也可以直...