Linux作業系統學習-入門

來源:互聯網
上載者:User

一、作業系統概述

作業系統體繫結構 分為模組結構、分層結構、對象結構三種。其中模組結構效率最高,但系統的可理解性、可維護性和可移植性都比較差。  

Linux核心基本屬於模組結構,而MS-DOS系統核心採用的是階層,Windows NT/2000及Solaris則是典型的對象結構。 作業系統核心按照其啟動並執行情況可以分為:宏核心與微核心。前者也稱為單核心,Linux系統屬於單核心類型。對象結構的系統核心通常是微核心,例如,Windows NT/2000系統就是微核心。   Linux核心基本採用模組結構,單核心模式,這使得系統具有很高的運行效率,但系統的可擴充性及可移植性受到一定的影響。為瞭解決這個問題,Linux使用了附加模組技術。利用模組技術,可以方便地在核心中添加新的組件或卸載不再需要的核心組件,而且這種裝載和卸載可以動態進行。但同時也降低了效能。可以說Linux也是採用了很多微核心的特性。 二、處理機管理幾個概念:作業、進程 程式。一次作業可能有一個程式完成,也可能由多個完成,這樣這次作業就要提交一個或多個程式。 

多個程式、這些程式需要的資料以及必要的作業說明一起構成一個作業。

一個進程可能包含幾個程式,一個程式可能包含幾個進程。  按照對作業的處理方式,可以分為聯機、批處理等作業。在Linux分時批處理系統中,也可以根據對作業執行時的響應特徵分為前台作業和後台作業。 進程是正在執行的程式,是動態,程式是靜態。 進程和作業: 

作業是使用者向電腦系統提交一項工作的基本單位,是使用者在一次交易處理或計算過程中要求電腦所做工作的總和。進程是一個具有一定獨立功能的程式關於某個資料集合的一次運行活動,是作業系統分配資源和進行調度的基本單位。 作業是描述使用者向系統提交工作任務的實體單位,而進程是系統完成工作任務時程式執行的實體單位。從這個角度講,他們處於不同的層次,作業描述使用者和作業系統之間的任務委託關係,而進程描述作業系統內部任務的具體執行過程。一個使用者的任務,即作業,由使用者提交給系統,必須以進程的形式具體完成。 

進程切換現場稱為進程上下文(context),包含了一個進程所具有的全部資訊,一般包括:進程式控制制塊(Process Control Block,PCB)、有關程式段和相應的資料集,一般來講,PCB記錄著進程的所有資料,是全部或部分常駐記憶體的,PCB記錄著程式段和資料集的地址指標,進程描述資訊、進程式控制制資訊、進程相關的資源資訊和CPU現場保護結構。 Linux的PCB用task-struct結構體描述(Linux中進程稱為task)。其中進程描述資訊包括進程號(PID,process identifier、使用者和組標識以及描述進程家族關係的串連資訊。進程式控制制資訊記錄了進程的目前狀態、調度資訊、記時和時間資訊以及處理序間通訊資訊。進程資源資訊記錄了與該進程有關的儲存空間的各種地址和資料、檔案系統以及開啟檔案的資訊等等處理機(CPU)現場資訊一般包括處理機的內部寄存器和堆棧等基本資料。  

task-struct是Linux系統的進程式控制制塊(PCB),通過對PCB的操作,系統為進程分配資源並進行調度,最終完成進程的建立和撤銷。系統利用PCB中的描述資訊來標識一個進程,根據PCB中的調度資訊決定該進程是否應該運行。如果這個進程要進入運行,首先根據其中的CPU現場資訊來恢複運行現場,然後根據資源資訊擷取對應的程式段和資料集,接著上次的位置開始執行,同時通過PCB中的通訊資訊和其他進程協同工作。

 進程的幾種狀態,3個迴路,以及狀態轉換過程(條件) 

進程狀態之間的轉換轉換通常由三種不同的方式控制:進程式控制制原語、系統核心函數(比如調度)、和外來事件發生(比如中斷)。

原語調用可由核心調用,也可由父進程調用。

 進程通訊:分兩種,低級通訊,資料量小,實現同步和互斥,控制運行速度;進階通訊,資料量大,主要是交換資訊。按照通訊地位,進程通訊分為主從式、會話式、訊息或郵箱機制(不建立串連關係)、共用儲存區(適合大量資料)。 Linux的進程通訊機制包括訊號(低級通訊,兩個主要的signal SIGSTOP SIGKILL,普通進程只能向具有相同uid和gid的進程或者在同一進程組中的進程發送訊號。訊號是通過設定task-struct結構中signal域裡的某一位來產生的。)、管道(繼承自UNIX,是一種特殊的檔案類型,通過檔案系統實現,適合大規模資料傳遞)、SYStem V(訊號量、訊息佇列、共用記憶體)、通訊端(socket網路) 線程是為了減少進程切換內容相關的系統開銷而引入的,進程內部線程共用進程資源,因此線程切換效率高。但是在Linux中,線程和進程沒有差別,使用相同的描述方法和調度管理。Linux也支援系統級線程和使用者級線程。  三、儲存管理    

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.