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

正文內(nèi)容

操作系統(tǒng)2進程與線程課件-免費閱讀

2025-02-12 21:49 上一頁面

下一頁面
  

【正文】 . . exec()有三個參數(shù):待執(zhí)行的文件名、參數(shù)列表、環(huán)境變量表。 進程的創(chuàng)建 2. 除了 init進程外,運行在 Linux系統(tǒng)中的其他進程,都是用系統(tǒng)調(diào)用fork和 clone創(chuàng)建的。用戶正確登錄后,就為其創(chuàng)建名為 shell的進程。 Linux的 PCB里專門有反映進程間關(guān)系的 task_struct型指針字段 。 PID散列鏈表 2. . 為了加快查找過程,理想的做法是通過某個函數(shù),利用進程的 PID值算出進程 PCB所在的位置。組由一個唯一的數(shù)字來標識,稱為組標識符。 不可中斷等待狀態(tài) :這是一種與“可中斷的等待”類似的狀態(tài),只是在等待期間不能被信號打斷。這是安裝 Linux時需要的所有可能的物理設(shè)備,是支撐 Linux運行的硬件環(huán)境,比如 CPU、內(nèi)存儲器、磁盤、網(wǎng)絡(luò)硬件等。用戶應(yīng)用程序是運行在Linux內(nèi)核上的一個龐大的軟件集合。在同一進程內(nèi),線程的切換不引起進程的切換;由一個進程中的線程切換到另一個進程中的線程時,就要引起進程間的切換。 返回目錄 調(diào)度切換:不同進程間的調(diào)度切換,系統(tǒng)要花費很大的開銷(比如,要從這個地址空間轉(zhuǎn)到那個地址空間,要保護現(xiàn)場等);同一進程的線程間的切換,無須轉(zhuǎn)換地址空間,從而減少了系統(tǒng)的開銷。 . 組合方法中,同一進程中的多個線程可以分配到不同處理器上并行地運行,這意味著一個會引起阻塞的系統(tǒng)調(diào)用不必阻塞整個進程。完成線程管理的應(yīng)用程序,稱為“線程庫”,它將被系統(tǒng)中的所有用戶程序共享使用。 . . 進程和線程之間的各種關(guān)系 2. 線程的定義 所謂“線程”,是指進程中實施處理機調(diào)度和分配的基本單位。 返回目錄 ? 線程的概念 線程 1. 引入線程的原因 進程的兩個屬性 做法是將進程的兩個屬性拆開來,進程只作為“資源擁有者”,“調(diào)度和運行”則賦予線程。 通過對駝峰溜放控制過程的簡略描述,理解進程控制原語的應(yīng)用?!巴!钡脑?,就是為等待某個事件的發(fā)生而被阻塞。 ? 進程控制的系統(tǒng)調(diào)用命令 在執(zhí)行期間不能被打斷、不能被分割的程序段,在操作系統(tǒng)里稱作“原語”、“原子操作”或“不可分割的操作”。 . 2. 進程的三個組成部分 . . 操作系統(tǒng)中進程由三個部分組成,稱為“進程映像” 。 . 這時,比較重要的變遷是:阻塞 → 阻塞 /掛起 ,阻塞 /掛起 →就緒 /掛起 ,就緒 /掛起 → 就緒 ,就緒 → 就緒 /掛起 ,創(chuàng)建 → 就緒,創(chuàng)建 → 就緒 /掛起,阻塞 /掛起 → 阻塞 ,運行 → 就緒 /掛起 。只要被激活,進程就可以調(diào)入內(nèi)存,如果獲得 CPU就可以投入運行。 運行:進程獲得 CPU正在被執(zhí)行中。不過,操作系統(tǒng)會向用戶提供一定的協(xié)調(diào)手段(以系統(tǒng)調(diào)用命令的形式)。由于進程是系統(tǒng)中資源分配和運行調(diào)度的單位,因此在對資源共享和競爭中,必然會相互制約,影響了各自向前推進的速度。進程的本質(zhì)是程序的一次執(zhí)行過程,當系統(tǒng)要完成某項工作時,它就“創(chuàng)建”一個進程,以便執(zhí)行事先編寫好的、完成該工作的那段程序。 } 執(zhí)行順序 1 : 程序 P2調(diào)用 echo()函數(shù), getchar()接收到從鍵盤輸入的字符 y,然后在屏幕上顯示出字符 y。 程序 P1調(diào)用 echo()函數(shù), getchar()接收到從鍵盤輸入的字符 x,在將其存于變量 chin后被中斷; 程序 P1從斷點恢復(fù)執(zhí)行。此時由于 P2調(diào)用了 echo(), chin里原先的 x被 y所覆蓋。 ( 1)( 2). . 執(zhí)行順序 2 : ( 1)( 2) ( 3)程序 P2獲得 CPU使用權(quán),調(diào)用 echo()函數(shù),從頭做到尾,屏幕上顯示字符 y; 返回目錄 . ? 進程的定義 1. 進程的定義 . 進程是程序的一次運行活動; 進程的運行活動是建立在某個數(shù)據(jù)集合之上的; 進程要在獲得資源的基礎(chǔ)上從事自己的運行活動。程序執(zhí)行完畢、完成預(yù)定的任務(wù)后,系統(tǒng)就“撤消”這個進程,收回它所占用的資源。 通常,系統(tǒng)進程運行在核心態(tài),用戶進程運行在用戶態(tài)。 3. 系統(tǒng)進程與用戶進程 . 在多道程序設(shè)計系統(tǒng)中,既有操作系統(tǒng)程序,又有用戶程序,因此整個系統(tǒng)中存在著兩類進程:一類是系統(tǒng)進程,一類是用戶進程。若系統(tǒng)只有一個 CPU,那么任何時候系統(tǒng)中最多只有一個進程處于運行狀態(tài)。 2. 對進程狀態(tài)更細致的劃分 就緒 /掛起 就緒 激活 運行 阻塞 終止 調(diào)度 撤銷 超時 事件發(fā)生 掛起 阻塞 /掛起 激活 掛起 事件發(fā)生 創(chuàng)建 提交 掛起 . . 若內(nèi)存中現(xiàn)有的進程都在等待 I/O的完成, CPU只能空閑運轉(zhuǎn)。 返回目錄 進程控制塊里包括四種基本信息:標識信息、現(xiàn)場保護區(qū)信息、調(diào)度信息以及管理信息 。 ( 1) ( 2) ( 3) 程序:進程將要執(zhí)行的程序; 數(shù)據(jù):用戶空間中的可修改部分,如數(shù)據(jù)、堆棧、可修改程序; 進程控制塊 PCB:記錄操作系統(tǒng)管理、控制進程所需要的數(shù)據(jù)信息。 . . .有關(guān)進程控制的系統(tǒng)調(diào)用命令都是以原語的形式出現(xiàn)的。調(diào)用阻塞原語后,一個原來處于運行的進程變?yōu)樽枞麪顟B(tài),操作系統(tǒng)將會重新對 CPU進行分配。 激活是針對處于“阻塞 /掛起”或“就緒 /掛起”狀態(tài)的進程實行的操作。這樣, CPU的利用率能得到更多的提高, 使系統(tǒng)的效率得到更充分地發(fā)揮。有了線程后,人們有時就把原先的進程稱為“重載進程”,把線程稱為“輕載進程”。 2. 這時,用戶程序被創(chuàng)建成為一個由內(nèi)核管理的進程,與這個進程相對應(yīng)的線程則在用戶空間里運行。這樣組合式的管理方法,會綜合用戶級線程與內(nèi)核級線程管理方法的優(yōu)點,減少它們的缺點。 通信關(guān)系:不同進程間的通信,必須使用操作系統(tǒng)提供的進程通信機制;同一進程各個線程間的通信,可以直接通過訪問共享的進程地址空間來實現(xiàn)。 . 并發(fā):引入線程后,不僅進程之間可以并發(fā)執(zhí)行, 而且一個進程內(nèi)的多個線程之間也可以并發(fā)執(zhí)行,因此系 統(tǒng)具有了更好的并發(fā)性,進而使系統(tǒng)的資源利用率和吞吐率大大提高。當一個用戶程序在操作系統(tǒng)上運行時,它就成為一個進程。 Linux的進程控制塊 2. . Linux中,把傳統(tǒng)的進程控制塊 PCB稱為進程描述符,用于記錄每個進程所做的事情。 ( 3) ( 4) 暫停狀態(tài) :當運行進程接到暫停執(zhí)行的信號(比如程序正在接受調(diào)試)時,其狀態(tài)就由“運行”變遷成為“暫?!?。組標識符存放在進程 PCB的字段 gid里。這實際上就是所謂的散列技術(shù)。 p_pptrr:指向父進程的指針; p_cptr:指向最新子進程的指針; p_ysptr:指向弟進程的指針; p_osptr:指向兄進程的指針。此后用戶與系統(tǒng)交互時,就由 shell進程接收并解釋用戶輸入的命令,創(chuàng)建子進程執(zhí)行該命令。調(diào)用 fork和 clone的進程是父進程,被創(chuàng)建的進程是子進程。調(diào)用 exec()就做下面的三件事情:用所給的執(zhí)行程序代替原先的代碼段;廢棄原有的數(shù)據(jù)段,為新程序分配新的數(shù)據(jù)段;廢棄原有的堆棧段,為新程序分配所需的堆棧段
點擊復(fù)制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1