《操作系统内核.ppt》由会员分享,可在线阅读,更多相关《操作系统内核.ppt(15页珍藏版)》请在第壹文秘上搜索。
1、优秀精品课件文档资料优秀精品课件文档资料什么是内核什么是内核内核内核(kernel )是操作系统最基本的部分,是一个操作是操作系统最基本的部分,是一个操作系统的核心。负责管理系统的进程、内存、设备驱系统的核心。负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳动程序、文件和网络系统,决定着系统的性能和稳定性。定性。内核由操作系统中用于管理存储器、文件、外围设内核由操作系统中用于管理存储器、文件、外围设备和系统资源的部分组成,指的是一个提供硬件抽备和系统资源的部分组成,指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统象层、磁盘及文件系统控制、多任务等功能
2、的系统软件。软件。什么是内核什么是内核内核为众多应用程序提供对计算机硬件的安全访问内核为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。一个程序在什么时候对某部分硬件操作多长时间。直接对硬件操作是非常复杂的,所以内核通常提供直接对硬件操作是非常复杂的,所以内核通常提供一种硬件抽象的方法来完成这些操作。硬件抽象隐一种硬件抽象的方法来完成这些操作。硬件抽象隐藏了复杂性,为应用软件和硬件提供了一套简洁,藏了复杂性,为应用软件和硬件提供了一套简洁,统一的接口,使程序设计更为简单。统
3、一的接口,使程序设计更为简单。内核内核严格地说,内核并不是计算机系统中必要的组成部分。严格地说,内核并不是计算机系统中必要的组成部分。程序可以直接地被调入计算机中执行,这样的设计说程序可以直接地被调入计算机中执行,这样的设计说明了设计者不希望提供任何硬件抽象和操作系统的支明了设计者不希望提供任何硬件抽象和操作系统的支持,它常见于早期计算机系统的设计中。最终,一些持,它常见于早期计算机系统的设计中。最终,一些辅助性程序,例如程序加载器和调试器,被设计到机辅助性程序,例如程序加载器和调试器,被设计到机器核心当中,或者固化在只读存储器里。这些变化发器核心当中,或者固化在只读存储器里。这些变化发生时,
4、操作系统内核的概念就渐渐明晰起来了。生时,操作系统内核的概念就渐渐明晰起来了。一个内核不是一套完整的操作系统。一套基于一个内核不是一套完整的操作系统。一套基于Linux内核的完整操作系统叫作内核的完整操作系统叫作Linux操作系统,或是操作系统,或是GNU/Linux。Linux内核结构框图内核结构框图Linux内核组成内核组成1.进程调度程序进程调度程序(SCHED)负责控制负责控制进程访问进程访问CPU。保证进程能够。保证进程能够公平地访问公平地访问CPU,同时保证内,同时保证内核可以准时执行一些必需的硬核可以准时执行一些必需的硬件操作。件操作。2.内存管理程序内存管理程序(MM)使多个进
5、程使多个进程可以安全地共享机器的主存系可以安全地共享机器的主存系统,并支持虚拟内存。统,并支持虚拟内存。3.虚拟文件系统虚拟文件系统(VFS)。通过提供一个所有设备的公共文件接口,。通过提供一个所有设备的公共文件接口, VFS抽象了不同硬件设备的细节。此外,抽象了不同硬件设备的细节。此外, VFS支持与其他操作系支持与其他操作系统兼容的不同的文件系统格式。统兼容的不同的文件系统格式。4.网络接口网络接口(NET)。提供对许多建网标准和网络硬件的访问。提供对许多建网标准和网络硬件的访问。5.进程间通信进程间通信(IPC)子系统。为进程之间的通信提供一些机制。子系统。为进程之间的通信提供一些机制。
6、 Linux内核组成内核组成这些子系统虽然实现的功能相对独立,但存在着较这些子系统虽然实现的功能相对独立,但存在着较强的依赖性强的依赖性(调用依赖模块中相应的函数调用依赖模块中相应的函数),所以说,所以说linux内核是单块结构内核是单块结构(monolithic)的,而的,而windows体系体系结构是微内核结构是微内核(microkernel)的。的。 什么是单内核什么是单内核单内核也叫集中式操作系统。整个系统是一个大模单内核也叫集中式操作系统。整个系统是一个大模块,可以被分为若干逻辑模块,即处理器管理、存块,可以被分为若干逻辑模块,即处理器管理、存储器管理、设备管理和文件管理,其模块间的
7、交互储器管理、设备管理和文件管理,其模块间的交互是通过直接调用其他模块中的函数实现的。是通过直接调用其他模块中的函数实现的。单内核模型以提高系统执行效率为设计理念,因为单内核模型以提高系统执行效率为设计理念,因为整个系统是一个统一的内核,所以其内部调用效率整个系统是一个统一的内核,所以其内部调用效率很高。很高。单内核特点单内核特点 单内核的缺点也正是由于其源代码是一个整单内核的缺点也正是由于其源代码是一个整体而造成的,通常各模块之间的界限并不特体而造成的,通常各模块之间的界限并不特别清晰,模块间的调用比较随意,所以进行别清晰,模块间的调用比较随意,所以进行系统修改或升级时,往往系统修改或升级时
8、,往往“牵一发而动全牵一发而动全身身”,导致工作量加大,使其难于维护。,导致工作量加大,使其难于维护。什么是微内核什么是微内核微内核是指把操作系统结构中的内存管理、设备管微内核是指把操作系统结构中的内存管理、设备管理、文件系统等高级服务功能尽可能地从内核中分理、文件系统等高级服务功能尽可能地从内核中分离出来,变成几个独立的非内核模块,而在内核只离出来,变成几个独立的非内核模块,而在内核只保留少量最基本的功能,使内核变得简洁可靠,因保留少量最基本的功能,使内核变得简洁可靠,因此叫微内核。此叫微内核。微内核实现的基础是操作系统理论层面的逻辑功能微内核实现的基础是操作系统理论层面的逻辑功能划分。几大
9、功能模块在理论上是相互独立的,形成划分。几大功能模块在理论上是相互独立的,形成比较明显的界限。比较明显的界限。微内核特点微内核特点 充分的模块化,可独立更换任一模块而不会影响其充分的模块化,可独立更换任一模块而不会影响其他模块,从而方便第三方开发、设计模块。他模块,从而方便第三方开发、设计模块。未被使用的模块功能不必运行,因而能大幅度减少未被使用的模块功能不必运行,因而能大幅度减少系统的内存需求。系统的内存需求。具有很高的可移植性,理论上讲只需要单独对各微具有很高的可移植性,理论上讲只需要单独对各微内核部分进行移植修改即可。由于微内核的体积通内核部分进行移植修改即可。由于微内核的体积通常很小,
10、而且互不影响,因此工作量很小。常很小,而且互不影响,因此工作量很小。单内核与微内核的比较单内核与微内核的比较可靠性:单内核操作系统的设计特点决定了当某一可靠性:单内核操作系统的设计特点决定了当某一服务出错时,可能会造成整个系统的崩溃的结果。服务出错时,可能会造成整个系统的崩溃的结果。所以,微内核的可靠性较单内核高。所以,微内核的可靠性较单内核高。性能:微内核操作系统调用系统服务时需通过发送性能:微内核操作系统调用系统服务时需通过发送消息给相关程序才能完成,所以开销较大。消息给相关程序才能完成,所以开销较大。小结小结内核在操作系统中占有什么的地位、有什么结构?内核在操作系统中占有什么的地位、有什么结构?单内核与微内核各有什么特点?单内核与微内核各有什么特点?在嵌入式系统中,选择哪种类型的内核更好?在嵌入式系统中,选择哪种类型的内核更好?