作業系統做了什麼

2021-09-25 02:44:17 字數 1589 閱讀 6031

1.helloworld.c 的執行過程中,計算機作業系統做了什麼?

2.作業系統的主要工作

#include int main(int argc, char *ar**)

使用者告訴作業系統執行helloworld 程式( 如何告知 ?)

作業系統:找到helloworld 程式的相關資訊, 檢查其 型別是否是可執行檔案;並通過程式首部資訊,確定** 和 資料在可執行檔案中的位置並計算出對應的磁碟塊 位址( 檔案格式?)

作業系統: 建立 乙個新 的程序,並將helloworld可執行檔案對映到該程序結構,表示由該程序執行helloworld 程式(之後的排程流程?)

作業系統:為helloworld 程式設定cpu 上下文環境,並跳到程式 開始 處( 假設排程程式選中hello 程式)

執行helloworld 程式 的 第一 條 指令,由於此時**資料還沒有調入記憶體,發生 缺頁異常

作業系統:分配 一 頁物理記憶體 ,並將**從磁碟 讀入記憶體,然後繼續執行helloworld 程式

helloworld 程式執行puts 函式( 系統呼叫 ),在顯示器上寫 一字串

作業系統:找到要將字串送往的顯示裝置,通常裝置是由 乙個程序 控制 的 ,所以,作業系統將要寫的字串送給該程序

作業系統:控制裝置的 程序告訴裝置的視窗系統它要顯示 字串,視窗系統確定這是乙個合法的操作,然後將字串轉換成 畫素, 將畫素寫入裝置的儲存 映像區

顯示器解釋訊號,激發液晶屏

ok !!!我們 在螢幕上 看到了「hello world」

程式的執行:啟動程式 、執行程式以及程式結束的工作

完成個性的工作(與硬體有關)

完成共性的工作:易於使用,基本服務,統一性

效能、安全、健壯性等問題

看完下邊的2.1再來理解這4點工作就容易多了

思考:假如沒有作業系統,怎樣將目標**送給硬體?怎樣輸出列印結果?

→ 人們將對二進位制程式操作 從二極發光管讀答案

例如:實現**中 包含儲存器的實體地址 ,或者 包含對裝置介面暫存器和裝置介面緩衝區的讀寫 等等

實現該工作的過程**和硬體因素密切相關,即需要設定與測試、使用實體地址、裝置接暫存器等等

硬體相關必然複雜繁瑣、**量大;硬體相關的工作,其實現**不通用(缺陷)

例子:有兩個要求,哪乙個更簡單易實現?

從檔案讀資料塊 和 移動磁頭、等待放下

共性:任何乙個程式都需要的、最基本的工作,它們具有共性、工作過程相同、與具體應用無直接關係(即與使用者所關心的應用目標無直接關係)

理解了上述的缺陷和共性,作業系統的作用工作就呼之欲出了。缺陷-作用,共性-工作(部分)。

作業系統是應用軟體與現實硬體之間的軟體,如圖:

作業系統導讀 什麼是作業系統

作業系統 operating system 是管理計算機硬體的程式,它還為應用程式提供基礎,並且充當計算機硬體和計算機使用者之間的媒介。令人驚奇的是作業系統完成這些任務的方式多種多樣。大型機的作業系統設計的主要目的是為了充分優化硬體的利用率,個人計算機的作業系統是為了能支援複雜遊戲 商業應用或介於兩...

什麼是作業系統?作業系統介紹

一 作業系統介紹 作業系統是管理計算機硬體與軟體資源的電腦程式,會對計算機管理硬體 驅動硬體 管理軟體 資源分配與 作業系統也提供乙個讓使用者與系統互動的操作介面。在計算機中,作業系統是其最基本也是最為重要的基礎性系統軟體。經過幾十年以來的發展,計算機作業系統已經由一開始的簡單控制迴圈體發展成為較為...

什麼是作業系統,作業系統概述

作業系統 operating system,os 是軟體的一部分,它是硬體基礎上的第一層軟體,是硬體和其它軟體溝通的橋梁 或者說介面 中間人 中介等 作業系統會控制其他程式執行,管理系統資源,提供最基本的計算功能,如管理及配置記憶體 決定系統資源供需的優先次序等,同時還提供一些基本的服務程式,例如 ...