第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

fork()函數(shù)真正被實現(xiàn)的文件是哪個?

fork()函數(shù)真正被實現(xiàn)的文件是哪個?

萬千封印 2021-01-31 10:06:53
我在unistd.h中找到的fork是extern過來的: extern __pid_t fork (void) __THROW;所以我想知道這個fork到底在哪實現(xiàn)的?我想高清楚進(jìn)程的創(chuàng)建過程,所以想從最初的fork一直看起,看看它是怎么調(diào)用的sys_fork();即這個過程是怎么用代碼實現(xiàn)的?這段代碼在哪?望詳解!不勝感激!
查看完整描述

2 回答

?
慕桂英4014372

TA貢獻(xiàn)1871條經(jīng)驗 獲得超13個贊

fork 實際上是操作系統(tǒng)提供的系統(tǒng)調(diào)用 (syscall),它是由操作系統(tǒng),比如你在linux系統(tǒng)上,就要看內(nèi)核源碼。

至于程序中我們使用的 fork 接口本身,是由標(biāo)準(zhǔn)C庫,libc 實現(xiàn)的,它其實很簡單,直接調(diào)用了操作系統(tǒng)提供的系統(tǒng)調(diào)用。如果你是想看這個,去下載 glibc 源碼找吧,不過沒什么意義,對于系統(tǒng)調(diào)用來說,libc只是起個二傳手的作用,自己什么都不做。

在linux內(nèi)核源碼中 linux-2.6.32.10/arch/x86/kernel/syscall_table_32.S 中是所有系統(tǒng)調(diào)用接口定義的地方。 搜索之后你會發(fā)現(xiàn) sys_fork 最終調(diào)用了 do_fork

再在 linux-2.6.32.10/kernel/fork.c 可以看到 do_fork的實現(xiàn)。

所以具體的代碼就在 kernel/fork.c 里了。

注意,你必須下載kernel源碼才能找到上面提到的信息。

查看完整回答
反對 回復(fù) 2021-03-28
?
紅糖糍粑

TA貢獻(xiàn)1815條經(jīng)驗 獲得超6個贊

fork 實際上是操作系統(tǒng)提供的系統(tǒng)調(diào)用 (syscall),它是由操作系統(tǒng),比如你在linux系統(tǒng)上,就要看內(nèi)核源碼。

至于程序中我們使用的 fork 接口本身,是由標(biāo)準(zhǔn)C庫,libc 實現(xiàn)的,它其實很簡單,直接調(diào)用了操作系統(tǒng)提供的系統(tǒng)調(diào)用。如果你是想看這個,去下載 glibc 源碼找吧,不過沒什么意義,對于系統(tǒng)調(diào)用來說,libc只是起個二傳手的作用,自己什么都不做。

在linux內(nèi)核源碼中 linux-2.6.32.10/arch/x86/kernel/syscall_table_32.S 中是所有系統(tǒng)調(diào)用接口定義的地方。 搜索之后你會發(fā)現(xiàn) sys_fork 最終調(diào)用了 do_fork

再在 linux-2.6.32.10/kernel/fork.c 可以看到 do_fork的實現(xiàn)。

所以具體的代碼就在 kernel/fork.c 里了。

注意,你必須下載kernel源碼才能找到上面提到的信息。



查看完整回答
反對 回復(fù) 2021-03-28
  • 2 回答
  • 0 關(guān)注
  • 707 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號