计算机统考重难点班讲义(操作系统)-第一讲.ppt

上传人:小飞机 文档编号:6023977 上传时间:2023-09-15 格式:PPT 页数:44 大小:611.50KB
返回 下载 相关 举报
计算机统考重难点班讲义(操作系统)-第一讲.ppt_第1页
第1页 / 共44页
计算机统考重难点班讲义(操作系统)-第一讲.ppt_第2页
第2页 / 共44页
计算机统考重难点班讲义(操作系统)-第一讲.ppt_第3页
第3页 / 共44页
计算机统考重难点班讲义(操作系统)-第一讲.ppt_第4页
第4页 / 共44页
计算机统考重难点班讲义(操作系统)-第一讲.ppt_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《计算机统考重难点班讲义(操作系统)-第一讲.ppt》由会员分享,可在线阅读,更多相关《计算机统考重难点班讲义(操作系统)-第一讲.ppt(44页珍藏版)》请在三一办公上搜索。

1、操作系统重难点串讲,讲师:翔高教育一级培训师地点:上海,第一章 操作系统引论,重难点导航,判断是否是操作系统的作用范围多道程序设计的概念并发性概念的深入理解操作系统的四个基本特征的表述和两个最主要的特征分时系统和实时系统的比较操作系统的概念及操作系统提供给用户的接口,3,操作系统的发展过程与分类,无操作系统的计算机系统单道批处理系统多道批处理系统分时系统实时系统,4,实时系统与分时系统特征的比较 多路性。(2)独立性。(3)及时性。(4)交互性。(5)可靠性。,操作系统的基本特性,并发(Concurrence),并行性和并发性是既相似又有区别的两个概念,并行性是指两个或多个事件在同一时刻发生;

2、而并发性是指两个或多个事件在同一时间间隔内发生。在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时地交替执行。倘若在计算机系统中有多个处理机,则这些可以并发执行的程序便可被分配到多个处理机上,实现并行执行,即利用每个处理机来处理一个可并发执行的程序,这样,多个程序便可同时执行。,共享(Sharing)在操作系统环境下,所谓共享是指系统中的资源可供内存中多个并发执行的进程(线程)共同使用。由于资源属性的不同,进程对资源共享的方式也不同,目前主要有以下两种资源共享方式。,虚拟(Virtual)操作系统中

3、的所谓“虚拟”,是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。物理实体(前者)是实的,即实际存在的;而后者是虚的,是用户感觉上的东西。相应地,用于实现虚拟的技术,称为虚拟技术。在OS中利用了多种虚拟技术,分别用来实现虚拟处理机、虚拟内存、虚拟外部设备和虚拟信道等。,异步性(Asynchronism),在多道程序环境下,允许多个进程并发执行,但只有进程在获得所需的资源后方能执行。在单处理机环境下,由于系统中只有一个处理机,因而每次只允许一个进程执行,其余进程只能等待。当正在执行的进程提出某种资源要求时,如打印请求,而此时打印机正在为其它某进程打印,由于打印机属于临界资源,因此正在执行的

4、进程必须等待,且放弃处理机,直到打印机空闲,并再次把处理机分配给该进程时,该进程方能继续执行。可见,由于资源等因素的限制,使进程的执行通常都不是“一气呵成”,而是以“停停走走”的方式运行。,操作系统的功能,处理机功能存储器功能设备管理功能文件管理功能提供用户接口,10,经典例题解析,【例1】下列选项中,操作系统提供给应用程序的接口是【10年统考真题】A.系统调用 B.中断 C.库函数 D.原语【解析】本题考查操作系统提供的服务。操作系统提供两类接口,一类是命令接口,比如用户通过键盘命令和鼠标命令来操作计算机;另一类是程序接口,它提供一组系统调用,用户可以通过运行一些应用程序来访问操作系统的资源

5、。本题四个选项中,只有A是操作系统提供的接口。,11,【例2】在操作系统中,只能在系统态下运行的指令是()A 读时钟指令 B置时钟指令 C 取数指令 寄存器清零指令解析:读时钟指令、取数指令、寄存器清零指令都可以在用户态下执行,读时钟指令 只能在系统态下运行,因此答案选B,12,【例3】(多选)批处理操作系统的特点有()【电子科大 2008】A提高了系统资源的利用率 B减少了人工干预 C提高了单位时间内的处理能力 D提高了系统的吞吐率 E用户可以直接干预作业的运行,具有交互性解答:AB(本题考查批处理操作系统的优点。比起无操作系统的计算机而言,批处理操作系统中的资源利用率确实提高了,同时减少了

6、人工干预,但是它并未提高系统的吞吐量,直至后来出现的多道批处理系统才提高了系统的吞吐量,并且批处理操作系统中并未实现交互 性,用户不能直接控制其运行。),13,第二章 进程管理,14,重难点导航,进程和程序的比较,进程和线程的比较进程的三个基本状态的转换的因果关系判断临界区算法的正确与否整形信号量和记录性信号量的定义信号量的应用,15,较典型的进程定义有:(1)进程是程序的一次执行。(2)进程是一个程序及其数据在处理机上顺序执行时所发生的活动。(3)进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。在引入了进程实体的概念后,我们可以把传统OS中的进程定义为:“进程

7、是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位”。,2)进程状态的转换,活动就绪静止就绪。(2)活动阻塞静止阻塞。(3)静止就绪活动就绪。(4)静止阻塞活动阻塞。,引起创建进程的事件,用户登录。(2)作业调度。(3)提供服务。(4)应用请求。,进 程 控 制,进 程 同 步,进程同步的基本概念,两种形式的制约关系,间接相互制约关系。(2)直接相互制约关系。,同步机制应遵循的规则,空闲让进。(2)忙则等待。(3)有限等待。(4)让权等待。,利用信号量实现前趋关系,图 2-10 前趋图举例,Var a,b,c,d,e,f,g;semaphore=0,0,0,0,0,0,0;begin

8、 parbegin begin S1;signal(a);signal(b);end;begin wait(a);S2;signal(c);signal(d);end;begin wait(b);S3;signal(e);end;begin wait(c);S4;signal(f);end;begin wait(d);S5;signal(g);end;begin wait(e);wait(f);wait(g);S6;end;parend end,线程的属性,轻型实体。(2)独立调度和分派的基本单位。(3)可并发执行。(4)共享进程资源。,线程运行状态。如同传统的进程一样,在各线程之间也存在着共

9、享资源和相互合作的制约关系,致使线程在运行时也具有间断性。相应地,线程在运行时,也具有下述三种基本状态:执行状态,表示线程正获得处理机而运行;就绪状态,指线程已具备了各种执行条件,一旦获得CPU便可执行的状态;阻塞状态,指线程在执行中因某事件而受阻,处于暂停执行时的状态。,线程间的同步和通信,互斥锁(mutex)互斥锁是一种比较简单的、用于实现进程间对资源互斥访问的机制。由于操作互斥锁的时间和空间开锁都较低,因而较适合于高频度使用的关键共享数据和程序段。互斥锁可以有两种状态,即开锁(unlock)和关锁(lock)状态。相应地,可用两条命令(函数)对互斥锁进行操作。其中的关锁lock操作用于将

10、mutex关上,开锁操作unlock则用于打开mutex。,条件变量,每一个条件变量通常都与一个互斥锁一起使用,亦即,在创建一个互斥锁时便联系着一个条件变量。单纯的互斥锁用于短期锁定,主要是用来保证对临界区的互斥进入。而条件变量则用于线程的长期等待,直至所等待的资源成为可用的。线程首先对mutex执行关锁操作,若成功便进入临界区,然后查找用于描述资源状态的数据结构,以了解资源的情况。只要发现所需资源R正处于忙碌状态,线程便转为等待状态,并对mutex执行开锁操作后,等待该资源被释放;若资源处于空闲状态,表明线程可以使用该资源,于是将该资源设置为忙碌状态,再对mutex执行开锁操作。,内核支持线

11、程和用户级线程,1.内核支持线程,这里所谓的内核支持线程,也都同样是在内核的支持下运行的,即无论是用户进程中的线程,还是系统进程中的线程,他们的创建、撤消和切换等,也是依靠内核实现的。此外,在内核空间还为每一个内核支持线程设置了一个线程控制块,内核是根据该控制块而感知某线程的存在的,并对其加以控制。,2.用户级线程 用户级线程仅存在于用户空间中。对于这种线程的创建、撤消、线程之间的同步与通信等功能,都无须利用系统调用来实现。对于用户级线程的切换,通常是发生在一个应用进程的诸多线程之间,这时,也同样无须内核的支持。由于切换的规则远比进程调度和切换的规则简单,因而使线程的切换速度特别快。可见,这种

12、线程是与内核无关的。,2)内核控制线程 这种线程又称为轻型进程LWP(Light Weight Process)。每一个进程都可拥有多个LWP,同用户级线程一样,每个LWP都有自己的数据结构(如TCB),其中包括线程标识符、优先级、状态,另外还有栈和局部存储区等。它们也可以共享进程所拥有的资源。LWP可通过系统调用来获得内核提供的服务,这样,当一个用户级线程运行时,只要将它连接到一个LWP上,此时它便具有了内核支持线程的所有属性。,PV操作,桌上有一空盘,允许存放一只水果。爸爸可向盘中放苹果,也可向盘中放桔子,儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。规定当盘空时一次只能放一只水果供吃者取用

13、,请用P、V原语实现爸爸、儿子、女儿三个并发进程的同步。【分析】在本题中,爸爸、儿子、女儿共用一个盘子,盘中一次只能放一个水果。当盘子为空时,爸爸可将一个水果放入果盘中。若放入果盘中的是桔子,则允许儿子吃,女儿必须等待;若放入果盘中的是苹果,则允许女儿吃,儿子必须等待。本题实际上是生产者-消费者问题的一种变形。这里,生产者放入缓冲区的产品有两类,消费者也有两类,每类消费者只消费其中固定的一类产品。,30,解:在本题中,应设置三个信号量S、So、Sa,信号量S表示盘子是否为空,其初值为l;信号量So表示盘中是否有桔子,其初值为0;信号量Sa表示盘中是否有苹果,其初值为0。同步描述如下int S1

14、;int Sa0;int So0;main()cobegin father();/*父亲进程*/son();/*儿子进程*/daughter();/*女儿进程*/coend,31,father()while(1)P(S);将水果放入盘中;if(放入的是桔子)V(So);else V(Sa);,32,son()while(1)P(So);从盘中取出桔子;V(S);吃桔子;,33,daughter()while(1)P(Sa);从盘中取出苹果;V(S);吃苹果;,34,设公共汽车上,司机和售票员的活动分别为:司机的活动是启动车辆、正常开驶、到站停车;售票员的活动是关门、售票、开门。试指出在汽车出站

15、、行驶、到站过程中,述两种活动有什么同步关系?用P-V操作实现它们之间的同步关系。(并发进程之间的同步问题),35,司机启动车辆与售票员关车门为同步关系;司机到站停车与售票员开车门为同步关系。定义两个信号量:S1表示门是否关了,初始值为0;S2表示汽车是否到站,初始值为0main()cobegin Process司();Process售();coend,36,Process司()P(S1);启动;行驶;到站停车;V(S2);,37,Process售()关车门;V(S1);售票;P(S2);开车门;,38,经典例题分析,【例1】下列选项中,导致创建新进程的操作是【10统考真题】.用户录成功.设备

16、分配.启动程序执行A.仅和 B.仅和 C.仅和 D.、和【解析】用户登录成功后需要为这个用户创建进程来解释用户的各种命令操作;设备分配由内核自动完成,不需要创建新进程;启动程序执行的目的就是创建一个新进程来执行程序。C,39,【例2】N个进程共享M台打印机(其中NM),假设每台打印机为临界资源,必须独占使用,则打印机的互斥信号量的取值范围为_。【电子科大 2008】A-(N-1)M B-(N-M)M C.-(N-M)1 D-(N-1)1解析:本题考查的是进程同步机制中的信号量机制。具有多个临界资源的系统中将能够为多个进程服务。信号量的取值范围是:阻塞队列中的进程个数到临界资源个数。因此本题中的

17、取值范围为-(N-M)M。答案选B,40,【例 3】有3个并发进程R、M、P,它们共享同一个缓冲区,假定缓冲区只能存放一条记录。进程R负责从输入设备读信息,每读人一个记录后,就把它放进缓冲区;进程M在缓冲区中加工读入的记录;进程P把加工后的记录打印输出。读人的记录经加工输出后,缓冲区又可以存放下一个记录。试写出他们能够正确执行的并发程序。解 此题类似与生产者消费者问题。,41,semaphore ml=0,m2=0;semaphore empty=1;semaphore mutex=1;main()cobegin P(R):(读入进程)begin repeat 读入一个记录 P(empty);P(mutex);将记录放入缓冲区;V(mutex);V(m1)until false;end,42,P(M):(加工进程)beginrepeat P(m1);P(mutex);在缓冲区中加工记录;V(mutex);V(m2)until false;end,43,P(P);(打印进程)begin repeat P(m2);P(mutex);将缓冲区中记录取出;V(mutex);V(empty);打印记录;until falses;end),44,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号