国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Linux操作系統(tǒng)(二):操作系統(tǒng)結(jié)構(gòu)與內(nèi)核設(shè)計(jì)

這篇具有很好參考價(jià)值的文章主要介紹了Linux操作系統(tǒng)(二):操作系統(tǒng)結(jié)構(gòu)與內(nèi)核設(shè)計(jì)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

?在(一)詳解CPU中介紹了操作系統(tǒng)所基于的硬件CPU后,本部分學(xué)習(xí)操作系統(tǒng)的架構(gòu)。在計(jì)算機(jī)系統(tǒng)中,操作系統(tǒng)的架構(gòu)通常包括以下幾個(gè)主要組件:

  • 內(nèi)核(Kernel)
    • 進(jìn)程管理(Process Management)
    • 內(nèi)存管理(Memory Management)
    • 文件系統(tǒng)管理(File System Management)
    • 設(shè)備管理(Device Management)
    • 網(wǎng)絡(luò)管理(Network Management)

其管理和交互形式如下圖:
Linux操作系統(tǒng)(二):操作系統(tǒng)結(jié)構(gòu)與內(nèi)核設(shè)計(jì),Linux,linux,服務(wù)器
在某些情況下,可以將操作系統(tǒng)理解為內(nèi)核。內(nèi)核是操作系統(tǒng)的核心組件,它直接管理硬件資源并執(zhí)行系統(tǒng)的底層任務(wù)。嚴(yán)格來說,操作系統(tǒng)不僅包括內(nèi)核,還包括其他組件,如系統(tǒng)庫、用戶界面、應(yīng)用程序、命令行工具等。

1. 操作系統(tǒng)分類

根據(jù)任務(wù)響應(yīng)時(shí)間要求的不同可分為

  • 實(shí)時(shí)操作系統(tǒng):通常具有非常短的響應(yīng)時(shí)間,可以滿足對任務(wù)響應(yīng)時(shí)間有嚴(yán)格要求的應(yīng)用場景,如航空航天、工業(yè)控制、醫(yī)療設(shè)備等。比如VxWorks/RTLinux
  1. 必須在預(yù)定的時(shí)間范圍內(nèi)完成對事件的響應(yīng)和處理,即使在高負(fù)載時(shí)也不能出現(xiàn)延遲。實(shí)時(shí)操作系統(tǒng)分為硬實(shí)時(shí)(Hard Real-Time)和軟實(shí)時(shí)(Soft Real-Time)兩類。硬實(shí)時(shí)系統(tǒng)絕對保證任務(wù)在規(guī)定時(shí)間內(nèi)完成,而軟實(shí)時(shí)系統(tǒng)在大部分情況下能夠滿足響應(yīng)時(shí)間要求,但在極端情況下可能會發(fā)生延遲。
  2. 實(shí)時(shí)操作系統(tǒng)使用預(yù)定的調(diào)度算法,如固定優(yōu)先級調(diào)度(Fixed Priority Scheduling)或最早截止時(shí)間優(yōu)先調(diào)度(Earliest Deadline First Scheduling),以確保高優(yōu)先級任務(wù)在規(guī)定的時(shí)間內(nèi)得到處理。
  • 非實(shí)時(shí)操作系統(tǒng):適用于大多數(shù)普通應(yīng)用,如個(gè)人計(jì)算機(jī)、服務(wù)器等。比如Linux、Android。
  1. 非實(shí)時(shí)操作系統(tǒng)對任務(wù)的響應(yīng)時(shí)間沒有嚴(yán)格的限制,它更關(guān)注任務(wù)的吞吐量和效率。非實(shí)時(shí)操作系統(tǒng)允許任務(wù)在不同的時(shí)間片中完成,任務(wù)的響應(yīng)時(shí)間可能會有所波動,但在大多數(shù)情況下不會影響系統(tǒng)正常運(yùn)行。
  2. 非實(shí)時(shí)操作系統(tǒng)采用通用的調(diào)度算法,如輪轉(zhuǎn)調(diào)度(Round Robin Scheduling)、優(yōu)先級調(diào)度(Priority Scheduling)等,以平衡任務(wù)之間的公平性和系統(tǒng)資源的利用率。

主要區(qū)別在于對任務(wù)響應(yīng)時(shí)間的要求和任務(wù)調(diào)度方式的不同。

2. 操作系統(tǒng)內(nèi)核

基本功能:

  • 管理進(jìn)程、線程,決定哪個(gè)進(jìn)程、線程使用 CPU,也就是進(jìn)程調(diào)度的能力;
  • 管理內(nèi)存,決定內(nèi)存的分配和回收,也就是內(nèi)存管理的能力;
  • 管理硬件設(shè)備,為進(jìn)程與硬件設(shè)備之間提供通信能力,也就是硬件通信能力;

    PS:操作系統(tǒng)能夠?qū)崿F(xiàn)硬件管理,就是因?yàn)閮?nèi)核中包含了管理CPU的進(jìn)程管理組件,管理memory的內(nèi)存管理組件,管理其他外設(shè)存儲的文件管理組件,管理其他設(shè)備的設(shè)備管理組件(設(shè)備驅(qū)動程序,在內(nèi)核空間運(yùn)行)

  • 提供系統(tǒng)調(diào)用,如果應(yīng)用程序要運(yùn)行更高權(quán)限運(yùn)行的服務(wù),那么就需要有系統(tǒng)調(diào)用,它是用戶程序與操作系統(tǒng)之間的接口。

工作方式:按照程序工作時(shí)占用的內(nèi)存空間地址劃分。

  • 內(nèi)核空間,這個(gè)內(nèi)存空間只有內(nèi)核程序可以訪問;內(nèi)核空間的代碼(感覺指令更準(zhǔn)確)可以訪問所有內(nèi)存空間。當(dāng)程序使內(nèi)核空間時(shí),程序則在內(nèi)核態(tài)執(zhí)行。
  • 用戶空間,這個(gè)內(nèi)存空間專門給應(yīng)用程序使用;用戶空間的代碼只能訪問一個(gè)局部的內(nèi)存空間。當(dāng)程序使用用戶空間時(shí),常說該程序在用戶態(tài)執(zhí)行。

兩種工作方式怎么切換:當(dāng)應(yīng)用程序使用系統(tǒng)調(diào)用時(shí),會產(chǎn)生一個(gè)中斷(軟中斷,因?yàn)槭菓?yīng)用程序使用系統(tǒng)調(diào)用產(chǎn)生的)。然后 CPU 會中斷(就是前面那個(gè)中斷)當(dāng)前在執(zhí)行的用戶程序,轉(zhuǎn)而跳轉(zhuǎn)到中斷處理程序,也就是開始執(zhí)行內(nèi)核程序。內(nèi)核處理完后,主動觸發(fā)中斷,把 CPU 執(zhí)行權(quán)限交回給用戶程序,回到用戶態(tài)繼續(xù)工作。

2.1 Linux內(nèi)核

核心理念和技術(shù):

  • MultiTask,多任務(wù):Linux支持多任務(wù),能夠在同一時(shí)間內(nèi)運(yùn)行多個(gè)應(yīng)用程序,通過時(shí)間片輪轉(zhuǎn)等調(diào)度算法來分配處理器時(shí)間。
  • SMP,對稱多處理:Linux采用SMP架構(gòu),允許多個(gè)處理器核心并行地執(zhí)行任務(wù)。每個(gè) CPU 的地位是相等的,多個(gè) CPU 共享同一個(gè)內(nèi)存,每個(gè) CPU 都可以訪問完整的內(nèi)存和硬件資源。這一特點(diǎn)決定了每個(gè)程序都可以被分配到任意一個(gè) CPU 上被執(zhí)行
  • ELF,可執(zhí)行文件鏈接格式:Linux 操作系統(tǒng)中可執(zhí)行文件、共享庫、目標(biāo)文件等的存儲格式。定義了文件的結(jié)構(gòu),包括程序代碼、數(shù)據(jù)、符號表等信息。
    Linux操作系統(tǒng)(二):操作系統(tǒng)結(jié)構(gòu)與內(nèi)核設(shè)計(jì),Linux,linux,服務(wù)器
    ??代碼首先通過「編譯器」編譯成匯編代碼,接著通過「匯編器」變成目標(biāo)代碼,也就是目標(biāo)文件,最后通過「鏈接器」把多個(gè)目標(biāo)文件以及調(diào)用的各種函數(shù)庫鏈接起來,形成一個(gè)可執(zhí)行文件,也就是 ELF 文件。
    ??執(zhí)行 ELF 文件的時(shí)候,會通過「裝載器」把 ELF 文件裝載到內(nèi)存里,CPU 讀取內(nèi)存中的指令和數(shù)據(jù),于是程序就被執(zhí)行起來了。
  • Monolithic Kernel(宏內(nèi)核):宏內(nèi)核是一種操作系統(tǒng)內(nèi)核架構(gòu),其中操作系統(tǒng)的大部分功能(如進(jìn)程調(diào)度、內(nèi)存管理、文件系統(tǒng)、設(shè)備驅(qū)動等)都實(shí)現(xiàn)在內(nèi)核空間,即Linux 的內(nèi)核是一個(gè)完整的可執(zhí)行程序,且擁有最高的權(quán)限。Linux內(nèi)核最初是一個(gè)宏內(nèi)核,隨著時(shí)間的推移,它采用了一些微內(nèi)核的概念(微內(nèi)核架構(gòu)的內(nèi)核只保留最基本的能力,比如進(jìn)程調(diào)度、內(nèi)存管理、中斷等,把一些應(yīng)用放到了用戶空間,比如驅(qū)動程序、文件系統(tǒng)等。這樣服務(wù)與服務(wù)之間是隔離的,單個(gè)服務(wù)出現(xiàn)故障或者完全攻擊,也不會導(dǎo)致整個(gè)操作系統(tǒng)掛掉,提高了操作系統(tǒng)的穩(wěn)定性和可靠性),將一部分功能以模塊的形式加載,實(shí)現(xiàn)了一種混合內(nèi)核結(jié)構(gòu)。

    一些功能可以在運(yùn)行時(shí)動態(tài)加載和卸載,而不需要重新編譯內(nèi)核,比如:
    ??設(shè)備驅(qū)動程序:很多設(shè)備驅(qū)動程序可以作為模塊加載,以支持新的硬件。
    ??文件系統(tǒng)模塊:一些不太常用的文件系統(tǒng)可以作為模塊加載,以減小內(nèi)核的大小。
    ??網(wǎng)絡(luò)協(xié)議棧:某些網(wǎng)絡(luò)協(xié)議??梢宰鳛槟K加載,以根據(jù)需要進(jìn)行調(diào)整。

2.2 Windows內(nèi)核

??Windows 10 使用的內(nèi)核叫 Windows NT,NT 全稱叫 New Technology。Windows 和 Linux 一樣,同樣支持 MultiTask 和 SMP,但不同的是,Window 的內(nèi)核設(shè)計(jì)是混合型內(nèi)核,內(nèi)核中有一個(gè) MicroKernel 模塊,而其他模塊就在這個(gè)基礎(chǔ)上搭建,整個(gè)內(nèi)核實(shí)現(xiàn)是一個(gè)完整的程序。文章來源地址http://www.zghlxwxcb.cn/news/detail-637254.html

  • Windows 的可執(zhí)行文件格式叫 PE,稱為可移植執(zhí)行文件,擴(kuò)展名通常是.exe、.dll、.sys等。

到了這里,關(guān)于Linux操作系統(tǒng)(二):操作系統(tǒng)結(jié)構(gòu)與內(nèi)核設(shè)計(jì)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包