设备驱动进程执行的主要功能是什么

1
2
3
4
5
6
7
8
9
10
11
12
13
-- 1)接收由设备独立性软件发来的命令和参数,并将命令中的抽象要求转换为具体要求。

例如,将磁盘块号转换为磁盘的盘面、磁道号及扇区号。

-- 2)检查用户I/O请求的合法性,了解I/O设备的状态,传递有关参数,设置设备的工作方式。

-- 3)发出I/O命令。

如果设备空闲,便立即启动I/O设备去完成指定的I/O操作;如果设备处于忙碌状态,则将请求者的请求块挂在设备队列上等待。

-- 4)及时响应由控制器或通道发来的中断请求,并根据其中断类型调用相应的中断处理程序进行处理。

-- 5)对于设置有通道的计算机系统,驱动程序还应能够根据用户的I/O请求,自动地构成通道程序。

中断和轮询的区别?

1
2
3
4
5
6
7
中断和轮询都是处理设备输入/输出(I/O)的方式,但它们有很大的区别。

中断是一种硬件触发的事件通知机制,当I/O设备需要CPU处理时,会发送一个中断信号给CPUCPU暂停当前任务,转而处理中断请求,处理完毕后再回到原任务。中断可以提高CPU利用率,因为只有在需要处理设备请求时才会占用CPU资源,而不是一直轮询。

轮询是一种软件轮询机制,它是CPU不断地查询I/O设备的状态是否发生变化,如果变化了就进行相应的处理。这种方式会一直占用CPU资源,且浪费时间,因为轮询需要CPU在不断地查询设备状态,即使设备没有任何变化。

因此,中断比轮询更加高效和节省CPU资源。

进程间同步和互斥的含义是什么

1
2
3
1.进程同步也是进程之间直接的制约关系,是为完成某种任务而建立的两个或多个线程,这个线程需要在某些位置上协调他们的工作次序而等待、传递信息所产生的制约关系。进程间的直接制约关系来源于他们之间的合作。
2.进程互斥是进程之间的间接制约关系。当一个进程进入临界区使用临界资源时,另一个进程必须等待。只有当使用临界资源的进程退出临界区后,这个进程才会解除阻塞状态。

程序、进程的区别和联系

1
2
3
4
5
6
7
8
9
10
11

进程与程序的区别
a.程序是静态的实体,进程是动态的实体。
b.程序是存储在某种介质上的二进制代码,进程对应了程序的执行过程,系统不需要为一个不执行的程序创建进程,一旦进程被创建,就处于不断变化的动态过程中,对应了一个不断变化的上下文环境。
c.程序是永久的,进程是暂时存在的。程序的永久性是相对于进程而言的,只要不去删除它,它可以永久的存储在介质当中。
d.进程有独立性并发执行,程序不能并发执行,且无一一对应关系
e.进程之间异步运行相互制约

进程与程序的联系:
进程不能脱离具体程序而虚设,程序规定了进程所要完成的动作
进程是程序的一次执行,而进程总是对应至少一个特定的程序。一个程序可以对应多个进程,也就是进程和程序并不是一 一对应的。同一个程序可以在不同的数据集合上运行,因而构成若干个不同的进程。几个进程能并发地执行相同的程序代码,而同一个进程能顺序地执行几个程序。

分页和分段存储管理有何区别

1
2
3
4
5
6
7
8
 (1) 页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率。段则是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好地满足用户的需要。

(2) 分段每次交换的是一段有意义的信息,而不是像分页那样每次只交换固定大小的页

(3) 分页的地址空间是一维的,而分段的作业地址空间是二维的
4.分段管理中,段长可以根据需求动态增长
5.段式管理有利于对具有完整逻辑功能的信息段进行共享
6.段式管理便于进行动态链接,而页式管理进行动态链接的过程非常复杂

非剥夺方式和抢占方式的含义

1
2
剥夺方式也称为抢占方式,其含义是当一个进程正在执行它的一个CPU周期期间,系统可基于某种原则强行分割该进程的当前CPU时值,即强行剥夺现行进程正占用的CPU,并把CPU分配给其它进程。 
非剥夺方式也称非抢占方式,采用这种调度方式时,一旦把处理机分配给某个进程后,便让该进程一直执行,直到该进程执行完成或等待某事件而被阻塞时,才把CPU分配给其他进程,决不允许其他进程抢占已分配出去的CPU

局部性原理

1
2
1.时间局部性 :如果程序中的某条指令一旦执行,不久以后该指令可能再次执行;如果某数据被访问过,不久以后该数据可能再次被访问。产生时间局部性的典型原因,是由于在程序中存在着大量的循环操作。
2.空间局部性 :一旦程序访问了某个存储单元,在不久之后,其附近的存储单元也将被访问,即程序在一段时间内所访问的地址,可能集中在一定的范围之内,这是因为指令通常是顺序存放、顺序执行的,数据也一般是以向量、数组、表等形式簇聚存储的。

什么是索引文件?为什么要引入多级索引?

1
2
3
①索引文件是指当记录为可变长度时,通常为之建立一张索引表,并为每个记录设置一个表项构成的文件。通常将索引非顺序文件简称为索引文件。
②索引是为了用户的访问速度更快,多级索引结构可以有效的管理索引文件,可根据用户的访问情况多级处理。
3.当文件太大,其索引块太多,一级索引的方式是低效的,此时,应为这些索引再建立一级索引,称为第一级索引,即系统再分配一个索引块,作为第一级索引块同理便可引出多级索引来存储大文件!

请列出单处理器调度的常用五种算法,并说明每种算法是否为可抢占算法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
调度算法
FCFS 先到先服务
概念:先到达等待队列的进程或作业优先被服务,属于非抢占式算法。

特点:对长作业有利,对短作业不利(排在长作业后面的短作业需要等待很久,带权周转时间很大),这种问题称为「护航效应」(即耗时较少的潜在资源消费者被排在重量级的资源消费者之后)。但不会导致饥饿,因为新来的进程一定排在等待的进程后面执行。

SJF 最短任务优先
概念:在等待队列中需要时间最短的进程优先被服务,也属于非抢占式算法。

特点:如果ABC都在等待队列中,那么SJF确实可以使得三个进程的平均周转时间最短,属于最优调度算法;但如果短任务BC在长任务A稍晚一刻到达,由于算法是非抢占式的,BC仍然需要等待A运行完,导致护航效应。

STCF 最短完成时间优先
概念:即抢占式SJF。每当有进程加入导致就绪队列改变时,就需要调度,如果新到达的进程,剩余时间比当前运行的进程剩余时间更短,则由新进程抢占处理机,当前运行进程重新回到就绪队列。

特点:抢占式SJF可以使得所有进程在整体上具有最短的平均周转时间,但会导致长进程具有较高的响应时间,如果有源源不断的短作业到来,可能会使长作业长时间内得不到服务,产生饥饿现象。


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

特点:根据响应比计算公式可知,在等待时间相同时,要求服务时间短的作业优先被调度;在要求服务时间相同时,等待时间长的作业优先被调度。对于长作业来说,等待时间越久,响应比越大,更容易优先被服务,从而避免了长作业饥饿。但响应比的计算增加了系统开销。

RR 轮转调度
概念:按照各进程到达就绪队列的顺序,轮流地让各个进程执行一个时间片(time slice), 让每个进程在一定时间间隔内都可以得到响应,反复执行直到所有任务完成,属于抢占式算法。其中时间片长度必须是时钟中断周期的整数倍,因为时间片到期的通知是由时钟中断指令发出的。

特点:应权衡时间片长度的选取,时间片越短,响应时间越好,但上下文切换过于频繁也会影响整体性能;而时间片太长,就会退化为FCFS,而且进程响应时间会增加。如果关心响应时间,带有合理时间片长度的RR算法就是非常好的调度算法;但如果关心周转时间,RR几乎是最差的,甚至可能比FCFS都差。

重视公平性,响应时间会比较短,但周转时间比较长;允许非公平,周转时间就比较短,但也要以响应时间为代价。实际上这两者的权衡是很常见的。

小结
FCFS是最简单的调度算法,SJFSTCF优化了周转时间,但对响应时间不利;RR优化了响应时间,但对周转时间不利。

但以上算法都采用了两个假设:作业没有I/O、每个作业的运行时间是已知的。这些假设也限制了它们的使用。

MLFQ 多级反馈队列调度算法
概念:MLFQ有多个独立的队列,每个队列都有不同的优先级,任何时刻,一个工作只能存在于一个队列中。MLFQ总是优先执行较高优先级的工作。同一队列中的任务具体相同的优先级,此时对这些工作采用RR算法。


FCFS
时间片 抢
最短进程优先SPN
最短剩余时间优先 抢
最高响应比优先 非
反馈 抢

作业题汇总&&一些解答

作业 答案
第二次: 进程的基本状态及其转换,进程映像,PCB索引结构示意 (以上三个画图及其描述) 线程的实现原理(画图➕说明)
操作系统作业(第三次): 1.互斥P,V操作伪代码; 2.生产者消费者模型P,V操作伪代码; 3.画出有环不产生互斥的场景资源图。分析互斥产生的原因,资源的分配和管理方式。得出结论:为什么采用鸵鸟算法?
1、画出多级反馈队列法的图并进行解释 2、解释中断机制中中断向量表的作用 3、自己给出一个动态分区法里面的调度,对照课件中的图,探讨碎片问题(不能跟书上一模一样),推导过程并总结其缺点 4、将动态分区法和分页技术做一个对比,指出各自的优缺点
1.解释分页机制在一级页表情况下的时间复杂度和空间复杂度到底由哪些因素决定; 2.解释书本P128页图4-18利用快表实现地址转换流程图,逻辑地址怎么转化为物理地址,并分析转化过程中的时间复杂度,可以假设每个快表的命中率为90%; 3.解释书本P138页图4-31段页式系统的地址转换流程图。
用最近最久未使用置换法,按照课本上第147页图4-39的数据,将例题换成四个内存块,画出新的最近最久未使用算法页置换序列(上面画缺页,下面画堆栈变化)
借助中断向量表描述设备的中断状态调控机制,对比与轮询的最主要区别。
借助中断向量表画图描述(从软中断开始)在32位操作系统下怎么实现系统调用,并描述中断向量表、软中断在其中起到的作用。