1.1 操作系统和内核简介
操作系统是指整个系统中负责完成最基本功能和系统管理的哪些部分,这些部分包括内核,设备驱动程序、启动引导程序、命令行shell或者其他种类的用户界面、基本的文件管理工具和系统工具。通常一个内核由负责相应终端的中断服务程序,负责管理多个进程从而分享处理器时间的调度程序,负责管理进程地址空间的内存管理程序和网络、进程间通信等系统服务程序共同组成。对于提供保护机制的现代系统来说,内核独立于普通应用吃呢工序,它一般处于系统态,拥有受保护的内存空间和访问硬件设备的所有权限。这种系统太和被保护起来的内存空间,统称为内核空间。内核还负责管理系统的硬件设备,现有的几乎所有的体系结构没包括全部Linux支持的体系结构,都提供中断机制。
实际上我们可以将处理器在任何指定时间点上的活动范围概括为下列三者之一:
- 运行于内核空间,处于进程上下文,代表某个特定的进程执行。
- 运行于内核空间,处于中断上下文,与任何进程无关,处理某个特定的中断
- 运行于用户空间,执行用户进程
Linux内核与Unix内核特点分析比较:
- Linux支持动态加载内核模块,尽管Linux内核也是单内核,可是允许在需要的时候动态加载和卸载部分内核代码。
- Linux支持对称多处理机制。
- Linux内核可以抢占,Linux内核具有允许在内核运行的任务优先执行的能力。
- Linux对线程支持的实现比较有意思:内核并不区分县城和其他的一般进程,对于内核来说,所偶的进程都一样-只不过其中的一些共享资源而已。
- Linux提供具有设备类的面向对象的设计模型,热插拔时间,以及用户空间的设备文件系统。