看板 LinuxDev 關於我們 聯絡資訊
大家晚安大家好 最近被問到一個kernel space 與 user space的問題 一般AP(應用程式)都是透過user space操作底層kernel space的driver module 他這麼一問: 怎麼不直接操作kernel space的driver? 那時我只是簡單的描述回答: 直接操作底層驅動可能會牽扯到physical memory的問題 若操作不慎而造成memory崩潰的話,可能機子會整個當掉,對系統有危害 所以要透過memory mapping的方式映射成virtual memory記憶體供user space使用 儘管記憶體崩潰也不會直接影響到physical memory,對系統有保護作用 不知道以這個問題來說,大家會怎麼回答呢?? 感謝 thanks~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.118.202.110
RouterHsieh:user space本來就沒辦法直接接觸到kernel space啊, 10/06 01:48
RouterHsieh:所以我是看不太出來這問題的用意在哪..XD 10/06 01:49
RouterHsieh:畢竟kernel/user space所處的記憶體空間就不一樣了, 10/06 01:50
RouterHsieh:怎麼會有辦法讓app去直接接觸kernel module呢..@@ 10/06 01:51
shaopin:用mmap, map出device的register space, 就可以了 10/06 02:09
lungswu:可以參考一下X Window的driver,就如樓上所說。 10/06 22:29
cobrasgo:你可以反問他為什麼要切成kernel space和user space 10/10 10:52
Gway:dual mode 主要是保護作用,分層可以過濾權限、參數等資訊 10/14 16:07
Gway:達成保護動作,另一方便提供簡單好用的抽象概念給上層AP使用 10/14 16:08
Gway:當然user 要直接操作還是有辦法 就像你所講的誤用可能會產生 10/14 16:09
Gway:很大的危害。 不知道講得對不對 這是我的看法 :D 10/14 16:10
funnyface325:要寫sys call開放介面給user space 10/16 03:57