[問題] kernel space直接操作 有沒有問題?

看板LinuxDev作者 (↙㊣煞氣a萬華何潤東㊣↗)時間10年前 (2013/10/05 23:39), 編輯推噓5(507)
留言12則, 6人參與, 最新討論串1/1
大家晚安大家好 最近被問到一個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

10/06 01:48, , 1F
user space本來就沒辦法直接接觸到kernel space啊,
10/06 01:48, 1F

10/06 01:49, , 2F
所以我是看不太出來這問題的用意在哪..XD
10/06 01:49, 2F

10/06 01:50, , 3F
畢竟kernel/user space所處的記憶體空間就不一樣了,
10/06 01:50, 3F

10/06 01:51, , 4F
怎麼會有辦法讓app去直接接觸kernel module呢..@@
10/06 01:51, 4F

10/06 02:09, , 5F
用mmap, map出device的register space, 就可以了
10/06 02:09, 5F

10/06 22:29, , 6F
可以參考一下X Window的driver,就如樓上所說。
10/06 22:29, 6F

10/10 10:52, , 7F
你可以反問他為什麼要切成kernel space和user space
10/10 10:52, 7F

10/14 16:07, , 8F
dual mode 主要是保護作用,分層可以過濾權限、參數等資訊
10/14 16:07, 8F

10/14 16:08, , 9F
達成保護動作,另一方便提供簡單好用的抽象概念給上層AP使用
10/14 16:08, 9F

10/14 16:09, , 10F
當然user 要直接操作還是有辦法 就像你所講的誤用可能會產生
10/14 16:09, 10F

10/14 16:10, , 11F
很大的危害。 不知道講得對不對 這是我的看法 :D
10/14 16:10, 11F

10/16 03:57, , 12F
要寫sys call開放介面給user space
10/16 03:57, 12F
文章代碼(AID): #1IK3AsSR (LinuxDev)