Linux Kernel Development Notes - 1

1 Linux内核简介

 

  1.1

 

  1.2 操作系统和内核简介

      操作系统是指在整个系统中负责完成最基本功能和系统管理的部分。这些部分应该包括内核设备驱动程序启动引导程序命令行shell或者其他种类的用户界面、基本的文件管理工具和系统工具。

      内核是操作系统的内在核心。由中断服务程序调度程序内存管理网络进程间通信等系统服务组成。

      内核空间:Linux系统对自身进行了划分,一部分核心软件独立于普通应用程序,运行在较高的特权级别上,它们驻留在被保护的内存空间上,拥有访问硬件设备的所有权限,Linux将此称为内核空间。

      用户空间应用程序则是在“用户空间”中运行。运行在用户空间的应用程序只能看到允许它们使用的部分系统资源,并且不能使用某些特定的系统功能,也不能直接访问内核空间和硬件设备,以及其他一些具体的使用限制。

      将用户空间和内核空间置于这种非对称访问机制下有很好的安全性,能有效抵御恶意用户的窥探,也能防止质量低劣的用户程序的侵害,从而使系统运行得更稳定可靠。

      应用程序 → 库函数 → 系统调用

      处理器任何时间点的活动范围概括为下列三者之一:

        运行于内核空间,处于Process Context,代表某个特定的进程执行。

        运行于内核空间,处于Interrupt Context,与任何进程无关,处理某个特定的中断

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

      eg: 当CPU空闲时,内核就运行一个空进程,处于Process Context,运行于内核空间。

 

  1.3 Linux → 单内核,运行于单独的内核地址。

      Linux支持动态加载内核模块、对称多处理器(SMP)、抢占(preemptive)、不区分线程和进程、面向对象的设备模型,热插拔事件以及用户空间的设备文件系统(sysfs)。

 

  1.4

  1.5

posted @ 2010-10-04 13:56  yangzd  阅读(251)  评论(0编辑  收藏  举报