操作系统期末复习知识点

news2024/12/28 19:12:40

目录

一.概论

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.coloradmin.cn/o/1359769.html

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

相关文章

AI日报:大型律师事务所首次推出人工智能工具撰写合同

欢迎订阅专栏 《AI日报》 获取人工智能邻域最新资讯 总览 英国的Allen&Overy推出了一款可以为律师撰写合同的人工智能工具,名为ContractMatrix。 它利用现有的合同模板起草新的合同,律师可以接受或修改。 1000多名律师正在使用该工具。今年1月&…

LeetCode(39)组合总和⭐⭐

给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个 数字可以 无限制重复被选取 。如…

史上最牛逼的fiddler抓包操作,【工具】Fiddler使用教程

eb调试工具之一, 它能记录所有客户端和服务器的http和https请求。允许你监视、设置断点、甚至修改输入输出数据。Fiddler包含了一个强大的基于事件脚本的子系统,并且能使用.net语言进行扩展。换言之,你对HTTP 协议越了解,你就能越…

033 - STM32学习笔记 - TIM定时器(一) - 高级定时器

033 - STM32学习笔记 - TIM定时器(一) - 高级定时器 上节内容学习了基本定时器,其功能比较简单,配置和使用也比较容易,今天在基本定时器的基础上学习一下高级控制定时器的内容。 在F429上一共有两个高级控制定时器和1…

给新手的25个建议

前言 最近知乎上,有一位大佬邀请我回答下面这个问题,看到这个问题我百感交集,感触颇多。 在我是新人时,如果有前辈能够指导方向一下,分享一些踩坑经历,或许会让我少走很多弯路,节省更多的学习的…

每日一道算法题day-three(备战蓝桥杯)

哈喽大家好,今天来给大家带来每日一道算法题系列第三天,让我们来看看今天的题目,一起备战蓝桥杯 题目: 小 Y的桌子上放着 n 个苹果从左到右排成一列,编号为从 11 到 n。 小苞是小 Y 的好朋友,每天她都会…

设计模式篇---命令模式(结合spring+动态代理实现开闭)

文章目录 概念结构实例总结 概念 命令模式:将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化,对请求排队或者记录请求日志,以及支持可撤销的操作。 现实生活中,我们用开关来控制一些电器的打开和关闭&am…

NLP电影情绪分析项目

https://machinelearningmastery.com/develop-word-embedding-model-predicting-movie-review-sentiment/ https://machinelearningmastery.com/prepare-movie-review-data-sentiment-analysis/ 本教程分为 5 个部分;他们是: 电影评论数据集数据准备训练嵌入层训练…

解决报错Exception encountered during context initialization

推荐阅读 智能化校园:深入探讨云端管理系统设计与实现(一) 智能化校园:深入探讨云端管理系统设计与实现(二) 文章目录 推荐阅读报错解决 报错 今天在测试一个类时,突然间报了以下错误。 juni…

调用第三方接口遇到的13大坑

前言 在实际工作中,我们经常需要在项目中调用第三方API接口,获取数据,或者上报数据,进行数据交换和通信。 那么,调用第三方API接口会遇到哪些问题?如何解决这些问题呢? 这篇文章就跟大家一起聊…

详解bookkeeper AutoRecovery机制

引言小故事 张三在一家小型互联网公司上班,由于公司实行的996,因此经常有同事“不辞而别”,为了工作的正常推进,团队内达成了某种默契,这种默契就是通过某个规则来选出一个同事,这个同事除了工作之余还有额…

大数据毕业设计:python房源数据爬虫分析预测系统+可视化 +商品房数据(源码+讲解视频)✅

毕业设计:2023-2024年计算机专业毕业设计选题汇总(建议收藏) 毕业设计:2023-2024年最新最全计算机专业毕设选题推荐汇总 🍅感兴趣的可以先收藏起来,点赞、关注不迷路,大家在毕设选题&#xff…

【算法】链表每k个节点反转 (js)

牛客链接:https://www.nowcoder.com/practice/b49c3dc907814e9bbfa8437c251b028e?tpId196&&tqId37080&rp1&ru/ta/job-code-total&qru/ta/job-code-total/question-ranking 本人题解: 有点绕,好好理解 /** function Li…

Layui弹窗带标签可切换图表的应用Demo

提供Layui弹窗带页签的Demo写法 文章目录 前言一、展示效果二、详细代码1.代码2.简单释义 总结 前言 之前因为有需求,需要开发Layui的弹出框,同时弹窗框需要支持,页签点击切换内容,特此整理了这一篇文章,提供给需要的…

D-Link DES-108 交换机

D-Link DES-108 交换机 1. 百兆交换机 8 口References ​ D-Link Corporation is a Taiwanese multinational networking equipment manufacturing corporation headquartered in Taipei, Taiwan. Taiwanese:adj. 台湾的 n. 台湾人 headquarter [hedkwɔ:tə]&#…

普中STM32-PZ6806L开发板(有点悲伤的故事)

简介 关于我使用 普中STM32-PZ6806L做了做了一些实验, 不小心输入12V,导致核心板等被烧坏, 为了利用电路和资源, 搭建了STM32F103CBT6并使用普中STM32-PZ6806L上面没有烧坏的模块的故事。 普中STM32-PZ6806L开发板 这块的STM32F103ZET6部分算是Closed了, 不准备换核…

OpenCASCADE MFC例子

OpenCASCADE MFC例子 说明 一直对OpenCASCADE一直都比较感兴趣,这个例子是我参考这位大神C幼儿园中班小朋友的专栏做出来的OpenCASCADE_C幼儿园中班小朋友的博客-CSDN博客 不过我用的是vcpkg的方式安装OpenCASCADE,这个需要注意一下,可能需…

VM与欧姆龙PLC通讯设置

1、欧姆龙PLC 进行网口通讯,协议用的Fins tcp,也可以用Fins UDP。 2、主要步骤如下; step1:设置IP地址、端口号默认是9600,根据需要设置寄存器首地址和寄存器数量 step2:鼠标移动到某个地址下&#xff0c…

Spring国际化的应用及原理详解

1. 简介 Spring国际化(Spring Internationalization,简称i18n)是Spring框架提供的一种机制,用于支持多语言的应用程序。它使得开发者能够轻松地在应用程序中实现不同语言的支持,从而满足全球化的需求。通过Spring国际…

算法训练第五十九天|503. 下一个更大元素 II、42. 接雨水

503. 下一个更大元素 II: 题目链接 给定一个循环数组 nums ( nums[nums.length - 1] 的下一个元素是 nums[0] ),返回 nums 中每个元素的 下一个更大元素 。 数字 x 的 下一个更大的元素 是按数组遍历顺序,这个数字之…