作者Onnnnnnnnnnn (↙㊣煞氣a萬華何潤東㊣↗)
看板LinuxDev
標題[問題] kernel space直接操作 有沒有問題?
時間Sat Oct 5 23:39:29 2013
大家晚安大家好
最近被問到一個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
1F:→ RouterHsieh:user space本來就沒辦法直接接觸到kernel space啊, 10/06 01:48
2F:→ RouterHsieh:所以我是看不太出來這問題的用意在哪..XD 10/06 01:49
3F:→ RouterHsieh:畢竟kernel/user space所處的記憶體空間就不一樣了, 10/06 01:50
4F:→ RouterHsieh:怎麼會有辦法讓app去直接接觸kernel module呢..@@ 10/06 01:51
5F:推 shaopin:用mmap, map出device的register space, 就可以了 10/06 02:09
6F:推 lungswu:可以參考一下X Window的driver,就如樓上所說。 10/06 22:29
7F:推 cobrasgo:你可以反問他為什麼要切成kernel space和user space 10/10 10:52
8F:推 Gway:dual mode 主要是保護作用,分層可以過濾權限、參數等資訊 10/14 16:07
9F:→ Gway:達成保護動作,另一方便提供簡單好用的抽象概念給上層AP使用 10/14 16:08
10F:→ Gway:當然user 要直接操作還是有辦法 就像你所講的誤用可能會產生 10/14 16:09
11F:→ Gway:很大的危害。 不知道講得對不對 這是我的看法 :D 10/14 16:10
12F:推 funnyface325:要寫sys call開放介面給user space 10/16 03:57