※ 引述《zelkova (*〞︶〝*)》之铭言:
: 各位前辈好
: 最近面试的时候 遇到一位面试官问了一个问题
: 类似这样 "你这支程式是user level还是kernel level?"
: 以前修OS大概还能区分这两个名词的差异
: 但是我发现我都没去思考怎么区分程式是属于哪一个@@
: 请问有什么关系可以判断程式是属于user/kernel level呢? 谢谢
推文主要是表示Kernel/User使用的内存区块不同,
但是重新看了下Figure 3确实也没有切得很清楚.
大略切割架构如下连结的Figure 2,
http://www.ibm.com/developerworks/library/l-linux-kernel/
然后User Level/Kernel Level应该是类似如下内文的说法:
http://unix.stackexchange.com/questions/87625/
what-is-difference-between-user-space-and-kernel-space
但是我比较喜欢下面这篇的解释方法.
http://stackoverflow.com/questions/17208648/
linux-kernel-space-and-user-space
至于为什么要切这两个模式, 应该是要实现OS里面设计的分时多工系统,
因为硬件只有一个, 但是软件有千千万万个,
不独立一个区域管理, 有时资源(CPU, Memory, IO等)就会冲突而瘫痪.
再详细要去看有OS实作的书籍解释如何分配的算法了.
Many Thanks,
watz0n