新書推薦:
《
史铁生:听风八百遍,才知是人间(2)
》
售價:NT$
254.0
《
量子网络的构建与应用
》
售價:NT$
500.0
《
拍电影的热知识:126部影片里的创作技巧(全彩插图版)
》
售價:NT$
500.0
《
大唐名城:长安风华冠天下
》
售價:NT$
398.0
《
情绪传染(当代西方社会心理学名著译丛)
》
售價:NT$
403.0
《
中国年画 1950-1990 THE NEW CHINA: NEW YEAR PICTURE 英文版
》
售價:NT$
1100.0
《
革命与反革命:社会文化视野下的民国政治(近世中国丛书)
》
售價:NT$
435.0
《
画楼:《北洋画报》忆旧(年轮丛书)
》
售價:NT$
1573.0
|
編輯推薦: |
1. 以问题为导向,以学生为中心为指导思想,突出学生应用知识思考和解决问题的能力是本教材的主线。通过典型例题解析启发学生的思维,加深对理论知识的理解。自测题全面且具代表性,对于重点、难点的问题既给出了解答又有解题分析。2. 通过自测题让学生独立思考,了解自己对知识的掌握程度,也可作为考研等的复习资料。实验内容包括:高响应比作业调度、时间片轮转进程调度、进程同步与互斥、 内存分配与回收、FIFO页面置换算法、LRU页面置换算法、独占设备分配与回收、银行家算法,共8个实验。每个实验首先给出了明确的实验目标和实验内容,然后讲明实验原理并给出相应的知识点提示,*后给出参考程序和运行效果图。通过这些典型实验让学生对理论问题有更直观的认识和体验,激发他们学习的兴趣和创新的动力。3. 本书的作者都是讲解操作系统课程多年的一线教师,内容上吸收了众多相关资源的精华,同时结合教学中的实践经验合理地进行内容的取舍,使习题具有代表性,实验内容典型丰富而且有利于培养学生的创新应用能力。另外提供相应的PPT课件满足实验课堂教学、课后练习和学生自学的需要。
|
內容簡介: |
操作系统是一门实践性非常强的学科,只看书上的理论知识是远远不够的,必须在实践和应用中加以深刻的体会。作者在多年的教学实践和科学研究的基础上,结合操作系统教学大纲、研究生入学考试要求和软考考试大纲编写了本书。作者力求通过大量典型的例题解析和实验实践,帮助学生深入理解并能灵活运用操作系统知识。 本书前8章为习题,每一章的内容分为例题解析、课后自测题、自测题答案及分析三部分。通过例题解析启发学生的思考,通过课后自测题学生可以进行自我检验,教师也可以对学生进行测试。第9章通过8个典型的实验,帮助学生对理论知识加深理解,促进学生进行创新的思考和应用。 本书可作为高等院校计算机相关专业学生学习操作系统课程的配套习题集和实验指导,也可作为研究生入学考试的复习资料,对从事计算机工作的科技人员也具有一定的参考价值。
|
目錄:
|
目录
第1章操作系统引论
1.1例题解析
1.2课后自测题
1.3自测题答案及分析
第2章进程与线程
2.1例题解析
2.2课后自测题
2.3自测题答案及分析
第3章进程并发控制
3.1例题解析
3.2课后自测题
3.3自测题答案及分析
第4章内存管理
4.1例题解析
4.2课后自测题
4.3自测题答案及分析
第5章页式和段式内存管理
5.1例题解析
5.2课后自测题
5.3自测题答案及分析
第6章IO管理
6.1例题解析
6.2课后自测题
6.3自测题答案及分析
第7章文件管理
7.1例题解析
7.2课后自测题
7.3自测题答案及分析
第8章死锁
8.1例题解析
8.2课后自测题
8.3自测题答案及分析
第9章实验指导
9.1高响应比作业调度
9.2时间片轮转进程调度
9.3进程同步与互斥
9.4内存分配与回收
9.5FIFO页面置换算法
9.6LRU页面置换算法
9.7独占设备分配与回收
9.8银行家算法
参考文献
|
內容試閱:
|
前言
操作系统是计算机系统的重要组成部分,是用户使用计算机的基础,作为计算机专业的核心课程,不仅高等学校计算机相关专业的学生必须学习,从事计算机行业的人员也需要深入了解。由于操作系统具有概念性强、内容灵活、所涉及概念和算法比较抽象的特点,因此初学者往往找不到感觉,面对习题更是无从下手。此外,操作系统是一门实践性非常强的学科,只看书、做习题是绝对不够的,必须在实践和应用中加以深刻的体会。因此,在操作系统的教学中,除了课堂教学外,必须有一定学时的实验课。作者在多年教学实践和科学研究的基础上,结合操作系统教学大纲、研究生入学考试要求和全国计算机技术与软件专业技术资格考试大纲,并在参考了国内外多种操作系统资料的基础上编写了本书。本书与清华大学出版社出版的《操作系统原理》教材相配套,全书共分为9章,具体内容包括: 操作系统引论、进程与线程、进程并发控制、内存管理、页式和段式内存管理、IO管理、文件管理、死锁、实验指导。前8章每一章的内容分为例题解析、课后自测题、自测题答案及分析三部分。通过例题解析启发学生的思考,引导学生如何去思考问题、解决问题。通过课后自测题学生可以进行自我检验,教师也可以对学生进行测试。自测题答案及分析部分给出了详细的解答并对难点问题进行了分析,有利于学生平时的学习,也可作为考研的复习资料。第9章实验指导包括: 高响应比作业调度、时间片轮转进程调度、进程同步与互斥、内存分配与回收、FIFO页面置换算法、LRU页面置换算法、独占设备分配与回收和银行家算法。每一个实验内容包括: 实验目的和要求、实验内容、实验原理与提示、参考程序。通过实验可以对理论知识进行巩固和加深理解,也激发了学生的探索热情,促进学生进行创新的思考和应用,可以提出新的算法和方法来改进目前的操作系统。本书第3、4章由于世东编写,第6~8章由王泓编写,第1、2、5章由孙笑微编写,第9章由于世东、王泓、孙笑微共同编写。东北大学于杨博士审阅了全稿并提出了许多有益的意见; 沈阳工业大学牛连强教授在本书编写过程中给予了指点和帮助,在此谨向他们表示衷心的感谢。感谢清华大学出版社在本书的出版过程中给予的支持。由于作者学识浅陋,见闻不广,书中必有不足之处,敬请读者提出批评、指正和建议。我们的Email地址是: ysd0510@sina.com,也欢迎大家与我们进行交流和探讨。
编者2016年11月
第3章进程并发控制
3.1例 题 解 析例题1进程间的互斥与同步表示了各进程间的。
A. 竞争与协作B. 相互独立与相互制约C. 临界区调度原则D. 动态性与并发性分析: 答案A。当多个进程都去访问非共享资源时就会产生竞争,需要互斥执行,通过临界区加以控制,当多个进程相互协作共同完成一个任务时,需要同步相关的信息以达到合作的目的。例题2若执行信号量S操作的进程数为3,信号量S初值为2,当前值为-1,表示有个等待相关临界资源的进程。A. 0B. 1C. 2D. 3分析: 答案B。每当一个进程申请S信号量时,S的值就减1,当S的值为0时再申请的进程就需等待,负值的绝对值就表示在临界区等待的进程数。例题3由于并发进程执行的随机性,一个进程对另一个进程的影响是不可预测的,甚至造成结果的不正确,。A. 造成不正确的因素与时间有关B. 造成不正确的因素只与进程占用的处理机有关C. 造成不正确的因素与执行速度无关D. 造成不正确的因素只与外界的影响有关分析: 答案A。由于各进程的异步推进,进程之间的制约关系与时间有关,也即与进程的执行速度有关。例题4下列机构中不能用于进程间数据通信的是。A. 消息B. 共享存储区C. 信号量D. 管道分析: 答案C。能传送大量数据的高级通信机制可归结为三大类: 共享存储器系统、消息传递系统以及管道通信系统。信号量主要用于进程的同步与互斥控制,不是为了数据通信。例题5下面有关管程的说法,不正确的是。A. 管程是一种进程同步机制B. 管程是一种编程语言成分C. 管程是一种系统调用D. 管程比信号量更容易保证并行编程的正确性分析: 答案C。使用信号量和PV操作实现进程同步时,对共享资源的管理分散于各个进程中,这样不利于系统对临界资源的管理,难以防止进程有意或无意地违反同步操作,且容易造成程序设计错误。因此提出管程的概念以解决上述问题,管程实质上是把临界区集中到抽象数据类型模板中,可作为程序设计语言的一种结构成分。例题6什么是临界资源和临界区?一个进程进入临界区的调度原则是什么?答: 不允许两个或两个以上进程同时访问的资源称为临界资源。进程执行访问临界资源的程序段称为临界区、临界段或互斥段。能支持各进程互斥地执行临界区的调度机制必须满足下列要求。1 在临界区中,每次只能允许一个进程进入。2 一个进程在非临界区中的暂停运行不能影响其他进程。3 一个进程如需要进入临界区,不能发生无限延迟的情况,既不会死锁,也不会饥饿。4 当无进程在临界区时,必须让任何希望进入该程序段的进程无延迟地进入。5 一个进程只能在临界区内停留有限的时间。6 对于相关进程的运行速度和处理机的数量不做假设。例题7进程之间存在哪几种制约关系?各是什么原因引起的?下列活动分别属于哪种制约关系?1 图书馆借书。2 两队举行篮球赛。3 流水生产线。4 乐队演奏。5 购买火车票。答: 有直接制约关系即同步问题和间接制约关系即互斥问题; 同步问题是存在关系的进程之间的相互等待所产生的制约关系,互斥问题是进程间竞争使用资源所发生的制约关系。1 属于互斥关系,因为书的个数是有限的,一本书只能借给一个同学。2 既存在互斥关系,也存在同步关系。篮球只有一个,两队都要竞争; 但对于同一个队的队员之间需要相互协作才有可能取得比赛的胜利。3 属于同步关系,生产线上各道工序的开始都依赖前道工序的完成。4 属于同步关系,乐队中的每个成员需要相互协作共同完成乐曲演奏任务。5 属于互斥关系,一张火车票只能卖给一个人。例题8在生产者消费者问题中,如果将两个P操作即生产者程序流程中的Pbuffers和Pmutex互换位置,结果会如何?答: Pbuffers和Pmutex互换位置后,因为mutex是生产者和消费者公用的信号量变量,生产者在执行完Pmutex后,则mutex赋值为0,倘若当前无空闲缓冲区,buffers也为0,在执行了Pbuffers后,buffers为-1,该生产者进程就会进入阻塞状态,这样不仅其他的生产者进程会因mutex不能继续存放产品,并且消费者也因mutex不能取产品,从而无法释放缓冲区,使缓冲区始终为0,这样就形成了死锁。例题9试用P、V操作描述下列理发师和顾客之间的同步问题。某个理发师当没有顾客时,去睡觉; 当有顾客来理发,若理发师正在睡觉时,这个顾客会叫醒他,理发师给该顾客理发,理发期间若还有顾客到达则等待理发师依次理发,直到没有顾客到来,理发师又去睡觉。分析: 将此题看作是N个生产者和一个消费者问题。顾客作为生产者,每到来一位,就应将计数器rc计数一次,以便让理发师理发至最后一位顾客,因此,顾客进程执行的第一个语句便是rc=rc 1。而第一个到来的顾客应负责唤醒理发师,理发师此时正在信号量wakeup上等待Pwakeup; 该信号量初值为0,由第一个顾客执行Vwakeup。若该顾客不是第一个到达者,则在信号量wait上等待Pwait; 该信号量初值为0,等到理发师给前一位顾客理完发后执行Vwait,便给该顾客理发。以上过程循环往复,理发师每处理完一个顾客,就令计数器rc值减1,当rc=0时,便知此时无顾客,理发师可继续睡觉,等待下一个顾客的到达。为了保证对计数器rc互斥使用,还需要设置信号量mutex初值为1。答: 用P、V操作描述理发师和顾客之间的同步问题:
wakeup, wait, mutex :Semaphore;
wakeup :=0;wait :=0;mutex :=1;
cobegin
顾客进程:
{
Pmutex;
rc= rc 1;
ifrc==1
Vwakeup;
else
Pwait;
Vmutex;
理发;
}
理发师进程:
{
Pwakeup;
while rc!=0
{
理发;
Pmutex;
rc=rc-1;
if rc!=0
Vwait;
Vmutex;
}
}
coend
3.2课后自测题一、 选择题1. 并发性是指若干事件在发生。
A. 同一时刻B. 同一时间间隔内C. 不同时刻D. 不同时间间隔内2. 进程间的基本关系为。A. 相互独立B. 同步与互斥C. 信息传递与信息缓冲D. 并行执行与资源共享3. 操作系统中P、V操作是一种。A. 系统调用B. 进程通信原语C. 控制命令D. 软件模块4. 两个进程合作完成一个任务,在并发执行中,一个进程要等待其合作伙伴发来信息或者建立某个条件后再向前执行,这种关系是进程间的关系。A. 同步B. 互斥C. 竞争D. 合作5. 一段不能由多处进程同时执行的代码称为。A. 临界区B. 临界资源C. 锁操作D. 信号量操作6. 临界区是指并发进程中。A. 用于实现进程互斥的程序段B. 用于实现进程同步的程序段C. 用于实现进程通信的程序段D. 与互斥的共享资源有关的程序段7. 不能利用实现父子进程间的互斥。A. 文件B. 外部变量C. 信号量D. 锁8. 解决进程间同步与互斥问题常用的方法是使用。A. 锁操作B. 存储管理C. 信号机构D. 信号量9. 读者、写者是一个问题。A. 互斥B. 半同步C. 全同步D. 共享10. 如果系统只有一个临界资源,同时有很多进程要竞争该资源,那么系统发生死锁。
A. 一定会B. 一定不会C. 不一定会D. 由进程数量决定11. 在操作系统中,对信号量的s的P操作定义中,使进程进入相应等待队列的条件是。A. s0B. s=0C. s
|
|