日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

(二)操作系统设计技术知识重点笔记

發(fā)布時(shí)間:2025/3/19 windows 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (二)操作系统设计技术知识重点笔记 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、內(nèi)核導(dǎo)論

文件子系統(tǒng):負(fù)責(zé)管理文件包括:分配文件空間、管理空閑空間,控制對(duì)文件的存取,為用戶檢索數(shù)據(jù)。

進(jìn)程控制子系統(tǒng): 進(jìn)程同步;進(jìn)程間通信;存儲(chǔ)管理;進(jìn)程調(diào)度。

硬件控制:負(fù)責(zé)處理中斷及與機(jī)器通信,中斷不是由特殊的進(jìn)程服務(wù)的,而是由內(nèi)核中特殊的函數(shù)服務(wù)的,這些特殊函數(shù)是在當(dāng)前運(yùn)行的進(jìn)程的上下文被調(diào)用的

二、文件的內(nèi)部表示:

1、索引節(jié)點(diǎn)表(inode table)

每個(gè)文件都有一個(gè)索引節(jié)點(diǎn)(inode)(包含文件所有者、存取權(quán)限、及其存取時(shí)間等信息)。但是,每個(gè)文件可以有多個(gè)名字,每個(gè)名字被稱為一個(gè)link(鏈接)。一個(gè)進(jìn)程使用名字檢索一個(gè)文件時(shí),內(nèi)核每次分析文件名中的一個(gè)分量,檢查該進(jìn)程是否有檢索路徑中的目錄,并且最終檢索到該文件所對(duì)應(yīng)的索引節(jié)點(diǎn)。如:open(“/fs2/mjb/rje/sourcefile”,1);當(dāng)一個(gè)進(jìn)程建立一個(gè)新文件時(shí),內(nèi)核分配給它一個(gè)尚未使用的索引節(jié)點(diǎn)。索引節(jié)點(diǎn)被存儲(chǔ)在文件系統(tǒng)中(即磁盤索引節(jié)點(diǎn)表),但是當(dāng)操作文件時(shí),內(nèi)核將它們讀到內(nèi)存索引節(jié)點(diǎn)表中,即:對(duì)系統(tǒng)中的每個(gè)活動(dòng)的文件(被某個(gè)進(jìn)程打開了),內(nèi)存中索引節(jié)點(diǎn)表都包含一個(gè)條目。幾個(gè)系統(tǒng)文件表?xiàng)l目可能對(duì)應(yīng)于同一個(gè)內(nèi)存索引節(jié)點(diǎn)表(不同進(jìn)程打開同一個(gè)文件)以Linux為例,每個(gè)文件在內(nèi)核中用inode結(jié)構(gòu)體表示。

所有者

mjb

用戶組

root

類型

整個(gè)文件

許可權(quán)

rwxr-xr-x

最近一次讀文件時(shí)間

1984.10.23下午1:45

最近一次寫文件時(shí)間

1984.10.22上午10:30

最近一次改變索引節(jié)點(diǎn)時(shí)間

1984.10.23下午1:30

大小

6030字節(jié)

?

2、文件表(file table)

是一個(gè)全局表,為系統(tǒng)中所有的進(jìn)程共享。對(duì)每個(gè)活動(dòng)的open, 它都包含一個(gè)條目。每個(gè)系統(tǒng)文件表的條目都包含文件偏移量、訪問模式(讀、寫、or 讀-寫)以及指向它的文件描述符表的條目計(jì)數(shù)。以Linux為例,已打開的文件在內(nèi)核中用file結(jié)構(gòu)體表示,文件描述符表中的指針指向file結(jié)構(gòu)體

3、用戶文件描述符表(user filedescriptor table)

是每個(gè)進(jìn)程分配一個(gè)。標(biāo)識(shí)著一個(gè)進(jìn)程的所有打開了的文件。用戶區(qū)的一部分,除非通過使用文件描述符的函數(shù),否則程序無法對(duì)其進(jìn)行訪問。對(duì)進(jìn)程中每個(gè)打開的文件,文件描述符表都包含一個(gè)條目。以Linux為例,每個(gè)進(jìn)程用一個(gè)files_struct 結(jié)構(gòu)體來記錄文件描述符的使用情況,files_struct結(jié)構(gòu)稱為用戶打開文件表,它是進(jìn)程的私有數(shù)據(jù)。此外,每個(gè)進(jìn)程用一個(gè)fs_struct結(jié)構(gòu)體來描述進(jìn)程的當(dāng)前工作目錄及其所在文件系統(tǒng)根目錄下的索引節(jié)點(diǎn)。


父進(jìn)程創(chuàng)建子進(jìn)程,資源共享。每個(gè)進(jìn)程都有唯一的標(biāo)識(shí),不同用戶啟動(dòng)程序,產(chǎn)生不同的進(jìn)程。

三、進(jìn)程結(jié)構(gòu)

一個(gè)進(jìn)程是一個(gè)程序的執(zhí)行,它是由一系列有格式的字節(jié)組成的,這些字節(jié)被解釋成:機(jī)器指令、數(shù)據(jù)和棧區(qū)。當(dāng)內(nèi)核調(diào)度各個(gè)進(jìn)程使之執(zhí)行時(shí),這些進(jìn)程看似是同時(shí)執(zhí)行的。而且,可以有多個(gè)進(jìn)程是一個(gè)程序的實(shí)例。一個(gè)進(jìn)程循著一個(gè)嚴(yán)格的指令序列執(zhí)行,這個(gè)指令序列是自包含的,不會(huì)跳轉(zhuǎn)到別的進(jìn)程的指令序列上。進(jìn)程通過系統(tǒng)調(diào)用與其他進(jìn)程及外界進(jìn)行通信。

進(jìn)程包括以下八個(gè):

1.標(biāo)識(shí)號(hào)2.狀態(tài)信息3.調(diào)度信息4.有關(guān)進(jìn)程間通信信息5.進(jìn)程鏈接信息6.時(shí)間定時(shí)器7.文件系統(tǒng)信息8.虛地址和物理內(nèi)存之間的關(guān)系

其他:

1.?? 進(jìn)程的標(biāo)識(shí):系統(tǒng)通過進(jìn)程標(biāo)識(shí)號(hào)(PID)唯一標(biāo)識(shí)一個(gè)進(jìn)程(是線性增長的)

2.?? 進(jìn)程樹及進(jìn)程之間關(guān)系:0進(jìn)程是一個(gè)特殊進(jìn)程,它是在系統(tǒng)引導(dǎo)時(shí)被“手工”創(chuàng)建的,當(dāng)它創(chuàng)建一個(gè)子進(jìn)程(1進(jìn)程-init進(jìn)程,是系統(tǒng)中其他每個(gè)進(jìn)程的祖先)之后,0進(jìn)程就變成對(duì)換進(jìn)程。

If(euid==0)判斷是否為根用戶。

除了0進(jìn)程以外,每個(gè)進(jìn)程都是被另外一個(gè)進(jìn)程執(zhí)行fork創(chuàng)建的。

3.?? 進(jìn)程的上下文:

用戶級(jí)上下文:由進(jìn)程的正文、數(shù)據(jù)、用戶棧和共享存儲(chǔ)區(qū)組成

寄存器級(jí)上下文:程序計(jì)數(shù)器、處理機(jī)狀態(tài)寄存器、棧指針、通用寄存器

系統(tǒng)級(jí)上下文:進(jìn)程表表項(xiàng)、進(jìn)程u區(qū)、本進(jìn)程區(qū)表項(xiàng)、區(qū)表及頁表、核心棧

4.?? 進(jìn)程的控制

四、I/O子系統(tǒng)

1.UNIX/Linux系統(tǒng)包含兩類設(shè)備:塊設(shè)備、字符設(shè)備。每個(gè)設(shè)備有一個(gè)特殊文件名,可按文件方式存取。設(shè)備特殊文件有一個(gè)索引節(jié)點(diǎn),在文件系統(tǒng)目錄樹中占據(jù)一個(gè)節(jié)點(diǎn)。設(shè)備特殊文件以存儲(chǔ)在它的索引節(jié)點(diǎn)中的文件類型與其他文件相區(qū)別,其類型為:字符特殊文件或者 塊特殊文件。當(dāng)一個(gè)設(shè)備既有塊接口又有字符接口時(shí),由兩個(gè)設(shè)備特殊文件所代表。

2.由塊設(shè)備開關(guān)表(block deviceswitch table)和字符設(shè)備開關(guān)表(character device switch table)描述。每一種設(shè)備類型在表中有若干表項(xiàng),這些表項(xiàng)在系統(tǒng)調(diào)用時(shí)引導(dǎo)內(nèi)核轉(zhuǎn)向適當(dāng)?shù)脑O(shè)備驅(qū)動(dòng)程序接口設(shè)備文件的系統(tǒng)調(diào)用根據(jù)文件的類型通過這兩個(gè)設(shè)備開關(guān)表匯集。對(duì)塊設(shè)備,系統(tǒng)調(diào)用mount和umount也調(diào)用設(shè)備打開和關(guān)閉的過程塊設(shè)備以及安裝在文件系統(tǒng)上的文件的系統(tǒng)調(diào)用read和write調(diào)用高速緩沖算法,該算法又調(diào)用相應(yīng)設(shè)備的策略過程。字符設(shè)備特殊文件的系統(tǒng)調(diào)用read,write,ioctl轉(zhuǎn)向字符設(shè)備開關(guān)表中相應(yīng)的過程。

3.是由機(jī)器相關(guān)的控制寄存器或操作設(shè)備的I/O指令,以及中斷向量組成的:當(dāng)一個(gè)設(shè)備中斷出現(xiàn)時(shí),系統(tǒng)識(shí)別發(fā)出中斷的設(shè)備,并調(diào)用適當(dāng)?shù)闹袛嗵幚沓绦颉?/p>

?

總結(jié)

以上是生活随笔為你收集整理的(二)操作系统设计技术知识重点笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。