操作系统(复习提纲)

现在距离操作系统考试还剩三天,我今天刚刚整理好这份提纲,里面还附加了一些可能考的计算题的讲解视频,都是B站上一些优秀的UP主录制的,我觉得讲的还挺好的,对于应付考试,以不挂科为宗旨应该可以哈哈哈。

1.进程与线程的区别

  • 调度的基本单位

    进程是作为独立调度和分派的基本单位,因而进程是能独立运行的基本单位。每次调度时,需要进行上下文切换,开销较大。

    而进程切换时,仅需保存和设置少量寄存器内容,切换代价远低于进程。在同一进程中,线程的切换不会引起进程的切换,但从进程中的线程切换到另一个进程中的线程时,必然会引起进程的切换。

  • 并发性

    在引入线程的OS中,不仅进程之间可以并发执行,而且在一个进程中的多个线程之间亦可以并发执行,甚至还允许在一个进程中的所有线程都能并发执行。同样,不同的进程中的线程也能并发执行。

  • 拥有资源

    进程可以拥有资源,并作为系统中拥有资源的一个基本单位。线程本身并不拥有系统资源,而是仅有一点必不可少的、能保证独立运行的资源。

  • 独立性

    在同一进程中的不同线程之间的独立性要比不同进程之间的独立性低得多。

  • 系统开销

    在创建、撤销以及上下文切换时,进程的系统开销均明显高于线程。

  • 支持多处理机系统

    多处理机系统中,对于单线程进程,不管有多少处理机,该进程均只能运行在一个处理机上。但对于多线程进程,可以将一个进程中的多个线程分配到多个处理机上并发执行

2.中断处理的流程

  1. 测定是否有未响应的中断信号
  2. 保护被中断进程的CPU环境
  3. 转入响应的设备处理程序
  4. 中断处理
  5. 恢复CPU的现场并退出中断

3.进程同步

编程,使用信号量解决同步问题

进程同步讲解

4.导致进程切换的主要因素

  • 进程调度:就绪状态->执行状态
  • 时间片完:执行状态->就绪状态
  • 请求I/O:执行状态->阻塞状态
  • I/O完成:阻塞状态->就绪状态

5.调度三个层次

  • 高级调度

    高级调度又称长程调度或作业调度,它的调度对象是作业。其主要的功能是根据某种算法,决定将外存上处于后备队列中的哪几个作业调入内存,为它们创建进程、分配必要的资源,并将它们放入就绪队列。

  • 低级调度

    低级调度又称进程调度或短程调度,其所调用的对象是进程。其主要的功能是根据某种算法,决定就绪队列中的哪个进程应获得处理机,并由分配程序将处理机分配给选中的进程。

  • 中级调度

    中级调度又称内存调度。其主要功能是提高内存利用率和系统吞吐量。把外存上的那些已具备运行条件的就绪进程再重新调入内存,并修改其状态为就绪状态,挂在就绪队列上等待。

6.处理死锁基本方法

  • 预防死锁

    设置某些限制条件,去破坏产生死锁四个必要条件中的一个或几个来预防产生死锁。

  • 避免死锁

    在资源的动态分配过程中,用某种方法防止系统进入不安全状态,从而可以避免发生死锁。

  • 检测死锁

    通过检测机构及时地检测出死锁的发生,然后采取适当的措施,把进程从死锁中解脱出来。

  • 解除死锁

    当检测到系统已发生死锁时,就采取相应的措施,将进程从死锁状态中解脱出来。

死锁以及银行家算法讲解

7.几种进程调度算法的基本原理、优缺点及作业调度和进程调度的相关计算(短作业优先、优先级调度策略、高响应比优先调度算法等)。

几个重要的概念:

  1. 周转时间=实际完成时间-任务到达时间
  2. 平均周转时间=周转时间/作业数
  3. 带权周转时间=周转时间/运行时间
  4. 平均带权周转时间=带权周转时间/作业数
  • 先来先服务调度算法(FCFS)

    从就绪的进程队列中选择一个最先进入该队列的进程,为之分配处理机,使之投入运行。

  • 短作业优先调度算法(SJF)

    以作业的长短来计算优先级,作业越短,其优先级越高。作业的长短是以作业所要求的运行时间来衡量的。作业调度时,它将外存的作业后备队列中选择若干个估计时间最短的作业,优先将它们调入内存运行。

    • 优点:当多个作业同时到达时,SJF算法可使平均周转时间最短。
    • 缺点:
      • 该算法对长作业不利——长作业可能长期不被调度,甚至“饿死”。
      • 未考虑作业的紧迫性,不能保证紧迫作业(进程)会被及时调度。
      • 由于作业(进程)的长短只是根据用户所提供的估计时间而定的,致使该算法不一定能真正做到短作业优先调度。

  • 优先级调度算法(PSA)

    基于作业的紧迫程度,有外部赋予作业响应的优先级,根据优先级进行调度。

    • 优点:可以保证紧迫作业优先运行。
  • 高响应比优先调度算法(HRRN)

    每次进行作业调度时,系统首先计算后备队列中各作业的响应比,然后选择一个或若干个响应比最高的作业调入内存执行。

    响应比=(等待时间+要求服务时间)/要求服务时间

    • 优点:综合了FCFS和SJF算法的优点——既考虑公平性,又考虑平均周转时间。
    • 缺点:增加系统开销,每次调度都要计算响应比。

调度算法

调度算法

8.理解进程状态转换关系

  • 进程调度:就绪状态->执行状态
  • 时间片完:执行状态->就绪状态
  • 请求I/O:执行状态->阻塞状态
  • I/O完成:阻塞状态->就绪状态

9.多级反馈队列调度算法内容和设计思路

多级反馈队列调度算法不必事先知道各种进程所需的执行时间,还可以较好地满足各类进程的需要,目前公认较好的进程调度算法。

设计思路:

  1. 设置多个就绪队列。在系统中设置多个就绪队列,并未每个队列赋予不同的优先级。第一个队列的优先级最高,第二个次之,其余队列的优先级逐个降低。该算法为不同的队列中的进程所赋予的执行时间片的大小也各不相同,在优先级愈高的队列中,其时间片就愈小。

  2. 每个队列都采用FCFS(先来先服务调度算法)。当新进程进入内存后,首先将它放入第一队列的末尾,按FCFS原则等待调度。当轮到该进程执行时,如它能在该时间片内完成,便撤离系统。否则,即它在一个时间片结束时尚未完成,调度程序将其转入第二队列末尾进行等待调度;如果在第二队列中运行一个时间片后仍未完成,再依次将它放入第三队列,依次类推。当进程最后被降到第n队列后,在第n队列中便采取按RR方式运行。

  3. 按队列优先级调度。调度程序首先调度最高优先级队列中的诸进程运行,仅当第一队列空闲时才调度第二队列中的进程运行;换言之,仅当第1~(i-1)所有队列均为空时,才会调度第i队列中的进程运行。如果处理机正在第i队列中为某进程服务时又有新进程进入任一优先级较高的队列,此时必须把正在运行的进程放回第i队列的末尾,而把处理机分配给新到的高优先级进程。

10.PV操作基本概念、原理

同进程同步问题

11.程序的装入和链接的主要方式

程序装入:

  • 绝对装入方式
  • 可重定位装入方式
  • 动态运行时的装入方式

程序链接:

  • 静态链接方式
  • 装入时动态链接
  • 运行时动态链接

12.虚拟存储器基本原理和实现的要点

基本原理:

  • 部分装入

    应用程序在运行前,没有必要全部装入(局部性原理),仅将那些当前要运行的页面或段先装入内存便可以运行,其余部分暂留在磁盘上。

  • 请求调入

    程序在运行时,如果所要访问的页(段)已调入内存,便可继续执行下去;否则,应利用OS所提供的请求调页(段)功能,将它们调入内存,以便继续运行。

  • 页/段置换

    如果此时内存已满,则需利用页(段)置换功能,将内存中暂不用的页(段)调到磁盘上再将访问的页(段)调入内存,使程序继续运行下去。

实现要点:

  • 分页请求系统

    是在基本分页系统基础上,增加了请求调页功能和页面置换功能所形成的页式虚拟存储系统。

  • 请求分段系统

    是在基本分段系统基础上,增加了请求调段功能和分段置换功能所形成的段式虚拟存储系统。

13.内存分区分配算法基本原理、优缺点、适用范围(分段、分页)

  • 首次适应算法(FF)

    空闲分区表按地址递增排序。分配时从表首开始顺序查找,直至找到一个大小能满足要求的空闲分区;然后按作业大小划出一块内存空间分配给请求者,余下的空闲分区仍留在表中。

    • 优点:优先利用内存中低址部分的空闲分区,保留高址部分的大空闲区,为以后大作业分配大的内存空间创造了条件。
    • 缺点:低址部分不断被划分,会留下许多难以利用的、很小的空闲分区;每次查找都是从低址部分开始,增加查找可用空闲分区时的开销。
  • 循环首次适应算法(NF)

    由首次适应算法演变而成。为进程分配内存时,不再是每次从表首开始查找,而是从上次找到的空闲分区的下一个空闲分区开始查找,直至找到一个大小能满足要求的空闲分区,从中划出一块与请求大小相等的分区分配给作业。为实现该算法,应设置一起始查找指针。

    • 优点:使内存中的空闲分区分布均匀,减少查找空闲分区时的开销。
    • 缺点:缺乏大的空闲分区。
  • 最佳适应算法(BF)

    每次分配时,总是将能满足要求的最小分区分配给请求者。将空闲分区按其容量从小到大顺序排列——加快查找。

    • 优点:避免大材小用;寻找速度快;
    • 缺点:留下许多难以利用的碎片。
  • 最坏适应算法(WF)

    最坏适应分配算法选择空闲分区的策略正好与最佳适应算法相反:它在扫描整个空闲分区表或链表时,总是挑选一个最大的空闲区,从中分割一部分存储空间给作业使用,以至于存储器中缺乏大的空闲分区。

    • 优点:剩下的空闲分区不至于太小,产生的碎片可能性小,对中、小作业有利;查找效率高;
    • 缺点:总是缺乏大的空闲分区。

14.分页、分段方法的基本原理

  • 分页

    将用户程序的地址空间分为若干个固定大小的区域,成为“页”或“页面”。典型的页面大小为1KB。相应地,也将内存空间分为若干个物理块或页框,页和块的大小相同。这样可将用户程序的任一页放入任一物理块中,实现离散分配。

  • 分段

    将用户程序的地址空间分为若干个大小不同的段,每段定义一组相对完整的信息。在存储器分配时,以段为单位,这些段在内存中可以不相邻接,所以也同样实现了离散分配。

15.分页系统中逻辑地址和物理地址的转换

16.各种情况下(快表命中、快表未命中、缺页)访问的过程

17.访问时间的计算

18.页面置换算法:FIFO、LRU和clock算法

先进先出(FIFO)页面置换算法

淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

最近最久未使用(LRU)置换算法

选择最近最久未使用的页面予以淘汰。

![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/29ff4635ab5140079bba369fa8c0a2e4.png

Clock置换算法

只需为每页设置一个访问位,再将内存中的所有页面都通过链接指针链接成一个循环队列。当某页被访问时,其访问位被置1.置换算法在选择一页淘汰时,只需检查页的访问位。如果是0,就选择该页换出;若为1,则重新将它置0,暂不换出,给予该页第二次驻留内存的机会,再按照FIFO算法检查下一个页面。当检查到队列中的最后一个页面时,若其访问位仍为1,则再返回到队首去检查第一个页面。

在这里插入图片描述

视频讲解链接:

FIFO置换算法和LRU置换算法

Clock置换算法

19.I/O系统基本功能

  • 隐藏物理设备的细节
  • 与设备的无关性
  • 提高处理机和I/O设备的利用率
  • 对I/O设备进行控制
  • 确保对设备的正确共享
  • 错误处理

20.循环缓冲概念

21.I/O架构

I/O软件组织分为四个层次结构:

  • 用户层I/O软件
  • 设备独立性软件
  • 设备驱动程序
  • 中断处理程序

22.程序I/O 、中断驱动I/O 、DMA 、 I/O通道控制方式基本原理和技术演变思路

23.磁盘调度算法(先来先服务、最短寻道时间优先、扫描算法)

  • 先来先服务(FCFS)

    最简单的磁盘调度算法,根据进程请求访问磁盘的先后次序进行调度。

    • 优点:公平、简单,不会出现有请求长期得不到满足的情况。
    • 缺点:平均寻道时间长。
  • 最短寻道时间优先(SSTF)

    该算法选择进程要求访问的磁道与当前磁头所在的磁道距离最近,以使每次寻道的时间最短,但不能保证平均寻道时间最短。

    • 优点:每次寻道时间最短。
    • 缺点:不能保证平均寻道时间最短,优先级低的进程可能饥饿。
  • 扫描算法(SCAN)

    扫描算法不仅考虑到欲访问的磁道与当前磁道的距离,更优先考虑的是磁头当前的移动方向。

    • 优点:防止饥饿。
  • 循环扫描算法(CSCAN)

磁盘调度算法讲解

24.文件系统模型三个层次

文件系统的模型可分为三个层次:最底层是对象及其属性,中间层是对对象进行操纵和管理的软件集合,最高层是文件系统提供给用户的接口。

25.文件的逻辑结构和物理结构概念和区别

  • 文件的逻辑结构

    这是从用户观点出发所观察到的文件组织形式,即文件是由一系列的逻辑记录组成的,是用户可以直接处理的数据及其结构,它独立于文件的物理特性,又称为文件组织。

  • 文件的物理结构

    这是指系统将文件存储在外存上所形成的一种存储组织形式,是用户不能看见的。文件的物理结构不仅与存储介质的存储性能有关,而且与所采用的外存分配方式有关。无论是文件的逻辑结构,还是其物理结构,都会影响对文件的检索速度。

26.各种磁盘组织形式(连续、链接、索引方式)的特点以及优缺点

  • 连续

    为每一个文件分配一组相邻接的盘块

    • 优点:
      1. 顺序访问容易。第一个盘块开始,顺序地、逐个地往下读/写。也支持对定长记录的直接存取。
      2. 顺序访问速度快。磁头移动得距离最少。
    • 缺点:
      1. 要求为一个文件分配连续的存储空间
      2. 必须事先知道文件的长度
      3. 不能灵活地删除和插入记录
      4. 文件大小不宜动态变化
  • 链接

    在采用链接分配时,可通过在每个盘块上的链接指针,将同属于一个文件的多个离散的盘块链接成一个链表,把这样形成的文件称为链接文件。

    • 优点:
      1. 消除了磁盘的外部碎片,提高了外存的利用率
      2. 对插入、删除和修改记录都非常容易
      3. 能适应文件的动态增长,无需事先知道文件的大小
  • 索引方式

    索引分配方法为每个文件分配一个索引块(表),把分配给该文件的盘块号都记录在索引块中。

    • 优点:
      1. 索引分配支持直接访问。
      2. 索引分配不会产生外部碎片。
      3. 文件较大时,优于链接分配。
    • 缺点:
      1. 可能要花费较多的外存空间。每个文件都要一个索引表,小文件仍需分配一个盘块。

27.单级索引,多级索引,混合索引,计算文件的容量和所占盘块数量

通过在每个盘块上的链接指针,将同属于一个文件的多个离散的盘块链接成一个链表,把这样形成的文件称为链接文件。

  • 优点:

    1. 消除了磁盘的外部碎片,提高了外存的利用率
    2. 对插入、删除和修改记录都非常容易
    3. 能适应文件的动态增长,无需事先知道文件的大小
  • 索引方式

    索引分配方法为每个文件分配一个索引块(表),把分配给该文件的盘块号都记录在索引块中。

    • 优点:
      1. 索引分配支持直接访问。
      2. 索引分配不会产生外部碎片。
      3. 文件较大时,优于链接分配。
    • 缺点:
      1. 可能要花费较多的外存空间。每个文件都要一个索引表,小文件仍需分配一个盘块。

27.单级索引,多级索引,混合索引,计算文件的容量和所占盘块数量

单级索引

为每个文件分配一个索引块(表),把分配给该文件的盘块号都记录在索引块中。

多级索引

当OS为一个大文件分配磁盘空间时,若盘块号装满一个索引块时,OS便为该文件分配另一个盘块,依次类推,再通过链指针将各索引块链接起来。

混合索引

将多种索引方式相结合而形成的一种索引方式。
计算题讲解

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

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

相关文章

FFmpeg解决视频播放加载卡顿问题(FFmpeg+M3U8分片)

FFmpeg解决视频播放加载卡顿问题(FFmpegM3U8分片) 在这静谧的时光里,我们能够更清晰地审视自己,思考未来的方向。每一步的坚实,都是对勇气的拥抱,每一个夜晚的努力,都是对未来的信仰。不要害怕独行,因为正是…

如何复制整个网页,这里提供详细步骤

谷歌Chrome中的检查元素功能可以帮助你查看网页上特定元素的HTML源代码。在本教程中,我将向你展示如何使用此功能提取任何网页的整个HTML代码。 网站的HTML源代码是web浏览器用来呈现页面并根据页面上应用的HTML、CSS和JS代码和规则进行显示的代码。网站的源代码,即网站的结…

串口通信USART

前言 通信的目的:将一个设备的数据传送到另一个设备,扩展硬件系统;单片机有了通信的功能,就能和别的模块互联; 通信协议:制定通信的规则,通信双方按照协议规则进行数据收发; 名称 …

游戏开发丨基于PyGlet的简易版Minecraft我的世界游戏

文章目录 写在前面我的世界PyGlet简介实验内容游戏按键程序设计引入文件 运行结果写在后面 写在前面 本期内容:基于PyGlet的简易版Minecraft我的世界游戏 实验环境: pycharmpyglet 项目下载地址:https://download.csdn.net/download/m0_6…

2024了,你还对国产ERP有刻板印象吗?

2024了,你还对国产ERP有刻板印象吗? 近年来,我国ERP市场重磅消息不断: 前不久,由上海博科资讯股份有限公司等参与研发的中国石油昆仑 ERP 在大庆石化公司成功单轨运行,中国石油从而成为国内首个使用国产高端…

YOLOv8 Ultralytics:使用Ultralytics框架进行FastSAM图像分割

YOLOv8 Ultralytics:使用Ultralytics框架进行FastSAM图像分割 前言相关介绍前提条件实验环境安装环境项目地址LinuxWindows 使用Ultralytics框架进行FastSAM图像分割参考文献 前言 由于本人水平有限,难免出现错漏,敬请批评改正。更多精彩内容…

计算机毕业设计-----SSH在线电影售票选座版网站平台系统

项目介绍 本项目为前后台项目,首先分为管理员和普通用户,游客。 游客可以进入首页,必须注册成为普通用户才能进行影片的购买。管理员和普通用户进行分权限登录,登录后进入不同页面。 普通用户登录后进入首页,首页有影…

Rust-所有权和移动语义

什么是所有权 拿C语言的代码来打个比方。我们可能会在堆上创建一个对象,然后使用一个指针来管理这个对象: Foo *p make_object("args");接下来,我们可能需要使用这个对象: use_object(p);然而,这段代码之…

AI 图像自动补全 Uncrop 工具介绍

ClipDrop Uncrop是一款基于AI的图像自动补全工具,由StabilityAI旗下的Clipdrop开发。通过利用StableDiffusionXL开发的算法和深度学习技术,Uncrop可以对用户上传的图片进行自动扩展和补全,改变图片尺寸,使得图像内容得到更完整的呈…

mysql中DATE_FORMAT() 函数详解

mysql中DATE_FORMAT() 函数详解 一. 说明 在 MySQL 中,DATE_FORMAT() 函数用于将日期/时间类型的值按照指定的格式进行格式化输出。它的一般语法如下: DATE_FORMAT(date, format)其中,date 参数是要被格式化的日期/时间值,form…

Windows系统下python版本Open3D-0.18.0 的快速安装与使用

目录 一、安装Anaconda3二、安装open3d三、测试代码四、结果展示五、测试数据 Windows系统下python版本Open3D-0.18.0 的快速安装与使用由CSDN点云侠原创,爬虫自重。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、安装Anaconda…

极海APM035电机驱动板评测

首先感谢面包板社区提供的评测机会,技术支持服务也非常到位,爆赞! 1. 摸一摸硬件资料 板子工整漂亮,用料足。上电真图: 原理图还是挺模块挺清晰的,但是这个开发板没有手册,没有个quickstart的…

【2023我的编程之旅】系统学习C语言easyx图形库心得体会

目录 引言 C语言基础知识回顾 easyx图形库介绍 如何快速学习easyx图形库 学习笔记积累 学习成果展示 学习拓展 总结 引言 首先说一下我为什么要学习C语言easyx图形库。我接触C语言easyx图形库是在我今年一月份的时候,也是机缘巧合之下偶然在B站上看到了鸣人…

C++力扣题目450--删除二叉搜索树中的节点

给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。 一般来说,删除节点可分为两个步骤: 首先…

GZ075 云计算应用赛题第7套

2023年全国职业院校技能大赛(高职组) “云计算应用”赛项赛卷7 某企业根据自身业务需求,实施数字化转型,规划和建设数字化平台,平台聚焦“DevOps开发运维一体化”和“数据驱动产品开发”,拟采用开源OpenSt…

MySQL使用通配符进行数据搜索以及过滤

目录 1.什么是通配符? 2.通配符之→百分号(%) 3.通配符之→下划线(_) 4.通配符使用注意事项 *本文涉及概念来源于图灵程序设计丛书,数据库系列——《MySQL必知必会》 1.什么是通配符? 通配符(wildcard) :用来匹配值的一部分…

Mysql从入门到精通

系列文章目录 MySQL集群及高可用-mysql主从复制1 Mysql从入门到精通 系列文章目录一、mysql主从复制二、mysql主从配置server1(主库master)三、mysql主从配置server2(从库,slave)四、测试五、主机重启服务后,二进制日志文件变化六、mysldump…

1.如何记录每个变量携带的数据:DataFrame与Series

序列格式和列表区别:序列格式可以直接汇总:均值,总和,百分位数等 DataFrame Series

一篇文章带你了解Nacos的发展史

Nacos是一个全功能的服务发现和配置管理平台,致力于帮助开发者构建和管理微服务架构。以下是Nacos的发展历程: 2018年3月:首次开源。2018年8月:进入Apache软件基金会的孵化阶段,成为Apache的孵化项目。2019年3月&…

小型洗衣机怎么用?好用不贵的小型洗衣机推荐

近期,有不少小伙伴都在议论“对于内衣是机洗好,还是手洗”这个问题,对于机洗党认为家用的洗衣机就能清洁干净内衣物,而坚定的手洗党则是认为应该用手去洗,因为机洗的话,其他大件衣服混在一起洗,…