第一章 引论
1.1分时系统概念,多道批,实时 p9
单道批:引入脱机输入技术,并监督程序控制作业的输入和输出
多道批:在内存中多道程序并发执行,在CPU中交替进行
分时:计算机以时间片为单位轮流为各个用户提供服务,各个用户通过终端与计算机交互
实时:能够优先响应一些紧急任务,不必等待时间片排队
1.2处理机的双重工作模式,转化 p20
- 用户态:只能执行非特权指令
- 内核态:特权指令和非特权指令都能执行
转化:用户态->内核态:通过中断实现。
内核态->用户态:通过执行一个特权指令,将程序状态字的标志位设置为用户态。
1.3 系统调用 p34
定义:系统调用是操作系统提供给应用程序的接口;
分类:设备管理,文件管理,进程控制,进程通信,内存管理;
注:系统调用会使处理器从用户态切换到内核态,且系统调用发生在用户态,对系统调用的处理发生在核心态;
1.4课后习题:P37
1.在计算机系统上配置OS(operating system,操作系统)的目标是什么?作用主要表现在哪几个方面?
目标:方便性,有效性,可扩充性和开放性
表现:-OS作为用户与计算机硬件系统之间的接口
-OS作为计算机系统资源的管理者
-OS实现对计算机资源的抽象
2.试说明OS与硬件、其他系统软件以及用户之间的关系。
操作系统与硬件的关系:操作系统是覆盖在硬件上的第一层软件,它管理计算机的硬件资源。操作系统为用户完成所有与硬件相关的操作,从而极大方便了用户对硬件资源的使用,并提高了硬件资源的利用率。
操作系统与其他系统软件的关系:操作系统是一种特殊的系统软件,其他系统软件运行在操作系统的基础之上,可获得操作系统提供的大量服务,也就是说,操作系统是其他系统软件与硬件之间的接口。
3.试从及时性、交互性及可靠性方面对分时系统与实时系统进行比较。
(1)交互性:
分时系统:用户可以通过终端与系统进行广泛的人机交互
实时系统:交互性具有很大局限性
(2)及时性:
分时系统:用户能在很短的时间间隔内获得系统的响应
实时系统:由被控制对象所要求的开始截止时间和完成截止时机决定
(3)可靠性:
分时系统:也要求可靠,但要求比实时系统低
实时系统:对可靠性要求非常高
- 何谓OS内核?OS内核的主要功能是什么?
OS内核是计算机操作系统的核心管理部分,负责管理硬件资源,提供底层服务并协调系统中的软件和硬件之间的交互.
主要功能:-支撑功能:包括中断处理、时钟管理和原语操作
-资源管理:包括进程管理,存储器管理和设备管理
5.计算题1
6.计算题2
第二章 进程的描述与控制
2.1并发执行p41
并发是指在同一时间段内同时处理多个任务的能力,即使这些任务可能并不是同时进行的.
并发与并行的区别(简答题):
并发:指在同一时间段内处理多个任务的能力,即多个任务可以在一个处理器上交替进行.
并行:指多个任务在同一时间内真正同时执行.
要记住并发和并行的本质区别实质上是同一时间点和同一时间段.
2.2时分复用和空分复用的区别(简答题):
时分复用:多个信号按时间片轮流使用同一通信通道,在不同的时间段处理不同的任务.
空分复用:多个信号通过独立的物理路径同时传输,在同一时间段处理多个任务.
2.3 PCB作用p48
(1)PCB是操作系统用于管理进程的重要数据结构.
(2)PCB记录了进程标识信息,处理器状态信息,进程状态,内存管理信息等等.
(3)PCB的作用:PCB在进程切换时非常重要,操作系统通过保存和恢复PCB中的信息来实现进程的切换和恢复.
2.4进程的状态转化(记图形)P44
2.5线程与进程的区别p63
(1)从调度方面看:
线程:是OS中调度和分配的基本单位.
进程:是操作系统分配资源和独立执行的单位,具有独立的内存空间.
(2)从并发方面来看:
线程:线程之间共享同一进程的地址空间和资源,易于共享资源和数据.
进程:进程之间独立运行,具有各自的地址空间和资源,不共享内存.
(3)从拥有资源方面来看:
线程:共享进程的资源.
进程:拥有独立的资源,包括内存地址空间、文件描述符、I/O设备等.
(4)从系统开销来看:
线程:创建和销毁线程的开销较小,因为线程共享进程的资源.
进程:创建和销毁进程的开销较大,需要分配和管理独立的资源(如内存).
2.6课后题
2.6.1前驱图
2.6.2.什么是进程?OS中为什么要引入进程?它会产生什么样的影响?
(1)进程是一段可并发执行的具有独立功能的程序,是关于某个数据集的一次执行过程,也是OS进行资源分配和保护的基本单位。
(2)在OS引入进程,是为了实现多个程序的并发执行。
(3)及大地提高了资源利用率和系统吞吐量。
2.6.3请给出PCB的主要内容。描述当进程状态发生转换(就绪→运行、运行→阻塞)时,OS需要使用/修改PCB的哪些内容?
- PCB主要用于描述进程的基本情况以及进程的运行变化过程,是进程存在的唯一标志。PCB的内容可以分为调度信息和现场信息两部分。
调度信息供进程调度时使用,描述进程当前所处的状态;
现场信息用于保留运行进程发生状态转化时所要保存的CPU现场信息;
- 就绪->运行:将PCB当前的就绪态改为运行态,修改PCB的队列指针,将PCB从就绪队列中移除; 运行->阻塞:将CPU当前状态保存到PCB中,将进程状态由“运行”改为“就绪”,并修改PCB中相应队列的指针信息,然后将其放入PCB就绪队列中。
2.6.4在创建一个进程时,OS需要完成的主要工作是什么?
OS发现请求创建新进程事件后,首先调用进程创建原语;其次申请一个空白PCB,并向该PCB中填写用于控制和管理进程的信息;再次为该进程分配运行时所需的资源;最后将该PCB转入就绪状态并插入就绪队列中。
第三章 处理机调度与死锁
3.1 调度算法的指标
(1)系统吞吐量:
(2)周转时间:作业被提交给系统开始,到作业完成的时间间隔
3.2基本的进程调度算法p79
3.2.1FCFS先来先服务
3.2.2 SJF短作业优先
3.2.3RR时间片轮转
3.2.4优先级调度
3.3进程的状态
3.4抢占式调度,非抢占式调度区别p77
3.5死锁的概念,必要条件p92
死锁:多个进程在运行过程中因争夺资源而造成的一种僵局,若无外力作用。他们都将无法向前推进;
必要条件:-互斥条件 -请求和保持条件 -不可抢占条件 -循环等待条件
3.6银行家算法(大题,必考)P102课后题
3.7调度算法课后题
3.8引起进程调度的原因
第四章 进程同步
4.1生产者,消费者问题(大题)p123
4.2读者,写者(大题)p126
有一个许多进程共享的数据区,这个数据区可以是一个文件或者主存 的一块空间;有一些只读取这个数据区的进程(Reader)和一些只往数据区写数据的进 程(Writer),此外还需要满足以下条件:
- 任意多个读进程可以同时读这个文件;
(2)一次只有一个写进程可以往文件中写;
(3)如果一个写进程正在进行操作,禁止任何读进程度文件
给出下面的伪代码实现:
semaphore rw = 1; //用于实现对共享文件的互斥访问
int count = 0; //记录当前有几个读进程在访问文件
semaphore mutex = 1; //用于保证对count变量的互斥访问
semaphore w = 1;//互斥信号量,控制读者和写者进入临界区,保证不会造成写者饥饿
writer() {
while (true) {
p(w); //等待进入写者临界区,只有一个写者进入准备阶段
p(rw); //互斥地访问共享文件
写文件...
v(rw); //释放共享文件
v(w);
}
}
reader() {
while (true) {
p(w);
p(mutex); //互斥地访问count变量
if (count == 0) { //如果是第一个读进程读共享文件
p(rw); //对共享文件上锁,阻止写进程
}
count++; //读者计数器加1
v(mutex); //释放互斥变量count
v(w);
读文件...
p(mutex); //互斥访问count变量
count--; //读者计数器减1
if (count == 0) { //如果是最后一个读进程读共享文件
v(rw); //释放共享文件,允许写进程
}
v(mutex); //释放互斥变量count
}
}
4.3哲学家就餐问题(大题)p129
仅当一个哲学家左右两支筷子都可用时才允许他抓起筷子。更准确的说法是各哲学家拿筷子这件事必须互斥地进行。
下面是伪代码实现:
semaphore chopstick[5] = {1,1,1,1,1};
semaphore mutex =1; //互斥地取筷子
Pi(){ //i号哲学家的进程
while(true){
p(mutex);
p(chopstick[i]);//拿左边的筷子
p(chopstick[(i+1)%5]); //拿右边的筷子
v(mutex);
吃饭...
v(chopstick[i]);//放下左边的筷子
v(chopstick[(i+1)%5]); //放下右边的筷子
思考...
}
}
4.4进程同步与互斥辨析:
(1)概念:
进程同步:是协调多个进程之间的执行顺序,以确保共享资源的正确访问和避免数据竞争的一种机制.
进程互斥:进程互斥是确保多个进程在同一时刻不能同时访问共享资源,以防止数据不一致和竞争条件的一种机制。
(2)区别:
进程同步侧重于协调多个进程的执行顺序以正确共享资源.
进程互斥则侧重于确保多个进程在同一时刻不能同时访问共享资源.
4.5课后题1
4.6课后题2
4.7课后题(生产者-消费者问题)
4.8课后题大题
第五章 存储器管理
5.1基本分页存储管理
1.页表的介绍
2.每个页表项占的字节数计算:
注意:1.存储整个页表至少需要3*(n+1)个字节,因为页号从0-n
2.页表记录的只是内存块号,而不是内存块的起始地址!
j号内存块的起始地址=j*内存块大小,比如4号块号,起始地址为4*3=12
3.实现地址的转换
4.页表的逻辑地址结构
5.2动态分配算法
5.3逻辑地址,物理地址区别
逻辑地址是程序生成的地址并由操作系统转换,而物理地址是内存硬件实际使用的地址.
5.4分段,分页式管理区别
(1)分页式管理:是将内存和进程的地址空间划分为大小固定的页面和页框,以实现高效的内存管理和地址转换.
(2)分段式管理:分段式管理是将内存和进程的地址空间划分为大小不固定的段,以便更灵活地管理和保护内存
(3)区别:
目的方面:
分页的主要目的是为了离散分配,提高内存利用率.
分段的主要目的是更好地满足用户需求.
地址空间方面:
分页的进程地址空间是一维的.
分段的地址空间是二维的.
好处方面:
分段比分页更容易实现信息的共享和保护.
5.5页表辨析(课后作业)
5.6逻辑地址到物理地址的转换
5.7请解释下什么是重定位?为什么要重定位?
(1)将用户程序的逻辑地址转换为物理地址的过程,称为重定位.
(2)采用重定位,可以根据内存的当前地址使用情况,将装入模块装入内存的适当位置,并确定装入的物理地址,以保证程序运行时存取指令和数据地址的正确.
- 虚拟存储器
6.1页面置换算法 p182
- 最佳置换算法(OPT)
·解释:当访问完7,0,1后到2,那么就在后面查,从0,1,7找最后出现的,7在最后面,所以置换7变为2;
最佳置换算法可以保证最低的缺页率,但实际上,只有在进程执行的过程中才能知道接下来会访问到的是哪个页面。操作系统无法提前预判页面访问序列。因此,最佳置换算法是无法实现的。
- 先进先出置换算法(FIFO)
- 最近最久未使用置换算法(LRU)
解释:如图一直到7才发生置换,从7往前查找,从现有内存块存放的1,8,3,2中看最迟出现的为8,所以淘汰8号,置换成7号。
该算法虽然性能很好,但是需要专门的硬件支持,实现困难,开销大
6.2虚拟存储器的作用
扩展物理内存容量,使程序能够使用比实际物理内存更多的内存空间,同时实现内存保护和进程隔离,提升系统的灵活性和稳定性。
6.3缺页中断,普通中断的区别 p177
- 普通中断只需要保护现场然后即可跳到须及时处理的地方;
- 缺页中断除了要保护现场之外,还需要判断内存中是否有足够的空间存储需要的页和段。
6.4说明请求分页系统中页面的调入过程。
每当程序所要访问的页面未在内存时(存在位为“0”),便向CPU发出缺页中断,中断处理程序保存CPU现场信息,分析中断原因后,转入缺页中断处理程序。
6.5什么是“抖动”,产生“抖动”的原因是什么?
- 抖动是指刚被换出的页很快被访问,须重新调入,因此须再选一页调出,而此时被换出的页很快又被访问,因此又须将它调入,如此频繁地更换页面,使得系统把大部分时间用在页面的换进换出上,而几乎不能完成任何有效的工作,称这一现象为“抖动”。
- 产生“抖动”的根本原因是同时在系统中运行的进程太多,分配给每个进程的物理块数太少,其不能满足进程正常运行的基本要求,致使每个进程在运行时会频繁换页。
6.4课后题
6.4.1 OPT和LRU例题
第七章 输入输出系统
7.1设备控制器由几部分组成?为了实现CPU与设备控制器之间的通信,设备控制器应具备哪些功能?
- 组成:设备控制器与CPU的接口、设备控制器与设备的忌口、I/O逻辑三部分
(2)功能:接受和识别命令、交换数据、标志和报告设备的状态、缓冲地址、识别数据、控制差错等。
7.2设备的分类还有工作方式p202
块设备:依赖DMA和缓存管理技术,通过按块传输和系统总线进行传输;
流设备:使用缓冲和同步机制技术,通过实时传输协议和设备接口进行传输;
网络通信设备:通过协议栈和流量控制技术,通过网络接口卡和网络介质进行传输;
7.3磁盘调度算法p242
7.3.1 FCFS先来先服务
7.3.2 SSTF最短寻找时间优先
7.3.3 SCAN扫描算法
7.3.4例题:
第八章 文件管理
8.1为什么大多数OS中引入了”打开”这一文件系统调用?”打开”的含义是什么?
- 原因:为了避免多次重复检索目录。
- 打开含义:系统将指定文件的属性从外存复制到内存中已打开文件表的一个表目中,并将该表目的编号返回给用户。
8.2文件的打开和关闭所做的动作p253
- 打开:查找文件、检查权限、分配文件描述符、更新内核数据结构
- 关闭:释放文件描述符、更新内核数据结构、同步数据到磁盘
8.3描述下什么是FCB(文件控制块),并记录了什么信息?
- FCB是操作系统中用于管理文件的关键数据结构
- 记录:文件名,大小,权限
- 作用:管理文件操作,文件系统效率,资源分配,数据一致性
第九章 磁盘存储器管理
9.1简述下连续结构,链接结构和索引结构三者的优缺点:
- 连续结构:
优点:存储管理简单,支持顺序存储和随机存储,访问速度快
缺点;不利于文件的动态增长
- 链接结构:
优点:提高了磁盘利用率,能适应文件的动态增长,方便插入修改
缺点:不适合随机存取,可靠性差,链接指针降低空间利用率
- 索引结构:
优点:支持顺序存储和随机存储,能适应文件的动态增长,方便修改
缺点:寻道时间较长,索引表增加了系统开销
9.2在MS-DOS系统中有两个文件A和B,A占用11,12,16,14这四个盘块,B占用13,18,20这三个盘块.试画出文件A和文件B中各个盘块间的链接情况及FAT的情况.
(看懂这个图怎么画)
9.3描述提前读和延迟写的概念:
提前读:操作系统在实际需要数据之前,预先加载数据到缓存中的技术,以减少数据范文延迟,提高系统性能;
延迟写:将数据修改暂存于缓存中,延后写入磁盘,以提高系统性能和效率;
9.4描述下链接组织方式中显式链接和隐式链接的区别:
显式:文件系统通过在每个数据块中存取下一个数据块的指针来组织文件数据的方式
隐式:文件系统通过外部表如索引节点记录数据块位置的数据
9.6什么是增量式索引方式:
在每次数据更新时,仅更新索引中受影响的部分,而不是重建整个索引,以提高索引更新效率
9.7空闲区表法,空闲链表法,成组链接法的工作方式区别:
- 空闲区表法使用表格记录所有空闲空间信息;
- 空闲链表法通过链表记录空闲空间位置;
- 成组链接法按组管理空闲块,记录每组的起始块和空闲块数;
9.8简述DMA技术
DMA工作方式又称直接内存访问,是一种用于在设备和内存之间直接传输数据的技术,减少了CPU的参与,从而提高数据传输的效率和系统性能的工作方式.
文章根据画的重点整理,结合王道考研操作系统的相关资料
简答题4题,每题5分,共20
计算题2题,每题10分,共20
大题4题,每题15,共60
24春期末:
简答:1.线程与进程的区别
- FCB的概念,作用,记录了什么信息
- PCB的概念,作用,记录了什么信息
- DMA的工作原理
计算:1.动态分配算法(画图,填充空闲块)
- 地址页面,类似上面整理的题目
大题:1.页面置换(类似上面整理的,画图)
- 同步互斥,信号量机制,解释信号量大于0,等于0,小于0的情况;加PV操作
- 银行家算法,写出分析步骤
- 磁盘调度算法(类似上面整理的)
关联:桂工,桂林理工大学,操作系统,期末考试