Linux只有内核可以直接运行吗,Linux内核学习(一)

  • Post author:
  • Post category:linux


“从一个业内人士的视角来欣赏和理解Linux内核的设计和实现之美。”

内核空间:内核独立于普通应用程序,它一般处于系统态,拥有受保护的内存空间和访问硬件设备的所有权限,这种系统态和被保护起来的内存空间,统为内核空间。当内核运行时,系统以内核态进入内核空间执行。

用户空间:应用程序在用户空间执行,它们只能看到允许它们使用的部分系统资源,并且只使用某些特定的系统功能,不能直接访问硬件,也不能访问内核划给别人的内在范围,还有其他一此使用限制。当执行一个普通用户程序时,系统将以用户态进入用户空间执行。

应用程序与内核通信:当一个应用程序执行一条系统调用,我们说内核正在代其执行。如果进一步解释,在这种情况下,应用程序被称为通过系统调用在内核空间运行,而内核被称为运行于进程上下文中,这种交互关系—-应用程序通过系统调用界面陷入内核—-是应用程序完成其工作的基本行为方式。

每个处理器在任何指定时间点上的活动必然为下列三者之一

1.运行于用户空间,执行用户进程。

2.运行于内核空间,处于进程上下文,代表某个特定的进程执行。

3.运行于内术空间,处于中断上下文,与任何进程无关,处理某个特定的中断。

075db425b6a3ca200054cfa08f1c1fd3.png

应用程序、内核与硬件的关系

单内核与微内核设计之比较:

单内核:所谓单内核就是把它从整体上作为