操作系统–1.1 操作系统的类型与结构–1.1.2 操作系统的结构(二)
这个系列的内容主要是参考《系统架构设计师考试全程指导(第2版)》,若有侵权,请联系删除!
正文来了,上干货!
首先,我们来看看这个思维导图,图文结合一起学习,效率会更高。
思维导图会在我的学习过程中不断的完善,附上永久链接,点这里!
1.1 操作系统的类型与结构
操作系统是计算机系统中的核心系统软件,负责管理和控制计算机系统中硬件和软件资源,合理地组织计算机工作流程和有效利用资源,在计算机与用户之间起接口的作用。
1.1.2 操作系统的结构
①、无序结构
又称整体结构或模块组合结构。它以大型表格和队列为中心,操作系统的各部分程序围绕表格运行,整个系统是一个程序。
这种操作系统常称为面向过程的操作系统。操作系统由许多标准的、可兼容的基本单位构成(称为模块),各模块相对独立,模块质检通过规定的接口相互调用。
优点:缩短了系统的开发周期。
缺点:模块质检调用关系复杂、相互依赖,从而使分析、移植和维护系统较易出错;
②、层次结构
把一个大型复杂的操作系统分解成若干个单向依赖的层次,由多层的正确性保证操作系统的可靠性。层次结构清晰,大大地简化了接口的设计。
优点:有利于系统的增加或删改,易于保证可靠性,也便于维护和移植。
③、面向对象结构
基于面向对象程序设计的概念,采用了不同的对象技术。在计算机系统中对象是操作系统管理的信息和资源的抽象,是一种抽象的数据类型。可以把对象的操作系统,如windows server中有执行对象(例如,进程、线程、文件和令牌等)和内核对象(例如,时钟事件和信号等)。
优点:是适用于网络操作系统和分布式系统中;
④、对称多处理结构
如果一个操作系统在系统中的所有处理机运行且共享同一内存(内存储器、主存、实存),这样的系统就是一个对称多处理系统。
优点:适合共享存储器结构的多处理机系统,即紧耦合的多处理机系统。
⑤、微内核结构
把系统的公共部分抽象出来,形成一个底层核心,提供最基本的服务,其它功能以服务器形式简历在微内核之上,它具有良好的模块化和结构化特征,模块质检和上下层之间通过消息来通信。建立在微内核上的服务器可以根据不同的需要构造,从而形成不同的操作系统。
现代操作系统大多拥有两种工作状态:核心态和用户态。我们使用的一般应用程序工作在用户态,而内核模块和最基本的操作系统核心工作在核心态。
微内核结构由一个非常简单的硬件抽象层和一组比较关键的原语或系统调用组成,这些原语紧紧包括了建立一个系统必须的几个比分,如线程管理、地址空间和进程间通信等。微内核的目标是将系统服务的实现和系统的基本操作规则分离开来。例如,进程的输入/输出锁定服务可以由运行在微内核之外的一个服务组件来提供。这些模块化的用户态服务用于完成操作系统中比较高级的操作,这样的设计使内核中最核心的部分的设计更简单。一个服务组件的失效并不会导致整个系统的崩溃,内核需要做的,紧紧是重新启动这个组件,而不必影响其他的部分。
优点:
1、具有统一的接口,在用户态和核心态质检无需进程识别;
2、可伸缩性好,能适应硬件更新和应用变化;
3、可移植性好,所有与具体记起特征相关的代码,全部隔离在微内核中,如果操作系统要移植到不同的硬件平台上,只需修改微内核中极少代码即可;
4、实时性好,微内核可以方便地支持实时处理;
5、安全可靠性高,微内核蒋安全性作为系统内部特性来进行设计,对外仅使用少量应用编程接口;
6、支持分布式系统,支持多处理器的架构和高度并行的应用程序;
7、真正面向对象的操作系统;
由于操作系统核心常驻内存,而微内核结构精简了操作系统的核心功能,内核模块比较小,一些功能都移到了外存上,所以微内核结构十分适合嵌入式专用系统,对于通用性比较广的系统,将使CPU的通信开销增大,从而影响到计算机的运行速度。
以上,就是操作系统的结构相关内容,查阅相关的资料,发现很多都是千篇一律的,比如。。都没怎么说到缺点这块,欢迎留言,希望大家对能够对内容进行补充。
码农8年了,混了个不高不低的职位,最近两年接触的项目,对资质这块要求还是比较高的,所以自己也是下个决心,想把这个证考下来,有时候想得太多还不如动起来。如果说觉得这个证没什么用,何不把它考下来再去思考这个问题呢?
分享使人进步!共勉!