当前位置: 首页 > news >正文

操作系统(4)操作系统的结构

一、无序结构(整体结构或模块组合结构)

1.特点

       以大型表格和队列为中心,操作系统的各部分程序围绕着这些表格进行。操作系统由许多标准的、可兼容的基本单位(称为模块)构成,模块之间通过规定的接口进行调用。

2.优缺点

优点:缩短了系统的开发周期。

缺点:模块之间的调用关系复杂、相互依赖,使得系统的分析、移植和维护变得较为困难。

二、模块化结构

1.特点

       将整个操作系统按功能划分为若干个模块,每个模块实现一个特定的功能。模块之间的通信只能通过预先定义的接口进行,模块之间的相互关系仅限于接口参数的传递。

2.优缺点

优点:具有一定的可维护性,模块之间通过函数调用来实现,效率较高。降低了模块间的耦合度,使得操作系统的结构变得相对清晰。

缺点:尽管降低了耦合度,但耦合度依旧比较高,且整个系统仍是无序的。

三、层次式结构

1.特点

       将操作系统所有的功能模块按照功能调用次序分别排成若干层。各层之间的模块只有单向调用关系,例如只允许上层或外层模块调用下层或内层模块。

2.优点

       把功能实现的无序性改成有序性,显著提高了设计的准确性。把模块间的复杂依赖关系改为单向依赖关系,进一步降低了耦合度。

四、面向对象结构

特点

       1.把对象作为系统中的最小单位。

       2.由对象、对象操作、对象保护组成的操作系统即为面向对象的操作系统。

五、对称多处理结构

特点:如果一个操作系统在系统中的所有处理器上运行且共享同一内存,这样的系统就是一个对称多处理器系统。

六、微内核结构

特点

       1.把系统的公共部分抽象出来,形成一个底层核心,提供最基本的服务。

       2.其他功能以服务器形式建立在微内核之上。

       3.由一个非常简单的硬件抽象层和一组比较关键的原语或系统调用组成。

优缺点

优点:具有良好的模块化和结构化特征,模块之间和上下层之间通过消息来通信。由于操作系统核心常驻内存,而微内核结构精简了操作系统的核心功能,内核规模比较小,一些功能都能移到外存上,所以微内核结构十分适合嵌入式的专用系统。

缺点:由于消息传递需要经过微内核,虽然增加了安全性,但也带来了较大的时间开销。

七、现代操作系统的基本组成

1.存储管理:解决内存分配与回收、内存保护、地址映射、虚拟存储等问题。

2.进程管理:包含进程描述、进程的状态及转换、进程控制和调度、进程间通信等多个部分。

3.设备管理:涉及到中断技术、I/O硬件与I/O软件、数据传输控制技术等。

4.文件管理:要解决文件的命名、文件属性、文件操作、文件的逻辑与物理结构、文件的存取方式、磁盘物理空间管理、目录、文件可靠性等问题。

5.用户接口:一般包含命令接口(如shell命令)和程序接口。

 结语     

仅仅具备出色的智力是不够的

主要的问题是如何出色地使用它

!!!

http://www.lryc.cn/news/502403.html

相关文章:

  • Python数据分析(OpenCV视频处理)
  • 跨域 Cookie 共享
  • 【视频异常检测】Real-Time Anomaly Detection and Localization in Crowded Scenes 论文阅读
  • 设计模式12:抽象工厂模式
  • 论文学习——多种变化环境下基于多种群进化的动态约束多目标优化
  • Jenkins参数化构建详解(This project is parameterized)
  • Cerebras 推出 CePO,填补推理与规划能力的关键空白
  • 广东省食品销售中高级题库及答案
  • JAVA基础-深入理解Java内存模型(一)-- 重排序与先行发生原则(happens-before)
  • 【Lambda】java之lambda表达式stream流式编程操作集合
  • 家具购物小程序+php
  • 【GIS教程】使用GDAL-Python将tif转为COG并在ArcGIS Js前端加载-附完整代码
  • VB.net进行CAD二次开发(二)与cad交互
  • 【NLP 11、Adam优化器】
  • 51单片机应用开发(进阶)---串口接收字符命令
  • redis 怎么样删除list
  • 【数据结构——内排序】快速排序(头歌实践教学平台习题)【合集】
  • npm或yarn包配置地址源
  • STUN服务器用于内网NAT的方案
  • Linux 简单命令总结
  • Vue.js组件开发:提升你的前端工程能力
  • 使用 Pandas 读取 JSON 数据的五种常见结构解析
  • C++鼠标轨迹算法(鼠标轨迹模拟真人移动)
  • Go mysql驱动源码分析
  • GNSS误差源及差分定位
  • pg数据类型
  • 【java】finalize方法
  • HNU_多传感器(专选)_作业4(构建单层感知器实现分类)
  • 以太网链路详情
  • vue3 setup语法,子组件点击一个元素打印了这个元素的下标id,怎么传递给父组件,让父组件去使用