【期末复习】 计算机操作系统

news2025/7/15 3:43:54

第一章 操作系统引论

历史上最重要的阶段可能会考选择填空,牢记三大特点,四大特征,五大功能

1.1 OS的目标和作用

1.2 OS的发展过程

1.3 OS的基本特性(必考)

并发 共享 虚拟 异步

1.4 OS的主要功能

        后续都是一个大章

        五个功能:处理机管理功能,存储器管理功能,设备管理功能,文件管理功能,OS与用户之间的接口

1.5 OS结构设计

        无结构——模块结构——分层结构——客户端/服务器结构——面向对象——微内核

第一章计算题:

例1:有3个作业A,B,C,A是计算作业,B是检索作业,C是打印作业。3个作业单道运行时间分别为5min,15min,10min,假设可在15min内并行完成这3个作业,则单批,多批对应的资源利用率是多少? 

 

例2:同时运行A和B

        程序A:磁带(30S)、CPU(10S)、磁盘(30S)、CPU(10S)、磁带(20S)
        程序B:磁盘(20S)、CPU(30S)、磁带(40S)


        假定:CPU、磁盘和磁带都能并行工作
        试问:在单道和多道两种方式下,
        1、程序A和B从投入运行到运行完成所用的时间分别是多少?
        2、CPU、磁盘和磁带的利用率是多少?

第二章 进程的描述与控制

2.1 程序执行

2.2 进程的描述(重点)

2.4 进程同步(重点)

2.4 信号量机制(含大题)

        信号量是一种只能进行PV操作的特殊变量。

        P(passeren 通过):wait    -1 如果是0是则阻塞

        V(vrijgeven 释放):signal +1

重点看生产者-消费者问题和哲学家进餐问题(后者比前者多一个死锁,其他类似)

建议先看本章计算题

2.6 进程通信(应该是新加的内容,题型很少)

进程的互斥与同步——低级进程通信(效率低)

2.7 线程

第二章计算题

        桌上有一个空盘(缓冲区),一次只能放一个试过,爸爸可以放苹果也可以放橘子,儿子只吃橘子,女儿支持苹果。

        不会的可以跳转视频听小姐姐讲:

【期末突击操作系统第二章】 【精准空降到 1:04:29】 https://www.bilibili.com/video/BV1mE411N7cm/?share_source=copy_web&vd_source=16df222690d7e88b3cb2f0bc73603dae&t=3869

第三章 处理机调度与死锁(含大题)

开始准备汗流浃背了

3.1 处理机调度的层次

高级调度/长程调度/作业调度:决定将外存上处于后备队列中那几个作业调入内存

低级调度/短程调度/进程调度:决定就绪队列中哪个进程获得处理机

中级调度/中程调度/内存调度:把内存中暂时不能运行的进程调入外存等待(即挂起)

 

3.2 作业与作业调度

主要看后面的题

(1)先来先服务(FCFS,first-come first served)

        按照作业到达的先后进行调度

(2)短作业优先(SJF,Short Job First)

(3)高响应比优先(HRRN,Highest Response Ratio Next)

3.3 进程调度

对系统性能影响最大的一种处理机调度

抢占原则主要分一下3种(含其一即可):优先权原则,短进程优先原则,时间片原则

(1)基于时间片的轮转(RR,Round Robin)

(2)优先级调度算法

(3)多级反馈队列(MFQ,Multileved Feedback queue)

3.5 死锁

死锁的定义:如果一组进程中的每一个进程都在等待仅由该组进程中其他进程才能引发的事件,称该组进程是死锁的。

3.6 预防死锁(了解即可)

3.7 避免死锁(重点)

        安全状态:系统能按某种进程推进顺序为每一个进程分配其所需的资源,直至满足每个进程对资源的最大需求,是每一个进程都可以顺利的完成。

        (人话:找到一个不死锁的顺序让所有进程都能拿到全部资源)

安全序列

银行家算法

第三章计算题

(1)FCFS

(2)SJF

(3)HRRN

(4)RR

(5)优先级 非抢占

(6)优先级 抢占

(7)银行家算法

第四章 存储器管理

主存储器也被称为内存

程序要在系统中运行,必须先装入内存

我们写的程序、作业的逻辑地址均是从0开始,然后装入内存之后的地址叫做物理地址。

碎片:现在用了0-100, 200-300,则100-200就是碎片

4.2程序的装入

4.3连续分配存储管理方式

4.4 对换

就是把打的运行不了的进程拿走放到外存(对换区),把小的运行的了的放进来

4.5 分页存储管理

将逻辑地址分成若干相等的项,称页面

将内存的物理地址分成若干相等的块,称物理块(或页框)

页和块大小相等

这个大小必须适中,必须是2的幂次方,通常是4KB-8KB

第四章计算题

例1:3个作业申请分配的内存空间分别为100K,30K,7K

当前空白区:

(1)FF(首次适应算法)

(2)NF(循环首次适应算法)

(3)BF(最佳适应算法)

例2:地址长32位,其中0-11为页内地址,12-31为页号

例3:已知逻辑地址为2170B,页面大小为1KB,求页号和页内地址

第五章 虚拟存储器

虚拟:实际上就64GB内存,但虚拟一下,你就感觉有128GB内存,但实际不变

怎么实现:在上一章分页的基础上,通过请求调入和置换,即10MB的程序,只需把最开始那1MB放进去,这部分用户案例,请求调入下1MB,然后将二者置换,以此类推完成该程序。

页表plus——请求页表:

缺页中断:每当要访问的页面不在内存是,便产生一次缺页中断,然后请求OS将所缺页调入内存。

5.2.1 请求分页中的内存分配(了解即可)

相当于给几个工厂分机器怎么分

5.2.2 页面调入策略(了解即可)

机器有了,加工原料怎么获取

5.3 页面置换算法(含计算题)

注意:页面中断次数 = 页面置换次数 + 分配的块数

(因为最开始那几次调入也发生了页面中断)

第五章计算题

例1:假定分配3个物理块,并考虑以下的页面引用串:

7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1

求页面置换次数和页面中断次数。

(1)最佳置换算法(OPT)

        淘汰未来最长时间不用的

        (属于理论上的算法,因为不可能提前知道所有顺序)

(2)先进先出(FIFO)

        把停留时间最长的淘汰

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

        把最近中最久没用到的淘汰掉

第六章 设备管理

I/O系统管理的主要对象是I/O设备和相应的设备管理器

6.3 中断

没有中断,多道程序就不可能实现

6.4 设备驱动程序

6.6 用户层I/O软件(重点)

假脱机技术(Spooling):将一台物理I/O设备虚拟成多台逻辑上的I/O(类似原来的虚拟存储器),在外存中开辟两个存储空间——输入井和输出井。

6.7 缓冲

分为单缓冲,双缓冲,循环缓冲,缓冲池

6.8 磁盘调度算法

第六章计算题

例1:现在都从100号磁道开始,顺序是55 58 39 18 90 160 150 38 184,求平均寻道时间。

(1)先来先服务(FCFS)

        按顺序一个一个来

(2)最短寻道时间(SSTF)

        选离上一个最近的

(3)扫描(SCAN)

        先按大小排序,如1,2,3,5,6,假设现在从3开始,那下面先选近的3 2 1,然后再跑另一边,不过是5 6,不是 6 5

(4)循环扫描(CSCAN)

        跟上一个一样只不过最后是6 5 即从最远端开始,而不是 5 6

第七章 文件管理

内存易失,断电即消失,所以得用外存,而文件管理可以帮助用户管理外存上的文件。

7.1 文件概述

数据项:

记录:

文件:

文件类型:

文件层次结构:

7.2 文件的逻辑结构

1)文件的逻辑结构:以用户角度观察到的文件组织形式

2)文件的物理结构:即存储结构

顺序文件:

最基本,最常见

记录寻址:

就是怎么访问“顺序文件”

7.2.4 索引文件

用于变长文件,即在原来的逻辑文件旁边建个索引表(索引号,长度,指针),指针指向逻辑文件中的对应文件

多个索引表文件就是建立多个索引表,但这里的索引表之间无联系。

7.2.5 索引顺序文件

跟索引文件一样,只不过对其中逻辑文件仍采用“顺序查找”方式(其实7.2.4也是这样)

7.3文件目录

就是我们理解的正在用的文件目录,要用到文件控制块FCB(File Control Block),一个FCB就是一个文件目录,里面不仅有基本信息,还有控制信息和使用信息。

整体分成(单级,两级,树形结构)目录

两级目录就是两个一级目录嵌套,树形就是树形状俄罗斯套娃。

第八章 磁盘存储器的管理

可以理解为超级外存,又大又快

8.1 外存的组织方式

连续组织方式:

链接组织方式:

索引组织方式:

多级索引方式和增量式索引方式:

8.2 文件存储空间的管理(可能含计算)

类似第四章内存分配,也是空白区,文件放空

空闲表法:

设置一个空闲盘块表,里面包含空闲盘区号和它有的空闲盘块数,使用FF,BF算法,不用WF算法。

空闲链表法:

上一个的链表版本,设置空闲盘块链和空闲盘区链

对一个好分配存取,多个就太慢了

位示图法:

成组链接法:

就是空闲链表法的俄罗斯套娃

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

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

相关文章

Halcon开运算opening

Halcon开运算 文章目录 Halcon开运算 开运算的计算步骤是先腐蚀,后膨胀。通过腐蚀运算能去除小的非关键区域,也可以把离得很近的元素分隔开,再通过膨胀填补过度腐蚀留下的空隙。因此,通过开运算能去除一些孤立的、细小的点&#x…

27、web攻防——通用漏洞SQL注入Tamper脚本Base64Jsonmd5

文章目录 数字型:0-9。http;//localhost:8081/blog/news.php?id1 字符型:a-z、中文,需要闭合符号。http;//localhost:8081/blog/news.php?idsimple 搜索型:在字符型的基础上加入了通配符%。http;//localhost:8081/blog/news.…

Apache Doris (五十五): Doris Join类型 - Colocation Join

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录 1. Colocation Join原理

数据结构--队列【详解】~(˶‾᷄ꈊ‾᷅˵)~

目录 队列定义: 队列的声明与头文件的包含: 队列的声明: 头文件的包含: 队列的基本操作: 初始化队列 : 摧毁队列: 入队列: 出队列: 返回队头数据: 返回队尾数据&#xff1…

C#编程-使用变量

使用变量 请考虑以下场景:您必须创建一个程序,接受来自用户的两个数字并在屏幕上显示着两个数字之和。现在,读取用户提供的数字时,您需要将这些数字存储在内存中的某个位置,以便您能对这些数字执行加操作。您可以使用变量将这些数字存储在内存中。 下图显示了使用变量将…

乐观者成功,悲观者正确|2023年个人总结

上周一个好久没联系的朋友,突然微信问我:“土司,年终总结啥时候发出来,等着学习呢?”,听到这话既感动又愧疚,感动的是一个个人年终总结还被人惦记着,有一种稳稳的幸福;愧…

字符串与模拟法

加密英文 输入一个字符串可用getline(cin,数组名) 字典序 在字符串中寻找子字符串 分糖果 代码 猴子选大王 代码 如果n号猴子被选中,则使得n号的猴子变成false,未出局的猴子为true。 if(pn1) p1;这个是将超出的下标重新变回1号,使其重新循…

Selenium教程04:鼠标+键盘网页的模拟操作

在webdriver 中,鼠标操作都封装在ActionChains类中,使用的时候需要导入这个包。 from selenium.webdriver import ActionChainsActionChains方法列表如下: click(on_elementNone) ——单击鼠标左键click_and_hold(on_elementNone) ——点击…

webpack的深入学习与实战(持续更新)

一、何为Webpack Webpack是 一个开源的JavaScript模块打包工具,其最核心的功能是解决模块之间的依赖,把各个模块按照特定的规则和顺序组织在一起,最终合并为一个JS文件或多个。 二、带宽的换算 目前我们的云服务器带宽为5M 三 、bundle 体…

Java 动态树的实现思路分析

Java 动态树的实现 目录概述需求: 设计思路实现思路分析1. 简单Java实现:2.建立父子表存储3.前端的对应的json 字符串方式 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xff0…

【并发设计模式】聊聊Thread-Per-Message与Worker-Thread模式

在并发编程中,核心就是同步、互斥、分工。 同步是多个线程之间按照一定的顺序进行执行,比如A执行完,B在执行。而互斥是多个线程之间对于共享资源的互斥。两个侧重点不一样,同步关注的是执行顺序,互斥关注的是资源的排…

Django 学习教程- Hello world入门案例

系列 Django 学习教程-介绍与安装-CSDN博客 欢迎来到第Djagno学习教程第二章Hello World 入门案例。 在本教程中,我将引导您完成django的Hello World入门案例。 让我们开始吧! 版本 Django 5.0Python 3.10 创建项目 安装 Django 之后&#xff0…

Linux 权限掌控术:深入探索和用户管理

文章目录 前言1.外壳程序是什么?外壳程为什么存在?工作原理外壳程序怎么个事? 2. Linux权限的概念2.1 什么是权限2.2权限的本质2.3 Linux中的用户 3. 普通用户变成rootlinux中有三种人 4.Linux中文件的权限4.1文件的属性权限4.2 掌握修改权限…

[DL]深度学习_AlexNet

AlexNet网络详解 目录 一、AlexNet 1、详细介绍 2、网络框架 二、网络详解 1、首次使用ReLu激活函数 2、模型基本结构与双GPU实现 3、局部响应归一化(LRN) 4、重叠池化(Overlapping Pooling) 5、数据增强 6、Dropout 一、AlexNet 1、详细介绍 AlexNet是一种经典的卷积…

Javascript 循环结构while do while for实例讲解

Javascript 循环结构while do while for实例讲解 目录 Javascript 循环结构while do while for实例讲解 一、while语句 二、do…while语句 三、for循环 疑难解答 我们从上一节课知道,JavaScript循环结构总有3种: (1)while语…

S7.Net与西门子PLC通讯

开发环境准备 同时由于设备还未采购,没有设备进行测试开发,会安装一个仿真模拟器进行调试。(真心的,谁想到还能仿真模拟设备) 需要安装的软件包括 ◦TIA Portal V14 ◦S7-PLCSIM V14 ◦NetToPLCsim-S7o-v-1-2-2-0 TIA Portal 西门子官方管理设备数据块的客户端,每一…

【网络安全】upload靶场pass11-17思路

目录 Pass-11 Pass-12 Pass-13 Pass-14 Pass-15 Pass-16 Pass-17 🌈嗨!我是Filotimo__🌈。很高兴与大家相识,希望我的博客能对你有所帮助。 💡本文由Filotimo__✍️原创,首发于CSDN📚。 &#x…

盾构机数据可视化监控平台 | 图扑数字孪生

2002 年,中国 863 计划把盾构机列为国家关键技术,以国家力量为主导,集中力量进行盾构机专项研究。在 2008 年,中国成功研制出属于自己的国产盾构机——中国中铁一号,同时还打通了天津地铁 1500m 的隧道。此举更彻底地打破了国内盾…

基于Java SSM框架实现企业销售人员培训系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现企业销售人员培训系统演示 摘要 目前由于我国企业销售人员培训系统的规模较小,同发达国家相比,人员培训比重始终偏低,用户意识比较低下,为进一步提高用户的销售意意识的提升,我觉得开发一套关于企业销售人员培训系统很人必要,虽然许多企业主动选用人员培…

测试新字符设备驱动代码

一. 简介 上一篇文章编写了新字符设备驱动框架的代码,并编写了 LED灯IO初始化工作,也编写了Led的开与关函数。文章地址如下: 向新字符设备驱动代码框架中添加Led功能函数-CSDN博客 本文对所完成的新字符设备驱动代码进行测试。通过测试程…