freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

unixlinux操作系統(tǒng)內(nèi)核結(jié)構(gòu)-文庫(kù)吧資料

2025-05-18 19:42本頁(yè)面
  

【正文】 后取下使用,用完后放到鏈尾。 ② 釋放一個(gè)空閑緩沖區(qū) 把這個(gè)裝有數(shù)據(jù)的空閑緩沖區(qū)附加到空閑鏈表的鏈尾。鏈表的開(kāi)始和結(jié)束都以鏈表頭為標(biāo)志。 空閑緩沖區(qū)鏈表 核心維護(hù)了一個(gè)空閑緩沖區(qū)鏈表,它按照 最近被使用的先后次序排列 。 緩沖池設(shè)計(jì)基本原則: ① 存放有剛使用過(guò)的數(shù)據(jù)盡量長(zhǎng)時(shí)間地保留在內(nèi)存中,以便馬上還要使用時(shí)能在內(nèi)存中找到; ② 需要騰出內(nèi)存空間時(shí),把很久都未使用過(guò)(即最近最少使用)的數(shù)據(jù)交換到磁盤(pán)上去。 緩沖區(qū)是緩沖區(qū)池中數(shù)據(jù)存儲(chǔ)的基本單位。 問(wèn)題的提出 : 磁盤(pán)機(jī)械運(yùn)行速度大大低于處理機(jī)的運(yùn)行速度; 多進(jìn)程并發(fā)運(yùn)行,少量的磁盤(pán)(通道)I/O成為瓶頸; 數(shù)據(jù)訪問(wèn)的隨機(jī)性,磁盤(pán)忙閑不均 解決辦法 : 建立一個(gè)被稱(chēng)為數(shù)據(jù)緩沖區(qū)高速緩沖(簡(jiǎn)稱(chēng)高速緩沖)的內(nèi)部數(shù)據(jù)緩沖區(qū)池( buffer pool)來(lái)存放要用的數(shù)據(jù); 寫(xiě)數(shù)據(jù)時(shí) 把數(shù)據(jù)盡量多地盡量長(zhǎng)時(shí)間地保存在緩沖池中 延遲寫(xiě) 出到磁盤(pán)上 以備后續(xù)進(jìn)程使用 讀數(shù)據(jù)時(shí) 先在緩沖池中查找已有的數(shù)據(jù) 如沒(méi)有,再?gòu)拇疟P(pán)讀取,并保存在緩沖池中 事先預(yù)讀數(shù)據(jù)到緩沖池中 緩沖區(qū)及緩沖區(qū)首部 緩沖區(qū)池由若干個(gè)緩沖區(qū)組成,每一個(gè)緩沖區(qū)又由兩部分組成:一個(gè)實(shí)際存放數(shù)據(jù)的存儲(chǔ)區(qū)和一個(gè)標(biāo)識(shí)該緩沖區(qū)的緩沖區(qū)首部。 數(shù)據(jù)緩沖區(qū)高速緩沖( buffer) 由軟件實(shí)現(xiàn)的解決 文件系統(tǒng)和物理硬盤(pán) 之間的數(shù)據(jù)同步 的一種方法。 ② 每個(gè)進(jìn)程都有一個(gè)“每進(jìn)程數(shù)據(jù)區(qū)( per process data areappda)”保留相應(yīng)進(jìn)程更多的信息和核心棧; ③ 處理機(jī)的全部工作就是在某個(gè)時(shí)候執(zhí)行某個(gè)進(jìn)程 ④ 一個(gè)進(jìn)程可生成或消滅另一進(jìn)程 ⑤ 一個(gè)進(jìn)程中可申請(qǐng)并占有資源 ⑥ 一個(gè)進(jìn)程只沿著一個(gè)特定的指令序列運(yùn)行,不會(huì)跳轉(zhuǎn)到另一個(gè)進(jìn)程的指令序列中去,也不能訪問(wèn)別的進(jìn)程的數(shù)據(jù)和堆棧。 ③睡眠狀態(tài) 進(jìn)程不具備運(yùn)行條件,需等待某種事件的發(fā)生,無(wú)法繼續(xù)執(zhí)行下去。 4. 進(jìn)程狀態(tài)及狀態(tài)轉(zhuǎn)換 ①運(yùn)行狀態(tài) 此時(shí)進(jìn)程正在占用處理機(jī),進(jìn)程的 全部映像 駐在內(nèi)存中。 1進(jìn)程 init進(jìn)程 ,由它來(lái)創(chuàng)建系統(tǒng)初始化過(guò)程中所需的其它所有的進(jìn)程。 … } 空 棧 棧頂指針 棧底指針 低地址 高地址 用戶棧 進(jìn)入主程序時(shí)的堆棧狀況 棧頂指針 棧底指針 低地址 高地址 調(diào)用 main()時(shí) argc, argv 本程序返回地址 棧底指針暫存處 buf, number 棧頂指針 棧底指針 低地址 高地址 調(diào)用 readfile時(shí) argc, argv 本程序返回地址 棧底指針暫存處 buf, number buffer, line readfile的返回地址 棧底指針暫存處 pointer, temp 3. 進(jìn)程的標(biāo)識(shí) 進(jìn)程由其進(jìn)程標(biāo)識(shí)號(hào) PID來(lái)識(shí)別。 … } readfile (char buffer[ ], int line) { char *pointer。 int number。 堆棧使用舉例。 進(jìn)程在核心態(tài)下運(yùn)行時(shí)的工作區(qū)為核心棧,在用戶態(tài)下運(yùn)行時(shí)的工作區(qū)為用戶棧。 正文段、數(shù)據(jù)標(biāo)識(shí)段、其它信息段的大小 編譯器的版本號(hào) 1. 可執(zhí)行文件的構(gòu)成: 進(jìn)程是可執(zhí)行文件的一次執(zhí)行實(shí)例,高級(jí)語(yǔ)言程序經(jīng)過(guò)編譯或匯編語(yǔ)言程序經(jīng)過(guò)匯編后所產(chǎn)生的、缺省名為 部分 : 文件頭 正文段 數(shù)據(jù)標(biāo)識(shí)段 其它信息段 文件頭 —— 進(jìn)程 —— 對(duì)映像的執(zhí)行 。 進(jìn)程 相關(guān)概念: 映像 —— 程序以及與 動(dòng)態(tài)執(zhí)行 該程序有關(guān)的 各種信息的集合(類(lèi)似于歷史檔案 )。這是在 UNIX系統(tǒng)中共享文件(包括用戶文件和系統(tǒng)文件)的主要方法。 UNIX操作系統(tǒng)中共享活動(dòng)文件的方法 : 在內(nèi)存中 某個(gè)活動(dòng)文件的副本只有一個(gè) ,不同的進(jìn)程采用不同的指針指向這文件的副本。 另一方面,要使不同進(jìn)程的打開(kāi)文件指針(文件描述符)或同一進(jìn)程的不同打開(kāi)文件指針能夠 共享一個(gè)打開(kāi)文件指針 (協(xié)同操作),就不能把讀寫(xiě)指針?lè)胚M(jìn)某一個(gè)進(jìn)程的用戶打開(kāi)文件表中。 此外 file表中還存放被打開(kāi)文件的 動(dòng)態(tài)信息 :如文件狀態(tài)、引用計(jì)數(shù)( 當(dāng)前使用該文件的進(jìn)程數(shù) )等。 6.系統(tǒng)打開(kāi)文件表( file表) 系統(tǒng)打開(kāi)文件表主要存放被打開(kāi)文件的讀寫(xiě)指針 。 struct file *u_ofile[NOFILE] NOFILE 為每個(gè)進(jìn)程最多可同時(shí)打開(kāi)的文件數(shù),這與系統(tǒng)中的進(jìn)程數(shù)和內(nèi)存大小以及交換區(qū)大小等有關(guān)系,一般為 20~100。 4.活動(dòng) i節(jié)點(diǎn)表(索引節(jié)點(diǎn)表) —— inode表 在內(nèi)存中存放當(dāng)前要使用的文件 inode的表(或稱(chēng)為活動(dòng) i節(jié)點(diǎn)表),表中的每一個(gè)表項(xiàng)對(duì)應(yīng) 一個(gè)當(dāng)前正被使用的文件的狀態(tài)信息 。 ? abc和 xyz具有不同的 inode號(hào) , xyz的內(nèi)容是它所指向的名字的字符串,大小是字符串長(zhǎng)度為 3字節(jié)。 3.符號(hào)鏈結(jié)( symbol link) ——對(duì)應(yīng)命令名 ln s 文件 i節(jié)點(diǎn) abc xyz 文件名 ? 給文件的名字再取一個(gè)名字,而不是給文件節(jié)點(diǎn)再取一個(gè)名字。 使用文件鏈結(jié)的目的: ①方便用戶的使用習(xí)慣,如“列目錄”,可用 ls、 dir、list、 lc等; ②誤刪文件時(shí)可補(bǔ)救,又不多占空間。 刪除一個(gè)鏈接名時(shí),文件鏈接數(shù)減一。 一個(gè)文件可有多個(gè)名字,多個(gè)名字都對(duì)應(yīng)同一個(gè)文件 i節(jié)點(diǎn),每個(gè)名字就是該文件節(jié)點(diǎn)的一個(gè)鏈結(jié); . 一個(gè)普通文件的名字個(gè)數(shù),就是該文件的鏈結(jié)數(shù); 整個(gè)系統(tǒng)核心由以下五個(gè)部分組成: ① 文件系統(tǒng): 文件管理和存儲(chǔ)空間管理(節(jié)點(diǎn)和空間管理) ② I/O設(shè)備管理: 核心 → 緩沖 → 塊設(shè)備(隨機(jī)存取設(shè)備) 核心 → 原始設(shè)備( raw設(shè)備,字符設(shè)備,裸設(shè)備) ③ 進(jìn)程控制: 進(jìn)程的調(diào)度、同步和通訊 ④ 存貯管理: 在主存與二級(jí)存儲(chǔ)之間對(duì)程序進(jìn)行搬遷 ⑤ 時(shí)鐘管理: 把 cpu的時(shí)間分配給當(dāng)前最高優(yōu)先權(quán)的進(jìn)程。這些代碼段是 “ 可再入段 ” (或 純代碼段 、可共享代碼段 ),被各用戶進(jìn)程段共享,為提高運(yùn)行速度,避免頻煩訪問(wèn)磁盤(pán),故常駐內(nèi)存,這些代碼段的集合就是 OS的內(nèi)核 。 中斷事件 中斷級(jí)別 硬件故障 高 低 時(shí)鐘 硬盤(pán) 網(wǎng)絡(luò) 終端 軟件中斷 存儲(chǔ)管理 UNIX系統(tǒng)中的存儲(chǔ)管理原則 (或特點(diǎn) ): 1.當(dāng)前正在執(zhí)行的進(jìn)程(全部或部分)駐留在主存中; 2.核心是永遠(yuǎn)駐留在主存中的(是永遠(yuǎn)活動(dòng)的!); 3.編譯程序產(chǎn)生的指令地址是虛地址(邏輯地址); 4.程序運(yùn)行時(shí)核心與硬件(存儲(chǔ)管理部件 MMU)一起建立虛地址到物理地址的映射。(中斷服務(wù)是由核心中特殊的函數(shù),而不是特殊的進(jìn)程來(lái)執(zhí)行的 ) ? 例外(不保存上下文) : 來(lái)自 進(jìn)程內(nèi)部 的 非期望 事件(地址越界,除數(shù)為 0等),發(fā)生在一條指令執(zhí)行過(guò)程中,例外事件處理完后重新執(zhí)行該指令。 一個(gè)進(jìn)程某時(shí)在“用戶態(tài)”下運(yùn)行,另一時(shí)刻又在“核心態(tài)”下運(yùn)行,在其生命周期內(nèi)可能在這兩種狀態(tài)間切換多次 用戶態(tài) 核心態(tài) 0 1 2 3 4 5 time A | B | C | D | A | 核心 ——處在核心態(tài)下的進(jìn)程的相應(yīng)部分的集合 硬件是按核心態(tài)和用戶態(tài)來(lái)執(zhí)行操作的,但對(duì)這兩種狀態(tài)下正在執(zhí)行程序的多個(gè)用戶是相同對(duì)待的。 ③存貯方式透明 : 文件的存放位置、存放方式、存放格式 ④各用戶進(jìn)程能得到核心相同服務(wù) : 無(wú)論系統(tǒng)程序還是用戶程序,平等對(duì)待,分時(shí)運(yùn)行 ? 硬件假設(shè) (假設(shè)機(jī)器硬件只支持的運(yùn)行狀態(tài)) UNIX系統(tǒng)上進(jìn)程的執(zhí)行分成兩種狀態(tài): 用戶態(tài)、 核心態(tài) 用戶態(tài): 進(jìn)程正在執(zhí)行用戶代碼時(shí)的狀態(tài) 核心態(tài): 進(jìn)程正在執(zhí)行系統(tǒng)代碼(系統(tǒng)調(diào)用)時(shí)的狀態(tài) 用戶態(tài)和核心態(tài)的區(qū)別: ① 用戶態(tài) :進(jìn)程只能存取自己的地址空間 核心態(tài) :進(jìn)程可存取核心和用戶地址空間 ② 用戶態(tài) : 不能存取特權(quán)指令,只能存取自己的指令和數(shù)據(jù) 核心態(tài) : 除了能存取自己的指令和數(shù)據(jù)外,還可存取特權(quán)指令 一個(gè)進(jìn)程在運(yùn)行時(shí)必須處在,而且只能處在或者核心態(tài)或者用戶態(tài)下: 核心態(tài)的進(jìn)程不是與用戶進(jìn)程平行運(yùn)行的孤立的進(jìn)程集合,而是每個(gè)用戶進(jìn)程的一部分。 例如: ps e | grep student3 | wc l 查看當(dāng)前系統(tǒng)中與用戶 student3相關(guān)的進(jìn)程有多少 A進(jìn)程的輸出 B進(jìn)程的輸入 ? 操作系統(tǒng)服務(wù) UNIX操作系統(tǒng)提供五種主要的服務(wù)(也是 UNIX核心的五個(gè)重要組成部分): 1.進(jìn)程管理 建立、終止、掛起、通信等 2.時(shí)鐘管理 分時(shí)共享 cpu,時(shí)間片,調(diào)度 3.存儲(chǔ)管理 二級(jí)存貯器(內(nèi)存和對(duì)換區(qū)),分配主存 4.文件系統(tǒng)管理 二級(jí)存貯結(jié)構(gòu)。 pwd) run_log 后臺(tái)命令 ls –lR /home/teacher tlist amp。 ps 復(fù)合命令 ps –e | grep student2 (ls 。 } 在用戶環(huán)境下,程序的執(zhí)行通常由命令解釋器 shell來(lái)完成,標(biāo)準(zhǔn)的命令格式為: cmd [options] [arguments] shell可識(shí)別的命令類(lèi)型有: 簡(jiǎn)單命令 cat file1 多條命令 who。 wait((int *)0)。 數(shù)據(jù)段、正文段、工作變量的段大小 編譯器的版本號(hào) } 處理環(huán)境 程序:可執(zhí)行的文件 文件頭包括: } copy(int old, int new) { int count。 } copy(fdold, fdnew)。 if(
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1