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

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

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

1.特点

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

2.优缺点

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

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

二、模块化结构

1.特点

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

2.优缺点

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

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

三、层次式结构

1.特点

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

2.优点

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

四、面向对象结构

特点

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

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

五、对称多处理结构

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

六、微内核结构

特点

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

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

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

优缺点

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

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

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

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

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

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

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

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

 结语     

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

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

!!!

相关文章:

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

一、无序结构(整体结构或模块组合结构) 1.特点: 以大型表格和队列为中心,操作系统的各部分程序围绕着这些表格进行。操作系统由许多标准的、可兼容的基本单位(称为模块)构成,模块之间通过规定的…...

Python数据分析(OpenCV视频处理)

处理视频我们引入的还是numpy 和 OpenCV 的包 引入方式如下: import numpy as np import cv2 我们使用OpenCV来加载本地视频,参数就是你视频的路径就可以 #加载视频 cap cv2.VideoCapture(./1.mp4) 下面我们进行读取视频 #读取视频 flag,frame cap.re…...

跨域 Cookie 共享

跨域请求经常遇到需要携带 cookie 的场景,为了确保跨域请求能够携带用户的认证信息或其他状态,浏览器提供了 withCredentials 这个属性。 如何在 Axios 中使用 withCredentials 为了在跨域请求中携带 cookie,需要在 Axios 配置中设置 withCr…...

【视频异常检测】Real-Time Anomaly Detection and Localization in Crowded Scenes 论文阅读

文章信息: 发表于:CVPR2015(workshop) 原文链接:https://www.cv-foundation.org/openaccess/content_cvpr_workshops_2015/W04/papers/Sabokrou_Real-Time_Anomaly_Detection_2015_CVPR_paper.pdf Real-Time Anomaly D…...

设计模式12:抽象工厂模式

系列总链接:《大话设计模式》学习记录_net 大话设计-CSDN博客 参考: C设计模式:抽象工厂模式(风格切换案例)_c 抽象工厂-CSDN博客 1.概念 抽象工厂模式(Abstract Factory Pattern)是软件设计…...

论文学习——多种变化环境下基于多种群进化的动态约束多目标优化

论文题目:Multipopulation Evolution-Based Dynamic Constrained Multiobjective Optimization Under Diverse Changing Environments 多种变化环境下基于多种群进化的动态约束多目标优化(Qingda Chen , Member, IEEE, Jinliang Ding , Senior Member, …...

Jenkins参数化构建详解(This project is parameterized)

本文详细介绍了Jenkins中不同类型的参数化构建方法,包括字符串、选项、多行文本、布尔值和git分支参数的配置,以及如何使用ActiveChoiceParameter实现动态获取参数选项。通过示例展示了传统方法和声明式pipeline的语法 文章目录 1. Jenkins的参数化构建1…...

Cerebras 推出 CePO,填补推理与规划能力的关键空白

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...

广东省食品销售中高级题库及答案

1.有关食品安全标准的说法正确的是(C)。 A.鼓励性标准 B.推荐性标准 C.强制性标准 D.引导性标准 2.食品经营许可证载明的许可事项发生变化的,食品经营者应当在变化后(D)个工作日内向原发证的食品药品监督管理部门申请变更经营许可。 A.3 B.5 C.7 D.10 3.食品销售经营者对食品…...

JAVA基础-深入理解Java内存模型(一)-- 重排序与先行发生原则(happens-before)

深入理解Java内存模型(一)-- 重排序 很棒的一个关于Java内存模型系列文章,首先感谢作者,转载自深入理解java内存模型系列文章 ,为了方便阅读,做了一些内容整合和重排版。 提纲 Java线程之间的通信对程序…...

【Lambda】java之lambda表达式stream流式编程操作集合

java之lambda表达式&stream流式编程操作集合 1 stream流概念1.1 中间操作1.1.1 无状态操作1.1.2 有状态操作 1.2 终端操作1.2.1 非短路操作1.2.2 短路操作 2 steam流的生成2.1 方式一:数组转为stream流2.2 方式二:集合转为steam流2.3 方式三&#xf…...

家具购物小程序+php

基于微信小程序的家具购物小程序的设计与实现 摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了基于微信小程序的家具购物小程序的设计与实现的开发全过程。通过分析基于微信小程序的家具购物小程序的设计与实…...

【GIS教程】使用GDAL-Python将tif转为COG并在ArcGIS Js前端加载-附完整代码

目录 一、数据格式 二、COG特点 三、使用GDAL生成COG格式的数据 四、使用ArcGIS Maps SDK for JavaScript加载COG格式数据 一、数据格式 COG(Cloud optimized GeoTIFF)是一种GeoTiff格式的数据。托管在 HTTP 文件服务器上,可以代替geose…...

VB.net进行CAD二次开发(二)与cad交互

开发过程遇到了一个问题&#xff1a;自制窗口与控件与CAD的交互。 启动类&#xff0c;调用非模式窗口 Imports Autodesk.AutoCAD.Runtime Public Class Class1 //CAD启动界面 <CommandMethod("US")> Public Sub UiStart() Dim myfrom As Form1 New…...

【NLP 11、Adam优化器】

祝你先于春天&#xff0c; 翻过此间铮铮山峦 —— 24.12.8 一、Adam优化器的基本概念 定义 Adam&#xff08;Adaptive Moment Estimation&#xff09;是一种基于梯度的优化算法&#xff0c;用于更新神经网络等机器学习模型中的参数。它结合了动量法&#xff08;Momentum&…...

51单片机应用开发(进阶)---串口接收字符命令

实现目标 1、巩固UART知识&#xff1b; 2、掌握串口接收字符数据&#xff1b; 3、具体实现目标&#xff1a;&#xff08;1&#xff09;上位机串口助手发送多字符命令&#xff0c;单片机接收命令作相应的处理&#xff08;如&#xff1a;openled1 即打开LED1;closeled1 即关…...

redis 怎么样删除list

在 Redis 中&#xff0c;可以使用以下方法删除列表或列表中的元素&#xff1a; 1. 删除整个列表 使用 DEL 命令删除一个列表键&#xff1a; DEL mylist这个命令会删除键 mylist 及其值&#xff08;无论 mylist 是一个列表还是其他类型的键&#xff09;。 2. 删除列表中的部分…...

【数据结构——内排序】快速排序(头歌实践教学平台习题)【合集】

目录&#x1f60b; 任务描述 测试说明 我的通关代码: 测试结果&#xff1a; 任务描述 本关任务&#xff1a;实现快速排序算法。 测试说明 平台会对你编写的代码进行测试&#xff1a; 测试输入示例&#xff1a; 10 6 8 7 9 0 1 3 2 4 5 (说明&#xff1a;第一行是元素个数&a…...

npm或yarn包配置地址源

三种方法 1.配置.npmrc 文件 在更目录新增.npmrc文件 然后写入需要访问的包的地址 2.直接yarn.lock文件里面修改地址 简单粗暴 3.yarn install 的时候添加参数 设置包的仓库地址 yarn config set registry https://registry.yarnpkg.com 安装&#xff1a;yarn install 注意…...

STUN服务器用于内网NAT的方案

在内网中部署 STUN 服务器的场景通常用于处理多层 NAT 或内网客户端之间的通信需求&#xff0c;尤其是在大企业或学校等复杂网络环境下。通过 STUN 服务器&#xff0c;可以帮助客户端设备检测和适配 NAT 转换规则&#xff0c;进而支持 WebRTC 或其他实时通信技术的正常运行。 …...

Linux 简单命令总结

1. 简单命令 1.1. ls 列出该目录下的所有子目录与文件&#xff0c;后面还可以跟上一些选项 常用选项&#xff1a; ・-a 列出目录下的所有文件&#xff0c;包括以。开头的隐含文件。 ・-d 将目录象文件一样显示&#xff0c;而不是显示其下的文件。如&#xff1a;ls -d 指定目…...

Vue.js组件开发:提升你的前端工程能力

Vue.js 是一个用于构建用户界面的渐进式框架&#xff0c;它允许开发者通过组件化的方式创建可复用且易于管理的代码。在 Vue.js 中开发组件是一个直观且高效的过程&#xff0c;下面我将概述如何创建和使用 Vue 组件&#xff0c;并提供一些最佳实践。 1. 创建基本组件 首先&am…...

使用 Pandas 读取 JSON 数据的五种常见结构解析

文章目录 引言JSON 数据的五种常见结构1. split 结构2. records 结构3. index 结构4. columns 结构5. values 结构 引言 在日常生活中&#xff0c;我们经常与各种数据打交道&#xff0c;无论是从网上购物的订单信息到社交媒体上的动态更新。JSON&#xff08;JavaScript Object…...

C++鼠标轨迹算法(鼠标轨迹模拟真人移动)

一.简介 鼠标轨迹算法是一种模拟人类鼠标操作的程序&#xff0c;它能够模拟出自然而真实的鼠标移动路径。 鼠标轨迹算法的底层实现采用C/C语言&#xff0c;原因在于C/C提供了高性能的执行能力和直接访问操作系统底层资源的能力。 鼠标轨迹算法具有以下优势&#xff1a; 模拟…...

Go mysql驱动源码分析

文章目录 前言注册驱动连接器创建连接交互协议读写数据读数据写数据 mysqlConncontext超时控制 查询发送查询请求读取查询响应 Exec发送exec请求读取响应 预编译客户端预编译服务端预编译生成prepareStmt执行查询操作执行Exec操作 事务读取响应query响应exec响应 总结 前言 go…...

GNSS误差源及差分定位

GNSS误差源&#xff1a; &#xff08;一&#xff09;卫星星历误差 由星历信息所得出的卫星位置坐标与实际位置坐标的偏差就是星历误差。星历信息是由 GPS 地面部分测量计算后传入空间部分的。由于卫星在运动中要受到各种摄动力的作用, 而地面部分又很难精确测量这些作用力,…...

pg数据类型

1、数值类型&#xff1a; smallint 2 字节 小范围整数 -32768 到 32767 integer 4 字节 常用的整数 -2147483648 到 2147483647 bigint 8 字节 大范围整数 -9223372036854775808 到 9223372036854775807 decimal 可变长 用户指定的精度&#x…...

【java】finalize方法

目录 1. 说明2. 调用过程3. 注意事项 1. 说明 1.finalize方法是Java中Object类的一个方法。2.finalize方法用于在对象被垃圾回收之前执行一些清理工作。3.当JVM&#xff08;Java虚拟机&#xff09;确定一个对象不再被引用、即将被回收时&#xff0c;会调用该对象的finalize方法…...

HNU_多传感器(专选)_作业4(构建单层感知器实现分类)

1. (论述题)&#xff08;共1题&#xff0c;100分&#xff09; 假设平面坐标系上有四个点&#xff0c;要求构建单层感知器实现分类。 (3,3),(4,3) 两个点的标签为1&#xff1b; (1,1),(0,2) 两个点的标签为-1。 思路&#xff1a;要分类的数据是2维数据&#xff0c;需要2个输入…...

以太网链路详情

文章目录 1、交换机1、常见的概念1、冲突域2、广播域3、以太网卡1、以太网卡帧 4、mac地址1、mac地址表示2、mac地址分类3、mac地址转换为二进制 2、交换机的工作原理1、mac地址表2、交换机三种数据帧处理行为3、为什么会泛洪4、转发5、丢弃 3、mac表怎么获得4、同网段数据通信…...

网站图标按钮用什么做/八百客crm系统登录入口

1. 题目 原题链接 实现 pow(x, n) &#xff0c;即计算 x 的 n 次幂函数&#xff08;即&#xff0c;xn&#xff09;。 示例 1&#xff1a; 输入&#xff1a;x 2.00000, n 10 输出&#xff1a;1024.00000 示例 2&#xff1a; 输入&#xff1a;x 2.10000, n 3 输出&…...

wordpress畅言插件/自媒体怎么入门

小程序赛道要逆天了&#xff0c;继微信小程序&#xff0c;百度小程序&#xff0c;支付宝小程序&#xff0c;头条小程序&#xff0c;360PC小程序之后&#xff0c;中国移动宣布也将进入小程序赛道&#xff0c;推出短信小程序&#xff0c;覆盖生活吃穿住行所有场景! 了解到&#x…...

ie浏览器哪个做网站稳定/天津百度网站快速排名

3 交互性与用户界面&#xff1a;本章介绍如何取得用户输入&#xff0c;即键盘与鼠标事件。还要介绍把输入集成到游戏中&#xff0c;并介绍如何用Swing实现用户界面。下面先看一个简单类来简化速测程序的实现&#xff0c;清单 3.1 GameCore 类就是起这个作用。它实现了一些常见…...

网站的设计与开发论文/网站宣传方法

红黑树插入和删除结点的全程演示 作者&#xff1a;July、saturnman。时间&#xff1a;二零一一年三月二十八日。出处&#xff1a;http://blog.csdn.net/v_JULY_v。声明&#xff1a;版权所有&#xff0c;侵权必究。----------------------------------- 引言&#xff1a;目前国内…...

简易广州网站建设/外贸建站seo

第四章 进程 1、windows支持两种应用程序&#xff1a;GUI程序和CUI程序&#xff0c;即图形用户界面程序和控制台应用程序。 在Visual Studio中&#xff0c;可以使用项目属性的连接器开关设置选择哪种程序&#xff0c;/SUBSYSTEM:CONSOLE和/SUBSYSTEM:WINDOWS 当运行应用程序时操…...

wordpress 仿钛媒体/微博推广方法有哪些

最近再次复习C语言&#xff0c;用的教材是《C Primer》这本教材&#xff0c; 看到第二章的时候&#xff0c;里面有个问题困扰了我。 于是想上网查查怎么回事&#xff0c; 结果看了很久都没有得到一个满意的答案。 书上有这么一段话&#xff1a;当将一个超出数据类型取值范围的值…...