操作系统期末复习知识点

目录

一.概论

1.操作系统的介绍

2.特性

3.主要功能

4.作用

二.进程的描述与控制

1.进程的定义

2.特性

3.进程的创建步骤

4.基本状态转化

5.PCB的作用

6.进程与线程的比较

三.进程同步

1.同步的概念(挺重要的)

2.临界区

3.管程和进程的区别

4.信号量机制(重中之重,必考题)

四.处理机调度与死锁

1.处理机调度层次

2.调度算法

3.死锁定义

4.死锁产生的必要条件

5.处理方法

6.银行家算法

五.存储器管理

1.程序装入方式

2.磁盘空间划分

3.动态分区的算法

4.离散分配方式

六.虚拟存储器

1.概述

2.特征

3.实现方法

4.请求分页的硬件支持

5.地址变换机构

6.缺页中断机构

7.请求分页中的内存分配

8.分配算法

9.抖动

10.页面置换算法


一.概论

1.操作系统的介绍

是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。目的是管理计算机的软硬件,提高它们的利用率和吞吐量,也同时提供接口,方便用户和应用程序使用硬件设备。

2.特性


异步,虚拟,共享,并发(在一段时间内会有许多进程进行,要和并行进行区别

3.主要功能

处理机,存储器,设备,文件,接口5方面的管理

4.作用

(1):作为用户和计算机硬件系统的接口

(2):作为计算机系统资源的管理者

(3):实现对计算机资源的抽象

二.进程的描述与控制

1.进程的定义

程序的一次动态执行的过程,是系统进行资源分配的一个独立的单位,组成的元素有PCB(较重要),程序段和数据段。

2.特性

动态,独立,并发,异步

3.进程的创建步骤

(1).申请空白PCB

(2).插入相关信息

(3).插入就绪队列中

4.基本状态转化

5.PCB的作用

(1):作为独立运行基本单位的标志

(2):实现间断性的运行方式

(3):实现与其他进程的同步与同信

(4):提供进程管理的信息

(5):提供进程调度需要的信息

6.进程与线程的比较

(1)地址空间:同一进程内的不同线程共享进程的地址空间和资源;而不同的进程内的不同线程则独立拥有各自的地址空间

(2)并发性:进程和进程之间可以实现并发性,而进程内的线程也可以实现并发性,进一步提高了并发性

(3)系统开销:进程的创建和切换的开销较大,而线程的开销较小

(4)拥有资源:进程拥有资源并作为系统拥有资源的一个基本单位;而线程是几乎不拥有资源的

(5)独立性:同一进程内的不同线程独立性低,因为它们共享进程内的地址空间和资源。而不同进程内的不同线程独立性高,每个进程都拥有一个独立的地址空间和其他资源,除了共享全局变量以外,不允许其他进程访问

三.进程同步

1.同步的概念(挺重要的)

把异步环境下的一组并发进程因直接制约而相互发送信息,相互合作,互相等待等,使得个进程按一定的速度的执行过程。

2.临界区

访问临界资源的那一段代码

3.管程和进程的区别

①虽然二者都定义了数据结构,但进程定义的是私有的数据结构——PCB .管程是公有的数据结构

②进程是由顺序程序执行,管程则主要进行同步操作和初始化操作

③进程的的在于实现系统的并发性,而管程则是解决共享资源互斥使用

④进程之间能并发执行,而管程不行

⑤进程具有动态性.由创建而诞生,由撤销而销亡;管程是 OS 中的一个资源管理模块,仅供进程调用

⑥进程通过调用管程中的过程来对共享数据结构操作,进程是主动工作方式,管程是被动工作方式

4.信号量机制(重中之重,必考题)

tips:必须先同步后互斥,否则会出现死锁

(1)生产者——消费者问题:

(2)读者——写者问题:

四.处理机调度与死锁

1.处理机调度层次

(1)高级调度:作业调度,将外存作业调入内存

(2)低级调度:进程调度,将进程分配给处理机

(3)中级调度:把外存上的那些已具备运行条件的就绪进程重新再调入内存,并修改它们的状态为就绪状态

2.调度算法

(1)先来先服务:FCFS,顾名思义,不用多解释

(2)短作业:SJF,运行时间段的先使用CPU

(3)高响应比:看公式,数值大的先使用((等待时间+要求服务时间)/要求服务时间)

(4)优先级:也是顾名思义,不用太多的赘述了

(5)时间轮转片:RR事先定义好轮转片的大小,然后按先后顺序循环起来就OK了
(6)最低松弛度:LLF,A松弛度=截止时间-本身运行时间-当前的时间,松弛度越小,优先级越高

拓展知识:

周转时间:进程到达系统到 完成所经历的时间

带权周转时间:周转时间/运行时间


3.死锁定义

如果进程中的每个进程都在等待仅有该组进程的其他进程才能引发的事件发生,那么该进程会发生死锁

4.死锁产生的必要条件

互斥,请求和保持,不可抢占,循环等待

5.处理方法

预防(静态),避免(动态),检测,解除

6.银行家算法

五.存储器管理

1.程序装入方式

(1)绝度装入

(2)可重定位装入:把在装入时对目标程序中指令和数据逻辑地址变换为物理地址到时过程

(3)动态运行时装入:在把装入模块装入内存后,并不会立即把装入模块变换为物理地址,而是会把这种地址等到程序真正运行时才会变换

2.磁盘空间划分

(1)文件区:采用离散分配方式,目的是提高利用率

(2)对换区:采用连续分配方式,目的是提高访问速度

3.动态分区的算法

(还有一个最坏的算法,试问最坏的学它干嘛?故不说了)
(1)首次适应:按地址大小顺序,每次都得从头开始,无疑就增加了开销

(2)循环首次适应:它不会每次从头开始,而是接着上一次的查找

(2)最佳:根据分区块大小拉链进行查找

4.离散分配方式

(1)分页:将用户程序的地址空间(逻辑地址)分为若干个固定大小的区域,称为“页”:相应地也将内存空间分为若干个物理块,页和块的大小相同。

(2)分段:把用户程序的地址空间与为若干个大小不同的段,每段可定义一组相对完整的信息,在有储器分配时,以段为单位。

(3)分页地址中地址结构:

即:若给定的逻辑地址空间中的地址为 A ,系统面大小为 L , d 为页内地址 w 则 P : int [A/L]

( W ) d =[ A ] mod L

物理地址=块号 x 块大小+块内偏移量、

(4)地址变换机构:

①页表是有放在内存中,这使 CPU 在每次存取一个数据时都要访问内存两次。第一次是访问内存中的页表,从中找到指定的页的物理块号,再将块号与页内偏移量拼接,以形成物理地址。第二次访问是从第一次所得地址中获得所需的数据。

②快表:提高地址变换速度,并行查寻能力的高速缓冲寄有器。

(5)快表后的内存有效访问时间:

基本分页: EAT =2t

快表分页: EAT = ax 入+(1- a )(t+入)+ t ( t :访问内有次的时间: a :命中率;入:查找快表的时间)

(6)分段与分页的区别:

①页是信息的物理单位:页是消减内存的外零头,提高内存的利用率。分段是的段是信息的逻辑单位,包含的意义相对较完整。

②页的大小固定且由系统决定:而段的长度则不固定,其取决于用户所骗写的程序。

③页的用户程序地址空间是一维的:页完全是系统的行为,用户程序地址属于单一的线性地址空间。而分段是用户的形为,行为,在标志一个地址时,既给出段名,又须给出段内地址,是二维的。

六.虚拟存储器

1.概述

具有请求调入和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统

2.特征

多次性,对换性,虚拟性

3.实现方法

请求分页,请求分段和请求段页(最后一个比较难,本科阶段不适合学习)

4.请求分页的硬件支持

请求页表机制,缺页中断机构和地址变换机构

5.地址变换机构

页表机制:页号 物理块 状态位 P  访问字段 A  修改位 M  外存地址

(1)状态位:指示该页是否己调入内存,供程序访问时参考。

(2)访问字段:用于记录本页在一段时间内被访问的次数,或记录本页最近有多长时间未被访问,仅供置换算法在选择换出页面时参考。

(3)修改位:该页在调入内存后是否被修改过。供仅置换页面时参考。

(4)外有地址:指出该页在外有中的地址,供调入该页时参考。

6.缺页中断机构

(1)概念:

每当要访问的页面不存在内存中,便产生一个缺页中断.请求 OS 将缺之页调入内存。

(2)与一般中断的区别:

①在指令执行期间,产生和处理中断信号。 CPU 通常在一条指令执行完后才去检查是否有中断请求到达;然而缺页中断是在指令执行期间,若发现要访问的不在内存中,便立即产生中断信号.以便能及时将所缺之页调入内存。

②一条指令在执行期间,可能会产生多次缺页中断。

7.请求分页中的内存分配

固定局部,可变全局,可变局部

8.分配算法

平均,按比例,优先权.分配策略

9.抖动

(1)定义:

频繁对某页面进行换入与换出、以致一个进程在运行中把大部分时间都花费在页面置换工作上。

(2)产生原因:

同时在系统中运行的进程太多.导致分配给每个进程的物理块太少。

(3)预防方法:

1)采取局部置换策略

2)把工作集算法融入到处理机调度中

3)利用" L = S "准则调节缺页率

4)选择暂停的进程

工作集的定义:

在某段时间间隔中进程实际要访问页面的集合

10.页面置换算法

(1)opt :置换以后长期不会被访问的页面。

(2)FIFO :淘汰最先进入内存的面,驻留时间最长的

(3)LRU :最近最久未使用

未完待续


习题已放入CSDN上了,欢迎大家自取。

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

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

相关文章

62.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏公告类的C++还原

内容来源于:易道云信息技术研究院VIP课 上一个内容:游戏红字公告功能的逆向分析-CSDN博客 码云地址(master分支):https://gitee.com/dye_your_fingers/sro_-ex.git 码云版本号:0888e34878d9e7dd0acd08ef…

Redis第四讲——Redis的数据库结构、删除策略及淘汰策略

一、redis中的数据库 redis服务器将所有数据库都保存在服务器状态redis.h/redisServer结构的db数组中。db数组的每项都是一个redis.h/redisDb结构,而每个redisDb结构就代表一个数据库。在初始化服务器时,程序会根据服务器状态的dbnum属性来决定应该创建多…

outlook邮件群发单显技巧?群发怎么单显?

outlook邮件群发单显如何设置?QQ邮箱怎么群发单显? 在群发邮件时,如何让每个收件人只看到自己的名字,而不是其他人的名字,这就涉及到所谓的“单显”技巧。下面蜂邮EDM就为大家揭秘Outlook邮件群发单显的奥秘。 outlo…

实战干货:用 Python 批量下载百度图片!

为了做一个图像分类的小项目,需要制作自己的数据集。要想制作数据集,就得从网上下载大量的图片,再统一处理。 这时,一张张的保存下载,就显得很繁琐。那么,有没有一种方法可以把搜索到的图片直接下载到本地电…

Spark 运行架构

Spark 框架的核心是一个计算引擎,整体来说,它采用了标准 master-slave 的结构。 如下图所示,它展示了一个 Spark 执行时的基本结构。图形中的 Driver 表示 master, 负责管理整个集群中的作业任务调度。图形中的 Executor 则是 sla…

Swift爬虫使用代理IP采集唯品会商品详情

目录 一、准备工作 二、代理IP的选择与使用 三、使用Swift编写唯品会商品爬虫 四、数据解析与处理 五、注意事项与优化建议 六、总结 一、准备工作 在开始编写爬虫之前,需要准备一些工具和库,以确保数据抓取的顺利进行。以下是所需的工具和库&…

Mac 软件出现「意外退出」及「打不开」解决方法

Mac 软件出现「意外退出」及「打不开」解决方法 软件出现意外退出及软件损坏的情况,这是因为苹果删除了TNT的证书,所以大部分TNT破解的Mac软件会出现无法打开,提示意外退出。 终端需先安装Xcode或Apple命令行工具 如未装Xcode可以使用下列命…

【算法设计与分析】分治-时间复杂度计算

目录 主定理 Master Theorem分治算法运行时间的递归表示主定理的简化形式 主定理的一般形式 递归树 Recursion Tree递归树的简单结论 主定理 Master Theorem 分治算法运行时间的递归表示 将原问题分解成 a 个子问题递归求解,每个子问题的规模是原问题的 1/b。同时子…

go-cqhttp作者停止维护——替代品OpenShamrock的使用方法

目录 前言 解决办法 配置要求 实操 刷入面具 安装lsp框架 安装OpenShamrock和QQ 注意 大功告成 前言 由于QQ官方针对协议库的围追堵截,go-cqhttp已经无力维护下去了 原文连接 QQ Bot的未来以及迁移建议 Issue #2471 Mrs4s/go-cqhttp (github.com)https…

最新GPT4.0使用教程,AI绘画,ChatFile文档对话总结+GPT语音对话使用,DALL-E3文生图

一、前言 ChatGPT3.5、GPT4.0、GPT语音对话、Midjourney绘画,文档对话总结DALL-E3文生图,相信对大家应该不感到陌生吧?简单来说,GPT-4技术比之前的GPT-3.5相对来说更加智能,会根据用户的要求生成多种内容甚至也可以和…

16.顺子日期(14)

题目 public class Main {public static boolean isLegal(String date) {int l 0;int n date.length();while(l<(n-3)) {int t1 (int)Integer.valueOf(date.substring(l,l1));int t2 (int)Integer.valueOf(date.substring(l1,l2));int t3 (int)Integer.valueOf(date.s…

FreeRTOS 实时操作系统第十二讲 - 计数信号量

一、信号量的概念 1、信号量的基本概念 消息队列是实现任务与任务或任务与中断间通信的数据结构&#xff0c;可类比裸机编程中的数组 信号量是实现任务与任务或任务与中断间通信的机制&#xff0c;可以类比裸机编程中的标志位 信号量 (semaphore) 可以实现任务与任务或任务与中…

银河麒麟Kylin-Server-V10-SP3使用ISO镜像搭建本地内网YUM/DNF源cdrom/http

机房服务器安装一般是内网环境&#xff0c;需要配置本地的YUM/DNF源。本文介绍通过ISO镜像搭建内网环境的UM/DNF源 准备工作&#xff1a; 提前准备好Kylin-Server-V10-SP3的ISO镜像文件。 本机IP地址&#xff1a;192.168.40.201 镜像存放目录/data/iso/Kylin-Server-V10-SP3-Ge…

Linux-端口、nmap命令、netstat命令

端口是设备与外界通讯交流的出入口&#xff0c;可分为物理端口和虚拟端口 物理端口实际存在可以看见&#xff0c;而虚拟端口是指计算机内部的端口&#xff0c;是不可见的&#xff0c;用来操作系统和外部交互使用。 IP地址不能锁定程序&#xff0c;所以可以通过端口&#xff0…

原生微信小程序如何动态修改svg图片颜色及尺寸、宽高(封装svgIcon组件)解决ios不显示问题

最终效果 前言 动态设置Svg图片颜色就是修改Svg源码的path中的fill属性&#xff0c; 通过wx.getFileSystemManager().readFile读取.xlsx文件 ios不显示需要把encoding设置 binary 把文件转成base64 封装svg-icon组件 1、在项目的components下新建svg-icon文件夹&#xff0c;新…

OA系统与工单系统的区别:功能、应用与优势对比

很多企业在选购系统的时候会陷入选择困难症的漩涡。市面上的各种系统&#xff0c;比如ERP系统、OA系统、工单系统等等让人眼花缭乱。想要选择一款合适的系统&#xff0c;前提是明确地知道自己需要用它来做什么&#xff0c;其次去了解每个系统的应用场景、功能等是否与自己的需求…

自动驾驶感知-预测-决策-规划-控制学习(3):感知方向文献阅读笔记

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、文章主题二、摘要阅读1.名词理解①点云是什么&#xff1f;②二维图像分割器③轻量化卷积网络提取特征④单模态表达和多模态特征融合的区别⑤基于ROS的多传感…

jetson deepstream 解码接入编码输出

不需要编解码输出画面的直接到7 使用就行 1 jetson主板编译工具 在jetson主板上安装gstreamer工具链&#xff0c;编译opencv sudo apt install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-ugly gstreamer1.0-rtsp python3-dev pytho…

安全与认证Week3 Tutorial+历年题补充

目录 1) 什么是重放攻击? 2)什么是Kerberos系统?它提供什么安全服务? 3)服务器验证客户端身份的一种简单方法是要求提供密码。在Kerberos中不使用这种身份验证&#xff0c;为什么?Kerberos如何对服务器和客户机进行身份验证? 4) Kerberos的四个要求是什么?Kerberos系…

C++日期类的实现

前言&#xff1a;在类和对象比较熟悉的情况下&#xff0c;我们我们就可以开始制作日期表了&#xff0c;实现日期类所包含的知识点有构造函数&#xff0c;析构函数&#xff0c;函数重载&#xff0c;拷贝构造函数&#xff0c;运算符重载&#xff0c;const成员函数 1.日期类的加减…