软考中级—— 操作系统知识

news2025/1/13 13:20:03

进程管理

操作系统概述

操作系统的作用:通过资源管理提高计算机系统的效率;改善人机界面向用户提供友好的工作环境。

操作系统的特征:并发性、共享性、虚拟性、不确定性。

操作系统的功能:进程管理、存储管理、文件管理、设备管理、作业管理。

分类:批处理操作系统、分时操作系统(轮流使用CPU工作片)、实时操作系统(快速响应)、网络操作系统、分布式操作系统、微机操作系统(Windows)、嵌入式操作系统

计算机启动基本流程:BIOS → 主引导记录 → 操作系统

进程

组成:进程控制块PCB(唯一标识)、程序(描述进程要干什么)、数据(存放进程执行时所需数据)

状态:就绪、运行、等待

前趋图

前趋图可以确定两点:任务之间的并行关系、任务之间的先后顺序

进程资源图

进程资源图:用于表示进程和资源之间的分配和请求关系
P代表进程,R代表资源,R方框有几个圆就表示有几个资源,例如在本图中,R1指向P1,表示R1有一个资源已经分配给了P1,P1指向R2,表示P1还需要请求一个R2资源才能执行。

  • 阻塞节点(看需要的资源是不是已经全部分配出去了):某进程所请求的资源已经全部分配完毕,无法获取,该进程被阻塞了无法继续。如图中P2(R2分配来,但是R1满了,没有足够的资源让P2执行,已经将仅有的两份资源给了P1/P3)
  • 非阻塞节点:某进程所请求的资源还有剩余,可以分配给该进程继续运行。如图中P1、P3;
    当一个进程资源图中所有进程都是阻塞节点时,即陷入死锁状态。

同步与互斥

互斥:同一时刻只能由一个任务单独使用,使用加锁,使用完后释放,如打印机;

同步:多个任务可以并发执行

临界资源:各进程间需要以互斥方式对其访问的资源

临界区:指进程中对临界资源实施操作的代码,比如synchronized代码

互斥信号量:初值为1

同步信号量:初值一般是共享资源的数量

信号量操作
P操作:申请资源,S=S-1【S>=0时表示可用的资源数量,S<0则表示等待资源】,若S>=0,则执行P操作的进程继续执行;若S<0,则该进程阻塞,将其插入阻塞队列;
V操作:释放资源,S=S+1,若S>0,表示当前还有资源可用,则执行V操作的进程继续执行;若S<=0,表示当前存在阻塞进程,则从阻塞队列中唤醒一个进程,并将其插入就绪队列,然后执行V操作的进程继续。
      是先操作完再判断,先P后V

信号量操作:先P后V,才开始计算(S1、2、3、4…都是代表资源使用)

存储管理

页式存储管理

      将进程空间分为一个个页,假设每个页大小为4K,同样的将系统的物理空间也分为一个个4K大小的物理块(页帧号),这样,每次将需要运行的逻辑页装入物理块中,运行完再装入其他需要运行的页,就可以分批次运行完进程,无需将整块逻辑空间全部装入物理内存中。

优点:利用率高、碎片小(只在最后一个页有)、分配及管理简单

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

在这里插入图片描述
解析:考逻辑地址和物理地址的转换。页式存储的表示:高位【页号】+ 低位【页内地址/页内偏移】。页内地址是不会变的,不论是物理地址还是逻辑地址,只有页号的根据映射会变。页内地址就是页面大小。

  • 4K=4*1024=212=(24)^3,表示3位16进制。因此D16H表示页内地址,1表示页号,其对应物理块号为3,因此物理地址为3D16H

页面置换算法

      进程空间分为100个页面,而系统内存只有10个物理块,无法全部满足分配,就需要将马上要执行的页面先分配进去,而后根据算法进行淘汰,使100个页面能够按执行顺序调入物理块中执行完。

缺页表示需要执行的页不在内存物理块中,需要从外部调入内存,会增加执行时间,因此,缺页数越多,系统效率越低。

  • 最优算法:OPT,理论上的算法,无法实现,是在进程执行完后进行的最佳效率计算,用来让其他算法比较差距。原理是选择未来最长时间内不被访问的页面置换,这样可以保证未来执行的都是马上要访问的。
  • 先进先出算法:FIFO,先调入内存的页先被置换淘汰,会产生抖动现象,即分配的页数越多,缺页率可能越多(即效率越低)
  • 最近最少使用:LRU,在最近的过去,进程执行过程中,过去最少使用的页面被置换淘汰,根据局部性原理,这种方式效率高,且不会产生抖动现象。

快表

      快表是一块小容量的相联存储器,由快速存储器组成,按内容访问,速度快,并且可以从硬件上保证按内容并行查找,一般用于存放当前最频繁的少数活动页面的页号。

      快表存储于Cache中,慢表将页表存储于内存中,因此慢表需要访问两次内存才能取出页,而快表则是一次Cache和一次内存。

段式存储管理

将进程空间分为一个个段,每段由段号+段内地址组成,与页式存储不同的是,每段物理大小不同,分段式根据逻辑整体分段的。

地址表示:段号+段内地址(段内偏移),段内地址不能超过段号对应的段长,否则越界错误;而此地址对应的内存地址为:段号对应的基址+段内地址

段表:段长+基址,

优点:程序逻辑完整,修改互不影响
缺点:内存利用率低,内存碎片浪费大

段页式存储管理

两者结合,对进程空间先分段,再分页
优点:空间浪费小,存储共享容易,能动态连接
缺点:复杂性和开销增加,执行速度下降

文件管理

计算机系统中采用的索引文件结构如下图所示:
在这里插入图片描述

系统中有n个索引节点,直接索引,即每个索引节点存放的是内容,假设每个物理盘大小为4KB,则可存4KB*10=40KB数据;

其次索引节点为一级间接索引节点,大小为4KB,不是直接存放数据,而是链接到直接物理盘块的地址,假设每个地址占4B,则共有4KB/4B=1024个地址,可存1024*4KB=4MB数据;

然后是二级索引节点,存放一级节点地址,一级节点再存放物理盘块地址,再链接到物理盘块,容量扩大一个量级,102410244KB数据;

1然后是为三级间接索引,又多一层嵌套,102410241024*4KB数据。
以此类推

树形文件目录

相对路径:从当前目录开始的文件路径
绝对路径:从根目录开始的路径
全文件名:绝对路径 + 文件名
树形结构主要用于区分相对路径和绝对路径

空闲存储空间管理

空闲区表法:将所有空闲空间整合成一张表,即空闲文件目录
空闲链表法:将所有空闲空间链接成一个链表,根据需要分配
成组链接法:既分组,每组内又链接成链表,两者结合
位示图法:对每个物理空间用一位标记,为1则使用,为0则空闲,形成一张位示图。

设备管理

  • 设备分类方式:
    按数据组织分类:块设备、字符设备。
    资源分配角度分类:独占设备、共享设备和虚拟设备。
    数据传输速率分类:低速设备、中速设备、高速设备

输入输出技术

  • 程序控制(查询)方式:CPU主动查询外设是否完成数据传输,效率极低。CPU串行

CPU串行(Serial CPU)是一种单个指令流执行的计算机处理器,指令序列按顺序一个接一个地执行。这意味着每个指令必须在前一个指令完成后才能开始执行。这与并行处理器(Parallel CPU)不同,后者可以同时执行多个指令。串行CPU通常更容易设计和实现,但速度较慢。

  • 程序中断方式:外设完成数据传输后,向CPU发送中断,等待CPU处理数据,效率相对较高。适用于键盘等实时性较高的场景。CPU并行

CPU并行是指将一个任务分解成多个子任务,由多个处理器核心同时处理,从而提高处理效率和性能的一种方式。CPU并行可以在单个处理器内的多个处理核心之间分配任务,或者将任务分配给多个处理器来执行。CPU并行可以使用多线程、向量化指令、SIMD(单指令多数据)和多核心等技术来实现。在现代计算机系统中,CPU并行通常用于高性能计算、数据分析、图形处理和深度学习等领域。

  • 中断响应时间指的是从发出中断请求开始进入中断处理程序
  • 中断处理时间指的是从中断处理开始到中断处理结束
  • 中断向量提供终端服务程序的入口地址。
  • 多级中断嵌套,使用堆栈来保护断点和现场。
  • DMA方式(直接主存存取):CPU只需完成必要的初始化等操作,数据传输的整个过程都有DMA控制器来完成,在主存和外设之间建立直接的数据通路,效率很高。适用于硬盘等高速设备。CPU并行

占用CPU时间:程序查询>中断>DMA>通道>I/O处理机

在一个总线周期结束后,CPU会响应DMA请求开始读取数据;CPU响应程序中断方式请求是在一条指令执行结束时;区分指令执行结束和总线周期结束。

虚设备和SPOOLING技术

SPOOLING技术
,就是在外设上建立两个数据缓冲区(输入井、输出井),这样无论多少进程都可以共用这一台打印机,只需要将打印命令发出,数据就会排队存储在缓冲区中,打印机就会自动按顺序打印,实现了物理外设的共享,使每个进程都感觉在使用一个打印机,这就是物理设备的虚拟化。

磁盘结构

磁盘有两个盘面,每个盘面又多个同心圆,一个圆就是一个磁道,磁道上划分多个扇区,数据就存在扇区中。

读取数据时,先找到对应磁道,等磁盘旋转到指定扇区,才能读取到,因此就有寻道时间(磁头移动到磁道所需时间)和等待时间(等待读写的扇区转到磁头下的时间),寻道时间最长
寻道时间调度算法:

先来先服务FCFS:根据进程请求顺序
最短寻道时间优先SSTF:请求访问的磁道与当前磁道最近的进程优先调度。问题:“饥饿现象”,远处的进程可能一直无法访问
扫描算法SCAN【电梯算法】:磁头在磁盘上双向移动,选择离磁头当前所在位置最近的请求访问的磁道,并且与磁头移动方向一致,磁头永远都是里→外或者外→里一直移动完才掉头
单项扫描调度算法CSCAN:与SCAN不同的时,只做单项移动,只能里→外或者外→里单向。

#微内核操作系统

只将最为核心必要的东西放入内核,其他能够独立的东西都放进用户进程中,用户态、核心态

嵌入式操作系统

嵌入式操作系统特点:微型化、代码质量高、专业化、实时性强、可裁剪可配置。

实时嵌入式操作系统的内核服务:异常和中断、计时器、l/O管理。

常见的嵌入式RTOS(实时操作系统):VxWorks、RT-Linux、QNX、pSOS。

嵌入式系统初始化过程按照自底向上、从硬件到软件的次序依次为:
片级初始化->板级初始化->系统初始化。

芯片级是微处理器的初始化,板卡级是其他硬件设备初始化,系统级初始化就是软件及操作系统初始化。

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

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

相关文章

654.最大二叉树

力扣题目地址(opens new window) 给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下&#xff1a; 二叉树的根是数组中的最大元素。左子树是通过数组中最大值左边部分构造出的最大二叉树。右子树是通过数组中最大值右边部分构造出的最大二叉树。 通过给…

BIT-7文件操作和程序环境(16000字详解)

一&#xff1a;文件 1.1 文件指针 每个被使用的文件都在内存中开辟了一个相应的文件信息区&#xff0c;用来存放文件的相关信息&#xff08;如文件的名字&#xff0c;文件状态及文件当前的位置等&#xff09;。这些信息是保存在一个结构体变量中的。该结构体类型是有系统声明…

uniapp实现微信小程序隐私协议组件封装

uniapp实现微信小程序隐私协议组件封装。 <template><view class"diygw-modal basic" v-if"showPrivacy" :class"showPrivacy?show:" style"z-index: 1000000"><view class"diygw-dialog diygw-dialog-modal bas…

边缘计算网关

一、项目整体框架图 二、项目整体描述 边缘计算网关项目主要实现了智能家居场景和工业物联网场景下设备的数据采集和控制。 整个项目分为三大层&#xff1a;用户接口层、网关层、设备层。 其中用户层通过QT客户端、WEB界面及阿里云提供数据展示和用户接口。 网关使用虚拟机代替…

【网络安全-sqlmap】sqlmap以及几款自动化sql注入工具的详细使用过程,超详细,SQL注入【5】

一&#xff0c;sqlmap 工具的详细使用 kali系统自带这个工具&#xff0c;无需安装直接sqlmap 后面接参数使用 Windows上参照以下方法安装即可 1-1 工具下载 1-1-1 sqlmap下载 sqlmap 工具下载地址&#xff1a; GitHub - sqlmapproject/sqlmap: Automatic SQL injection a…

多线程基础篇(多线程案例)

文章目录 多线程案例1、单例模式1&#xff09;饿汉模式2&#xff09;懒汉模式3&#xff09;线程安全吗&#xff1f;&#xff1f;4&#xff09;解决懒汉模式线程安全问题5&#xff09;解决懒汉模式内存可见性问题 2、阻塞队列1) 阻塞队列是什么&#xff1f;2) 生产者消费者模型1…

大屏自适应容器组件-Vue3+TS

1.引言 在做数字大屏时&#xff0c;图表能跟着浏览器的尺寸自动变化&#xff0c;本文采用Vue3前端框架&#xff0c;采用TypeScript语言&#xff0c;封装了一个大屏自适应组件&#xff0c;将需要显示的图表放入组件的插槽中&#xff0c;就能实现自适应屏幕大小的效果。 2.实际…

mysql-binlog

1. 常用的binlog日志操作命令 1. 查看bin-log是否开启 show variables like log_%;2. 查看所有binlog日志列表 show master logs;3.查看master状态 show master status;4. 重置&#xff08;清空&#xff09;所有binlog日志 reset master;2. 查看binlog日志内容 1、使用mysqlb…

前端相关题目随笔

Vh虽然获取到了视口高度&#xff0c;但是vh会随着屏幕的、大小变化&#xff0c;所以当减去一个数字之后&#xff0c;就会显示错误。 生成id 如果没有设置id&#xff0c;则可以通过new Date.getTime()获取一个时间&#xff0c;作为一个单独的id&#xff0c;也可以通过下载uuid生…

竞赛选题 机器视觉人体跌倒检测系统 - opencv python

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 机器视觉人体跌倒检测系统 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&…

想要精通算法和SQL的成长之路 - 二叉树的序列化和反序列化问题

想要精通算法和SQL的成长之路 - 二叉树的序列化和反序列化问题 前言一. 二叉树的层序遍历&#xff08;BFS&#xff09;二. 二叉树的序列化与反序列化2.1 序列化操作2.2 反序列化操作 前言 想要精通算法和SQL的成长之路 - 系列导航 一. 二叉树的层序遍历&#xff08;BFS&#xf…

Redis学习笔记(下):持久化RDB、AOF+主从复制(薪火相传,反客为主,一主多从,哨兵模式)+Redis集群

十一、持久化RDB和AOF 持久化&#xff1a;将数据存入硬盘 11.1 RDB&#xff08;Redis Database&#xff09; RDB&#xff1a;在指定的时间间隔内将内存中的数据集快照写入磁盘&#xff0c;也就是行话讲的Snapshot快照&#xff0c;它恢复时是将快照文件直接读到内存里。 备份…

操作系统原理-习题汇总

临近毕业&#xff0c;整理一下过去各科习题及资料等&#xff0c;以下为操作系统原理的习题汇总&#xff0c;若需要查找题目&#xff0c;推荐CtrlF或commandF进行全篇快捷查找。 操作系统原理 作业第一次作业选择题简答题 第二次作业选择题简答题 第三次作业选择题简答题 第四次…

acwing215.破译密码题解(容斥原理+mobius函数)

达达正在破解一段密码&#xff0c;他需要回答很多类似的问题&#xff1a; 对于给定的整数 a,b 和 d&#xff0c;有多少正整数对 x,y&#xff0c;满足 x≤a&#xff0c;y≤b&#xff0c;并且 gcd(x,y)d. 作为达达的同学&#xff0c;达达希望得到你的帮助。 输入格式 第一行包…

H5生成二维码

H5生成二维码&#xff1a; 1.引入js库&#xff0c;可自行点击链接复制使用 <script type"text/javascript" src"http://static.runoob.com/assets/qrcode/qrcode.min.js"></script>2.加入二维码占位区HTML <div id"qrCode">…

初识Java 12-2 流

目录 中间操作 跟踪与调试 对流元素进行排序 移除元素 将函数应用于每个流元素 在应用map()期间组合流 Optional类型 便捷函数 创建Optional Optional对象上的操作 由Optional组成的流 本笔记参考自&#xff1a; 《On Java 中文版》 中间操作 ||| 中间操作&#xf…

Linux嵌入式学习之Ubuntu入门(六)shell脚本详解

系列文章内容 Linux嵌入式学习之Ubuntu入门&#xff08;一&#xff09;基本命令、软件安装、文件结构、编辑器介绍 Linux嵌入式学习之Ubuntu入门&#xff08;二&#xff09;磁盘文件介绍及分区、格式化等 Linux嵌入式学习之Ubuntu入门&#xff08;三&#xff09;用户、用户组…

从0手写两轮差速机器人urdf模型

文章目录 前言一、基本理论二、实现步骤1.创建一个机器人建模功能包2.使用圆柱体创建一个车体模型2.同理创建机器人其它构件3.机器人模型添加传感器 前言 最近为找到与自己课题应用场景相适应的机器人结构&#xff0c;对机器人建模方面的内容进行了了解和学习&#xff0c;计划…

博途SCL区间搜索指令(判断某个数属于某个区间)

S型速度曲线行车位置控制,停靠位置搜索功能会用到区间搜索指令,下面我们详细介绍区间搜索指令的相关应用。 S型加减速行车位置控制(支持点动和停车位置搜索)-CSDN博客S型加减速位置控制详细算法和应用场景介绍,请查看下面文章博客。本篇文章不再赘述,这里主要介绍点动动和…

【nginx】Nginx配置:

文章目录 一、什么是Nginx&#xff1a;二、为什么使用Nginx&#xff1a;三、如何处理请求&#xff1a;四、什么是正向代理和反向代理&#xff1a;五、nginx 启动和关闭&#xff1a;六、目录结构&#xff1a;七、配置文件nginx.conf&#xff1a;八、location&#xff1a;九、单页…