961操作系统知识总结

部分图片可能无法显示,参考这里:https://zhuanlan.zhihu.com/p/701247894

961操作系统知识总结

一 操作系统概述

1. 操作系统的基本概念


重要操作系统类型:批处理操作系统(批量处理作业,单道批处理/多道批处理系统,用户不能与之交互),分时操作系统(时间片轮转,可以进行用户交互),实时操作系统(相对分时操作系统,紧急任务无需排队等待)

并发并行:并发性,又称共行性,是指能处理多个活动的能力。并行与并发是不同的,并行是指进程在CPU上同时执行,而并发只要求一段时间内进程同时能够运行,有可能是在这段时间内两者是串行执行的。
程序:放在外存中的程序代码
作业:正准备从外存调入内存的程序
进程:正在从内存中运行的程序

2. 操作系统的重要概念

用户态+核心态/管态
操作系统内核相关内容:时钟管理,中断机制,原语,系统控制的数据结构及处理
原语:处于计算机最底层,用来实现一些规定操作的指令,且不能被中断,需一次性执行完(一般执行时间也很短)。
系统控制的数据结构及处理:如进程控制块,设备控制块等。

二 进程管理

1. 进程、线程的基本概念以及两者的区别

在操作系统中引入进程的目的,是为了使多个程序并发执行,以改善资源利用率及提高系统的吞吐量;那么,在操作系统中再引入线程则是为了减少程序并发执行时所付出的时空开销,使操作系统具有更好的并发性。

支持线程的操作系统中,进程是资源分配的基本单位,线程是处理器调度的基本单位。

2. 进程控制块、进程的状态与转换


当遇到特殊情况,需要暂停进程,然后将进程会从内存调到外存,该过程就称为进程的挂起。被挂起的程序在解决了特定问题之后,可以恢复到内存继续运行。
注意,进程的挂起不是进程的阻塞,处于阻塞状态的进程依然在内存中,但处于挂起状态的进程已经不在内存了。
进程 = 程序 + 数据 + 进程控制块PCB

3. 进程调度算法

优先级算法
时间片轮转算法
短作业优先算法
先来先服务算法
最重要评估原则:周转时间平均周转时间
其他比较次要的原则:

调度的层次:低级调度(作业调度,程序),中级调度(内存调度,挂起),高级调度(进程调度,进程)

4. 死锁的探讨与处理

死锁的预防

死锁发生的四个必要条件:循环等待条件,不可剥夺条件,请求保持条件,互斥使用条件

死锁的避免

银行家算法,安全性算法,资源分配矩阵,安全序列

死锁的检测

资源分配图的化简

死锁的解除

资源剥夺法,撤销进程法

死锁处理总览

从预防,避免,检测,解除四个角度出发,大题可能出银行家算法,安全性算法,资源分配图,其实本质都一样,思想都是试探性分配

5. 进程间通信

低级通信:交换少量信息,PV操作是低级通信方式,实现对临界资源的同步和互斥。
高级通信:以较高的效率交换大量数据的通信方式
高级通信方式:共享存储,消息传递系统,管道通信

6. 进程同步互斥的基本概念

临界资源:系统中一次只允许一个进程使用的资源
临界区:各个进程中对某个临界资源实施操作的程序片段
同步:一个进程执行到某一步时,必须等待另一个进程发来信息才能继续运行下去,这种关系叫同步。
互斥:由于各个进程需要使用共享资源,而这些资源需要排它性使用,各个进程之间竞争使用这些资源,这种关系叫互斥。
临界资源的访问代码分区:进入区临界区退出区,剩余区

7. 实现临界区互斥的基本方法

软件实现法
在进入区设置和检查一些标志来表明是否有进程进入临界区。若有,则循环检查一直等待,直到进入临界区。离开临界区后,在退出区修改标志。这种不断循环检查标志的值实质上,浪费了处理机资源。
硬件实现法
硬件实现主要两种方法:中断屏蔽法硬件指令法
中断屏蔽法:一个进程进入临界区后,关中断。可以防止其他进程进入临界区。此方法限制了CPU交替执行程序的能力,有可能会使系统崩溃(如异常得不到中断处理)
硬件指令法:每条硬件指令都是原子操作,因为它们是硬件直接实现,因此执行硬件指令时不会被中断
信号量机制
一种十分有效,重要的同步方法,可以同时实现同步和互斥关系,实现灵活方便快捷

8. 信号量机制及P、V操作

信号量机制可用来解决同步和互斥问题,信号量semaphore只能被两个操作(P操作和V操作)来访问。
信号量的数据结构描述如下:

typedef struct {int value;struct process *L;
} semaphore;

说明:该数据结构由两个变量组成,value是当前状态可用资源的数量,L是存放因资源限制被阻塞的进程队列指针。
P操作:请求访问临界资源
V操作:请求释放临界资源

信号量机制原理简述

当一个进程需要临界资源时:

  1. 进行P操作,value的值减1
  2. 若value>=0,说明存在可用临界资源,进程继续执行,否则转3
  3. 若value<0,说明不存在可用临界资源,将当前进程加入阻塞队列L
  4. 阻塞进程,等待适当时机被唤醒

当一个进程释放临界资源时:

  1. 进行V操作,value的值加1
  2. 若value>0,说明不存在阻塞的进程,否则转3
  3. 若value<=0,说明存在阻塞的进程等待临界资源,唤醒一个阻塞进程

只需要将临界区代码置于P,V操作之间,即可实现同步与互斥
分析:此时,P操作相当于进入区,临界区依然是临界区,V操作相当于退出区,剩余区依然不变;P,V操作为原语,执行过程中不能被中断。

9. 经典同步问题

主要三个问题:生产者消费者问题读者写者问题哲学家进餐问题,前两个问题相对更重要,是实际做题的思路来源
生产者消费者问题



读者写者问题



哲学家进餐问题

三 内存管理

1. 程序从外存调入内存细节

程序从外存到内存,实现了外存中作业到内存中进程的转变,大体经过编译链接装入三大过程。
编译
编译过程主要有编译汇编两个阶段。编译阶段主要将高级语言转换为汇编语言,汇编阶段主要将汇编语言翻译成机器语言。
链接
由链接程序将编译后形成的目标模块以及所需要的库函数链接在一起,形成一个完整的装入模块。链接主要在编译时,加载时,运行时进行。链接若发生在编译时,就是静态编译,程序运行前完全确定链接;而运行时链接,表示程序运行到需要的函数库才链接对应对象,为动态编译
装入
由装入程序将装入模块装入内存运行,此时会创建对应进程。装入分为静态重定位动态重定位。涉及的主要问题是程序中的逻辑地址与实际内存的物理地址之间如何映射。静态重定位在装入时一次性完成逻辑地址与物理地址的映射关系,而动态重定位需要运行时动态确定逻辑地址与物理地址的映射关系。

2. 内存保护的基本方法

内存保护的关键在于检查进程是否有内存地址越界行为。
上下限寄存器
在CPU中设置上下限寄存器,用于分别存放作业在主存中的上限和下限地址,当CPU要访问地址时,与这两个寄存器的值进行比较即可判断是否越界,适合逻辑地址即对应相应物理地址的情形(如物理地址与逻辑地址事先就确定只差一个固定的偏移量)
界地址寄存器
界地址寄存器存有进程的最大逻辑地址(通过分配内存后由起始物理地址与分配空间大小计算得出),可通过逻辑地址是否大于该界地址寄存器的值比较是否发生越界,若不越界,加上重定位寄存器(存有进程的起始物理地址)的值即为物理地址。

3. 分区管理存储

可细分两种:固定式分区存储管理动态式分区存储管理

固定式分区分配方法:单一队列分配方式,多队列分配方式
可变式分区分配方法:首次适应算法,下次适应算法,最佳适应算法,最坏适应算法
碎片方面:固定式分区产生内碎片,可变式分区产生外碎片

4. 交换覆盖技术

覆盖技术

交换技术

5. 分页存储管理(重点内容,展开比较详细)


作业在请求内存空间的分配时,一般按照页为单位来分配,每个进程记住自己分得哪些页(一般记录页号)形成页表,页表数据存储在进程控制块PCB中






地址变换过程


多级页表


6. 分段存储管理



7. 段页存储管理


8. 虚拟存储管理

虚拟存储技术的实现依赖于局部性原理,即进程往往会不均匀地高度局部性地访问内存。局部性原理表现在时间局部性空间局部性


9. 页面置换算法


如果进程在运行中发生缺页现象,需要进入缺页中断机构进行处理,请求操作系统将所缺页面调入内存。此时进程被阻塞,等待调页完成时的唤醒。

重要算法

OPT
LRU
FIFO
CLOCK

四 设备管理

1. 设备管理基本概念

设备按传输分类:块设备(数据块为单位),字符设备(字符为单位)
设备按用途分类:存储设备,传输设备,人机交互设备
设备按共享分类:共享设备独占设备(临界资源),虚设备(虚拟技术上的逻辑设备)

设备控制方式:程序控制中断驱动DMA方式通道方式

2. 直接控制方式


3. 中断驱动方式


4. DMA方式


5. 通道方式


6. 缓冲技术

当缓冲区的数据非空时,不能往缓冲区注入数据;当缓冲区数据为空时,才能注入数据。
当缓冲区的数据不满时,不能获取缓冲区数据;当缓冲区数据为满时,才能获取数据。
主要缓冲技术有:单缓冲技术双缓冲技术,循环缓冲技术,缓冲池技术

7. 假脱机技术



五 文件管理

1. 文件系统概念

文件由文件体文件控制块FCB构成

文件分两种:普通文件(正常意义下的文件),特殊文件(目录,本质上为文件),磁盘里面存储的都是文件,以文件为逻辑单位进行组织

对文件的不同组织方式,就构成了不同的文件系统,常见的文件系统有:FAT,NTFS

2. 普通文件基础



文件结构分为逻辑结构物理结构
逻辑结构:文件在操作系统角度的组织方式,主要为用户所看到
物理结构:文件在物理磁盘角度的组织方式,主要为系统所看到




3. 目录文件基础




4. 文件系统实现




5. 磁盘调度算法

6. 冗余磁盘阵列

RAID0:条带化存储
RAID1:镜像存储
RAID2:汉明码存储

RAID3:校验码-字节存储
RAID4:校验码-数据块存储
RAID5:校验码-交叉存储

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

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

相关文章

RabbitMQ-直连交换机(direct)使用方法

RabbitMQ-默认读、写方式介绍 RabbitMQ-发布/订阅模式 目录 1、概述 2、直连交换机 3、多重绑定 4、具体代码实现 4.1 生产者部分 4.2 消费者部分 5、运行代码 6、总结 1、概述 直连交换机&#xff0c;可以实现类似路由的功能&#xff0c;消息从交换机发送到哪个队列…

夜天之书 #98 Rust 程序库生态合作的例子

近期主要时间都在适应产品市场&#xff08;Product Marketing&#xff09;的新角色&#xff0c;不少想法还在酝酿和斟酌当中&#xff0c;于是文章输出没有太多时间来推敲和选题&#xff0c;只能保持每月发布相关的进展或一些零碎的思考。或许我可以恢复最早的模式&#xff0c;多…

YOLOv8改进(一)-- 轻量化模型ShuffleNetV2

文章目录 1、前言2、ShuffleNetV2代码实现2.1、创建ShuffleNet类2.2、修改tasks.py2.3、创建shufflenetv2.yaml文件2.4、跑通示例 3、碰到的问题4、目标检测系列文章 1、前言 移动端设备也需要既准确又快的小模型。为了满足这些需求&#xff0c;一些轻量级的CNN网络如MobileNe…

十_信号4-SIGCHLD信号

SIGCHLD信号 在学习进程控制的时候&#xff0c;使用wait和waitpid系统调用何以回收僵尸进程&#xff0c;父进程可以阻塞等待&#xff0c;也可以非阻塞等待&#xff0c;采用轮询的方式不停查询子进程是否退出。 采用阻塞式等待&#xff0c;父进程就被阻塞了&#xff0c;什么都干…

力扣83. 删除排序链表中的重复元素

Problem: 83. 删除排序链表中的重复元素 文章目录 题目描述思路复杂度Code 题目描述 思路 1.定义快慢指针fast、slow均指向head&#xff1b; 2.每次fast后移一位&#xff0c;当fast和slow指向的节点值不一样时&#xff0c;将slow.next指向fast同时使slow指向fast&#xff1b; 3…

MyBatis框架-开发方式+参数传递+#{}、${}+返回值处理+查询结果封装为对象+resultType

一、开发方式 MyBatis-Dao层Mapper接口化开发 二、注意事项 1、Mapper接口与Mapper.xml映射文件要满足4个对应 &#xff08;1&#xff09;Mapper接口的全类名必须与Mapper映射文件中的namespace相同 &#xff08;2&#xff09;Mapper接口中的每一个方法名在Mapper映射文件…

回溯算法之电话号码字母组合

题目&#xff1a; 给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下&#xff08;与电话按键相同&#xff09;。注意 1 不对应任何字母。 示例 1&#xff1a; 输入&#xff1a;digits "2…

Java web应用性能分析之【jvisualvm远程连接云服务器】

Java web应用性能分析之【java进程问题分析概叙】-CSDN博客 Java web应用性能分析之【java进程问题分析工具】-CSDN博客 前面整理了java进程问题分析和分析工具&#xff0c;现在可以详细看看jvisualvm的使用&#xff0c;一般java进程都是部署云服务器&#xff0c;或者托管IDC机…

每周统计-20240531

用于测试程序的稳定性&#xff1a; 龙虎榜&#xff1a; 成交额&#xff1a; 封成比&#xff1a; 收盘前放量&#xff1a; 开盘抢筹&#xff1a; 封单额&#xff1a;

论文阅读:Correcting Motion Distortion for LIDAR HD-Map Localization

目录 概要 Motivation 整体架构流程 技术细节 小结 论文地址&#xff1a;http://arxiv.org/pdf/2308.13694.pdf 代码地址&#xff1a;https://github.com/mcdermatt/VICET 概要 激光雷达的畸变矫正是一个非常重要的工作。由于扫描式激光雷达传感器需要有限的时间来创建…

linux命令:调试必备工具dmesg

在服务器上进行芯片调试时&#xff0c;我们会遇到各种各样的问题&#xff0c;很多问题与操作系统相关。此时就需要了解操作系统发生了哪些事件。 dmesg 是linux系统中用来打印或控制内核缓冲区内容的命令。这个环形缓冲区记录了系统启动以来发生的各种事件消息&#xff0c;包括…

ChatTTS改良版 - 高度逼真的人类情感文本生成语音工具(TTS)本地一键整合包下

先介绍下ChatTTS 和之前发布的 Fish Speech 类似&#xff0c;都是免费开源的文本生成语音的AI软件&#xff0c;但不同的是&#xff0c;ChatTTS测试下来&#xff0c;对于人类情感语调的模仿&#xff0c;应该是目前开源项目做的最好的&#xff0c;是一款高度接近人类情感、音色、…

WordPress中借助Table of Contents Plus+Widget Options插件,实现仅在文章侧边栏显示文章目录的功能

本文转自博主的个人博客&#xff1a;https://blog.zhumengmeng.work,欢迎大家前往查看。 原文链接&#xff1a;点我访问 序言&#xff1a;今天心血来潮&#xff0c;写了一篇文章&#xff0c;忽然发现自己的文章极少有目录&#xff0c;这对于长文章的阅读来说是十分不利的&#…

【自动驾驶】针对低速无人车的线控底盘技术

目录 术语定义 一般要求 操纵装置 防护等级 识别代号 技术要求 通过性要求 直线行驶稳定性 环境适应性要求 功能安全要求 信息安全要求 故障处理要求 通信接口 在线升级(OTA) 线控驱动 动力性能 驱动控制响应能力 线控制动 行车制动 制动响应能力 线控转向 总体要求 线控…

车联网安全入门——ICSim模拟器使用

文章目录 车联网安全入门——ISCim模拟器使用介绍主要特点&#xff1a;使用场景&#xff1a; 安装使用捕获can流量candumpcansnifferwiresharkSavvyCAN主要特点&#xff1a;使用场景&#xff1a; 重放can报文cansendSavvyCAN 总结 车联网安全入门——ISCim模拟器使用 &#x1…

SQL刷题笔记day8——SQL进阶——表与索引操作

目录 1 创建一张新表 2 修改表 3 删除表 4 创建索引 5 删除索引 1 创建一张新表 我的答案 create table if not exists user_info_vip (id int(11) primary key auto_increment Comment自增ID, # 有了主键就不用写not nul了 uid int(11) unique not null Comment用户ID, …

272 基于matlab的形态滤波和局域值分解(LMD)的齿轮故障诊断

基于matlab的形态滤波和局域值分解&#xff08;LMD&#xff09;的齿轮故障诊断&#xff0c;GUI交互界面。通过形态滤波对一维信号进行降噪处理&#xff0c;并通过LMD局部均值分解提取故障信号&#xff0c;最后提取处故障频率。程序已调通&#xff0c;可直接运行。 272 形态滤波…

微信小程序的服务调取

微信小程序的服务调取概述 微信小程序允许开发者通过网络请求与服务器进行交互&#xff0c;从而实现数据的上传和下载。这是通过小程序提供的API&#xff0c;如wx.request、wx.downloadFile、wx.uploadFile等来完成的。这些API使得小程序可以从远程服务器获取数据&#xff0c;…

Java+SVNCloud+Mysql课程设计

文章目录 1、主要内容2、所需准备3、与sql访问的中间类&#xff1a;SqlMessage4、窗口界面5、main方法 1、主要内容 课程设计&#xff0c;主要通过Javas wing创建窗口&#xff0c;jdbc连接云端mysql数据库进行基本操作&#xff0c;支持随机生成数据并用动态展示数据结果。 先…

一种最大重叠离散小波包特征提取和支持向量机的ECG心电信号分类方法(MATLAB 2018)

目前小波分析算法常采用Mallat快速算法。该算法由与滤波器卷积、隔点采样和隔点插零等三个环节组成。由于实际使用的滤波器并不具有理想频域特性&#xff0c;使得在标准二进小波算法中存在着频率混叠和小波系数失真等缺点&#xff0c;在标准二进小波包算法中还存在频带错乱现象…