一篇文章带您了解操作系统的体系结构

操作系统的体系结构有哪些?

 

我们可以利用时钟中断实现计时功能。

原语是一种特殊的程序,具有原子性。也就是说,这段程序的运行必须一气呵成,不能中断。

内核是操作系统最基本,最核心的部分。

实现操作系统内核功能的哪些程序就是内核程序。

原语:

 管理工作

注意:对这些管理工作更多的是对数据结构的操作,不会直接涉及硬件。

 

我们需要注意的是:

操作系统内核需要运行在内核态。

操作系统的非内核功能运行在用户态。

案例

 

 

注意:变态的过程是需要成本,要消耗不少时间,频繁地变态会降低系统性能。

大内核与小内核的优缺点

典型的大内核操作系统:Linux,UNIX

典型的微内核操作系统:Windows NT

分层结构

特性、思想:内核分多层,每层可以单向调用更低一层提供的接口。

优点:便于调试和验证,自底向上逐层调试验证。

易扩充和易维护,各层之间调用接口清晰固定。

缺点:仅仅可以调用相邻低层,难以合理定义各层的边界。

效率低,不可跨层调用,系统调用执行时间长。

最底层是硬件,最高层是用户接口。

模块化

特性、思想:将内核划分为多个模块,各个模块之间相互协作。

内核=主模块+可加载内核模块。

主模块:只负责核心功能,如进程调度、内存管理。

可加载内核模块:可以动态加载新模块到内核,而无需重新编译整个内核。

优点

1.模块间逻辑清晰,易于维护,确定模块间接口后即可多模块同时开发

2.支持动态加载新的内核模块,增强OS适应性。

3.任何模块都可以直接调用其他模块,无需采用消息传递进行通信,效率高。

缺点

1.模块间的接口定义未必合理,实用。

2.模块间相互依赖,更难调试和验证。

外核

特性、思想:内核负责进程调度,进程通信等功能,外核负责为用户进程分配未经抽象的硬件资源,且由外核负责保证资源使用安全。

优点

1.外核柯直接给用户进程分配“不虚拟、不抽象”的硬件资源,是用户进程可以更加灵活的使用硬件资源。

2.减少了虚拟硬件资源的“映射层”,提升效率。

缺点

1.降低了系统的一致性

2.使系统变得更加复杂

注意:本文章是笔者的学习笔记,如果您在浏览过程中遇到了问题,还请您在第一时间在评论区留言,笔者看到后会在第一时间处理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/564842.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Opencv Python图像处理笔记一:图像、窗口基本操作

文章目录 前言一、输入输出1.1 图片读取显示保存1.2 视频读取保存1.3 文件读取保存 二、GUI2.1 窗口2.2 轨迹条2.3 画图2.4 鼠标回调 三、图像入门操作3.1 颜色空间转化3.2 通道分离合并3.3 添加边框3.4 算数操作 四、二值化4.1 普通4.2 自适应4.3 Otsu 参考 前言 随着人工智能…

PS入门|蒙版到底是个什么样的功能?看完就明白了

前言 前段时间一直说蒙版蒙版什么的,很多小伙伴估计都听得一头雾水。 抠个图要加蒙版,调个色要加蒙版。 小白感觉这个蒙版就像调味剂一样,啥都需要加一个蒙版。 动不动就加个蒙版,究竟是干啥用的? 今天咱们就深入来…

【深度学习-第5篇】使用Python快速实现CNN分类(模式识别)任务,含一维、二维、三维数据演示案例(使用pytorch框架)

在之前的文章中介绍了CNN的图解入门,CNN的MATLAB分类实现,CNN的MATLAB回归实现。 卷积神经网络(Convolutional Neural Networ,简称CNN)是一种广泛应用于图像识别领域的深度学习算法。它通过模拟人类视觉系统的层次结构,可以自动提…

【linux】软件工具安装 + vim 和 gcc 使用(上)

目录 1. linux 安装软件途径 2. rzsz 命令 3. vim 和 gcc 使用 a. vim的基本概念 b. 命令模式下的指令 c. 底行模式下的指令 1. linux 安装软件途径 源代码安装rpm安装 -- linux安装包yum安装(最好,可以解决安装源,安装版本&#xff0…

实战 | 无视杀软使用远控工具进行横向移动Tips

实战 | 无视杀软使用远控工具进行横向移动Tips。 在有杀软拦截,CS无法上线的情况下,经常用到todesk和向日葵这两个远控工具进行横向移动。不过这两个工具现在好像不怎么好用了。不过无所谓,用其他的就是了,听说最近GotoHTTP很火&…

手拉手安装Kafka2.13发送和消费消息

Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。 Kafka启动方式有Zookeeper和Kraft,两种方式只能选择其中一种启动,不能同时使用。 Kafka下载https://downloads.apache.org/kafka/3.7.0/kafka_2.…

四川易点慧电子商务抖音小店:安全正规,购物新选择

在当今互联网高速发展的时代,电子商务已经成为人们日常购物的重要组成部分。四川易点慧电子商务抖音小店作为新兴的电商平台,凭借其安全正规的经营理念和便捷高效的购物体验,正逐渐赢得消费者的信赖和喜爱。 一、平台背景实力雄厚 四川易点慧…

【Linux系统化学习】线程控制

目录 前言 POSIX线程库 线程控制 创建线程 线程终止 pthread_exit()函数 pthread_cancel()函数(会在下面线程等待部分详解) 线程等待 pthread_join()函数 获取线程退出码 分离线程 线程取消(pthread_cancel()函数) 线程ID及进程…

Scikit-Learn支持向量机分类

Scikit-Learn 支持向量机分类 1、支持向量机(SVM)1.1、SVM概述1.2、SVM原理1.3、SVM的损失函数1.4、支持向量机分类的优缺点 2、Scikit-Learn支持向量机分类2.1、Scikit-Learn支持向量机分类API2.2、支持向量机分类初体验(手写数字识别&#…

【工具-PyCharm】

工具-PyCharm ■ PyCharm-简介■ PyCharm-安装■ PyCharm-使用■ 修改主题■ 设置字体■ 代码模板■ 解释器配置■ 文件默认编码■ 快捷键■ 折叠■ 移动■ 注释■ 编辑■ 删除■ 查看■ 缩进■ 替换 ■ PyCharm-简介 官方下载地址 Professional:专业版&#xff0…

头脑风暴法的四个原则,设计师必看!

俗话说 “三个臭皮匠超越诸葛亮”,这在工作场景中也是如此。最常见的工作场景是会议。会议的目的很多,如工作报告、产品宣传等。头脑风暴是一种工作会议。其目的是集思广益,充分发挥团队的智慧。有效的头脑风暴不仅考验组织者的会议控制能力&…

【前端Vue】Vue3+Pinia小兔鲜电商项目第6篇:整体认识和路由配置,本资源由 收集整理【附代码文档】

Vue3ElementPlusPinia开发小兔鲜电商项目完整教程(附代码资料)主要内容讲述:认识Vue3,使用create-vue搭建Vue3项目1. Vue3组合式API体验,2. Vue3更多的优势,1. 认识create-vue,2. 使用create-vue创建项目,1. setup选项的写法和执行…

【机器学习-17】数据变换---小波变换特征提取及应用案列介绍

引言 在机器学习领域,数据变换是一种常见且重要的预处理步骤。通过对原始数据进行变换,我们可以提取出更有意义的特征,提高模型的性能。在众多数据变换方法中,小波变换是一种非常有效的方法,尤其适用于处理非平稳信号和…

实战解析:SpringBoot接口防抖机制与防重复提交技巧

目录 前言 啥是防抖 思路解析 哪一类接口需要防抖? 如何确定接口是重复的? 分布式部署下如何做接口防抖? 使用共享缓存 使用分布式锁 Spring Boot与Redis深度整合入口:实战指南 具体实现 请求锁 唯一key生成 重复提交判断 Red…

scipy.sparse.csr_matrix 中的 indptr indices data

# ------------------------------------------------------------------------------- # Description: 分析理解 scipy.sparse.csr_matrix 中的 indptr & indices & data # Reference: https://blog.csdn.net/bymaymay/article/details/81389722 # Author: Sophia…

Win 进入桌面黑屏,只有鼠标

大家好,我叫秋意零。 今天,遇到一个同事电脑进入桌面黑屏,只有鼠标。经过询问沟通,说是 Windows 突然进行了自动更新,更新之后桌面就黑了屏。经过查询是一个桌面进程没启动才会导致桌面黑屏。首先分两种情况&#xff0…

STL Array、ForwardList源码剖析

STL Array、ForwardList源码剖析 参考文章: https://blog.csdn.net/weixin_45389639/article/details/121618243 array 源代码 template<typename _Tp,std::size_t _Nm> struct array {typedef _Tp value_type;typedef _Tp* pointer;typedef value_type* iterator;// Su…

【看不懂命令行、.yaml?】Hydra 库极速入门

Hydra 是一个开源的 Python 框架&#xff0c;可以简化研究和其他复杂应用程序的开发。其核心功能是通过组合动态创建层次化的配置&#xff0c;并可以通过配置文件和命令行进行覆盖。Hydra 的名字来源于它能够运行多个类似的作业 - 就像一个多头的水怪一样。 主要特性: 从多个…

首发!Llama3纯本地部署攻略!中文方法!

引言 llama3在4月19日刚刚发布&#xff0c;官方的对比结果中在开源模型中堪称世界第一&#xff0c;整好周六日有时间&#xff0c;在魔搭社区上测试一下 一、启动环境 登录魔搭社区&#xff0c;到自己的机器资源&#xff0c;可以看到&#xff0c;可选的机器配置&#xff0c; …

YOLOv9改进策略 | Conv篇 | 利用 Haar 小波的下采样HWD替换传统下采样(改变YOLO传统的Conv下采样)

一、本文介绍 本文给大家带来的改进机制是Haar 小波的下采样HWD替换传统下采样&#xff08;改变YOLO传统的Conv下采样&#xff09;在小波变换中&#xff0c;Haar小波作为一种基本的小波函数&#xff0c;用于将图像数据分解为多个层次的近似和细节信息&#xff0c;这是一种多分…