操作系统期末复习知识点

目录

一.概论

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上了,欢迎大家自取。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python中抓取小米应用商城xpath实例

页面源码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <title>手机游戏应用商店_软件商店app下载-小米应用商店</title> <…

网络通信(10)-C#TCP客户端实例

本文使用Socket在C#语言环境下完成TCP客户端的实例。 实例完成的功能: 客户端与服务器连接,实现实时刷新状态。 客户端接收服务器的数据。 客户端发送给服务器的数据。 客户端实时判定状态,断开连接后自动重连。 客户端与服务器端发送心跳包。 在VS中创建C# Winform项…

web期末个人引导页透明版

效果图 代码 css代码 * {box-sizing: border-box; }body {color: #2b2c48;font-family: "Jost", sans-serif;background-image: url(../img/bg.jpg);background-repeat: no-repeat;background-size: cover;background-position: center;background-attachment: fix…

计算机环境安全

操作系统安全----比如windows,linux 安全标识--实体唯一性 windows---主体&#xff1a;账户&#xff0c;计算机&#xff0c;服务 安全标识符SID-Security Identifier 普通用户SID是1000&#xff0c;管理用SID是500 linux---主体&#xff1a;用户&#xff0c;用户组&#xf…

Linux基础——进程地址空间

1. 地址空间的验证 之前我们在学习语言时&#xff0c;曾知道有下面这张图 对于这个图我们可以用下面的代码验证 运行后我们可以发现 其对应关系如下 我们使用fork函数&#xff0c;来分别对父子进程中的g_val进行修改&#xff0c;即 运行后我们可以发现 在子进程修改了g_val后…

凸优化 3:最优化方法

凸优化 3&#xff1a;最优化方法 最优化方法适用场景对比费马引理一阶优化算法梯度下降最速下降 二阶优化算法牛顿法Hessian矩阵Hessian矩阵的逆Hessian矩阵和梯度的区别牛顿法和梯度下降法的区别 拟牛顿法DFP、BFGS/L-BFGS 数值优化算法坐标下降法SMO算法 基于导数的函数优化解…

计算机视觉技术-区域卷积神经网络(R-CNN)

区域卷积神经网络&#xff08;region-based CNN或regions with CNN features&#xff0c;R-CNN&#xff09; (Girshick et al., 2014)也是将深度模型应用于目标检测的开创性工作之一。 本节将介绍R-CNN及其一系列改进方法&#xff1a;快速的R-CNN&#xff08;Fast R-CNN&#x…

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

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

软件测试|docker ps命令 管理和监视容器的利器

简介 Docker是一种流行的容器化平台&#xff0c;用于构建、分发和运行应用程序。Docker提供了许多命令行工具&#xff0c;其中之一是docker ps命令。本文将深入介绍docker ps命令&#xff0c;解释其用途、参数和功能&#xff0c;以及如何使用该命令来管理和监视运行中的Docker…

netcore html to pdf

一、新建项目&#xff1a;QuestPDFDemo <PackageReference Include"NReco.PdfGenerator" Version"1.2.1" /> 二、上代码 using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging;using QuestPDFDemo.Models; using System; using Sys…

力扣刷题记录(25)LeetCode:583、72、647

583. 两个字符串的删除操作 题目说可以删除任意一个字符串中的字符&#xff0c;实际上就是在求两个字符串的公共子序列。求得公共子序列后与字符串长度做个减法即可得需要的步数。 class Solution { public://求最长子数组int minDistance(string word1, string word2) {vecto…

C++ 数组详解,很全,很详细

数组 (C) 数组是相同类型的对象序列&#xff0c;它们占据一块连续的内存区。 传统的 C 样式数组是许多 bug 的根源&#xff0c;但至今仍很常用&#xff0c;尤其是在较旧的代码库中。 在新式 C 中&#xff0c;我们强烈建议使用 std::vector 或 std::array&#xff0c;而不是本部…

PPT插件-大珩助手-文字整理功能介绍

删空白行 删除文本中的所有空白行 清理编号 删除文本中的段落编号 清理格式 删除文本中的换行、空格符号 清理艺术 删除文本的艺术字效果 清理边距 删除文本框与文字之间的间隙 软件介绍 PPT大珩助手是一款全新设计的Office PPT插件&#xff0c;它是一款功能强大且实…

1.5 Unity中的数据存储 PlayerPrefs、XML、JSON

Unity中的三种数据存储&#xff1a;数据存储也称为数据持久化 一、PlayerPrefs PlayerPrefs是Unity引擎自身提供的一个用于本地持久化保存与读取的类&#xff0c;以键值对的形式将数据保存在文件中&#xff0c;然后程序可以根据关键字提取数值。 PlayerPrefs类支持3种数据类…

网络信息安全十大隐患,如何做好防范,实践方法

随着互联网的普及和信息技术的飞速发展&#xff0c;网络安全问题日益凸显。网络攻击、网络诈骗、网络病毒等问题时刻威胁着人们的隐私和财产安全。针对这些隐患&#xff0c;广大网友该如何防范呢&#xff1f; 一&#xff1a;黑客攻击 黑客攻击是网络信息安全面临的最大威胁之一…

Beauty algorithm(四)眼影

一、skills 前瞻 略 二、目标区域定位 1、 眼影区域 1、眼部关键点 左侧:36,37,38,39,40,41 右侧:42,43,44,45,46,47 2、计算roi区域的w,h,center 目的调整mask的比列。 FaceRegion left_es, right_es; left_es.w = landmarks.at(39).x - landmarks.at(36).x; left_es.…

Qt重载事件

重载event 事件类型 (EventType) 事件类型是 QEvent 类的一个枚举 &#xff0c;包含了 Qt 能够处理的所有不同类型的事件。这个枚举包括但不限于以下常见类型&#xff1a; QEvent::MouseButtonPress: 鼠标按钮按下事件。QEvent::MouseButtonRelease: 鼠标按钮释放事件。Q…

spring Security源码讲解-WebSecurityConfigurerAdapter

使用security我们最常见的代码&#xff1a; Configuration public class SecurityConfig extends WebSecurityConfigurerAdapter {Overrideprotected void configure(HttpSecurity http) throws Exception {http.formLogin().permitAll();http.authorizeRequests().antMatcher…

音量控制软件sound control mac功能亮点

sound control mac可以帮助用户控制某个独立应用程序的音量&#xff0c;通过每应用音量&#xff0c;均衡器&#xff0c;平衡和音频路由独立控制每个应用的音频&#xff0c;还有整个系统的音量。 sound control mac功能亮点 每个应用程序的音量控制 独立控制应用的数量。 键盘音…

fastadmin学习02-修改后台管理员账号密码

问题 如果是别人部署好的fastadmin网站不知道后台登录地址和账号密码怎么办 后台登录地址 public目录下有一个很奇怪的php就是后台登录地址啦 忘记账号密码 找到fa_admin&#xff0c;fa_是前缀&#xff0c;肯能每个项目不太一样 UPDATE fa_admin set password1d020dee8ec…