久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

linux idle 進(jìn)程_淡淡的鍋盔

 昵稱18037940 2015-04-10
1. idle是什么   簡單的說idle是一個(gè)進(jìn)程,其pid號(hào)為0,。其前身是系統(tǒng)創(chuàng)建的第一個(gè)進(jìn)程,,也是唯一一個(gè)沒有通過fork()產(chǎn)生的進(jìn)程。在smp系統(tǒng)中,,每個(gè)處理器單元有獨(dú)立的一個(gè)運(yùn)行隊(duì)列,,而每個(gè)運(yùn)行隊(duì)列上又有一個(gè)idle進(jìn)程,即有多少處理器單元,,就有多少idle進(jìn)程,。系統(tǒng)的空閑時(shí)間,其實(shí)就是指idle進(jìn)程的'運(yùn)行時(shí)間',。既然是idle是進(jìn)程,,那我們來看看idle是如何被創(chuàng)建,,又具體做了哪些事情?  2. idle的創(chuàng)建  我們知道系統(tǒng)是從BIOS加電自檢,,載入MBR中的引導(dǎo)程序(LILO/GRUB),再加載linux內(nèi)核開始運(yùn)行的,,一直到指定shell開始運(yùn)行告一段落,這時(shí)用戶開始操作Linux,。而大致是在vmlinux的入口startup_32(head.S)中為pid號(hào)為0的原始進(jìn)程設(shè)置了執(zhí)行環(huán)境,,然后原是進(jìn)程開始執(zhí)行start_kernel()完成Linux內(nèi)核的初始化工作。包括初始化頁表,,初始化中斷向量表,,初始化系統(tǒng)時(shí)間等。繼而調(diào)用fork(),創(chuàng)建第一個(gè)用戶進(jìn)程:   kernel_thread(kernel_init, NULL, CLONE_FS |CLONE_SIGHAND);  這個(gè)進(jìn)程就是著名的pid為1的init進(jìn)程,,它會(huì)繼續(xù)完成剩下的初始化工作,,然后execve(/sbin/init),成為系統(tǒng)中的其他所有進(jìn)程的祖先。關(guān)于init我們這次先不研究,,回過頭來看pid=0的進(jìn)程,,在創(chuàng)建了init進(jìn)程后,pid=0的進(jìn)程調(diào)用cpu_idle()演變成了idle進(jìn)程,。   current_thread_info()->status |=TS_POLLING;   在smp系統(tǒng)中,,除了上面剛才我們講的主處理器(執(zhí)行初始化工作的處理器)上idle進(jìn)程的創(chuàng)建,還有從處理器(被主處理器activate的處理器)上的idle進(jìn)程,,他們又是怎么創(chuàng)建的呢,?接著看init進(jìn)程,init在演變成/sbin/init之前,,會(huì)執(zhí)行一部分初始化工作,,其中一個(gè)就是smp_prepare_cpus(),初始化SMP處理器,,在這過程中會(huì)在處理每個(gè)從處理器時(shí)調(diào)用   task =copy_process(CLONE_VM, 0, idle_regs(&regs), 0, NULL, NULL, 0);  init_

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多