操作系统ch2教材_第1页
操作系统ch2教材_第2页
操作系统ch2教材_第3页
操作系统ch2教材_第4页
操作系统ch2教材_第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章 操作系统的运行环境

4学时

第2章主要教学内容2.1计算机系统的结构2.2中央处理机(CPU)2.3计算机的存储结构2.4计算机系统的I/O系统结构2.5中断技术2.6多道程序设计技术2.1计算机系统的结构1.计算机系统的层次结构2.引导程序的作用3.引导装载程序与“引导块”1.计算机系统的层次结构现代的通用计算机系统结构是一种层次式结构。最内层是硬件系统,最外层是使用计算机系统的人,人与硬件之间是软件系统。软件系统包括系统软件、支援软件和应用软件三部分。硬件系统由中央处理器、存储器、输入输出控制系统和各种外围设备组成。第4章才真正进入操作系统2.引导程序(自举程序)咱书:bootstrapprogram其他叫法:bootstraploaderbootstrapbootloader谁来加载操作系统?应用程序由操作系统从硬盘加载至内存问:硬盘上的操作系统由谁来加载?答:由操作系统自己(的一部分)来加载,自己加载自己,所以叫“自举”这部分就叫bootstraploader谁来加载bootstraploader?答:ROM中的一段代码可是,你作为rom中的一段代码,你怕连硬盘上是啥操作系统都不知道呢吧,你咋加载人家呢?师父领进门,修行靠个人ROM中的小loader加载硬盘上的大loader硬盘上的大loader加载操作系统好处是??PC机的自举过程PC机加电后,二话不说,就开始执行地址FFFFFFF0处的指令。这个位置有什么指令呢?FFFFFFF0这个位置刚好位于ROM中,放的是一段名为BIOS的程序。BIOS这个程序干很多事:先power-onself-test(POST),然后加载……加载what?POST硬盘上的大loader的两步走ROM中的BIOS加载硬盘上的MasterBootRecord(MBR)MBR中的代码再加载active分区中的VolumeBootRecord(VBR),这个东西不同的操作系统不一样:Linux的GRUB,LILOWindows的NTLDRGRUBLILONTLDR为啥整这么麻烦?硬盘上可以同时装多个操作系统MBR放不了多少东西PC机的硬盘硬盘最多可分成四个分区(partition)分区表在MBR中想要更多分区怎么办?名为“扩展分区(extendedpartition)”的分区,可以进一步划分为多个逻辑分区(logicalpartition)2.2中央处理机(CPU)2.2.1CPU的组成2.2.2CPU的工作状态和运行现场2.2.3特权指令与非特权指令1.CPU的组成教材这块写的比较混乱请以《组成原理》为准CPU的工作过程(程序控制原理)简单说:CPU一条指令一条指令挨着执行。执行完一条指令,就执行下一条。所谓“下一条”:如果刚执行完的那条是普通指令,下一条就是紧跟其后的那条指令;如果刚执行完的那条指令是跳转指令,下一条就是跳至的那个位置处的那条指令CPU的运行现场各种各样的寄存器、计数器的当前状态:programcounter:该寄存器里放着下一条将要执行的指令的地址,跳转指令会改变该寄存器的内容statusregister:cmp指令会影响该寄存器的内容,然后条件跳转根据该寄存器的内容决定程序走向cmpax,10jgeoutCPU的运行现场(续)跟stack相关的寄存器:stackpointer、framepointer一大堆通用寄存器:AX、BX与中断相关的:interruptmaskregister保护现场是运行现场,非犯罪现场犯罪现场不能破坏运行现场呢?你可以破坏但前提是:你必须有办法恢复(备注:电视频道、头发)同一进程内调个函数都要保护现场用户进程之间切换呢?用户进程与系统内核之间切换呢?当然也要保护现场!要保护更多的东西古老的PSW寄存器Programstatusword(PSW),源自IBMSystem/360(诞生于1964年)这是一个大大大寄存器功能分化到:programcounterstatusregisterinterruptmaskregister2.CPU的工作模式(mode)大多数系统将CPU的工作状态划分为两种:内核模式(核心态又叫管态或系统态或特权状态)用户模式(用户态又叫算态或目态)所谓“核心模式”是指内核正占用CPU运行时的工作状态;所谓“用户模式”是指用户程序正占用CPU运行时的工作状态。3.特权指令与非特权指令内核才是机子的主宰内核可以执行所有的操作(指令),用户进程只能执行对他人无害的操作(指令)什么是特权指令?核心模式下可以执行,用户模式下执行不了的指令称为特权指令。在用户模式下执行特权指令会如何?答:……为什么要做这种区分?答:怕你乱来(备注:sudo,张海军)特权指令有以下几种:1)有关对外设使用的指令2)访问PSW寄存器的指令3)存取特殊寄存器的指令4)其它访问系统状态和直接访问系统资源的指令。一句话:能影响到其他进程或内核的指令,就是特权指令。两个进程同时控制打印机你打两句,我再打两句。绝对不行操控打印机的指令,只能内核来执行访管指令访管指令是一条具有中断性质的特殊机器指令,导致:

1)CPU从用户模式切换到内核模式。

2)在内核模式下,内核代码完成用户进程请求的工作。

3)然后由内核模式切换回用户模式。注意:用户模式与内核模式间切换要保护/恢复现场例子IBMSystem/360的SupervisorCallinstruction(SVC)dos、windows、linux的INT指令注意:dos的系统调用并不涉及用户模式与内核模式的切换为什么不用普通的CALL指令?call后边要跟地址,你知道这个地址么?2.3计算机的存储结构1.计算机的多级存储体系2.主存和辅存3.高速缓存(Cache)计算机的多级存储体系

寄存器高速缓存内存磁盘光盘磁带图2.1多级存储体系结构请参考《组成原理》中的“三级存储体系”——cache、内存、硬盘cache是透明的,连操作系统也看不见它操作系统利用内存跟硬盘构建虚拟存储器好钢用在刀刃上——获得“跟硬盘一样的价格,跟cache一样的速度”2.4计算机系统的I/O系统结构2.4.1I/O部件2.4.2总线型I/O系统结构2.4.3DMA控制器2.4.4通道结构2.4.1I/O部件外围设备通常两部分组成:机械部件(其实叫非电子部分更确切)电子部件计算机与外设之间那点事计算机内部欢迎来到微观世界全景图(各种层次的接口)将设备和控制器分开的原因为了达到设计的模块性和通用性;因为操作系统大多与控制器打交道,而非设备本身;由于各台设备常常不是同时使用电子部件,因此同一个控制器可以控制多台设备,从而可以降低计算机硬件的成本。控制器的主要功能接受和识别CPU发来的各种命令数据交换表示和报告设备状态数据的缓冲存储地址译码和识别差错控制设备接口(的主要功能

)实现数据缓冲实现数据格式的转化(串并)提供外设的状态实现计算机与外设间的通信联络2.4.2总线型I/O系统结构微、小型计算机的I/O硬件组织大多采用总线结构。在总线结构的计算机系统中,CPU和内存、CPU和I/O设备以及内存和I/O设备之间都通过总线连接,都要经过总线来交换数据。总线按传输信息的不同分为三种:

控制总线(CB)数据总线(DB)地址总线(AB)。

2.4.3DMA控制器(绕过CPU)对于高速I/O设备(如磁盘)可以采用直接内存访问(directmemoryaccess,简写为DMA)方式实现主存与外设之间的数据传输操作,DMA控制器因此而产生。(图在书上)2.4.4通道结构

中央处理器(CPU)主存储器(MM)通道1(CH1)磁盘控制器通道2(CH2)卡片控制器打印机控制器通道3(CH3)磁带控制器磁盘机卡片机打印机磁带机图8.6I/O系统四级连接结构按信息交换方式和连接的设备类型不同,通道可分为3种类型:(看看就行了)(1)字节多路通道:可以在字节多路方式和成组方式下工作,主要用于连接低速或中速的I/O设备。(2)选择通道:在一段时间内只能执行一个通道程序,因此只允许一台设备传送数据,直到释放通道后,才允许其他设备使用。这类通道用于连接高速外存,每次传输一批数据。(3)数组多路通道:在通道中同时运行几个通道程序,可同时允许多台设备传输成组的数据。这类通道用于连接多台高速设备。2.5中断技术2.5.1中断的概念2.5.2中断的分类2.5.3中断优先级、中断嵌套和中断屏蔽2.5.4中断响应2.5.5中断处理轮询vs.中断轮询:我曾经问个不休你何时跟我走(烦人不烦人呀)中断:我忙去了,你想好了告诉我(酷)1.什么是中断?中断(Interrupt)是指程序执行过程中,当发生某个事件时,中止CPU对现行程序的执行,引出处理该事件的服务程序对该事件进行处理,处理结束后返回断点继续执行原程序的过程。当发生某个事件时所发出的信号称为中断信号,引起中断的事件称为中断源,用于处理中断事件的程序称为中断处理程序。中断系统由软件(即操作系统的中断处理程序)和硬件(一般称为中断装置)两部分组成。2.中断的主要作用

(1)实现CPU与I/O设备的并行工作;(2)硬件故障和突发事件的处理;(3)实现人——机联系;(4)实现多道程序设计和分时操作;(5)实现实时处理;(6)实现应用程序和操作系统的联系;(7)实现多处理机系统中处理机之间的联系。2.5.2中断的分类1.强迫性中断和自愿性中断从中断事件的性质和激活的手段来说,可以分成强迫性中断和自愿性中断两大类。IBM/370大型机操作系统使用了上述分类方法。(1)强迫性中断①硬件故障中断例如电源故障、主存储器出错等。②程序性中断例如定点溢出、除数为0、地址越界等。由于这类中断反映程序执行中发现的例外情况,所以又称异常。③外部中断。例如时钟的定时中断、控制台发出控制信息等。④输入输出中断。例如设备出错、传输结束等。(2)自愿性中断自愿性中断是正在运行的程序所期待的事件,这种事件是由于执行了一条访管指令而引起的.例如,要求操作系统协助启动外围设备进行I/O操作。如何区分“强迫”和“自愿”?其实叫“异步事件引起的中断”跟“同步事件引起的中断”更合适异步事件:事件的发生是我意外的同步事件:事件的发生是我故意的故意、意外是相对的:对于用户进程来说是故意的,对于内核来说是意外的2.外中断和内中断

(即中断和异常)按照中断信号的来源,把中断分为外中断和内中断两类。外中断,一般又称中断,是指来自处理器和主存储器之外的中断。内中断是指来自处理器和主存内部的中断,一般又称异常(Exception)。(1)外中断外中断包括电源故障中断、时钟中断、控制台中断、多机系统中一个CPU与另一个CPU的通信中断和I/O中断等。每种不同的中断具有不同的优先级,在处理高一级中断时,往往会屏蔽部分或全部低级中断。(谁要紧?ups)(2)内中断内中断包括通信校验错、主存奇偶错、非法操作码、地址越界、页面失效、调试指令、访管中断、算术操作溢出等各种程序性中断。其中访管中断是指机器提供的特殊指令执行时而引起的中断。异常是不能被屏蔽的,一旦出现异常应

立即响应并加以处理。

3.硬中断和软中断通过硬件设施产生中断请求,都可以看作硬中断。不必由硬件发信号而引发的一种中断称为软中断。2.5.3中断优先级、

中断嵌套和中断屏蔽1.中断优先级系统根据引起中断事件的重要性和紧迫性,给每种中断事件规定了一个优先级。一般地,中断优先级从高到低的顺序为:硬件故障中断、自愿性中断,程序性中断,外部中断,I/O中断。

2.中断嵌套及其处理在处理一个中断事件时,CPU又响应了新的中断事件,于是暂时停止正在运行的中断处理程序,转去执行新的中断处理程序,这就是中断的嵌套。3.中断屏蔽(不要打搅我)如何保证优先级低的事件不能打断优先级高的事件的处理呢?就是采用中断屏蔽技术。让PSW中的中断屏蔽位与一些中断事件相对应,当某位有屏蔽标志时,表示封锁对应事件的响应。2.5.4中断响应通常在CPU执行完一条指令后,中断装置立即检查有无中断事件,若发现中断,则暂停现行进程的运行,而让操作系统的中断处理程序占用CPU,这个过程就叫中断响应。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论