都基於POSIX,Linux和FreeBSD在同乙個處理器平台下為什麼原生二進位制不相容

時間 2021-05-30 07:31:36

1樓:Certain Y

Freebsd內嵌了乙個仿linux的核心,通過翻譯syscent把linux二進位制中的系統呼叫重定向到自己的系統呼叫.

也就是如果核心有乙個指令叫 kern_socket, 那麼freebsd就會給這個呼叫提供兩個abi: socket 和 linux_socket。執行二進位制的時候會看情況決定該載入哪一套.

目前大多數linux編譯程式放在freebsd能直接跑得動,少部分是由於一些涉及檔案系統和許可權的在兩邊的實現差異太大沒法翻譯

2樓:

實際上是,遵循POSIX,而不是基於POSIX。FreeBSD和Linux不是同乙個起源,有差別是正常的。軟體領域,理論上相容是可以做到的,但沒人投錢就很難有人做。

3樓:澪同學

說起來你可能不信,曾經Windows也是POSIX相容的喔。

4樓:因特理臻

pe封裝格式不同,如果相同,就是系統介面api不同,導致機器語言會有不同的系統函式呼叫位址等,其實freebsd不同版本的二進位制也不相容,向後相容要加模擬器之類介面。三個平台的api都不同,所以不能直接執行,要執行就把abi介面補上,俗稱模擬器。

如果福特基於F 150猛禽研發一款大型越野車,有市場嗎?

dreamerinsun 已經有了 Ford Expedition就是基於F150平台打造的SUV。然而,這種尺寸的SUV因為過寬,很多越野路線比起中型SUV與中型皮卡來說其實並不佔優勢。因此很少有人用Ford Expedition來越野,自然福特也就沒有考慮出Expedition的越野效能版。近年...

基於樹的adaboost和Gradient Tree Boosting區別?

楚子航 GBDT vs AdaBoost 相同點 加性模型 前向分步演算法 每一步訓練乙個弱學習器以彌補前面模型的不足2.不同點 AdaBoost中當前學習器的 不足 由樣本權重來決定GBDT中當前學習器的 不足 由求梯度決定梯度提公升樹 回歸樹 的演算法與原始的提公升樹 回歸樹 演算法的核心區別主...

如何看待「基於故事情節」的相聲,和不「基於故事情節」的相聲?

2115gang 相聲遠遠不止兩種 八扇屏,報菜名,地理圖,雖然有人物有情節,但主要的是最後的貫口,精髓不在故事上。批三國,論夢,買賣論,賭論,像是兩個人聊天,但也是有內容有主線,八大吉祥,五行詩,這類相聲不是隨便聊天不是講故事也不是段子合集,扒馬褂,羊上樹,五官爭功,這類又不是講故事,直接進入人物...