第二章 操作系统的逻辑结构

35
第第第 第第第 第第第第第 第第第 第第第第 (一) 第第 第第第第第第 () 第第 第第第第第 () 第第 第第第第第第第 ()

description

第二章 操作系统的逻辑结构. (一) 操作系统逻辑结构 (二) 处理机的状态 (三) 异常和中断 (四) 必要的硬件支撑. (一) 操作系统逻辑结构. (二) 处理机的状态. 1. 设置处理机状态的目的 为操作系统建立一个保护环境,采用的方法是区分处理机的工作状态。 系统中有两类程序: 管理程序 用户程序 管理系统资源 使用资源、提出申请 控制程序运行 被控制 2. 什么是处理机的态 中央处理机的工作状态,当前它正在执行哪类程序,决定处理机的态。. 3. 处理机态的类别 - PowerPoint PPT Presentation

Transcript of 第二章 操作系统的逻辑结构

Page 1: 第二章   操作系统的逻辑结构

第二章 操作系统的逻辑结构

(一) 操作系统逻辑结构(二) 处理机的状态(三) 异常和中断(四) 必要的硬件支撑

Page 2: 第二章   操作系统的逻辑结构

(一) 操作系统逻辑结构

Page 3: 第二章   操作系统的逻辑结构

(二) 处理机的状态1. 1. 设置处理机状态的目的设置处理机状态的目的

为操作系统建立一个保护环境,采用的方法是区分处理机的工作状态。

系统中有两类程序: 管理程序 用户程序管理系统资源 使用资源、提出申请控制程序运行 被控制

2. 2. 什么是处理机的态什么是处理机的态中央处理机的工作状态,当前它正在执行哪类程序,

决定处理机的态。

Page 4: 第二章   操作系统的逻辑结构

3. 3. 处理机态的类别处理机态的类别( 1 )核态( Kernel mode )

操作系统的管理程序执行时机器所处的状态。 使用全部指令(包括一组特权指令) 使用全部系统资源(包括整个存储区域)

( 2 )管态( Supervisor mode )管态比核态的权限低,在此状态下允许使用

一些用户态下不能使用的资源,但不能使用修改CPU 状态的指令。

无核态时 ,管态执行核态的全部功能。

Page 5: 第二章   操作系统的逻辑结构

( 3 )用户态( User mode )用户程序执行时机器所处的状态。在此状态下

禁止使用特权指令,不能直接取用资源与改机器状态,并且只允许用户程序访问自己的存储区域。

管态 用户态

操作系统的程序执行 用户程序执行 使用全部指令 禁止使用特权指令

(包括一组特权指令) 使用全部系统资源 只允许用户程序访问

(包括整个存储区域) 自己的存储区域

处理机的状态是变化的,它有时会处于用户态,有时会处于管态。

Page 6: 第二章   操作系统的逻辑结构

4. 特权指令集在核态下操作系统可以使用所有指令,包括一组特权指令。

改变机器状态的指令 修改特殊寄存器的指令 涉及外部设备的输入 / 输出指令

允许和禁止中断;在进程之间切换处理机;存取用于内存保护的寄存器;执行输入和输出操作;停止一个中央处理机的工作。

Page 7: 第二章   操作系统的逻辑结构

(三) 异常和中断 异常异常———— ExceptionException 中断中断———— Interrupt ReQuest (IRQ)Interrupt ReQuest (IRQ) i386i386 的异常和中断的异常和中断

Exceptions and interrupts are both "protected control Exceptions and interrupts are both "protected control transfers," which cause the processor to switch from user transfers," which cause the processor to switch from user to kernel mode (CPL=0) without giving the user-mode to kernel mode (CPL=0) without giving the user-mode code any opportunity to interfere with the functioning of code any opportunity to interfere with the functioning of the kernel or other environments. In Intel's terminology, the kernel or other environments. In Intel's terminology, an an interruptinterrupt is a protected control transfer that is is a protected control transfer that is caused by an caused by an asynchronousasynchronous event usually external to the event usually external to the processor, such as notification of external device I/O processor, such as notification of external device I/O activity. An activity. An exceptionexception, in contrast, is a protected control , in contrast, is a protected control transfer caused transfer caused synchronouslysynchronously by the currently running by the currently running code, for example due to a divide by zero or an invalid code, for example due to a divide by zero or an invalid memory access.memory access.

Page 8: 第二章   操作系统的逻辑结构

异常(异常( ExceptionException )在)在 i386i386 中与中与 traptrap 是一个是一个意思,但中文翻译的时候往往翻译成异常或陷阱,意思,但中文翻译的时候往往翻译成异常或陷阱,其实也是一个意思其实也是一个意思

异常是由于程序的行为(如除异常是由于程序的行为(如除 00 错、缺页等)导错、缺页等)导致的致的同步同步事件,必须由计算机立刻处理。处理完事件,必须由计算机立刻处理。处理完成后,回到程序成后,回到程序发生异常处发生异常处继续执行。继续执行。

中断是指某个事件(例如键盘输入、中断是指某个事件(例如键盘输入、 I/OI/O 传输结传输结束等)发生时,系统中止现行程序的运行、引出束等)发生时,系统中止现行程序的运行、引出处理事件程序对该事件进行处理,处理完毕后返处理事件程序对该事件进行处理,处理完毕后返回回现行程序的下一条指令现行程序的下一条指令,继续执行。,继续执行。

(三) 异常和中断(续)

Page 9: 第二章   操作系统的逻辑结构

i386i386 的异常的异常 // 中断表中断表

(三) 异常和中断(续)Vector

0

1

2

3

4

5

6

7

8

9

Description

Divide Error

Debug Exception

NMI Interrupt

Breakpoint

Overflow

Bound Check

Illegal Opcode

Device Not available

Double Fault

Reserved

Type

Fault

Fault/Trap

Interrupt

Trap

Trap

Fault

Fault

Fault

Abort

ErrorCode

No

No

No

No

No

No

No

No

Yes

10

11

12

13

14

15

16

17

18

19

Invalid TSS

Segment Not Present

Stack Exception

General Protection Fault

Page Fault

Reserved

Floating Point Error

Alignment Check

Machine Check

Simd Floating Point Error

Fault

Fault

Fault

Fault

Fault

Fault

Fault

Abort

Fault

Yes

Yes

Yes

Yes

Yes

No

Yes

No

No

Page 10: 第二章   操作系统的逻辑结构

(三) 异常和中断(续)一 . 中断处理

Page 11: 第二章   操作系统的逻辑结构

中断源:引起中断的事件称中断源,如打印完成中断,其中断源是打印机。

断点:发生中断时正在运行的程序被暂时停止,程序的暂停点称为断点。例如,某程序正在执行 0200 地址的指令被中断,那么, 0200 地址就是断点, 在中断返回时就执行 0200 的下一条指令。

(三) 异常和中断(续)

Page 12: 第二章   操作系统的逻辑结构

中断响应:是处理机发现有中断请求时,中止现运行程序的执行并自动引出中断处理程序的过程。

中断由软硬件协同处理 中断装置:指发现中断,响应中断的硬件 中断处理程序:由软件来完成 中断系统 = 中断装置 + 中断处理程序

(三) 异常和中断(续)

Page 13: 第二章   操作系统的逻辑结构

二 . 中断类型

按中断功能分类( 1 )输入输出中断:

I/O 传输结束或出错中断。( 2 )外中断:

时钟中断、操作员控制台中断、通信中断等。( 3 )访管中断( Syscall ):

对操作系统提出某种需求时发出的中断称为访管中断。

Page 14: 第二章   操作系统的逻辑结构

二 . 中断类型

按中断是否可屏蔽( 1 ) 不可屏蔽中断( NMI )( 2 )可屏蔽中断

Page 15: 第二章   操作系统的逻辑结构

三 . 中断进入对中断请求的整

个处理过程称为中断处理,它是由软、硬件结合形成的一套中断机构实施的。

Page 16: 第二章   操作系统的逻辑结构

1. 保护现场和恢复现场( 1 )现场

是指在中断的那一时刻能确保程序继续运行的有关信息。

主要包括—— 后继指令所在主存的单元号 程序运行所处的状态( PSW , EFLAGS in i38

6 ) 指令执行情况 以及程序执行的中间结果等

Page 17: 第二章   操作系统的逻辑结构

( 2 )保护现场 当中断发生时,必须立即把现场信息保存在主

存中,这一工作称之为保护现场。

( 3 )恢复现场 程序重新运行之前,把保留的该程序现场信息

从主存中送至相应的指令计数器、通用寄存器或一些特殊的寄存器中。完成这些工作称为恢复现场。

Page 18: 第二章   操作系统的逻辑结构

2. 程序状态字( PSW )( 1 )什么是程序状态字

程序状态字是反映程序执行时机器所处的现行状态的代码。

主要内容包括—— 程序现在应该执行哪条指令 当前指令执行情况 机器处于何种程序状态 程序在执行时应该屏蔽哪些中断 寻址方法、编址、保护键 响应中断的内容

Page 19: 第二章   操作系统的逻辑结构

( 2 )程序状态字的例子 I386

CS 、 EIP EFLAGS (思考: CS 、 EFLAGS 包含哪些字段?

为什么要保存这些字段?) IBM370 机

程序状态字内容 PSW 寄存器 PDP 11 系列机

程序状态字内容 PC 指令计数器 PS 处理器状

态寄存器

Page 20: 第二章   操作系统的逻辑结构

3. 什么是中断响应( 1 )什么是中断响应

Page 21: 第二章   操作系统的逻辑结构

( 1 )什么是中断响应中断响应是当中央处理机发现已有中

断请求时,中止现行程序执行,并自动引出中断处理程序的过程。 中断响应过程:

保留程序断点及处理机有关信息 自动转入相应的中断处理程序

( 2 )中断响应的实质交换指令地址及处理机的状态信息

Page 22: 第二章   操作系统的逻辑结构

4. 中断向量具有向量机制的计算机的中断向量包括:

中断处理程序的入口地址 中断处理程序的程序状态字

Page 23: 第二章   操作系统的逻辑结构

四 . 软件的中断处理过程当硬件完成了中断进入后,转到中断处理程

序,进入软件中断处理过程。这个过程主要有如下三项工作:( 1 )保护现场和传递参数;( 2 )执行相应的中断(或自陷)处理程序;( 3 )恢复和退出。

注 : 在中断进入时由硬件保护了被中断程序的 PC 和 PS ,

在中断处理中保护各寄存器的值和其它状态信息。

Page 24: 第二章   操作系统的逻辑结构
Page 25: 第二章   操作系统的逻辑结构

五 . 向量中断1. 中断向量

中断向量是存储某类型中断的中断服务例行程序的入口地址和处理机状态字的存储单元。

2. 中断向量表 ( IDT )主存中用于存放中断向量服务地址的一组存储单

元组成的表。

Page 26: 第二章   操作系统的逻辑结构
Page 27: 第二章   操作系统的逻辑结构
Page 28: 第二章   操作系统的逻辑结构

存储器 主存储器(主存、内存): 处理机能直接访问的存储器称为主存储器,用来存放正在或将要执行的系统和用户程序和数据以及程序执行时要求的临时存储空间。 只读存储器 ROM(Read-only memory) : ROM 称为 BIOS ,

用来存放基本的 I/O 程序。 随机访问存储器 RAM ( random access memory)

辅存储器(辅存、外存): 处理机不能直接访问的存储器,如磁盘、磁带、光盘等,用

来存放大量的数据信息。

(四) 必要的硬件支持

Page 29: 第二章   操作系统的逻辑结构

DMA(Direct Memory Access)

Operation of a DMA transfer

Page 30: 第二章   操作系统的逻辑结构

Clocks - Clock Hardware

时钟硬件时钟硬件 (PC(PC 机中机中 ))

实时时钟(实时时钟( Real Time ClockReal Time Clock ,, RTCRTC ))

可编程间隔定时器(可编程间隔定时器( Programmable Programmable

Interval TimerInterval Timer ,, PITPIT )) 时间戳计数器(时间戳计数器( Time Stamp Time Stamp

CounterCounter ,, TSCTSC ))。 。

Page 31: 第二章   操作系统的逻辑结构

Clocks - Clock Hardware

A programmable interval clock

Page 32: 第二章   操作系统的逻辑结构

Clocks - Clock Hardware (续)

Programmable interval clockProgrammable interval clock 的工作模式的工作模式 One-shot modeOne-shot mode

Square-wave modeSquare-wave mode

时钟滴答时钟滴答 (Clock tick)(Clock tick)

周期性地发生时钟中断(可编程设置间隔)周期性地发生时钟中断(可编程设置间隔)

Page 33: 第二章   操作系统的逻辑结构

Clocks - Clock Hardware (续)

实时时钟实时时钟 RTC RTC

在在 PCPC 机断电后仍能保存时间机断电后仍能保存时间

通过主板上的电池供电;通常与通过主板上的电池供电;通常与 CMOS RAMCMOS RAM 集成到一块芯片上,集成到一块芯片上,

也称为 也称为 CMOS TimerCMOS Timer

可在系统初启时读入可在系统初启时读入

并转换为相对于某一基准时间的时钟滴答数并转换为相对于某一基准时间的时钟滴答数

操作系统提供实用程序可以设置系统时钟和操作系统提供实用程序可以设置系统时钟和 RTCRTC 并在二者之间同并在二者之间同

步步

Page 34: 第二章   操作系统的逻辑结构

Clocks - Clock Hardware (续)

时间戳记数器时间戳记数器 TSCTSC

PentiumPentium 之后的之后的 CPUCPU 中包含的中包含的 6464位的寄存位的寄存

器器

在每一个振荡信号到达时,该计数器递增在每一个振荡信号到达时,该计数器递增

可为操作系统提供更准确的时间度量可为操作系统提供更准确的时间度量

Page 35: 第二章   操作系统的逻辑结构

第二章 小 结1. 处理机的态,(核态)、管态、用户

态,相互的区别。2. 异常和中断。3. 中断响应的定义、实质。4. 中断处理过程。5. 必要的硬件支持。