作者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