操作系统有哪些结构?

操作系统提供用户界面、程序执行、I/O操作、文件系统管理等服务。其结构从简单到模块化,包括层次结构、微内核和模块化设计。现代操作系统常采用模块化结构,允许动态加载服务,如Unix和Windows。资源分配、保护和安全是系统关键功能,同时,系统调用、用户接口和系统程序是服务的主要形式。
摘要由CSDN通过智能技术生成

操作系统的服务

操作系统以服务的形式向用户和程序提供环境执行程序。操作系统的基本服务有:
操作系统有一组服务用于提供用户功能:

  • 用户界面:几乎所有的操作系统都有用户界面,这种界面可有多种形式,一种是命令行界面,另一种是批处理界面。
  • 程序执行:系统应能加载程序到内存,并加以运行。
  • I/O操作:为了保证效率和保护,用户通常不应直接控制I/O设备,因此操作系统必须提供手段以便执行I/O
  • 文件系统操作
  • 通信
  • 错误检测

另外操作系统还有一组服务,不是为了帮助用户而是为了确保系统本身运行高效,多用户系统通过共享计算机资源可以提升效率。

  • 资源分配
  • 记账:我们需要记录用户使用资源的类型和数量,这种记录可以用于记账,或统计使用量。
  • 保护和安全

操作系统的服务形式主要分为三种:

  1. 系统调用:操作系统服务的编程接口-面向程序、高级语言编写(C/C++)、程序通过应用程序接口(API)访问
  2. 用户接口:分为命令行接口(CLI)和图形化接口(GUI),许多系统同时包含CLI和GUI界面。第一个图形界面是Xerox Alto。
  3. 系统程序:用于管理、维护操作系统,为用户使用操作系统服务。

操作系统结构

现代操作系统庞大而复杂,常用方法是将这种系统分成子系统或模块。

  1. 简单结构:早期操作系统采用无结构的简单结构,规模小、简单且功能有限,会造成混乱、不易维护更新和不适合大规模系统开发的问题。MS-DOS、早期UNIX就是这样一个操作系统。
  2. 层次结构:操作系统划分为若干层,在低层上构建高层,底层(0层)为硬件,最高层(N层为用户层),每层只使用低层次的功能和服务。分层的主要优点是在于简化了沟造和调试,所选的层次要求每层只能调用更低层的功能和服务。缺点是每层内容的定义困难且效率差。例子是THE系统(简单批处理系统)。
  3. 微内核:随着内核越来越大,越来越难管理,开始出现了微内核技术对内核进行模式化。微内核的主要功能是,为客户端程序和运行在用户空间的各种服务提供通信。通信是通过消息传递来提供的。微内核的优点之一是便于扩展操作系统。微内核也提供了更好的安全性和可靠性。微内核的缺点是用户空间和内核空间通信的系统开销增加。微内核的例子有:CMU的Mach(第一个微内核系统)、Tru64 Unix、Windows NT,2000以及后续版本。
  4. 模块结构:大部分现代操作系统采用模块结构,采用可加载的内核模块是目前操作系统设计的最佳方法。内核有一组核心组件,无论在启动还是运行时,内核都可通过模块链入额外服务。这种设计的思想是:内核提供核心服务,而其他服务可在内核运行时动态实现。动态链接服务优于直接添加新功能到内核,这是因为对于每次更改,后者都要重新编译内核。模块结构比层次结构更加灵活,并且比微内核更加高效(因为模块无需调用消息传递来进行通信)。例子有:现代UNIX和Windows。
  5. 混合系统:许多现代操作系统不是采用单一结构,通过采用多种结构获取性能、安全和使用等方面需求。

后续

如果想了解更多物联网、智能家居项目知识,可以关注我的项目实战专栏和软硬结合专栏。
欢迎关注公众号了解更多。
在这里插入图片描述

编写不易,感谢支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

物联网知识

编写不易,打赏支持一下我吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值