欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
linux學(xué)習之進(jìn)程篇1
linux學(xué)習之進(jìn)程篇1

今天學(xué)習了看了下趙博那本書(shū)進(jìn)程的一部分,搞懂了些東西,現總結如下:

1.進(jìn)程的時(shí)間片
    進(jìn)程的時(shí)間片是由8053的時(shí)鐘中斷實(shí)現的,在內核初始化時(shí)將8053工作頻率設置為100Hz,也就是說(shuō)每隔10毫秒就發(fā)生一次時(shí)鐘中斷,然后由相應的時(shí)鐘中斷程序來(lái)實(shí)現,這個(gè)時(shí)鐘中斷程序名為_(kāi)timer_interrupt(system_call.s),具體的實(shí)現函數是do_timer(),這個(gè)C函數在最后執行了sched.c中的schedule()函數。也就是說(shuō),每隔10ms執行一次任務(wù)切換函數。

2.fork()的實(shí)現
    看完這個(gè)函數,剛才的程序問(wèn)題也解決了。只可能打印一個(gè)This is header!而且是在父進(jìn)程中實(shí)現的。當父進(jìn)程執行到
fork()創(chuàng )建子進(jìn)程時(shí),父進(jìn)程從fork()的下一條語(yǔ)句執行下去。子進(jìn)程從fork()執行下去。父進(jìn)程中的fork返回子進(jìn)程ID,子進(jìn)程中的fork返回0。
    fork()是linux的系統調用。
    執行流程如下:
    fork()        //定義在unistd.h
    ->sys_fork()  //sys.h    
    ->system_call0(int,fork) //定義在main.c
    ->_system_call   //system.s
    ->find_empty_process(),copy_process() //fork.c
    
    system_call0其中執行int $0x80,此語(yǔ)句將父進(jìn)程的cs,eip入棧(這個(gè)不理解要去看匯編的int指令執行過(guò)程),后面它創(chuàng )建的子進(jìn)程也是用的這個(gè),這個(gè)就是為什么子進(jìn)程也從fork執行了。_system_call是int $0x80的中斷處理函數,這個(gè)是在sched_init()中的定義的。_system_call只執行兩個(gè)函數find_empty_process(),copy_process()。第一個(gè)函數在task數組中查找一個(gè)空白項。找到后返回數組下標,也就是傳說(shuō)中的PID了。copy_process將這個(gè)空白任務(wù)數組分配內存,然后將父進(jìn)程的cs,ip等進(jìn)程上下文完全復制給它。再把這個(gè)新任務(wù)的狀態(tài)設置為就緒態(tài)。最后返回這個(gè)PID。
這個(gè)就是創(chuàng )建進(jìn)程的執行過(guò)程。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
linux中system和exec函數的區別
linux system函數使用詳解
linux系統下,c 程序,調用system命令失敗,分析過(guò)程
【C/C++】Linux下system()函數引發(fā)的錯誤
fork()創(chuàng )建新進(jìn)程
Linux系統時(shí)間設置(附ARM)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久