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

news2025/2/25 15:03:46

操作系统

  • 操作系统(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、以下关于嵌入式系统硬件抽象层的叙述错误的是 硬件抽象层应包括设备驱动程序和任务调度

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Spring Boot的工具迭代

1. 申请git权限 2. git项目中点击我的-Settings-SSH Keys添加公钥 3. 公钥生成步骤 ssh-keygen -o -t rsa -b 4096 -C "your email" cd ~/.ssh/ cat id_rsa.pub 把公钥内容粘贴到SSH Keys 4. 创建本地分支git checkout -b branchname git远程仓库创建远程分支 …

vue部署宝塔nginx配置(获取用户ip地址、反代理访问api接口、websocket转发)

以下配置为我自己的需求,因人而异,如果只是单纯的前端非交互页面,可以不用修改配置。 代码及注释,如下: #解决vue-router设置mode为history,去掉路由地址上的/#/后nginx显示404的问题location / {proxy_htt…

单片机中的各个引脚有正负极之分吗?如果有RST是正极还是负极呢

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「单片机的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!! 一般情况说的正负极&…

【ajax基础02】URL详解

一:什么是URL 统一资源定位符(Uniform Resource Locator,缩写:URL),简称网址 二:URL组成 https://baidu.com/index.html 协议 https协议:超文本传输协议,规定了浏览器和服务第之间传输数据的格式 域名(在…

人工智能技术应用笔记(十二):搭建自带大模型微信,完美对接GPT-4o,Kimi等大模型,智能体平台Coze也能接

许多朋友对如何搭建自己的微信机器人非常感兴趣。今天就来教大家如何操作。 一、 准备工作 一台电脑或者云服务器,对配置要求不高,一般的电脑就行 大模型API调用的Key,比如GPT-4o,Kimi,Deepseek(不知道怎…

AV1:帧间预测(一)参考帧管理

​AV1中帧类型 在H.26X系列标准中,根据帧允许的预测模式可以将帧分为I帧、P帧和B帧,根据帧在码流中前后的参考关系又可以分为IRAP、RADL等。AV1也类似地将帧分为4种类型,在码流中用frame_type来标识帧类型。 KEY_FRAME:相当于IDR帧…

软件设计不是CRUD(22):在流式数据处理系统中进行业务抽象落地——设计思考

(接上文《软件设计不是CRUD(21):在流式数据处理系统中进行业务抽象落地——需求分析》) 那么思考到这里我们就能做一些关于设计思路的总结: 每一个独立的数据处理流,就是数据采集系统中的一个功能。这个功能具备一个静态的控制逻辑(当然控制逻辑也可以是动态的,本文不…

适配不同数据库厂商方案

背景 在对国产化数据有要求的时候,我们会做对 达梦、海量等数据库的配置。 有些SQL 以前没有写成标准SQL; 那么适配的时候怎么办呢?改成标准SQL。 如果不好改呢?比如SQL比较复杂等,需要判断 当前是哪个厂商的数据库…

MS1004激光测距用高精度时间测量(TDC)电路

品简述 MS1004 是一款高精度时间测量 (TDC) 电路,对比 MS1002 具 有更高的精度和更小的封装,适合于高精度小封装的应用领域。 MS1004 具有双通道、多脉冲的采样能力、高速 SPI 通讯、 多种测量模式,适合于激光雷达和激光测距。 主…

使用 swiper 轮播 echarts 图表,地图点击失效

问题 使用 swiper 轮播 echarts 图表&#xff0c;地图点击失效&#xff0c;伪代码如下 <Swiper><SwiperSlide>...</SwiperSlide>// 轮播中有地图<SwiperSlide><EchartsMap/></SwiperSlide><SwiperSlide>...</SwiperSlide> &…

洁盟超声波清洗机怎么样?2024爆款机型声波清洗机测评、一篇看懂

随着现在近视率的逐年上升&#xff0c;戴眼镜的人群越来越多&#xff01;当然他们也在面临着一个眼镜清洗的问题&#xff01;因为长期佩戴眼镜&#xff0c;镜框还有镜片上面都是会积累灰尘、油污、污垢以及细菌&#xff0c;脏脏的不仅令眼镜不美观&#xff0c;同时在长期的佩戴…

go 语言爬虫库goQuery 的详细使用(知乎日报详情页解析示例)

上一篇《uniapp小程序开发 | 从零实现一款影视类app 》实现了影视小程序的前端和后台接口&#xff0c;虽然包含了大多数小程序应有的知识&#xff0c;但基本还只是涉及网络接口和vue页面的设计。这里介绍下零一个有趣的练手项目&#xff0c;知乎日报。涉及详情页面的html解析&a…

MYSQL无法启动的修复过程

记录一次MySQ无法启动的修复过程。 1. 错误表现 今天在用python操作数据库时可能有些错误&#xff08;具体来说就是我尝试创建了一个已经存在的database&#xff09;&#xff0c;结果我发现MySQL中的那个database不存在了&#xff0c;我重启了一下电脑&#xff0c;结果mysql…

移植案例与原理 - build lite配置目录全梳理

命令行工具hb(HarmonyOS|OpenHarmony Build 编译构建系统的缩写)都很熟悉了。这是一个基于gn和ninja的构建系统&#xff0c;以支持OpenHarmony组件化开发为目标&#xff0c;提供以下基本功能&#xff1a; 支持按组件拼装产品并编译。 独立构建芯片解决方案厂商源码。 独立构建…

【AI基础】租用云GPU之autoDL部署大模型ollama+llama3

在这个显卡昂贵的年代&#xff0c;很多想要尝试一下AI的人可能都止步于第一步。这个时候我们可以租用在线的GPU资源来使用AI。autoDL就是这样的一个云平台。 一、创建服务器 1.1 注册账号 官网&#xff1a;https://www.autodl.com/ | 租GPU就上AutoDL 帮助文档&#xff1a;…

6月18日(周二)A股行总结:A股震荡收涨,车路云概念全日强势,10年、30年国债期货齐创新高

车路云概念股发力上涨&#xff0c;中海达、华铭智能等多股20CM涨停。半导体板块走强&#xff0c;中芯国际港股上涨近&#xff13;% 。白酒板块下跌&#xff0c;贵州茅台跌1.3% 。30年期及10年期国债期货主力合约均创上市以来新高。 周二&#xff0c;A股全日窄幅震荡 沪指收涨0…

项目3:从0开始的RPC框架(扩展版)-2

六. 自定义协议 1. 需求分析 在目前的RPC框架中&#xff0c;采用Vert.x的HttpServer作为服务提供者的Web服务器&#xff0c;底层使用HTTP协议进行网络传输。但HTTP协议只是RPC框架网络传输的一种可选方式&#xff0c;还有其它更好的选择。 RPC框架注重性能&#xff0c;但HTT…

SpringBoot配置第三方专业缓存框架j2cache

j2cache的使用 这不是一个缓存 这是一个缓存框架 J2Cache, 也称为Java Cache或JSR-107&#xff0c;是一个用于缓存管理的标准API&#xff0c;它允许开发者在Java应用程序中实现分布式、基于内存的缓存。J2Cache主要通过javax.cache.Cache接口提供功能&#xff0c;用于存储和…

利用C#和Snap7工具模拟S7通信(包含DB地址讲解)

之前写过一篇用KepServerEx做模拟S7的通信数据&#xff0c;参考链接&#xff1a; 通过C#和KepServer完成模拟S7协议通信_c# 与kepserver-CSDN博客 但KepServerEx是收费的&#xff0c;而且模拟的DB块超过64就不行了&#xff0c;当然Snap7在本文中也是只能模拟DB1、DB2和DB3的数…

npm发布自己的插件包:新手教程

npm&#xff08;Node Package Manager&#xff09;是Node.js的包管理工具&#xff0c;广泛用于JavaScript项目中。本文将为你介绍如何从零开始发布一个npm插件包。 前提条件 在开始之前&#xff0c;你需要确保以下几点&#xff1a; 安装Node.js和npm&#xff1a;你可以在No…