2.1Applied Operating System Concepts
Module 2,Computer-System Structures
计算机系统结构
Computer System Operation
计算机系统运行
I/O Structure
I/O结构
Storage Structure
存储构造
Storage Hierarchy
存储层次
Hardware Protection
硬件保护
General System Architecture
一般系统体系结构
2.2Applied Operating System Concepts
Computer-System Architecture
计算机系统体系结构
2.3Applied Operating System Concepts
Computer-System Operation
计算机系统运行
I/O devices and the CPU can execute concurrently.
I/O 设备与 CPU可并行运行
Each device controller is in charge of a particular device
type,每一设备控制器负责一个设备类型
Each device controller has a local buffer.
每一设备控制器有一局部缓存
CPU moves data from/to main memory to/from local buffers
CPU 通过局部缓存与主存交换数据
I/O is from the device to local buffer of controller.
I/O从设备到设备控制器的局部缓存
Device controller informs CPU that it has finished its
operation by causing an interrupt.
设备控制器通过引起 中断 通知 CPU操作已完成
2.4Applied Operating System Concepts
Common Functions of Interrupts
中断的常见功能
Interrupts transfers control to the interrupt service routine generally,
through the interrupt vector,which contains the addresses of all the
service routines.
通常中断通过 中断矢量 把控制传送给中断服务程序,该中断矢量包含了所有服务程序的地址
Interrupt architecture must save the address of the interrupted
instruction,中断体系结构必须保护被中断指令的地址
Incoming interrupts are disabled while another interrupt is being
processed to prevent a lost interrupt.
当另一个中断正在处理时,刚进入的中断不能作用,以免 丢失中断
A trap is a software-generated interrupt caused either by an error or a
user request.陷阱是由于出错或用户请求引起的软件生成的中断
An operating system is interrupt driven.
操作系统是中断驱动的
2.5Applied Operating System Concepts
Interrupt Handling
中断处理
The operating system preserves the state of the CPU by
storing registers and the program counter.
操作系统通过存储寄存器和程序计数器而保留了 CPU的状态
Determines which type of interrupt has occurred:
确定哪一种中断发生了:
– polling 轮询
– vectored interrupt system 矢量化中断系统
Separate segments of code determine what action should be
taken for each type of interrupt
对每一类中断分离代码段,以确定应该采取什么反应
2.6Applied Operating System Concepts
Interrupt Time Line For a Single Process Doing Output
单进程处理输出的中断时间线
2.7Applied Operating System Concepts
I/O Structure
I/O结构
After I/O starts,control returns to user program only upon I/O completion,
在 I/O开始之后,仅当 I/O完成之后控制才返回用户程序
– wait instruction idles the CPU until the next interrupt
等待指令空转 CPU直至下一个中断
– wait loop (contention for memory access).等候循环
– At most one I/O request is outstanding at a time,no simultaneous I/O
processing.每一时刻最多一个 I/O请求,无并行 I/O处理
After I/O starts,control returns to user program,without waiting for I/O
completion,在 I/O开始之后,不等 I/O完成控制就返回用户程序
– System call – request to the operating system to allow user to wait for
I/O completion.系统调用 -请求操作系统允许用户等待 I/O完成
– Device-status table contains entry for each I/O device indicating its
type,address,and state.设备状态表包括每个 I/O设备的类型、地址和状态
– Operating system indexes into I/O device table to determine device
status and to modify table entry to include interrupt.操作系统引用设备状态表以确定设备状态并修改表入口加入中断
2.8Applied Operating System Concepts
Two I/O methods
两种 I/O方法
Synchronous
同步
Asynchronous
异步
2.9Applied Operating System Concepts
Device-Status Table
设备状态表
2.10Applied Operating System Concepts
Direct Memory Access (DMA) Structure
直接内存访问 (DMA)结构
Used for high-speed I/O devices able to transmit information
at close to memory speeds.
用于高速 I/O设备能够以接近存储器的速率传送信息
Device controller transfers blocks of data from buffer
storage directly to main memory without CPU intervention.
无须 CPU的介入,设备控制器直接把数据块从缓冲区存储传送到主存
Only one interrupt is generated per block,rather than the
one interrupt per byte.
每数据块只要一个中断,而不是每个字节一个中断
2.11Applied Operating System Concepts
Storage Structure
存储结构
Main memory – only large storage media that the CPU can access
directly.主存 - CPU可以直接访问的唯一大型存储介质
Secondary storage – extension of main memory that provides large
nonvolatile storage capacity.二级存储器 -主存的扩展提供了非易失的存储容量
Magnetic disks – rigid metal or glass platters covered with magnetic
recording material 磁盘 -覆盖了磁记录材料的硬金属或玻璃盘片
– Disk surface is logically divided into tracks,which are subdivided
into sectors.磁盘表面逻辑划分了磁道、再划分为扇面
– The disk controller determines the logical interaction between the
device and the computer,磁盘驱动器确定设备和计算机之间的相互作用
2.12Applied Operating System Concepts
Moving-Head Disk Mechanism
磁头移动机制
2.13Applied Operating System Concepts
Storage Hierarchy
存储层次
Storage systems organized in hierarchy.存储系统分层组织
– Speed 速度
– cost 成本
– volatility 易失性
Caching – copying information into faster storage system;
main memory can be viewed as a last cache for secondary
storage.
缓存 - 把信息复制进较快的存储系统;主存可看作为二级存储器的最后一个缓存
2.14Applied Operating System Concepts
Storage-Device Hierarchy
存储设备层次寄存器缓存主存储器电子盘磁盘光盘磁带
2.15Applied Operating System Concepts
Hardware Protection
硬件保护
Dual-Mode Operation 两状态运行
I/O Protection I/O保护
Memory Protection 内存保护
CPU Protection CPU 保护
2.16Applied Operating System Concepts
Dual-Mode Operation两状态运行
Sharing system resources requires operating system to ensure that
an incorrect program cannot cause other programs to execute
incorrectly.
共享系统资源要求操作系统确保有误程序不会引起其他程序的运行错误
Provide hardware support to differentiate between at least two modes
of operations.
至少在两个运行状态之间提供硬件支持
1,User mode – execution done on behalf of a user.
用户态 -代表用户执行完毕
2,Monitor mode (also supervisor mode or system mode) –
execution done on behalf of operating system,
管态(特权模式或系统模式) -代表操作系统执行完毕
2.17Applied Operating System Concepts
Dual-Mode Operation两状态运行 (Cont.)
Mode bit added to computer hardware to indicate the current mode,
monitor (0) or user (1).
状态位添入计算机硬件,指示正确的状态:管态( 0) 或用户态( 1)
When an interrupt or fault occurs hardware switches to monitor mode.
当中断或错误出现,硬件切换至管态
Privileged instructions can be issued only in monitor mode.
特权指令 只能在管态下使用
monitor user
Interrupt/fault
set user mode
2.18Applied Operating System Concepts
I/O Protection
I/O保护
All I/O instructions are privileged instructions.
所有 I/O指令是特权指令
Must ensure that a user program could never gain control of
the computer in monitor mode (I.e.,a user program that,as
part of its execution,stores a new address in the interrupt
vector),
必须确保用户程序决不能以管态控制计算机(即,用户程序的执行部分在中断向量中存放一个新的地址)
2.19Applied Operating System Concepts
Memory Protection
存储保护
Must provide memory protection at least for the interrupt vector and the
interrupt service routines.至少要为中断向量和中断服务程序提供存储保护
In order to have memory protection,add two registers that determine the
range of legal addresses a program may access:
为了进行存储保护,增加 2个寄存器用于确定一个程序的合法地址范围
– base register – holds the smallest legal physical memory address.
基址寄存器 -存有最小的合法物理存储器地址
– Limit register – contains the size of the range
限长基址寄存器 -存有允许范围的大小
Memory outside the defined range is protected.
在定义范围之外的存储器受到保护
2.20Applied Operating System Concepts
A Base And A limit Register Define A Logical Address Space
基址与限长寄存器定义逻辑地址空间
2.21Applied Operating System Concepts
Protection Hardware
保护硬件
When executing in monitor mode,the operating system has
unrestricted access to both monitor and user’s memory.
在管态下运行时,操作系统对监控和用户存储空间有不受限制的访问权
The load instructions for the base and limit registers are privileged
instructions.
用于基址和限长寄存器的装载指令是特权指令
2.22Applied Operating System Concepts
CPU Protection
CPU保护
Timer – interrupts computer after specified period to ensure operating
system maintains control.
定时器 -在指定的时间段之后中断计算机,以确认操作系统保持控制
– Timer is decremented every clock tick.每一时钟滴答定时器减少
– When timer reaches the value 0,an interrupt occurs.定时器为零时中断发生
Timer commonly used to implement time sharing.
定时器通常用于实现时间共享
Time also used to compute the current time.定时器也用于计算当前时间
Load-timer is a privileged instruction.装载定时器是特权指令
2.23Applied Operating System Concepts
General-System Architecture
一般系统体系结构
Given the I/O instructions are privileged,how does the user program
perform I/O? I/O指令是要特权的,用户程序如何完成 I/O?
System call – the method used by a process to request action by the
operating system.系统调用 - 方法是进程请求操作系统的一个动作
– Usually takes the form of a trap to a specific location in the interrupt
vector.通常以陷阱形式出现,以指定中断向量的地址
– Control passes through the interrupt vector to a service routine in
the OS,and the mode bit is set to monitor mode,
控制通过中断向量传递给 OS中的服务程序,状态位设为管态
– The monitor verifies that the parameters are correct and legal,
executes the request,and returns control to the instruction
following the system call,
监控程序验证参数正确合法,执行请求,返回控制给系统调用后的指令
2.24Applied Operating System Concepts
Use of A System Call to Perform I/O
使用系统调用完成 I/O