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

正文內容

[理學]第3章_進程管理-資料下載頁

2025-04-14 02:00本頁面
  

【正文】 187。 進程切換開銷大于進程內線程 174。 NOTE BOOK Operating System 第 3 章 70 2022年 4月 17日星期日 線程的實現(xiàn) 傳統(tǒng)上的原因, 內核級線程 和 用戶級線程 ?用戶級線程 操作系統(tǒng)提供在用戶空間執(zhí)行的 線程庫( 5點 ) ?線程庫 是一組供應用程序所共享應用級軟件包 ?該線程庫提供創(chuàng)建、調度、撤銷線程功能 ?在用戶態(tài)完成 (見圖 (a)) ?線程對內核是透明的 ?操作系統(tǒng)內核只對進程管理 174。174。174。 NOTE BOOK Operating System 第 3 章 71 2022年 4月 17日星期日 線程的實現(xiàn) ? 用戶級線程 當一個線程被派生時,線程庫為其生成相應的線程控制塊 TCB等數(shù)據(jù)結構, 其處理過程與進程創(chuàng)建過程大致相似 , 不同的 2點 : ?用戶級線程的調度算法只進行 線程上下文切換 ,不涉及處理機的狀態(tài)(與內核無關) ?當一個進程由于 I/O中斷等原因進入阻塞,而屬于該進程執(zhí)行中線程仍處于執(zhí)行狀態(tài) ? 用戶級線程圖 用戶級線程狀態(tài)與進程狀態(tài)間關系阻塞就緒運行線程 1運行就緒 阻塞線程 2運行就緒 阻塞進程 P( a)阻塞就緒運行線程 1運行就緒 阻塞線程 2阻塞運行就緒 進程 P ( b )阻塞就緒運行線程 1阻塞就緒運行進程 P運行就緒 阻塞線程 2( c)運行就緒 阻塞線程 1運行就緒 阻塞進程 P阻塞運行就緒 線程 2( d )線程 2中執(zhí)行的應用程序執(zhí)行 系統(tǒng)調用,阻塞了進程P(如進行一次 I/O) ,導致控制轉移到內核,內核啟動I/O 操作, 并切換到另一個進程 。根據(jù)線程庫維護的數(shù)據(jù)結構,進程 P線程 2仍處于運行狀態(tài) , 如 (b) 。注意,線程 2運行態(tài)是線程庫察覺出它處于運行狀態(tài)。時鐘中斷把控制傳遞給內核,內核確定當前正在運行的進程 P已經用完了它的時間片,內核將進程 P置于就緒狀態(tài),并切換到另一個進程。在此期間,根據(jù)線程庫維護的數(shù)據(jù)結構,進程 P線程 2仍處于運行狀態(tài)。相應的狀態(tài)圖如 (c) 。線程 2執(zhí)行到某處,需進程 P線程 1所執(zhí)行的某些動作。線程 2進入阻塞狀態(tài),線程 1從就緒態(tài)轉換到運行態(tài);進程 P保留在運行態(tài)。圖 (d) 。下一步下一步下一步下一步174。 NOTE BOOK Operating System 第 3 章 72 2022年 4月 17日星期日 線程的實現(xiàn) ? 用戶級線程 使用用戶級線程代替內核線程有 3個優(yōu)點: ?避免由 用戶 → 內核 、 內核 → 用戶模式 間切換 ?線程之間切換算法可由應用確定 ;簡單輪轉算法等 .線程切換 不會干擾內核調度 ?用戶級線程可以在任何操作系統(tǒng)中運行,不需要對低層內核進行修改以支持用戶級線程的實現(xiàn) ?應用例子 ? 用戶級線程模擬 Wi ndows 系統(tǒng)調度進程 1線程集合 PPT應用進程┅ ┅ mtask 應用程序進程 /線程調度機制初始創(chuàng)建定時中斷處理簡單輪轉調度機制任務1任務2任務3任務4任務5?利用 C 程序設計了一個 多任務 應用程序,其 3 個特點為:? 以一個應用程序模擬用戶級多線程? 應用程序基于系統(tǒng)定時中斷作為內部任務切換時機? 通過輪轉調度算法實現(xiàn)宏觀同時運行利用 程序設計了一個 多任務 應用程序,其 個特點為:以一個應用程序模擬用戶級多線程應用程序基于系統(tǒng)定時中斷作為內部任務切換時機 通過輪轉調度算法實現(xiàn)宏觀同時運行174。 NOTE BOOK Operating System 第 3 章 73 2022年 4月 17日星期日 線程的實現(xiàn) ?核心級線程 4個主要特點 : ?線程控制塊 TCB在系統(tǒng)空間 ?給應用程序提供相應 系統(tǒng)調用和應用程序接口 ,以創(chuàng)建、撤消 ?核心級線程可以被 調度到不同處理機上 并行 執(zhí)行 ?內核同時 負責進程內不同線程調度工作 (狀態(tài)轉換 ), 不會出現(xiàn)進程處于阻塞,線程處于執(zhí)行情況 核心級線程模型見圖 ( b) 174。174。 NOTE BOOK Operating System 第 3 章 74 2022年 4月 17日星期日 線程的實現(xiàn) ?核心級線程 用戶級線程相對于內核級線程有兩個明顯的缺點: ?用戶級線程執(zhí)行一個系統(tǒng)調用時,不僅這個線程被阻塞,整個進程的所有線程都被阻塞了 ?一個多線程用戶應用程序不能利用多處理技術(同時在不同處理機上) ?混合線程 用戶線程與核心線程結合起來,產生多對 1,多對多的模型,如圖 ( c)和( d)所示 174。174。 NOTE BOOK Operating System 第 3 章 75 2022年 4月 17日星期日 線程的調度 當進程可以有多個線程時,就存在兩個層次的并發(fā) /并行:進程和線程。因此,調度是分情況的(見后續(xù)圖示例) ?用戶級線程 3個特點(假定以時間片進行進程切換): ?內核表現(xiàn)僅對進程給予時間片控制(時鐘中斷) ?用戶中線程調度決定哪個線程運行,與內核無關 ?若線程用完了系統(tǒng)給于進程的全部時間片,內核就會選擇另一個進程投入運行 ?核心級線程 內核選擇線程運行,賦予一個時間片,不考慮線程屬于哪個進程 174。 NOTE BOOK Operating System 第 3 章 76 2022年 4月 17日星期日 線程的調度 例: 2個假定: ?系統(tǒng)的時間片為 50ms ,每個線程 5ms運行時間 ?進程 A分為 A1, A2, A3, 3個線程,進程 B分為 B1, B2, B3, B4, 4個線程 見圖解釋: 174。174。進程表線程表進程表可能: A1 , A2 , A3 , A1 , A2 , A3不可能: A1 , B1 , A2 , B2 , A3 , B3( a )進程 A1. 內核選取一個進程進程 B1 2 31. 內核選取一個線程2. 運行時系統(tǒng)選取一個線程1. 線 程 運行的順序進程 A 進程 B圖 ( a )用戶級 線程的可能調度,有 50ms 時間片的進程以及每次運行 5ms CPU 的線程 ( b )與( a )有相同特性的內核級線程的可能調度可能: A1 , A2 , A3 , A1 , A2 , A3也可能: A1 , B1 , A2 , B2 , A3 , B3( b )1 3 2174。 NOTE BOOK Operating System 第 3 章 77 2022年 4月 17日星期日 線程的應用 線程的適用范圍 (幾種典型的應用): ?服務器中的文件管理和進程通信控制 ?前后臺處理 ?異步處理 ?數(shù)據(jù)的批處理 ?網(wǎng)絡系統(tǒng)中信息發(fā)送和接受等 *還是強調: 從系統(tǒng)角度,多進程多控制流與一個應用內多個控制流的活動是不同的, 很難設想兩個不同的用戶可同時在編輯同一個文檔 (見后續(xù)圖示) 174。 NOTE BOOK Operating System 第 3 章 78 2022年 4月 17日星期日 線程的應用 考慮一個字處理程序,若有一個共有 800頁的文件(如書稿) 1. 原第 1頁已刪去一些字符,字處理程序并不知道第 600頁的第 1行現(xiàn)在在什么位置,因而字處理程序被強制對整本書的前 600頁重新進行格式處理; 2. 在第 600頁在屏幕上顯示出來之前,計算機可能 暫時停止接收鍵盤和其它操作! 。 ┊ ┊ 頁號 1 2 ┇ 600 799 800 顯示緩沖區(qū) 內存 若在第 1頁上刪掉了一個句子,馬上打算在第 600頁上進行另一個修改(如查閱那里的一個短語),并 鍵入一條命令 通知字處理程序轉到該頁面, 所引起的 2個問題: 下一步 接收鍵盤 /鼠標命令、內部整理等各個獨立操作完全是一個順序處理流 174。 NOTE BOOK Operating System 第 3 章 79 2022年 4月 17日星期日 線程的應用 ┅ 內核 緩沖區(qū) 圖 有 3個線程的字符處理程序 接受命令與解釋 處理文檔編輯 文檔備份 單線程 , 多程序 ( 段 ) 多線程 ( a) ( b) 接收 命令 文檔 備份 文檔 處理 下一步 174。 NOTE BOOK Operating System 第 3 章 80 2022年 4月 17日星期日 Linux 進程管理 Linux 進程結構 Linux 進程運行狀態(tài)及模式 Linux 進程控制 174。 NOTE BOOK Operating System 第 3 章 81 2022年 4月 17日星期日 Linux 進程結構 ?Linux進程的組成 在 Linux系統(tǒng)中,一個進程由三部分組成: ?正文段( text) ——執(zhí)行的機器指令,可以共享 ?用戶數(shù)據(jù)段( user segment) ——執(zhí)行時直接進行操作的所有數(shù)據(jù),私用用戶數(shù)據(jù)段 ?系統(tǒng)數(shù)據(jù)段( system segment) ——存放程序運行環(huán)境 /控制信息,即 task_struct數(shù)據(jù)結構/PCB(進程描述符),大約 1K多字節(jié) 174。174。 NOTE BOOK Operating System 第 3 章 82 2022年 4月 17日星期日 Linux 進程結構 ?進程空間和系統(tǒng)空間 進程的虛擬地址空間被分做兩個部分,用戶空間和系統(tǒng)空間 圖 執(zhí)行狀態(tài)和上下文 圖 核心棧與進程描述符 兩個物理頁幀 8KB 進程控制塊 核心模式棧 棧自 頂向 下增 長 用戶態(tài) 系統(tǒng)態(tài) 系統(tǒng)上下文 進程上下文 應用程序 只能訪問進程空間 不允許 系統(tǒng)任務 只訪問系統(tǒng)空間 系統(tǒng)調用 異常中斷 可訪問系統(tǒng)和進程空間 174。 NOTE BOOK Operating System 第 3 章 83 2022年 4月 17日星期日 Linux 進程結構 ?進程上下文和系統(tǒng)上下文 ?進程上下文 ——進程動態(tài)變化的運行環(huán)境總和。進程切換 (procdss switching)又稱為上下文切換 (context switching) ?系統(tǒng)上下文 ——系統(tǒng)在完成自身任務時的運行環(huán)境稱為系統(tǒng)上下文 (system context)。 內核在系統(tǒng)上下文中執(zhí)行時不會阻塞 注: 進程執(zhí)行一個系統(tǒng)調用時,系統(tǒng)在內核為用戶進程服務,此時內核的運行仍是進程的一部分,所以說這時內核是運行在進程上下文中 174。 NOTE BOOK Operating System 第 3 章 84 2022年 4月 17日星期日 Linux進程狀態(tài)及運行模式 ?進程的狀態(tài) 圖 Linux 進程狀態(tài)轉換 運行 就緒 暫停 僵死 調度 時間片到 等待資源 sleep_on() schedule() 等待資源 Interruptible_sleeep_on()schedule() 退出 do_exit() 跟蹤 schedule() 等待資源到位喚醒 wake_up() 等待資源到位喚醒 wake_up_intrruptible() 收到信號 SIG_CONT 喚醒 wake_up() 不可中斷等待 可中斷等待 174。 NOTE BOOK Operating System 第 3 章 85 2022年 4月 17日星期日 Linux進程狀態(tài)及運行模式 ?進程的模式和類型 ?進程的兩種執(zhí)行模式 ?用戶模式 ——應用程序或者內核之外的系統(tǒng)程序 ?內核模式 ——系統(tǒng)調用或者發(fā)生中斷事件,運行操作系統(tǒng)(即核心)程序 ?進程可劃分為兩大類 ?系統(tǒng)進程 ——只運行在內核模式,執(zhí)行操作系統(tǒng)代碼,完成管理性的工作(內存分配和進程切換等) ?用戶進程 ——用戶模式中執(zhí)行,并通過系統(tǒng)調用或在出現(xiàn)中斷、異常時進入內核模式
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1