好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

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

44页
  • 卖家[上传人]:汽***
  • 文档编号:588512353
  • 上传时间:2024-09-08
  • 文档格式:PPT
  • 文档大小:456.50KB
  • / 44 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 操作系统操作系统重难点串讲重难点串讲讲师:翔高教育一级培训师地点:上海 第一章第一章   操作系统引论操作系统引论 重难点导航重难点导航v判断是否是操作系统的作用范围判断是否是操作系统的作用范围v多道程序设计的概念多道程序设计的概念v并发性概念的深入理解并发性概念的深入理解v操作系统的四个基本特征的表述和两个最主要的特操作系统的四个基本特征的表述和两个最主要的特征征v分时系统和实时系统的比较分时系统和实时系统的比较v操作系统的概念及操作系统提供给用户的接口操作系统的概念及操作系统提供给用户的接口3 操作系统的发展过程与分类操作系统的发展过程与分类v无操作系统的计算机系统无操作系统的计算机系统v单道批处理系统单道批处理系统v多道批处理系统多道批处理系统v分时系统分时系统v实时系统实时系统4 实时系统与分时系统特征的比较实时系统与分时系统特征的比较 (1)多路性 (2) 独立性 (3) 及时性 (4) 交互性 (5) 可靠性 操作系统的基本特性操作系统的基本特性 并发并发(Concurrence) 并行性和并发性是既相似又有区别的两个概念,并行性是指两个或多个事件在同一时刻发生;而并发性是指两个或多个事件在同一时间间隔内发生。

      在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时地交替执行倘若在计算机系统中有多个处理机,则这些可以并发执行的程序便可被分配到多个处理机上,实现并行执行,即利用每个处理机来处理一个可并发执行的程序,这样,多个程序便可同时执行 共享共享(Sharing) 在操作系统环境下,所谓共享是指系统中的资源可供内存中多个并发执行的进程(线程)共同使用由于资源属性的不同,进程对资源共享的方式也不同,目前主要有以下两种资源共享方式 虚拟虚拟(Virtual) 操作系统中的所谓“虚拟”,是指通过某种技术把一个物理实体变为若干个逻辑上的对应物物理实体(前者)是实的, 即实际存在的;而后者是虚的,是用户感觉上的东西相应地,用于实现虚拟的技术,称为虚拟技术在OS中利用了多种虚拟技术,分别用来实现虚拟处理机、虚拟内存、 虚拟外部设备和虚拟信道等 异步性异步性(Asynchronism) 在多道程序环境下,允许多个进程并发执行, 但只有进程在获得所需的资源后方能执行。

      在单处理机环境下,由于系统中只有一个处理机,因而每次只允许一个进程执行,其余进程只能等待当正在执行的进程提出某种资源要求时,如打印请求,而此时打印机正在为其它某进程打印,由于打印机属于临界资源,因此正在执行的进程必须等待,且放弃处理机,直到打印机空闲,并再次把处理机分配给该进程时,该进程方能继续执行可见,由于资源等因素的限制,使进程的执行通常都不是“一气呵成”,而是以“停停走走”的方式运行 操作系统的功能操作系统的功能v处理机功能处理机功能v存储器功能存储器功能v设备管理功能设备管理功能v文件管理功能文件管理功能v提供用户接口提供用户接口10 经典例题解析经典例题解析v【【例例1 1】】下列选项中下列选项中, ,操作系统提供给应用程序的接操作系统提供给应用程序的接口是口是                                              【【1010年统考真题年统考真题】】  A.   A. 系统调用系统调用      B. B. 中断中断      C. C. 库函数库函数      D. D. 原语原语v【【解析解析】】本题考查操作系统提供的服务操作系统本题考查操作系统提供的服务。

      操作系统提供两类接口,一类是命令接口,比如用户通过键提供两类接口,一类是命令接口,比如用户通过键盘命令和鼠标命令来操作计算机;另一类是程序接盘命令和鼠标命令来操作计算机;另一类是程序接口,它提供一组系统调用,用户可以通过运行一些口,它提供一组系统调用,用户可以通过运行一些应用程序来访问操作系统的资源本题四个选项中,应用程序来访问操作系统的资源本题四个选项中,只有只有A A是操作系统提供的接口是操作系统提供的接口11 v【【例例2 2】】在操作系统中,只能在系统态下运行的指令在操作系统中,只能在系统态下运行的指令是()是()    A     A 读时钟指令读时钟指令                            B B置时钟指令置时钟指令       C     C 取数指令取数指令                                  D寄存器清零指令D寄存器清零指令v解析:读时钟指令解析:读时钟指令   、取数指令、取数指令   、寄存器清零指令、寄存器清零指令都可以在用户态下执行,读时钟指令都可以在用户态下执行,读时钟指令   只能在系统态只能在系统态下运行,因此答案选下运行,因此答案选B B12 v【【例例3 3】】(多选)批处理操作系统的特点有(多选)批处理操作系统的特点有(    )(    )                                                    【【电子科大电子科大   20082008】】    A    A.提高了系统资源的利用率.提高了系统资源的利用率            B    B.减少了人工干预.减少了人工干预    C    C.提高了单位时间内的处理能力.提高了单位时间内的处理能力           D D.提高了系统的吞吐率.提高了系统的吞吐率    E    E.用户可以直接干预作业的运行,具有交互性.用户可以直接干预作业的运行,具有交互性v解答:解答:ABAB(本题考查批处理操作系统的优点。

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

       在引入了进程实体的概念后,我们可以把传统OS中的进程定义为:“进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位” 2) 进程状态的转换 (1)活动就绪→静止就绪 (2) 活动阻塞→静止阻塞 (3) 静止就绪→活动就绪 (4) 静止阻塞→活动阻塞 引起创建进程的事件引起创建进程的事件 (1)用户登录 (2) 作业调度 (3) 提供服务 (4) 应用请求 进进 程程 控控 制制 进进 程程 同同 步步 进程同步的基本概念进程同步的基本概念 两种形式的制约关系两种形式的制约关系 (1)间接相互制约关系 (2) 直接相互制约关系 同步机制应遵循的规则同步机制应遵循的规则 (1)空闲让进2) 忙则等待 (3) 有限等待 (4) 让权等待 利用信号量实现前趋关系利用信号量实现前趋关系 图 2-10 前趋图举例 Var a,b,c,d,e,f,g; semaphore∶=0,0,0,0,0,0,0; begin 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 线程的属性线程的属性 (1)轻型实体。

      (2) 独立调度和分派的基本单位 (3) 可并发执行 (4) 共享进程资源 线程运行状态 如同传统的进程一样,在各线程之间也存在着共享资源和相互合作的制约关系,致使线程在运行时也具有间断性 相应地,线程在运行时,也具有下述三种基本状态:① 执行状态,表示线程正获得处理机而运行;② 就绪状态, 指线程已具备了各种执行条件,一旦获得CPU便可执行的状态;③ 阻塞状态,指线程在执行中因某事件而受阻,处于暂停执行时的状态 线程间的同步和通信线程间的同步和通信 互斥锁互斥锁(mutex) 互斥锁是一种比较简单的、用于实现进程间对资源互斥访问的机制由于操作互斥锁的时间和空间开锁都较低, 因而较适合于高频度使用的关键共享数据和程序段互斥锁可以有两种状态, 即开锁(unlock)和关锁(lock)状态 相应地,可用两条命令(函数)对互斥锁进行操作其中的关锁lock操作用于将mutex关上,开锁操作unlock则用于打开mutex 条件变量条件变量 每一个条件变量通常都与一个互斥锁一起使用,亦即,在创建一个互斥锁时便联系着一个条件变量单纯的互斥锁用于短期锁定,主要是用来保证对临界区的互斥进入。

      而条件变量则用于线程的长期等待, 直至所等待的资源成为可用的 线程首先对mutex执行关锁操作,若成功便进入临界区,然后查找用于描述资源状态的数据结构,以了解资源的情况 只要发现所需资源R正处于忙碌状态,线程便转为等待状态, 并对mutex执行开锁操作后,等待该资源被释放; 若资源处于空闲状态,表明线程可以使用该资源,于是将该资源设置为忙碌状态,再对mutex执行开锁操作 内核支持线程和用户级线程内核支持线程和用户级线程 1. 内核支持线程内核支持线程 这里所谓的内核支持线程,也都同样是在内核的支持下运行的,即无论是用户进程中的线程,还是系统进程中的线程,他们的创建、撤消和切换等,也是依靠内核实现的此外,在内核空间还为每一个内核支持线程设置了一个线程控制块, 内核是根据该控制块而感知某线程的存在的,并对其加以控制 2. 用户级线程用户级线程 用户级线程仅存在于用户空间中对于这种线程的创建、 撤消、线程之间的同步与通信等功能,都无须利用系统调用来实现对于用户级线程的切换,通常是发生在一个应用进程的诸多线程之间,这时,也同样无须内核的支持。

      由于切换的规则远比进程调度和切换的规则简单,因而使线程的切换速度特别快可见,这种线程是与内核无关的 2) 内核控制线程 这种线程又称为轻型进程LWP(Light Weight Process) 每一个进程都可拥有多个LWP, 同用户级线程一样, 每个LWP都有自己的数据结构(如TCB),其中包括线程标识符、优先级、 状态, 另外还有栈和局部存储区等 它们也可以共享进程所拥有的资源LWP可通过系统调用来获得内核提供的服务,这样,当一个用户级线程运行时,只要将它连接到一个LWP上,此时它便具有了内核支持线程的所有属性 PVPV操作操作v桌上有一空盘,允许存放一只水果爸爸可向盘中桌上有一空盘,允许存放一只水果爸爸可向盘中放苹果,也可向盘中放桔子,儿子专等吃盘中的桔放苹果,也可向盘中放桔子,儿子专等吃盘中的桔子,女儿专等吃盘中的苹果规定当盘空时一次只子,女儿专等吃盘中的苹果规定当盘空时一次只能放一只水果供吃者取用,请用能放一只水果供吃者取用,请用P P、、V V原语实现爸爸、原语实现爸爸、儿子、女儿三个并发进程的同步儿子、女儿三个并发进程的同步v【【分析分析】】   在本题中,爸爸、儿子、女儿共用一个盘在本题中,爸爸、儿子、女儿共用一个盘子,盘中一次只能放一个水果。

      当盘子为空时,爸子,盘中一次只能放一个水果当盘子为空时,爸爸可将一个水果放入果盘中若放入果盘中的是桔爸可将一个水果放入果盘中若放入果盘中的是桔子,则允许儿子吃,女儿必须等待;若放入果盘中子,则允许儿子吃,女儿必须等待;若放入果盘中的是苹果,则允许女儿吃,儿子必须等待本题实的是苹果,则允许女儿吃,儿子必须等待本题实际上是生产者际上是生产者- -消费者问题的一种变形这里,生产消费者问题的一种变形这里,生产者放入缓冲区的产品有两类,消费者也有两类,每者放入缓冲区的产品有两类,消费者也有两类,每类消费者只消费其中固定的一类产品类消费者只消费其中固定的一类产品30 v   解:在本题中,应设置三个信号量解:在本题中,应设置三个信号量S S、、SoSo、、SaSa,信号量,信号量S S表示盘子表示盘子是否为空,其初值为是否为空,其初值为l l;信号量;信号量SoSo表示盘中是否有桔子,其初值为表示盘中是否有桔子,其初值为0 0;信号量;信号量SaSa表示盘中是否有苹果,其初值为表示盘中是否有苹果,其初值为0 0同步描述如下同步描述如下vint Sint S==1;1;vint Saint Sa==0;0;vint Soint So==0;0;v      main()      main()v      {      {v        cobegin        cobeginv            father();      /*            father();      /*父亲进程父亲进程* */ /v            son();        /*            son();        /*儿子进程儿子进程* */ /v            daughter();    /*            daughter();    /*女儿进程女儿进程* */ /v        coend        coendv        }}31 vfather()father()v    {    {v        while(1)        while(1)v          {          {v            P(S);            P(S);v                        将水果放入盘中将水果放入盘中; ;v            if            if(放入的是桔子)(放入的是桔子)V(So);V(So);v            else  V(Sa);            else  V(Sa);v           }           }v     }     }32 vson()son()v    {    {v        while(1)        while(1)v          {          {v             P(So);             P(So);v                          从盘中取出桔子从盘中取出桔子; ;v             V(S);             V(S);v                          吃桔子吃桔子; ;v                        }}v    }    }33 vdaughter()daughter()v    {    {v         while(1)         while(1)v            {            {v              P(Sa);              P(Sa);v                            从盘中取出苹果从盘中取出苹果; ;v              V(S);              V(S);v                            吃苹果吃苹果; ;v                        }}v}}34 v设公共汽车上,司机和售票员的活动分别为:司机设公共汽车上,司机和售票员的活动分别为:司机的活动是启动车辆、正常开驶、到站停车;售票员的活动是启动车辆、正常开驶、到站停车;售票员的活动是关门、售票、开门。

      的活动是关门、售票、开门①①试指出在汽车出站、试指出在汽车出站、行驶、到站过程中,述两种活动有什么同步关系?行驶、到站过程中,述两种活动有什么同步关系?②②用用P-VP-V操作实现它们之间的同步关系并发进操作实现它们之间的同步关系并发进程之间的同步问题)程之间的同步问题)35 v①①司机启动车辆与售票员关车门为同步关系;司机启动车辆与售票员关车门为同步关系;v            司机到站停车与售票员开车门为同步关系司机到站停车与售票员开车门为同步关系v②②定义两个信号量:定义两个信号量:   S1——S1——表示门是否关了表示门是否关了, ,初始初始值为值为0 0;;vS2——S2——表示汽车是否到站,初始值为表示汽车是否到站,初始值为0 0vmain()main()v{cobegin{cobeginv     Process     Process司();司();v          ProcessProcess售();售();v      coendcoendv} }36 vProcessProcess司()司()v{ P(S1);{ P(S1);v        启动;启动;v        行驶;行驶;v        到站停车;到站停车;v        V(S2);V(S2);v   }   }37 vProcessProcess售()售()v{ { 关车门;关车门;v        V V((S1S1)); ;v        售票;售票;v        P P((S2S2););v        开车门;开车门;v      } }38 经典例题分析经典例题分析v【【例例1 1】】下列选项中下列选项中, ,导致创建新进程的操作是导致创建新进程的操作是【【1010统考真题统考真题】】ⅠⅠ.  . 用户录成功用户录成功        ⅡⅡ.  . 设备分配设备分配      ⅢⅢ.  . 启动程序执行启动程序执行vA. A. 仅仅ⅠⅠ和和ⅡⅡ   B.    B. 仅仅ⅡⅡ和和ⅢⅢ   C.    C. 仅仅ⅠⅠ和和ⅢⅢ    D.     D. ⅠⅠ、、ⅡⅡ和和ⅢⅢv【【解析解析】】用户登录成功后需要为这个用户创建进程用户登录成功后需要为这个用户创建进程来解释用户的各种命令操作;设备分配由内核自动来解释用户的各种命令操作;设备分配由内核自动完成,不需要创建新进程;启动程序执行的目的就完成,不需要创建新进程;启动程序执行的目的就是创建一个新进程来执行程序。

      是创建一个新进程来执行程序C C39 v【【例例2 2】】 N N个进程共享个进程共享MM台打印机台打印机( (其中其中N>M)N>M),假,假设每台打印机为临界资源,必须独占使用,则打印设每台打印机为临界资源,必须独占使用,则打印机的互斥信号量的取值范围为机的互斥信号量的取值范围为________                                                          【【电子科大电子科大   20082008】】   A   A..-(N-1)-(N-1)~~M    BM    B..-(N-M)-(N-M)~~MM   C.-(N-M)   C.-(N-M)~~1      D1      D..-(N-1)-(N-1)~~1 1v解析:本题考查的是进程同步机制中的信号量机制解析:本题考查的是进程同步机制中的信号量机制具有多个临界资源的系统中将能够为多个进程服务具有多个临界资源的系统中将能够为多个进程服务信号量的取值范围是:阻塞队列中的进程个数到临信号量的取值范围是:阻塞队列中的进程个数到临界资源个数因此本题中的取值范围为界资源个数因此本题中的取值范围为-(N-M)-(N-M)~~MM。

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

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.