chap2.1~2.3 处理器、中断技术、进程及其实现.2013

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1操作系统第二章处理器管理南京大学软件学院20132第二章处理器管理2.1中央处理器2.2中断技术2.3进程及其实现2.4线程及其实现2.5Linux进程和线程2.6Windows2003进程和线程2.7处理器调度2.8处理器调度算法2.9Linux调度算法2.10Windows2003调度算法2.1中央处理器1.计算机组织结构2.处理器寄存器3.指令执行4.多处理器系统与多核处理器系统2.1中央处理器1.计算机组织结构•Processor•MainMemory–referredtoasrealmemoryorprimarymemory–Volatile(挥发的–持久的persistent)•I/Omodules–Secondarymemorydevices–Input/Outputdevices,terminals–Communicationsequipment•Systembus–communicationamongprocessors,memory,andI/OmodulesTop-LevelComponents•User-visibleRegisters–Enableprogrammertominimizemain-memoryreferencesbyoptimizingregisteruse•ControlandStatusRegisters–Usedbyprocessortocontroloperatingoftheprocessor–Usedbyoperating-systemroutinestocontroltheexecutionofprograms2.1中央处理器2.处理器寄存器User-VisibleRegisters•Maybereferencedbymachinelanguage•Availabletoallprograms-applicationprogramsandsystemprograms•Typesofregisters–Data–AddressUser-VisibleRegisters•AddressRegisters–Index:involvesaddinganindextoabasevaluetogetanaddress–Segmentpointer:whenmemoryisdividedintosegments,memoryisreferencedbyasegmentandanoffset–Stackpointer:pointstotopofstackControlandStatusRegisters•ProgramCounter(PC)–Containstheaddressofaninstructiontobefetched•InstructionRegister(IR)–Containstheinstructionmostrecentlyfetched•ProgramStatusWord(PSW):recordallstatusofanexecutingprogram.(thetermusedbyOS)–Programcounter–conditioncodes–Interruptenable/disable–Supervisor/usermodeControlandStatusRegisters•ConditionCodesorFlags–Bitssetbytheprocessorhardwareasaresultofoperations–Canbeaccessedbyaprogrambutnotaltered–Examples•positiveresult•negativeresult•zero•Overflow特权指令和处理器状态•从资源管理和控制程序执行的角度出发,必须设置特权指令,提供给操作系统的核心程序使用•处理器状态–管理状态(特权状态、系统模式、特态或管态):处理器可以执行全部指令,使用所有资源,并具有改变处理器状态的能力–用户状态(目标状态、用户模式、常态或目态):处理器只能执行非特权指令–核心状态、管理状态和用户状态Pentium的处理器状态•0级为操作系统内核级:处理I/O、存储管理、和其他关键操作•1级为系统调用处理程序级:用户程序可以通过调用这里的过程执行系统调用,但是只有一些特定的和受保护的过程可以被调用•2级为共享库过程级:它可以被很多正在运行的程序共享,用户程序可以调用这些过程,读取它们的数据,但是不能修改它们•3级为用户程序级IBM的程序状态字寄存器CMWP位依次为基本/扩充控制方式位、开/关中断位、运行/等待位、目态/特态位8位系统屏蔽XXXXXXXXXXXXXXXX4位CMWP字段4位程序屏蔽4位保护键16位中断码字段指令长和条件码24位指令地址2.1中央处理器3.指令执行:指令与指令寄存器•Typesofinstructions–Processor-memory:transferdatabetweenprocessorandmemory–Processor-I/O:datatransferredtoorfromaperipheraldevice–Dataprocessing:arithmeticorlogicoperationondata–Control:altersequenceofexecution•FetchedinstructionisplacedintheinstructionregisterInstructionCycleInstructionFetchandExecute•Theprocessorfetchestheinstructionfrommemory•Programcounter(PC)holdsaddressoftheinstructiontobefetchednext•ProgramcounterisincrementedaftereachfetchExampleofProgramExecutionI/OFunction•I/Oexchangesoccurdirectlywithmemory•ProcessorgrantsI/Omoduleauthoritytoreadfromorwritetomemory–Relievestheprocessorresponsibilityfortheexchange–Example:DirectMemoryAccess(DMA)19•多处理器系统分类:•共享存储(紧密耦合)多处理机系统•分布存储(松散耦合)多处理机系统。•多处理器指在一个体系结构上放置多个CPU芯片,而多核则指在同一块CPU芯片上放置多个核(core),即执行单元。2.1中央处理器4.多处理器系统与多核处理器系统20多处理器系统与多核处理器系统x86体系结构下,处理器4个演变阶段。(1)多处理器结构、(2)超线程结构、(3)多核结构、(4)多核超线程结构。21(1)多处理器结构线程执行环境线程执行部件L1指令缓冲L1数据缓冲L2高速缓冲FSB线程执行环境线程执行部件L1指令缓冲L1数据缓冲L2高速缓冲北桥内存PCI总线多处理器系统与多核处理器系统22(2)超线程结构线程执行环境线程执行部件L1指令缓冲L1数据缓冲L2高速缓冲线程执行环境FSB多处理器系统与多核处理器系统23•双核执行核1L2CacheBusI/F执行核2L2CacheBusI/FMCHFSB多处理器系统与多核处理器系统(3)多核结构24Intel酷睿i7四核CPU•四核多处理器系统与多核处理器系统(3)多核结构25(4)多核超线程结构线程执行环境线程执行部件L1指令缓冲L1数据缓冲线程执行环境FSB线程执行环境线程执行部件L1指令缓冲L1数据缓冲线程执行环境L2高速缓冲多处理器系统与多核处理器系统26操作系统与多核处理器•处理器通信支持•进程/线程数据共享支持•存储器层次及管理•程序并行执行模型支持•同步支持•调度及优化•能耗管理多处理器系统与多核处理器系统272.2中断技术1.中断概念与中断事件处理2.中断优先级和多重中断3.Linux中断处理4.Windows2003中断处理28中断的定义中断是指程序执行过程中,遇到急需处理的事件时,暂时中止CPU上现行程序的运行,转去执行相应的事件处理程序,待处理完成后再返回原程序被中断处或调度其他程序执行的过程。2.2中断技术1.中断概念与中断事件处理•Aninterruptionofthenormalsequenceofexecution•Improvesprocessingefficiency•AllowstheprocessortoexecuteotherinstructionswhileanI/Ooperationisinprogress•Asuspensionofaprocesscausedbyaneventexternaltothatprocessandperformedinsuchawaythattheprocesscanberesumed2.2中断技术ClassesofInterrupts•Program–arithmeticoverflow–divisionbyzero–executeillegalinstruction–referenceoutsideuser’smemoryspace•Timer•I/O•HardwarefailureInterruptHandler•Aprogramthatdeterminesnatureoftheinterruptandperformswhateveractionsareneeded•Controlistransferredtothisprogram•GenerallypartoftheoperatingsystemInterruptCycleInterruptCycle•Processorchecksforinterrupts•Ifnointerruptsfetchthenextinstructionforthecurrentprogram•Ifaninterruptispending,suspendexecutionofthecurrentprogram,andexecutetheinterrupthandler中断与中断源•强迫性中断事件–硬件故障中断事件(硬件故障引起)电源故障,主存储器故障,…–程序性中断事件(执行机器指令引起)除数为零,操作数溢出,非法指令,目态下使用特权指令,地址越界,…–外部中断事件(外部事件引起)时钟中断,重启动中断,…–I/O中断事件(I/O控制系统发现外设完成I/O或I/O出错引起)打印完成,打印缺纸,…中断与中断源•自愿性中断事件(进程执行访管指令请求OS服务引起)–请求分配外设,请求I/O,…•关于中断的分类–中断、异常与系统服务(中断俘获、陷阱、系统陷阱)–内中断、外中断、软中断、自由中断两类中断事件的中断处理过程•两类中断事件与中断处理过程运行程序中断处理程序中断装置处理器中断事件程序性中断事件外部中断事件输入输出中断事件运行程序中断处理程序中断装置访管指令中断装置•中断寄存器:记录强迫性中断事件的寄存器,每一种中断可设置一个中断寄存器•中断字:中断寄存器的内容,记录了所发生中断的类型和原因(如I/O中断的中断字为”通道号,设备号”)•中断装置是一种硬件,当中断事件发生后,它能改变处理器内操作的顺序中断装置与中断响应•发现中断源,提出中断请求–发现内容非零的中断寄存器–决定这些中断是否应该屏蔽–当有多个要响应的中断源时,根据规定的优先级选取一个–把中断字送到当前PSW的中断码字段•中断当前程序的执行–保存当前程序的PSW到内存约定单元•启动操作系统的中断处理程序–从内存约定单元取出中断处理程序的PSW中断装置与中断响应处理器中断事件PSWI/O中断事件PSW程序性中断事件PSW外部中断事件PSW自愿性中断事件PSW处理器中断事件PSWI/O中断事件PSW程序性中断事件PSW外部中断事

1 / 159
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功