各種作業系統是如何實現程式間物件交換的?Windows有COM,Android有Content Provider,IOS呢? nix的情況呢?

時間 2021-05-11 13:24:31

1樓:王雨

以我的了解,微軟Windows這塊做的最「高階」,別人有的模式它有,它還有別人沒有的。

另外跨系統的物件交換場景似乎不多,用記憶體對映個檔案然後交換檔案就可以吧,檔案可以是序列化的物件。

這個問題其實還引發另乙個問題,那就是微軟對「物件」技術的重視,並沒有充分體現在市場份額的競爭力上,COM/COM+等都過於複雜了,資源占用和呼叫時的效能又沒有解決好,類似php這種看起來更原始的東西反而藉機蓬勃發展,打了個差異化,這真是夠諷刺的------坦白說,我覺得嚷嚷php是最好的語言的那幫人,可能大多都不了解COM,學起來也會吃力,但能寫COM元件的,學php根本不費腦細胞。

2樓:依雲

Linux 有 D-Bus。X Window 視窗系統(常見於 Linux 和 *BSD)有選區和 cut buffers(見 Inter-Client Communication Conventions Manual)。

當然,傳統的 IPC 方式肯定是有的,但是它們交換的是位元組塊,而不是有結構的資料。常見的有匿名管道、命名管道、UNIX 域套接字、抽象套接字(僅限 Linux)、匿名的套接字對、網路套接字、臨時檔案、共享記憶體等。在這些之上訂立個協議就可以處理複雜的結構了。

另外,netlink 套接字好像是由使用方定義訊息結構的。

程式釋放CPU,作業系統如何得知

悽臨雨 目前其他6個答案,除了旺旺的答案,其他均有錯漏。程式釋放cpu 程式執行完。當執行緒呼叫sleep系函式,或核心級同步物件函式 各種鎖 同步IO讀取暫時無法執行時 均屬於休眠 執行緒退出是退出 休眠和退出均會主動釋放cpu 搶占式時間片到了是被動釋放cpu 主動釋放最終會呼叫作業系統提供的函...

64位作業系統 CPU 如何相容32位程式 軟體 請看詳情。?

北極 要保證64位相容性,無非就是兩點 1.硬體相容 指令層面上 2.軟體相容 作業系統 因為以上兩點都能保證,所以自然32位程式能在相容32位程式的作業系統 CPU上跑。具體的形式 1.硬體相容 現有的x86架構的CPU,作業系統進入64位的工作模式都是相容32位的,即使在long mode模式下...

作業系統是如何顯示圖形介面的?

小牛 我和你一樣,都是非專業的,但是對這些比較感興趣!我簡單的理解是這樣的,作業系統可以沒有圖形顯示,比如各種rtos,linux 等,圖形介面只是在各種系統下的圖形管理應用程式,也就是乙個在應用層的應用程式。應用呼叫核心,核心呼叫驅動,驅動控制真實硬體顯示器。opengl,qt 我認為都是圖形庫,...