系统架构设计师 - 操作系统(2)

操作系统

  • 操作系统(5-6分)
    • 文件管理
      • 绝对路径与相对路径 ★
      • 索引文件 ★★★
      • 位示图 ★
    • 存储管理
      • 段页式存储 ★★★
        • 页式存储
        • 段式存储
        • 段页式存储(了解)
      • 页面置换算法 ★
    • 微内核操作系统
    • 嵌入式操作系统 ★★★


大家好呀!我是小笙,本章我主要分享系统架构设计师 - 操作系统(2)知识,希望内容对你有所帮助!!

操作系统(5-6分)

文件管理

绝对路径与相对路径 ★

  • 绝对路径:是从盘符开始的路径
  • 相对路径:是从当前目录开始的路径
  • 若当前目录为:D1 ,要求F2路径,则绝对路径:/D1/W2/F2 , 相对路径:W2/F2

image-20240613124757116


索引文件 ★★★

文件在逻辑上一定是连续的,在物理上可以是分散的

索引文件结构

image-20240604214642616

例题

假设文件系统采用索引节点管理,且索引节点有8个地址项 iaddr[O] ~ iaddr[7],每个地址项大小为4字节,iaddr[0] ~ iaddr[4] 采用直接地址索引,iaddr[5] 和iaddr[6] 采用一级间接地址索引,iaddr[7] 采用二级间接地址索引。假设磁盘索引块和磁盘数据块大小均为lKB字节,文件File1的索引节点如下图所示。若用户访问文件Filel中逻辑块号为5和261的信息,则对应的物理块号分别为 58和187;101号物理块存放的是 二级地址索引表

  • A 89和90 B 89和136 C 58和187 D 90和136
  • A File1的信息 B 直接地址索引表 C 一级地址索引表 D 二级地址索引表

位示图 ★

要将文件保存到外部存储器(外存或辅存),首先得知道存储空间的使用情况,用0和1分别表示空闲和占用,(0表示空闲,1表示占用)

image-20240611185550160

例题

某字长为32位的计算机的文件管理系统采用位示图(bitmap)记录磁盘的使用情况。若磁盘的容量为300GB,物理块的大小1MB,那么位示图的大小为 9600 个字

  • A 1200 B 3200 C 6400 D 9600

计算方式:300GB / 1 MB / 32 位= 9600 个字

image-20240613124445230

存储管理

段页式存储 ★★★

页式存储

将程序与内存划分为相等大小得块,以页为单位将程序调入内存

  • 逻辑地址 = 页号 + 页内地址
  • 物理地址 = 块号 + 页内地址

优点:利用率高,碎片小,分配及管理简单

缺点:增加了系统开销;可能产生抖动现象

例题

1、页内存储系统,每个页的大小为 8KB = 13位

  • 逻辑地址: 10 1101 1100 1110 (后13位页内地址,与物理地址相同)
  • 物理地址:110 1101 1100 1110 (查询如下页表,发现页号 1 对应 块号 3,二进制表示就是 11)
image-20240603205005590
段式存储

按用户作业中的自然段来划分逻辑空间,然后调入内存,段的长度可以不一样

image-20240603205142286 4af97de7e2d73c1c321da08c62cd8b4

优点:多道程序共享内存,各段程序修改互不影响

缺点:内存利用率低,内存碎片浪费大

例题

1、假设系统采用段式存储管理方法,进程P的段表如下所示。逻辑地址 (0,810)和(4,120) 不能转换为对应的物理地址;不能转换为对应的物理地址的原因是进行 逻辑地址到物理地址转换时地址越界

image-20240603205710800
段页式存储(了解)

段式与页式的综合体。先分段,再分页。1个程序有若干个段,每个段中可以有若干页,每个页的大小相同,但每个段的大小不同

可以根据段表始址、段号、段表大小以及页表大小可以算出页号以及页内地址

image-20240604213740562

优点:空间浪费小、存储共享容易、存储保护容易、能动态连接

缺点:由于管理软件的增加,复杂性和开销也随之增加,需要的硬件以及占用的内容也有所增加,使得执行速度大大下降


页面置换算法 ★

页面还有三种标记用来决定淘汰出内存的顺序:状态位、访问位、修改位

  • 状态位:在不在内存中 1 在内存中 0 不在内存中
  • 访问位:最近有无被访问 1 最近被访问 0 最近未访问
  • 修改位:内容是否被修改 1 内存被修改 0 未修改

例题

1、进程P有8个页面,页号分别为0 - 7,页面大小为4K,假设系统给进程P分配了4个存储块,进程P的页面变换表如下所示。表中状态位等于1和0分别表示页面在内存和不在内存。若进程P要访问的逻辑地址为十六进制5148H,则该地址经过变换后,其物理地址应为十六进制3148H ;如果进程P要访问的页面6不在内存,那么应该淘汰页号为 2 的页面

image-20240603205100882

微内核操作系统

现代操作系统大多拥有两种工作状态,:分别是核心态和用户态。一般应用程序工作在用户态,而内核模块和最基本的操作系统核心工作在核心态

操作系统的内核服务:异常和中断、计时器、I/O管理等

image-20240613125825493

单体内核 VS 微内核

实质优点缺点
单体内核将图形、设备驱动及文件系统等功能全部在内核中实现,运行在内核状态和同一地址空间减少进程间通信和状态切换的系统开销,获得较高的运行效率内核庞大,占用资源较多且不易剪裁。系统的稳定性和安全性不好
微内核只实现基本功能,将图形系统、·文件系统、设备驱动及通信功能放在内核之外内核精练,便于剪裁和移植。系统服务程序运行在用户地址空间,系统的可靠性、稳定性和安全性较高。可用于分布式系统用户状态和内核状态需要频繁切换,从而导致系统效率不如单体内核

例题

采用微内核结构的操作系统提高了系统的灵活性和可扩展性 并增强了系统的可靠性和可移植性,可运行于分布式系统中

  • 并增强了系统的可靠性和可移植性,可运行于分布式系统中
  • 并增强了系统的可靠性和可移植性,但不适用于分布式系统
  • 但降低了系统的可靠性和可移植性,可运行于分布式系统中
  • 但降低了系统的可靠性和可移植性,不适用于分布式系统

嵌入式操作系统 ★★★

嵌入式系统主要由嵌入式硬件平台、相关支撑硬件、嵌入式操作系统、支撑软件和应用软件组成。其中,嵌入性、专用性和计算机系统是嵌入式系统的三个核心要素

嵌入式操作系统特点

  • 微型化
  • 代码质量高
  • 专业化
  • 实时性强
  • 可裁减、可配置

低功耗设计

  • 基于硬件的低功耗设计

    板级电路低功耗设计;选择低功耗处理器;总线的低功耗设计;接口驱动电路的设计;分区分时供电技术

  • 基于软件的低功耗设计

    编译优化技术(指令开销);软件与硬件的协同设计(硬件功能交由软件完成);算法优化(低时间复杂度)

例题

1、以下关于嵌入式系统开发的叙述正确的是 在宿主机上必须采用交叉编译器来生成目标机的可执行代码

  • 宿主机与目标机之间只需要建立逻辑连接
  • 宿主机与目标机之间只能采用串口通信方式
  • 在宿主机上必须采用交叉编译器来生成目标机的可执行代码
  • 调试器与被调试程序必须安装在同一台机器上

2、以下关于嵌入式系统硬件抽象层的叙述错误的是 硬件抽象层应包括设备驱动程序和任务调度

  • 硬件抽象层与硬件密切相关,可对操作系统隐藏硬件的多样性
  • 硬件抽象层将操作系统与硬件平台隔开
  • 硬件抽象层使软硬件的设计与调试可以并行
  • 硬件抽象层应包括设备驱动程序和任务调度(操作系统的工作)

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

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

相关文章

第五十一天 | 1143.最长公共子序列

题目:1143.最长公共子序列718.最长重复子数组的区别是,子序列不要求连续,子数组要求连续。这一差异体现在dp数组含义和递推公式中,本题是子序列,那就要考虑上nums1[i - 1] ! nums2[j - 1]的情况。 本道题与 1.dp数组…

vue 应用测试(一) --- 介绍

vue 应用测试(一) ---介绍 前端测试简介组件测试Jest 测试框架简介其他测试框架 第一个测试避免误报如何组织测试代码 组件挂载Vue2 组件挂载的方式Vue3 的挂载方式vue-test-utils挂载选项 如何调试测试用例参考小结 前端测试简介 软件测试:…

【每日一练 】day2

✨✨谢谢大家捧场,祝屏幕前的小伙伴们每天都有好运相伴左右,一定要天天开心哦!✨✨ 🎈🎈作者主页: 🎈丠丠64-CSDN博客🎈 ✨✨ 帅哥美女们,我们共同加油!一起…

企业多云策略的优势与实施指南

企业在选择云服务提供商时,常见的选项包括亚马逊AWS、微软Azure、谷歌云GCP、阿里云、腾讯云和华为云。为了避免过度依赖单一供应商,许多企业选择采用多云策略,这样可以充分利用不同云服务的优势,同时避免重复工作和其他额外的工作…

大模型应用开发课程上新!

在人工智能快速发展的今天,大模型应用已逐渐渗透到各个行业,对我们的工作和生活产生了深远的影响。越来越多的企业和开发者渴望深入探索大模型落地应用,然而却缺少高质量且专业的培训课程及学习途径。 为满足企业和开发者在实际场景中使用大…

ROS——自定义话题消息和使用方法

定义Person话题 定义Person发布者 /*** 该例程将发布/person_info话题&#xff0c;自定义消息类型&#xff1a; test_topic::Person*/#include <ros/ros.h> #include <test_topic/Person.h> //包含的头文件&#xff0c;ros相关的头文件&#xff0c;及自定义头文件…

单点登录分析介绍

文章目录 1、单点登录解决方案1.1、后端保存登录状态1.2、token模式 2、user服务-登录接口2.1、UserController2.2、UserInfoServiceImpl2.3、载荷2.4、响应2.5、Redis Desktop Manager 1、单点登录解决方案 多个系统只有一个登录服务 1.1、后端保存登录状态 1.2、token模式 …

Excel根据身份证号提取信息

概览 本篇文章主要对根据身份证号码提取出生年月日、年龄、性别、退休年龄这三项进行讲解。 一. 提取出生年月日 公式&#xff1a;TEXT(MID(B2,7,8),“0000-00-00”) MID(B2,7,8)&#xff1a;表示从单元格 B2 中的字符串&#xff08;这里是身份证号&#xff09;&#xff0c…

Day 43 keepalived高可用集群

keepalived高可用集群 负载均衡 lb集群 load balance ​ 流量分发 高可用 ha集群 high availability ​ 主要是给服务器做冗余 keepalive 持久连接 保持存活 keepalived 高可用软件名称 红帽有自己的高可用集群套件&#xff1a;RHCS keepalived介绍 ​ keepalived是集…

世优波塔AI数字人多模态交互系统,让智慧教育多维度落地应用

“你是谁&#xff0c;你能做什么&#xff1f;”、“降落伞应该包含哪些部分&#xff1f;”、“制作降落伞需要什么流程&#xff1f;”在北京四中雄安校区的实践课堂上&#xff0c;一个数字人AI一体机在教室中央引人注目&#xff0c;老师和学生们争相向名叫“小优”的“数字老师…

git如果将多次提交压缩成一次

将N个提交压缩到单个提交中有两种方式&#xff1a; git reset git reset的本意是版本回退&#xff0c;回退时可以选择保留commit提交。我们基于git reset的作用&#xff0c;结合新建分支&#xff0c;可以实现多次commit提交的合并。这个不需要vim编辑&#xff0c;很少有冲突。…

GTX的64B66B编码(高速收发器十九)

点击进入高速收发器系列文章导航界面 前文讲解了8B10B的原理&#xff0c;8B10B的开销比较大&#xff0c;每传输10位数据&#xff0c;就需要发送2位无效数据。为了减小8B10B编码的开销&#xff0c;同时保留编码方案的优点&#xff0c;提出了64B66B编码。 64B66B编码与8B10B编码方…

FRP 内网穿透 | 实现远程访问与安全管理

唠唠闲话 内网穿透简介 在互联网上&#xff0c;两个不同主机进行通信需要知道对方的 IP 地址。由于世界人口和设备众多&#xff0c;IPv4 资源相对紧缺&#xff0c;因此绝大部分情况下是通过路由器或交换机转换公网 IP 后才上网。 位于路由器或交换机后的设备通常是内网设备&…

node 中间件使用例子

NodeJS在中间件领域有着较为广泛的应用&#xff0c;他能做一些中间层事件&#xff0c;把服务端一部分的代码抽出来&#xff0c;减少处理冗余事情付出的代价&#xff0c;同时让服务真正做业务处理而不用关心页面的事情 常见的应用场景有&#xff1a; 跨域&#xff1a;解决跨域问…

C++ 实现HTTP的客户端、服务端demo和HTTP三方库介绍

本文使用C模拟实现http的客户端请求和http的服务端响应功能&#xff0c;并介绍几种封装HTTP协议的三方库。 1、实现简单HTTP的服务端功能 本程序使用C tcp服务端代码模拟HTTP的服务端&#xff0c;服务端返回给客户端的消息内容按照HTTP协议的消息响应格式进行了组装。 demo如…

15:HAL----ADC模数转化器

STM32C8T6有2个ADC,ADC1和ADC2 一&#xff1a;介绍 1:简历 ADC&#xff08;Analog-Digital Converter&#xff09;模拟-数字转换器 ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量&#xff0c;建立模拟电路到数字电路的桥梁 12位逐次逼近型ADC&#xff0c;1us转…

科技项目验收测试必须进行吗?软件测试公司推荐

科技项目验收测试是指在科技项目开发周期中&#xff0c;对项目完成后进行的一种测试和评估工作。它的目的是验证项目是否达到预期的要求&#xff0c;并确保项目交付给客户前达到预期的质量标准。 一、科技项目验收测试的必要性   科技项目验收测试是项目管理中不可或缺的一个…

Lua实现自定义函数面向对象编程

本文目录 1、引言2、原理3、实例4、层析验证 文章对应视频教程&#xff1a; 暂无&#xff0c;可以关注我的B站账号等待更新。 点击图片或链接访问我的B站主页~~~ 1、引言 在现代软件开发中&#xff0c;面向对象编程&#xff08;OOP&#xff09;已经成为一种广泛使用的编程范式…

k8s+pv+pvc+nas 数据持久化volumes使用

1 k8s pod申请持久化卷配置 apiVersion: v1 kind: Service metadata:name: $IMG_NAMEnamespace: rz-dtlabels:app: $IMG_NAME spec:type: NodePortports:- port: 8091nodePort: 31082 #service对外开放端口selector:app: $IMG_NAME --- apiVersion: apps/v1 kind: Deployment …

HarmonyOs修改应用名称和图标方法

最近在开发Harmony应用&#xff0c;发现修改app.json5下的lable:app_name和icon不生效 后来经过查找&#xff0c;原来还需要更改entry下的src/main/module.json5才行&#xff0c;具体操作路径是&#xff1a; 更改后生效&#xff1a;