操作系统的体系结构有哪些?
我们可以利用时钟中断实现计时功能。
原语是一种特殊的程序,具有原子性。也就是说,这段程序的运行必须一气呵成,不能中断。
内核是操作系统最基本,最核心的部分。
实现操作系统内核功能的哪些程序就是内核程序。
原语:
管理工作
注意:对这些管理工作更多的是对数据结构的操作,不会直接涉及硬件。
我们需要注意的是:
操作系统内核需要运行在内核态。
操作系统的非内核功能运行在用户态。
案例
注意:变态的过程是需要成本,要消耗不少时间,频繁地变态会降低系统性能。
大内核与小内核的优缺点
典型的大内核操作系统:Linux,UNIX
典型的微内核操作系统:Windows NT
分层结构
特性、思想:内核分多层,每层可以单向调用更低一层提供的接口。
优点:便于调试和验证,自底向上逐层调试验证。
易扩充和易维护,各层之间调用接口清晰固定。
缺点:仅仅可以调用相邻低层,难以合理定义各层的边界。
效率低,不可跨层调用,系统调用执行时间长。
最底层是硬件,最高层是用户接口。
模块化
特性、思想:将内核划分为多个模块,各个模块之间相互协作。
内核=主模块+可加载内核模块。
主模块:只负责核心功能,如进程调度、内存管理。
可加载内核模块:可以动态加载新模块到内核,而无需重新编译整个内核。
优点:
1.模块间逻辑清晰,易于维护,确定模块间接口后即可多模块同时开发
2.支持动态加载新的内核模块,增强OS适应性。
3.任何模块都可以直接调用其他模块,无需采用消息传递进行通信,效率高。
缺点
1.模块间的接口定义未必合理,实用。
2.模块间相互依赖,更难调试和验证。
外核
特性、思想:内核负责进程调度,进程通信等功能,外核负责为用户进程分配未经抽象的硬件资源,且由外核负责保证资源使用安全。
优点:
1.外核柯直接给用户进程分配“不虚拟、不抽象”的硬件资源,是用户进程可以更加灵活的使用硬件资源。
2.减少了虚拟硬件资源的“映射层”,提升效率。
缺点
1.降低了系统的一致性
2.使系统变得更加复杂
注意:本文章是笔者的学习笔记,如果您在浏览过程中遇到了问题,还请您在第一时间在评论区留言,笔者看到后会在第一时间处理。