01 计算机系统基础-2

news2024/10/1 7:32:51

操作系统

进程管理

进程管理是操作系统的核心,但如果设计不当,就会出现死锁的问题。如果一个进程在等待一件不可能发生的事,则进程就死锁了。而如果一个或多个进程产生死锁,就会造成系统死锁。基于死锁产生机制及解决方案,将会在以下进行详细诠释。

进程同步与互斥

临界资源:各进程间需要以互斥方式对其进行访问的资源。
临界区:指进程中对临界资源实施操作的那段程序,其本质是一段程序代码。

  • 互斥: 某资源(即临界资源)在同一时间内只能由一个任务单独使用,使用时需要加锁,使用完后解锁才能被其他任务使用,如打印机。
  • 同步: 多个任务可以并发执行,只不过有速度上的差异,在一定情况下停下等待,不存在资源是否单独或共享的问题,如自行车和汽车。
  • 互斥信号量: 对临界资源采用互斥访问,使用互斥信号量后其他进程无法访问,初值为1。
  • 同步信号量: 对共享资源的访问控制,初值一般是共享资源的数量。

进程调度

进程调度方式是指当有更高优先级的进程到来时,如何分配CPU,分为可剥夺和不可剥夺两种。可剥夺指当有更高优先级进程到来时,强行将正在运行进程的CPU分配给高优先级进程;不可剥夺是指高优先级进程必须等待当前进程自动释放CPU。

  • 在某些操作系统中,一个作业从提交到完成需要经历高、中、低三级调度。
    • 高级调度。高级调度又称“长调度”“作业调度”或“接纳调度”,它决定处于输入池中的哪个后备作业可以调入主系统做好运行的准备,成为一个或一组就绪进程。在系统中一个作业只需经过一次高级调度。
    • 中级调度。中级调度又称“中程调度”或“对换调度”,它决定处于交换区中的哪个就绪进程可以调入内存,以便直接参与对CPU的竞争。
    • 低级调度。低级调度又称“短程调度”或“进程调度”,它决定处于内存中的哪个就绪进程可以占用CPU。低级调度是操作系统中最活跃、最重要的调度程序,对系统的影响很大。
  • 调度算法
    • 先来先服务FCFS:先到达的进程优先分配CPU,用于宏观调度。
    • 时间片轮转:分配给每个进程CPU时间片,轮流使用CPU,每个进程时间片大小相同,很公平,用于微观调度。
    • 优先级调度:每个进程都拥有一个优先级,优先级大的先分配CPU。
    • 多级反馈调度:时间片轮转和优先级调度结合而成,设置多个就绪队列1,2,3…n,每个队列分别赋予不同的优先级,分配不同的时间片长度;新进程先进入队列1的末尾,按FCFS原则,执行队列1的时间片;若未能执行完进程,则转入队列2的末尾,如此重复。
      进程调度
      图2 多级反馈调度

死锁与银行家算法

死锁与银行家算法
图1 死锁与银行家算法

  • 死锁
    当一个进程在等待永远不可能发生的事件时,就会产生死锁,若系统中有多个进程处于死锁状态,就会造成系统死锁。

死锁产生的四个必要条件: 资源互斥、每个进程占有资源并等待其他资源、系统不能剥夺进程资源、进程资源图是一个环路。
死锁产生后,解决措施是打破四大条件,有下列方法:

  1. 死锁预防: 采用某种策略限制并发进程对于资源的请求,破坏死锁产生的四个条件之一!使系统任何时刻都不满足死锁的条件。
  2. 死锁避免: 一般采用银行家算法来避免,银行家算法,就是提前计算出一条不会死锁的资源分配方法,才分配资源,否则不分配资源,相当于借贷,考虑对方还得起才借钱,提前考虑好以后,就可以避免死锁。
  3. 死锁检测: 允许死锁产生,但系统定时运行一个检测死锁的程序,若检测到系统中发生死锁,则设法加以解除。
  4. 死锁解除: 即死锁发生后的解除方法,如强制剥夺资源,撤销进程等。

死锁资源计算:系统内有n个进程,每个进程都需要R个资源,那么其发生死锁的最大资源数为n*(R-1)。其不发生死锁的最小资源数为n(R-1)+1

  • 银行家算法:分配资源的原则
    • 当一个进程对资源的最大需求量不超过系统中的资源数时,可以接纳该进程;
    • 进程可以分期请求资源,但请求的总数不能超过最大需求量;
    • 当系统现有的资源不能满足进程尚需资源数时,对进程的请求可以推迟分配,但总能使进程在有限的时间里得到资源。

存储管理

页式存储

页式存储:将程序与内存均划分为同样大小的块,以页为单位将程序调入内存。
页式存储
图示:页式存储过程
页式存储
逻辑页分页号页内地址,页内地址就是物理偏移地址,而页号与物理块号并非按序对应的,需要查询页表,才能得知页号对应的物理块号,再用物理块号加上偏移地址才得出了真正运行时的物理地址。
高级程序语言使用逻辑地址;运行状态,内存中使用物理地址。
逻辑地址=页号+页内地址
物理地址=页帧号+页内地址
淘汰原则:(1)淘汰的页面必定已在内存(2)优先淘汰访问位为0的页面(3)如果有多个可选,则考虑修改位为0。
分页存储原理
图示:分页存储原理
优点: 利用率高,碎片小,分配及管理简单。
缺点: 增加了系统开销,可能产生抖动现象。

段式存储

段式存储:按用户作业中的自然段来划分逻辑空间,然后调入内存,段的长度可以不一样。可以理解为将进程空间分为一个个段,每段也有段号段内地址,与页式存储不同的是每段物理大小不同,分段是根据逻辑整体分段的,因此,段表也与页表的内容不同,页表中直接是逻辑页号对应物理块号,而下图所示,段表有段长和基址两个属性,才能确定一个逻辑段在物理段中的位置。
段式存储

  • 优点: 多道程序共享内存,各段程序修改互不影响。
  • 缺点: 内存利用率低,内存碎片浪费大。

示例:
段式存储
合法段地址:(0,25K)
非法段地址:(0,35K)

段页式存储

对进程空间先分段,后分页,具体原理图和优缺点如下:
段页式原理图
图示:段页式存储原理图
存储过程
图示:段页式存储过程
优点:空间浪费小、存储共享容易、存储保护容易、能动态链接。
缺点:由于管理软件的增加,复杂性和开销也随之增加,需要的硬件以及占用的内容也有所增加,使得执行速度大大下降。

磁盘管理

磁盘组成
存取时间=寻道时间+等待时间
寻道时间是指磁头移动到磁道所需的时间;等待时间为等待读写的扇区转到磁头下方所用的时间。
读取磁盘数据的时间应包括以下三个部分:

  • 找磁道的时间。
  • 找块(扇区)的时间,即旋转延迟时间。
  • 传输时间。

注意: 其优化即为改变词道上物理块存储位置的顺序,即逻辑上连续,物理上不连续。
磁盘管理优化
图示:磁盘管理优化
优化算法:

  • 先来先服务(FCFS)
    FCFS
  • 最短寻道时间优先(SSTF)
    SSFT
  • 扫描算法(SCAN)
  • 循环扫描(CSCAN)算法

文件系统

文件系统概述

文件管理系统:就是操作系统中实现文件统一管理的一组软件和相关数据的集合,专门负责管理和存取文件信息的软件机构,简称“文件系统”。
文件系统的功能包括按名存取;统一的用户接口;并发访问和控制;安全性控制;优化性能;差错恢复。
文件的逻辑结构可分为两大类:有结构的记录式文件;无结构的流式文件

索引文件

索引文件结构
图示:索引文件结构

  • 系统中有13个索引节点,0-9为直接索引,即每个索引节点存放的是内容。假设每个物理盘大小为4KB,共可存4KB * 10=40KB数据;
  • 10号索引节点为一级间接索引节点,大小为4KB,存放的并非直接数据,而是链接到直接物理盘块的地址。假设每个地址占4B,则共有1024个地址,对应1024个物理盘,可存1024 * 4KB=4096KB数据。
  • 二级索引节点类似,直接盘存放一级地址,一级地址再存放物理盘快地址,而后链接到存放数据的物理盘块,容量又扩大了一个数量级,为1024 * 1024 * 4KB数据。

文件目录

文件控制块中包含以下三类信息:基本信息类、存取控制信息类和使用信息类。

  • 基本信息类。例如文件名、文件的物理地址、文件长度和文件块数等。
  • 存取控制信息类。文件的存取权限,像UNIX用户分成文件主、同组用户和一般用户三类,这三类用户的读/写执行RWX权限。
  • 使用信息类。文件建立日期、最后一次修改日期、最后一次访问的日期、当前使用的信息(如打开文件的进程数、在文件上的等待队列)等
    文件控制块的有序集合称为文件目录。若系统在将目录文件修改的结果写回磁盘时发生崩溃,则对系统的影响相对较大。
    空闲区表。 将外存空间上的一个连续的未分配区域称为“空闲区”。操作系统为磁盘外存上的所有空闲区建立一张空闲表,每个表项对应一个空闲区,适用于连续文件结构。

位示图

位示图: 这种方法是在外存上建立一张位示图(Bitmap),记录文件存储器的使用情况。每一位对应文件存储器上的一个物理块,取值0和1分别表示空闲和占用。
位示图
图示:位示图

主要明确三点:

  • 总容量大小,物理块大小物理块个数;
  • 位示图bit位个数;
  • 位示图字的个数。

空闲块链。 每个空闲物理块中有指向下一个空闲物理块的指针,所有空闲物理块构成一个链表,链表的头指针放在文件存储器的特定位置上(如管理块中),不需要磁盘分配表,节省空间。
成组链接法。例如,在实现时系统将空闲块分成若干组,每100个空闲块为一组,每组的第一个空闲块登记了下一组空闲块的物理盘块号和空闲块总数。假如某个组的第一个空闲块号等于0,意味着该组是最后一组,无下一组空闲块。

系统性能

性能指标

- 硬件

硬件性能指标

  • 软件
    软件性能指标
  • 指标
    • 字长和数据通路宽度
    • 主存容量和存取速度
    • 运算速度
    • 吞吐量与吞吐率
    • 响应时间(RT)与 完成时间(TAT)
    • 兼容性
    • 主频=外频*倍频
    • 主频与CPU时钟周期
    • CPI与IPC
    • MIPS与MFLOPS

MIPS = 指令条数/(执行时间 10^6)=主频/CPI=主频 IPC
MFLOPS = 浮点操作次数/(执行时间 10^6)
平均每条指令的平均时钟周期个数:(CPl,Clock cycle Per Instruction)
每(时钟)周期运行指令条数:(IPC,Instruction Per Clock)
百万条指令每秒:(MIPS,Million Instructions Per Second)
每秒百万个浮点操作:(MFLOPS,Million Floating-point Operations per Second)
响应时间:(RT,ResponseTime)

性能设计

性能设计

  • 对系统中某组件采用某种更快的执行方式,所获得的系统性能的改变程度,取决于该组件被使用的频率,或所占总执行时间的比例。

加速比计算公式如下:
加速比

  • 其中,Tp表示不使用改进组件时完成整个任务的时间,Ti表示使用改进组件时完成整个任务的时间。加速比主要取决于两个因素:
      1. 在原有的系统上,能被改进的部分在总执行时间中所占的比例。这个值称为改进比例,记为Fe,它总是小于1。
      1. 通过改进执行方式所取得的性能提高,即如果整个系统使用了改进的执行方式,那么系统的执行速度会有多少提高,这个值等于在原来的条件下系统的执行时间与使用改进组件后系统的执行时间之比,记为Se,它总大于1。

性能评估

性能评估
测试精确度排名: 真实的程序>核心程序>小型基准程序>合成基准程序

  • Dhrystone基准程序:它是一个综性的整数基准测试程序,是为了测试编译器和CPU处理整数指令和控制功能的有效性,人地选择一些典型指令综合起来形成的测试程序。
  • Linpack基准程序:它是国际上最济行的用于测试高性能计算机系统浮点性能的测试。
  • Whetstone基准程序:它是用Fortan语言编写的综合性测试程序,主要由执行浮点运算、功能调用、数组变址、条件转移和超越函数的程序组成。
  • SPEC基准程序:一种是测试计算机完成单项任务有多快,称为速度测试;另一种是测试计算机在一定时间内能完成多少项任务,称为吞吐率测试。
  • TPC基准程序:TPC(Transaction Processing Council,事务处理委员会)基准程序用以评测计算机在事务处理、数据库处理、企业管理与决策支持系统等方面的性能。该基准程序的评测结果用每秒完成的事务处理数TPC来表示。

Web服务器的性能评估

  • 在Web服务器的测试中,反映其性能的指标主要有:最大并发连接数响应延迟吞吐量等。
  • 常见的Web服务器性能评测方法有:基准性能测试压力测试可靠性测试

系统监视:
进行系统监视通常有3种方式:
一是通过系统本身提供的命令,如UNIX/Linux系统中的W、ps、last,Windows中的netstat等;
二是通过系统记录文件查阅系统在特定时间内的运行状态;
三是集成命令、文件记录和可视化技术的监控工具,如Windows的Perfmon应用程序

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

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

相关文章

LeetCode Hard|【460. LFU 缓存】

力扣题目链接 LFU全称是最不经常使用算法(Least Frequently Used),LFU算法的基本思想和所有的缓存算法一样,一定时期内被访问次数最少的页,在将来被访问到的几率也是最小的。 相较于 LRU 算法,LFU 更加注重…

MATLAB霍夫曼表盘识别系统

MATLAB霍夫曼表盘识别系统 一、介绍 本设计为基于MATLAB的表盘指针识别,算法原理是基于hough变换。可检测压力表,石英手表,电表刻度,气压表等带指针刻度的表盘。通过hough检测直线和圆的关系,得出指针夹角&#xff0…

保形分位数回归(CQR)

目录 简介1 介绍提纲式总结 分位数回归从数据中估计分位数 3 共性预测4 保形分位数回归(CQR)两个定理 6 实验7 结论 简介 保形预测是一种构造在有限样本中获得有效覆盖的预测区间的技术,无需进行分布假设。尽管有这种吸引力,但现有的保形方法可能是不必…

(C题老外游中国)2024年华数杯大学生数学建模竞赛解题思路完整代码论文集合

我是Tina表姐,毕业于中国人民大学,对数学建模的热爱让我在这一领域深耕多年。我的建模思路已经帮助了百余位学习者和参赛者在数学建模的道路上取得了显著的进步和成就。现在,我将这份宝贵的经验和知识凝练成一份全面的解题思路与代码论文集合…

Open3D 三维重建-Delaunay Triangulation (德劳内三角剖分)

目录 一、概述 1.1原理 1.2实现步骤 1.3应用 二、代码实现 2.1关键函数 2.2完整代码 三、实现效果 3.1原始点云 3.2重建后点云 Open3D点云算法汇总及实战案例汇总的目录地址: Open3D点云算法与点云深度学习案例汇总(长期更新)-CSD…

MySQL--日志管理

前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除 一、日志简介 MySQL日志主要分为4类,使用这些日志文件,可以查看MySQL内部发生的事情。这4类日志分别是: 错误日志&#xff1…

程序编译及链接

你好!感谢支持孔乙己的新作,本文就程序的编译及链接与大家分析我的思路。 希望能大佬们多多纠正及支持 !!! 个人主页:爱摸鱼的孔乙己-CSDN博客 ​ ​ 1.翻译译环境与运行环境 当我们进行程序设计时&…

Android Graphics 显示系统 - 计算FPS的原理与探秘Present Fence

“ 最近忙着新房子装修的事情,这篇计划内的文章拖了好久一直没有足够的时间来写作,终于挤出些儿时间来继续研究学习了。” 整了四个晚上终于拼凑出一篇文章,虽说是讲FPS计算原理,但该文涉及的知识点还是蛮多的,特别是对…

webpack的loader机制

webpack的loader机制 loader本质上就是导出函数的JavaScript模块。导出的函数,可以用来实现内容的转换。 /* * param{string|Buffer} content 源文件的内容 * param{object} [map] SourceMap数据 * param{any} [meta] meta数据,可以是任何数据 * */ fu…

黑马头条vue2.0项目实战(五)——首页—频道编辑

目录 1. 使用页面弹出层 1.1 页面弹出层简单使用 1.2 创建频道编辑组件 1.3 页面布局 2. 展示我的频道 3. 展示推荐频道列表 3.1 获取所有频道 3.2 处理展示推荐频道 4. 添加频道 5. 编辑频道 5.1 处理编辑状态 5.2 切换频道 5.3 让激活频道高亮 5.4 删除频道 6.…

K8S Docker搭建RocketMQ Dledger高可用集群

本篇文章回顾在华润基于K8S和Docker云设施搭建初步高可用具备failover的RocketMQ集群。RocketMQ版本是5.0.0。 目前现状 采用Dledger模式部署集群,3台namesrv,3台broker,namesrv每台1g的Docker部署,broker每台2g的Docker部署。测…

Hyper-V创建虚拟机安装OpenEulerOS

文章目录 下载OpenEulerHyper-V创建虚拟机 下载OpenEuler 进入官网下载,我选择的是 openEuler 24.03 LTS ,选择第一个版本即可: Hyper-V创建虚拟机 点击新建->虚拟机: 点击下一步: 输入虚拟机名称&#xff0c…

AMD Product Specifications - AMD 产品规格汇总

AMD Product Specifications - AMD 产品规格汇总 1. Desktop, Laptop and Workstation Processor Specifications (台式处理器、笔记本电脑处理器和工作站处理器规格)2. Server Processor Specifications (服务器处理器规格)3. Embedded Processor Specifications (嵌入式处理器…

element-ui表格1.0.0.1,表格的属性

前言:基于vue2element-ui的理论转实践的使用 第一组:数据显示 利用v-bind:data在table绑定数据源,将数据利用prop的属性传入到table-column,渲染到表格中 正片开始 首先,常用的属性(作者常用&#xff09…

书生大模型_InternLM + LlamaIndex RAG 实践

1.任务要求 基于 LlamaIndex 构建自己的 RAG 知识库,寻找一个问题 A 在使用 LlamaIndex 之前InternLM2-Chat-1.8B模型不会回答,借助 LlamaIndex 后 InternLM2-Chat-1.8B 模型具备回答 A 的能力,截图保存。 来源: https://github.…

鸿蒙媒体开发【媒体会话-提供方】音频和视频

媒体会话-提供方 介绍 本示例主要展示了媒体会话(媒体提供方)的相关功能,使用ohos.multimedia.avsession等接口实现媒体提供方与媒体播控中心自定义信息的交互功能。 注意: 此示例仅展示媒体提供方的相关功能,如果需…

2024 年华数杯全国大学生数学建模竞赛C 题 老外游中国 完整成品文章分享

最近,“city 不 city”这一网络流行语在外国网红的推动下备受关注。随着我国过境免签政策的落实,越来越多外国游客来到中国,通过网络平台展示他们在华旅行的见闻,这不仅推动了中国旅游业的发展,更是在国际舞台上展现了…

大模型学习笔记 - LLM 解码与部署

LLM 解码与部署 LLM 解码与部署 1. 解码策略 1.1 背景 1.1 贪心搜所1.2 概率采样 1.2 贪心搜所改进 1.2.1 束搜索 (保留前n个高概率的句子,最终选取整体概率高的生成)1.2.2 长度惩罚 (估计生成更长句子)1.2.3 重复惩罚…

stm32入门-----硬件I2C读写MPU6050

目录 前言 一、stm32中I2C库函数介绍(stm32f10x_i2c.h) 1.初始化 2.使能操作 3.生成起始位和结束位标志 4.发送I2C从机地址 5.发送数据和接收数据 6.发送应答位 7.状态检测 二、硬件I2C读取MPU6050 1.电路连线图 2.主要工程文件 3.MPU6050.…

WordPress网站被入侵,劫持收录事件分析

7.15,网站被入侵,但是直到7月17日,我才发现被入侵。 16日,17日正常更新文章,17日查询网站收录数据时,在站长资源平台【流量与关键词】查询上,我发现了比较奇怪的关键词。 乱码关键词排名 起初…