我正在研究操作系統(Silberscatz,Galvin等人)。我的編程經驗僅限於編程文本或算法文本中偶爾編寫的練習題。換句話說,我沒有適當的應用程序編程或系統編程經驗。我認爲我的下面的問題是缺乏上述經驗的結果,因此缺乏背景。共享內存IPC機制與API /系統調用調用的區別
我特別研究IPC機制。在閱讀有關共享內存(SM)時,我無法想象使用SM進行通信的真實場景。在我的linux(ubuntu)機器上(使用小型shell腳本中的'ipcs')上的相同SM段的進程的檢查被上傳here
大部分應用程序共享似乎與X deamon共享。據我所知,X是負責給我我的GUI的過程。我感到這些應用程序(主要是保留在我的任務欄上的applet)與X共享關於需要改變其外觀和顯示值的數據。這是一個合理的推論嗎?
如果是這樣, 我的問題是,我的應用程序通過共享內存段與'X'通信與我的應用程序調用'X'提供的某些API並與'X'通信需要刷新他們的外表? 差異我的意思是,爲什麼不使用後面的方法?
是不是覺得如何用戶進程和內核溝通?應用程序在需要時調用系統調用,比如讀取文件,通過系統調用的參數傳遞文件名和其他相關信息?
而且你能提供給我的日常使用的應用程序,其使用共享內存和消息傳遞通信的例子嗎?
編輯 我已經提出了更清晰的問題。我已經格式化編輯的零件要大膽
我編輯我的問題,使我的問題更加清晰。我知道函數調用和共享內存的區別。我想知道爲什麼後來這裏更受歡迎。 – 2011-04-13 07:15:17