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

正文內(nèi)容

[計(jì)算機(jī)軟件及應(yīng)用]linux進(jìn)程編程(編輯修改稿)

2025-01-31 19:58 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 it與 return的區(qū)別 ? ? C語(yǔ)言關(guān)鍵字與函數(shù) exit()在 main函數(shù)退出時(shí)有相似之處,但兩者有本質(zhì)的區(qū)別: ? return 退出當(dāng)前函數(shù)主體, exit()函數(shù)退出當(dāng)前進(jìn)程,因此,在main函數(shù)里面 return(0)和 exit(0)完成一樣的功能。 ? return僅僅從子函數(shù)中返回,而子進(jìn)程用 exit()退出,調(diào)用 exit()時(shí)要調(diào)用一段終止處理程序,然后關(guān)閉所有 I/O流。 exit()與 _exit() ? P258 ? 都是用來(lái)終止進(jìn)程的。 ? _exit() 直接使進(jìn)程停止進(jìn)行,清除其使用的內(nèi)存空間,并清除其在內(nèi)核中的各種數(shù)據(jù)結(jié)構(gòu)。 ? exit()函數(shù)在退出前檢查文件的打開情況,把文件緩存中的內(nèi)容寫進(jìn)文件。 ? exit() ? _exit() ? atexit() 得到進(jìn)程結(jié)束標(biāo)志 ? 通過(guò)執(zhí)行碼 $echo $?得到已結(jié)束進(jìn)程的結(jié)束狀態(tài)。 ? 程序中 main函數(shù)運(yùn)行結(jié)束, $?中保存 main函數(shù)的返回值。 ? 程序運(yùn)行中調(diào)用 exit函數(shù)結(jié)束運(yùn)行, $?中保存 exit函數(shù)參數(shù)。 ? 程序異常退出, $?中保存異常出錯(cuò)的錯(cuò)誤號(hào)。 進(jìn)程的堆??臻g P262 可 執(zhí) 行 代 碼( 代 碼 區(qū) )已 初 始 化 全 局 變 量 、 靜 態(tài) 變 量和 常 量 數(shù) 據(jù) ( 數(shù) 據(jù) 區(qū) )堆 區(qū)( 向 上 增 長(zhǎng) )棧 區(qū)( 向 下 增 長(zhǎng) )未 初 始 化 全 局 變 量( B S S 區(qū) , 用 零 初 始 化 )可 執(zhí) 行 代 碼( 代 碼 區(qū) )已 初 始 化 全 局 變 量 、 靜 態(tài) 變 量和 常 量 數(shù) 據(jù) ( 數(shù) 據(jù) 區(qū) )未 初 始 化 變 量( B S S 區(qū) , 用 零 初 始 化 )高 地 址低 地 址可 執(zhí) 行 文 件 結(jié) 構(gòu)( 用 s i z e 查 看 )進(jìn) 程 內(nèi) 存 結(jié) 構(gòu)( 未 列 出 在 內(nèi) 核 申 請(qǐng) 的 資 源 )? ( 1)代碼區(qū)( text segment)。加載的是可執(zhí)行文件代碼段,其加載到內(nèi)存中的位置由加載器完成。 ? ( 2)全局初始化數(shù)據(jù)區(qū) /靜態(tài)數(shù)據(jù)區(qū)( Data Segment)。加載的是可執(zhí)行文件數(shù)據(jù)段,存儲(chǔ)于數(shù)據(jù)段(全局初始化, 靜態(tài) 初始化數(shù)據(jù))的數(shù)據(jù)的生存周期為整個(gè)程序運(yùn)行過(guò)程。 int count=30。 ? ( 3)未初始化數(shù)據(jù)區(qū)( BSS)。存儲(chǔ)于數(shù)據(jù)段的數(shù)據(jù)(全局未初始化,全局靜態(tài),局部靜態(tài)未初始化數(shù)據(jù))的生存周期為整個(gè)程序運(yùn)行過(guò)程。 long sum[1000]。 ? ( 4)棧區(qū)( stack)。由 編譯器自動(dòng)分配釋放 ,存放函數(shù)的參數(shù)值、返回值、局部變量等。在程序運(yùn)行過(guò)程中實(shí)時(shí)加載和釋放,因此,局部變量的生存周期為申請(qǐng)到釋放該段??臻g。 ? ( 5)堆區(qū)( heap)。用于動(dòng)態(tài)內(nèi)存分配。堆在內(nèi)存中位于 BSS區(qū)和棧區(qū)之間。一般 由程序員分配和釋放 ,若程序員不釋放,程序結(jié)束時(shí)有可能由 OS回收。 malloc,calloc,realloc函數(shù)。 Linux進(jìn)程控制 P267 ? 進(jìn)程標(biāo)識(shí) ? 每個(gè)進(jìn)程都有一個(gè)非負(fù)整型的唯一進(jìn)程 ID。 ? ID 0 調(diào)度進(jìn)程,不執(zhí)行任何磁盤上的程序,是內(nèi)核的一部分。 ? ID 1 init進(jìn)程,讀與系統(tǒng)有關(guān)的初始化文件,并將系統(tǒng)引導(dǎo)到一個(gè)狀態(tài),絕不會(huì)終止,是一個(gè)普通用戶進(jìn)程,是所有孤兒進(jìn)程的父進(jìn)程。 fork 系統(tǒng)調(diào)用 ? P269270 ? fork從已存在的進(jìn)程中創(chuàng)建一個(gè)新進(jìn)程,新進(jìn)程成為子進(jìn)程,原進(jìn)程為父進(jìn)程。 ? fork調(diào)用一次,返回 兩 次,在父進(jìn)程中返回為子進(jìn)程的進(jìn)程號(hào),在 子進(jìn)程中返回為 0。 ? 使用 fork函數(shù)得到了父進(jìn)程的一個(gè) 復(fù)制品 ,從父進(jìn)程處繼承了整個(gè)進(jìn)程的地址空間,子進(jìn)程 獨(dú)有的 只是它的 地址號(hào) 。 ? fork復(fù)制了父進(jìn)程中數(shù)據(jù)段和堆棧段中 絕大部分 內(nèi)容,使的fork系統(tǒng)調(diào)用的執(zhí)行速度并不快。 ? fork 所有由父進(jìn)程打開的 文件描述符 都被復(fù)制到子進(jìn)程中。父子進(jìn)程有相同編號(hào)的文件描述符 fork 系統(tǒng)調(diào)用時(shí)完成的操作 ? P270 ? 為新進(jìn)程分配 task_struct任務(wù)結(jié)構(gòu)體內(nèi)存空間。 ? 把父進(jìn)程 task_struct任務(wù)結(jié)構(gòu)體復(fù)制到子進(jìn)
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1