Linux 进程详解
生活随笔
收集整理的這篇文章主要介紹了
Linux 进程详解
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Linux內(nèi)核的七大區(qū)間
1.進(jìn)程管理(進(jìn)程創(chuàng)建,進(jìn)程的三種狀態(tài),進(jìn)程間的調(diào)度,調(diào)度算法...)
2.內(nèi)存管理(段式管理(Linux所有段都從0開始),頁式管理--地址偏移量)
3.系統(tǒng)調(diào)用(C語言庫函數(shù)的區(qū)別)
4.網(wǎng)絡(luò)協(xié)議(TCP/IP協(xié)議)
5.UFS--虛擬文件系統(tǒng)==》Linux驅(qū)動總線模型
6.驅(qū)動管理(網(wǎng)絡(luò)設(shè)備,塊設(shè)備,字符設(shè)備...)
7ARCH(對各個(gè)硬件平臺的支持...RAM x86 power pc)
即使fork實(shí)現(xiàn)了copy on write,效率也沒有vfork高,但是我們不推薦使用vfork,因?yàn)閹缀趺恳粋€(gè)vfork的實(shí)現(xiàn),
都或多或少存在一定的問題 結(jié)論: 1.fork子進(jìn)程會寫時(shí)拷貝父進(jìn)程的數(shù)據(jù)段;vfork子進(jìn)程與父進(jìn)程共享數(shù)據(jù)段 2.fork父子進(jìn)程的執(zhí)行次序不確定;vfork子進(jìn)程先運(yùn)行,父進(jìn)程后運(yùn)行 vfork和exec函數(shù)在一起 execve替換進(jìn)程映像(加載程序),注意execve是一個(gè)系統(tǒng)調(diào)用;替換意味著:代碼段,數(shù)據(jù)段,堆棧段,進(jìn)程控制塊PCB全部替換
?
進(jìn)程數(shù)據(jù)結(jié)構(gòu) 進(jìn)程的靜態(tài)描述:由三部分組成:PCB,有關(guān)程序段和該程序段對其進(jìn)行操作的數(shù)據(jù)結(jié)構(gòu)集 進(jìn)程控制塊(PCB):用于描述進(jìn)程情況及控制進(jìn)程運(yùn)行所需的全部信息 代碼段:是進(jìn)程中能被進(jìn)程調(diào)度程序在CPU上執(zhí)行的程序代碼段。 數(shù)據(jù)段:一個(gè)進(jìn)程的數(shù)據(jù)段,可以是進(jìn)程對應(yīng)的程序加工處理的原始數(shù)據(jù),也可以是程序執(zhí)行后產(chǎn)生的中間或最終數(shù)據(jù) 進(jìn)程是操作系統(tǒng)對資源的一種抽象:一個(gè)進(jìn)程:代碼段、數(shù)據(jù)段,堆棧段(內(nèi)存四區(qū))+進(jìn)程控制塊(PCB) PCB是操作系統(tǒng)感知進(jìn)程存在的一個(gè)重要數(shù)據(jù)結(jié)構(gòu)。?
fork函數(shù)和vfork函數(shù) vfork()函數(shù)有個(gè)限制,子進(jìn)程必須立刻執(zhí)行_exit或者exec函數(shù),即使fork實(shí)現(xiàn)了copy on write,效率也沒有vfork高,但是我們不推薦使用vfork,因?yàn)閹缀趺恳粋€(gè)vfork的實(shí)現(xiàn),
都或多或少存在一定的問題 結(jié)論: 1.fork子進(jìn)程會寫時(shí)拷貝父進(jìn)程的數(shù)據(jù)段;vfork子進(jìn)程與父進(jìn)程共享數(shù)據(jù)段 2.fork父子進(jìn)程的執(zhí)行次序不確定;vfork子進(jìn)程先運(yùn)行,父進(jìn)程后運(yùn)行 vfork和exec函數(shù)在一起 execve替換進(jìn)程映像(加載程序),注意execve是一個(gè)系統(tǒng)調(diào)用;替換意味著:代碼段,數(shù)據(jù)段,堆棧段,進(jìn)程控制塊PCB全部替換
?
轉(zhuǎn)載于:https://www.cnblogs.com/zhanggaofeng/p/6063403.html
總結(jié)
以上是生活随笔為你收集整理的Linux 进程详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DNS之BIND使用小结(Forward
- 下一篇: 快捷键汇总