Linux操作系統概述

Linux操作系統概述

操作系統在整個計算機系統所處的位置

這裏寫圖片描述

操作系統執行C程序的過程

一個簡單的C程序在操作系統下運行,操作系統的執行過程是怎樣到的?

文件名:test.c

#include <stdio.h>
main()
{
    printf("Hello world\n");
    return 0;
}

用戶對這個程序編譯並鏈接

gcc test.c -o test

形成一個可執行的二進制文件test,在Linux下執行該程序./test

執行過程如下:

  1. 用戶告訴操作系統執行test。
  2. 操作系統通過文件名在磁盤找到該程序
  3. 檢查可執行代碼首部,找出代碼和數據存放的地址
  4. 文件系統找到第一個磁盤塊
  5. 操作系統建立程序的執行環境
  6. 操作系統把程序從磁盤裝入內存,並跳到程序開始處執行
  7. 操作系統檢查字符串的位置是否正確
  8. 操作系統找到字符串被送往的設備
  9. 操作系統將字符串送往輸出設備窗口系統確定這是一個合法的操作,然後將字符串轉換成像素
  10. 窗口系統將像素寫入存儲映像區
  11. 視頻硬件將像素表示轉換成一組模擬信號控制顯示器(重畫屏幕)
  12. 顯示器發射電子束,最後在屏幕上看到Hello world。

操作系統的組成

從操作系統設計者的角度考慮,一個操作系統必須包含以下幾部分

(1)操作系統接口
(2)CPU管理
(3)內存管理
(4)設備管理
(5)文件管理

用一組簡單的公式來描述操作系統的組成要素

操作系統 = 內核+系統程序

系統程序 = 編譯環境+API(應用程序接口)+AUI(用戶接口)

編譯環境 = 編譯程序+連接程序+裝載程序

API = 系統調用+語言函數庫(C、C++、Java等)

AUI =shell + 系統服務例程(如X服務器等)+應用程序(瀏覽器、字處理、編輯器等)

整個軟件系統:

軟件系統 = 操作系統+AUI

操作系統最底層的組件是內核,其上層大撿了許多系統程序。

系統程序包括三個部分,分別是編譯環境,應用程序接口和用戶接口。

編譯環境包括彙編、C等高級語言編譯程序、連接程序和裝載程序,這些程序負責將文本格式的程序語言
轉變爲機器能識別和裝載的機器代碼。

應用程序接口(API)包含內核提供的系統調用接口和語言庫。系統調用是爲了能讓應用程序使用內核提
供的服務;語言庫函數則是爲了方便應用程序開發,所以將一些常用的基礎功能預先編譯以供使用,比如對C語言來說有常用的C庫等。

用戶接口(AUI)包括shell、系統服務程序和常用的應用程序。

操作系統標準POSIX

POSIX表示可移植操作系統接口。該標準由IEEE制定,並由國際標準化組織接受爲國際標準。任何操作系統只要符合POSIX 1003.1這一標準,就可以運行UNIX程序

發佈了27 篇原創文章 · 獲贊 59 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章