操作系统: 复习
操作系统的基本特性是:
- 并发(Concurrence)
- 共享(Sharing)
- 虚拟(Virtual)
- 异步(Asynchronism)
操作系统内的资源大致有: 处理机,存储器,I/O设备和文件,因此对应要完成的管理有处理机管理、存储器管理、设备管理、文件管理。
处理机管理要完成的功能
- 进程控制
- 进程同步
- 进程通信
- 调度
存储器管理要完成的功能
- 内存分配
- 内存保护
- 地址映射
- 内存扩充(虚拟存储)
设备管理要完成的功能
- 缓冲区管理
- 设备分配
- 设备处理(驱动管理)
文件管理要完成的功能
- 文件存储空间的管理
- 目录管理
- 读/写管理(读/写权限保护)
操作系统的结构设计:
无结构
模块化结构
分层次结构
微内核结构
TIP微内核能够很有效地支持多处理机的运行,很适合分布式系统。
一般把微内核操作系统分为两大部分: 微内核和多个服务器。
微内核结构的实现形式
把操作系统中最最最和核心的部分(与硬件处理紧密相关的部分、基本的功能、客户机和服务器之间的通信功能)放在微内核里,单独一个微内核并非是完整的操作系统,只是为这个操作系统提供一个基础。
单机微内核操作系统都采用C/S模式。微内核外部的各种服务器(进程服务器,I/O设备管理服务器)都作为一个个进程运行在用户态,通过通信机制,向内核提出请求,等待内核给出响应,以此来完成一个个功能。
TIP微内核采用了机制与策略分离的原理。机制处于微内核中。
机制:某一个功能的具体执行机构。
策略:组合运用某些机制,借助参数和算法来优化功能或是完成一个特定的功能。
微内核要具备的功能
资源管理功能
- 进程(线程)管理: 毕竟服务器也都作为进程运行在用户态。
- 低级存储器管理:只有最低级的管理功能,比如逻辑地址转换为物理地址的机制
- 设备管理:驱动程序、缓冲管理。
支撑功能
- 中断和陷入处理:中断和陷入处理是距离硬件最近的部分之一,微内核中只保留中断和陷入处理的前期部分,比如中断现场保护,识别中断和陷入的类型等。
- 时钟管理。
- 原语操作
微内核操作系统的优点与缺点
TIP微内核操作系统具有很强的可扩展性、灵活性:要添加/修改功能,只需要增加/修改用户态服务器即可。不会影响内核。
另外由于微内核经过严格测试,微内核几乎是完全正确的,服务器之间互不干扰,可靠性也非常高。
TIP由于和硬件紧密相关的部分几乎只有微内核,其余服务器部分几乎没有硬件依赖性,因此微内核操作系统的可移植性也非常高,不同平台只需要更改很小的内核部分即可。
微内核系统还很有效地可以支持分布式系统和网络系统[采用消息传递机制,很贴合分布式系统和网络系统]。
CAUTION由于微内核操作系统中,微内核和服务器之间、服务器和服务器之间的通信都要经过微内核提供的消息传递机制通信,因此完成某功能可能要经过许多次的通信和用户态/内核态转换,造成操作系统的运行效率有所降低。
比如此处应用程序进程希望调用显示服务进程时,就要经过4次用户/内核态转换!
一个想法是把一些常用的服务器功能塞进微内核里,这就向着宏内核靠近了,内核变大,可扩展性、灵活性变差,但是效率提升。