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

正文內(nèi)容

23進程及其實現(xiàn)-資料下載頁

2025-09-21 11:56本頁面

【導讀】從理論角度看,是對正在運行的程。從實現(xiàn)角度看,是一種數(shù)據(jù)結(jié)構(gòu),機系統(tǒng)主存儲器運行的程序。操作系統(tǒng)為什么要引入進程概念?原因1-刻畫系統(tǒng)的動態(tài)性,發(fā)揮系。統(tǒng)的并發(fā)性,提高資源利用率。原因2-它能解決系統(tǒng)的“共享性”,正確描述程序的執(zhí)行狀態(tài)。“可再入”程序具有的性質(zhì)。編譯程序P編譯源程序甲,從A點。一個進程從創(chuàng)建而產(chǎn)生至撤銷而消亡。進行善后,然后,退出主存。依然臨時保留在系統(tǒng)中等待善后。盤鏡像區(qū)中,暫時不參與進程調(diào)度,起到平滑系統(tǒng)操作負荷的目的。進行某些檢查和改正。進程以排除故障。緒態(tài)進程對換出去成為掛起就緒態(tài)。致進程具備執(zhí)行條件。進程控制表管理進程及其相關(guān)信息。存儲控制表管理一級(主)存儲器和二。操作系統(tǒng)中把進程物理實體和支持。新老進程隨之發(fā)生上下文切換。程的運行被認為是在上下文中執(zhí)行。

  

【正文】 時中斷喚醒 。 ? TASK_ZOMBIE:進程運行結(jié)束但是尚未消亡時處于的狀態(tài) 。 ? TASK_STOPPED:進程被暫停 , 正在等待其他進程發(fā)出的喚醒信號 。 ? TASK_SWAPPING:頁面被交換出內(nèi)存的進程 。 Linux的進程狀態(tài)轉(zhuǎn)換 僵死 TASK_ZOMBIE 就緒 TASK_RUNNING 不可中斷TASK_UNINTERRUPTIBLE 可中斷TASK_INTERRUPTIBLE 停止 TASK_STOPPED 占有 CPU運行 調(diào)度schedulle 時間片到 申請資源未果,調(diào)用 interruptible_sleep_on() 申請資源未果,調(diào)用sleep_on() 申請資源可用后wake_up() 申請資源可用, 收到信號、 wake_up() wake_up_interruptible() 創(chuàng)建 do_fork() 執(zhí)行 do_exit() 跟蹤系統(tǒng)調(diào)用,執(zhí)行 syscall_trace() sys_exit()schedulle() 收到 SIG_KILL或SIG_CONT后,執(zhí)行wake_up() Linux創(chuàng)建進程 (1) ?sys_fork() 和 sys_clone 都 通 過 調(diào) 用do_fork()函數(shù)來完成進程的創(chuàng)建 。 ?分配進程控制塊 task_struct的內(nèi)存和進程所需的堆棧 , 并監(jiān)測是否可以增加新進程; ?拷貝當前進程的內(nèi)容 , 并對數(shù)據(jù)成員初始化;為進程運行做準備;返回生成的新進程的進程標識號 ( pid) 。 Linux創(chuàng)建進程 (2) ? 如果進程是根據(jù) sys_clone()產(chǎn)生的 , 它的進程標識號就是當前進程的進程標識號 , 并且對于進程控制塊中的一些成員指針并不進行復制 ,而僅僅把這些成員指針的計數(shù)count增加 1。 這樣 , 父子進程可以有效地共享資源 。 Linux進程終止 ?進程終止的系統(tǒng)調(diào)用 sys_exit()通過調(diào)用 do_exit()函數(shù)實現(xiàn) 。 函數(shù) do_exit()釋放進程占用的大部分資源 , 進入 TASK_ZOMBIE狀態(tài) ,調(diào)用 exit_notify()通知 。 Linux進程控制塊 (1) 調(diào)度用數(shù)據(jù)成員 ? State 進程狀態(tài) ? Flags 進程狀態(tài)標記 ? Priority 進程優(yōu)先數(shù) ? rt_priority 實時進程優(yōu)先數(shù) ? Counter 時間片 ? Policy 調(diào)度策略 Linux進程控制塊 (2) 信號處理 ? Signal 記錄進程接收到的信號 ,共 32位 , 每位對應一種信號 ?Blocked 進程接收到信號的屏蔽位 ?Sig 信號對應的處理函數(shù) Linux進程控制塊 (3) 進程隊列指針 ? next_task,prev_task 雙向鏈接指針 ? next_run,prev_run 就緒隊列雙向鏈接指針 ? p_opptr , p_pptr,p_cptr,p_ysptr ,p_osptr 分別指向原始父進程 、 父進程 , 子進程 、 新老兄弟進程 Linux進程控制塊 (4) 進程標識 ? uid, gid 用戶標識和組標識 ? Group 進程同時擁有的一組用戶組號 ? euid, egid 有效的 uid和 gid系統(tǒng)安全考慮 ? fsuid,fsgid 文件系統(tǒng)的 uid和 gid ? suid,sgid 系統(tǒng)調(diào)用改變 uid和 gid時 ,存放真正的 uid和 gid ? pid,pgrp,session 進程標識號 、 組標識號 、 session標識號 Linux進程控制塊 (5) 時間數(shù)據(jù)成員 ? timeout 指出進程間隔多久被重新喚醒 ? it_real_value,it_real_incr 時間片計時 ? real_timer 一種定時器結(jié)構(gòu) ? it_virt_value,it_virt_incr 進程用戶態(tài)執(zhí)行時間的軟件定時 ? it_prof_value,it_prof_incr 進程執(zhí)行時間的軟件定時 ? utime,stime,cutime,cstime,start_time 進程在用戶態(tài) 、 內(nèi)核態(tài)運行時間 , 所有進程在用戶態(tài) 、 內(nèi)核態(tài)運行時間 , 創(chuàng)建進程時間 Linux進程控制塊 (6) 信號量 ?semundo 進程操作信號量的 undo操作 ?semsleeping 信號量對應等待隊列 上下文 ? ldt 進程關(guān)于段式存儲管理的局部描述符指針 ?tss 通用寄存器 Linux進程控制塊 (7) ? saved_kernel_stack MSDOS仿真程序保存的堆棧指針 ? saved_kernel_page 內(nèi)核堆?;刂? 文件系統(tǒng) ?fs 保存進程與 VFS的關(guān)系信息 ?files 系統(tǒng)打開文件表 ? link_count 文件鏈的數(shù)目 Linux進程控制塊 (8) 內(nèi)存數(shù)據(jù)成員 ?mm_struct結(jié)構(gòu) ? swappable 指示頁面是否可以換出 ? swap_address 換出用的地址 ?min_flt,maj_flt 該進程累計缺頁次數(shù) Linux進程控制塊 (9) ? nswap 進程累計換出的頁面數(shù) ? cmin_flt,cmaj_flt 進程及其子進程累計缺頁次數(shù) ? swap 進程及其子進程累計換出頁面數(shù) ? swap_t 下一次循環(huán)最多可以換出的頁數(shù) Linux進程控制塊 (10) SMP支持 ? processor 進程正在使用的 CPU ? last_processor 進程上一次使用的 cpu ?lock_depth 上下文切換時系統(tǒng)內(nèi)核鎖的深度 Linux進程控制塊 (11) 其他 ? used_math 是否使用浮點運算器 ?m 進程對應的可執(zhí)行文件的文件名 ?rlim 系統(tǒng)使用資源的限制 ?errno 錯誤號 ? debugreg 調(diào)試寄存器 Linux進程控制塊 (12) ? exec_domain,Personality 與運行 iBCS2標準程序有關(guān) ? Binfmt 指向全局執(zhí)行文件格式結(jié)構(gòu) , 包括 ,script,elf,java ? exit_code,exit_signal 返回代碼 , 引起出錯的信號名 ? Dumpable 出錯時是否能夠進行 memory dump Linux進程控制塊 (13) ? did_exec 用于區(qū)分新老程序代碼 ? tty_old_pgrp 進程顯示終端所在的組標識 ? Tty 指向進程所在的終端信息 ?wait_chldexit 在進程結(jié)束需要等待子進程時處于的等待隊列 ,
點擊復制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1