Linux系統體系及功能

  • 操作系統中主要操作硬件的,主要可以分爲內存管理、文件管理、進程管理、設備管理幾個模塊。

內存管理

  • 內存分配調用: 包括靜態分配方式、動態分配方式;
  • 內存保護:確保每個程序在自己的內存空間運行、互不干擾。方法是使用界限寄存器或存儲保護鍵;
  • 地址映射:實現程序的邏輯地址與存儲器的物理地址之間的映射功能;
  • 內存擴充:從邏輯上擴充物理內存,以允許比物理內存更大的程序在機器內運行,爲此操作系統必須具有:請求調入功能與置換功能。

進程管理

  • 進程控制:包括進程創建、進程撤銷、進程阻塞、進程喚醒;
  • 進程協調:由於進程運行的異步性,因此進程同步的任務是對諸進程的運行協調,包括兩種方式:進程互斥方式與進程同步方式;
  • 進程通信:主要完成同一臺機器上不同進程間通信和不同機器上進程間的通信,以共同完成一相同的任務;
  • 進程調度:操作系統按照一定的規則對等待運行的多道程序進行調度,以保證每個程序都能有機會得到運行,並最終完成。

文件管理

  • 文件存儲空間的管理:爲每一文件分配必要的外存空間。爲提高外部存儲空間的利用率,系統應設置相應的數據結構,用於記錄文件存儲空間的使用情況;
  • 目錄管理:爲了方便對用戶的文件進行管理,對文件系統建立一定結構的目錄結構,同時要求快速的目錄查詢手段;
  • 文件的讀、寫管理和存取控制:利用一定的系統調用對文件進行讀寫操作。同時,爲防止系統中的文件被非法訪問和竊取,文件系統中必須提供有效存取控制功能;

設備管理

  • 緩衝管理:管理各種類型的緩衝區,如字符緩衝區和塊緩衝區,以緩和CPU和I/O速度不匹配的矛盾,最終達到提高CPU和I/O設備的利用率,進而提高系統吞吐量的目的;
  • 設備分配:根據用戶的I/O請求,爲之分配其所需要的設備;
  • 設備處理:又稱爲設備驅動程序,任務是實現CPU和設備控制器之間的通信;
  • 設備獨立性和虛擬設備:一方面保證用戶程序獨立於物理設備,另一方面保證多個進程能併發地共享同一個設備。

操作系統接口

  • 命令接口:以命令形式呈現在用戶面前,方便用戶直接或間接控制自己的作業

  • 程序接口:爲應用程序使用系統功能而設置,是應用程序取得操作系統服務的唯一途徑。由一系列系統調用組成,每一個系統調用都是一個能完成特定功能的子程序。

  • 圖形接口:採用了圖形化的操作界面,將各種應用程序和文件,直觀、逼真地表示出來。
    在這裏插入圖片描述

  • 根據上圖可以看出,malloc庫函數是調用系統調用的sbrk實現的,由此可知,有些庫函數也會通過系統調用去操作硬件來實現其功能,其中printf就是通過write系統調用實現的,但也不全是,像strcpy和atoi等庫函數就不會。

  • 在這裏插入圖片描述
    在這裏插入圖片描述

  • 這個圖上一節的圖片有一定的意思,可以看到Application可以直接調用System Call。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章