Chapter 2: Computer-System Structures 计算机系统结构 2.1 Computer System Operation计算机系统运行 2.2 I/O Structure I/O结构 2.3 Storage Structure存储构造 2.4 Storage Hierarchy存储层次 2.5 Hardware Protection硬件保护 2.6 Network Structure网络结构 Operating System Concepts 2.1 2.1 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操作已完成 Operating System Concepts 2.2 Fig 2.1 Computer-System Architecture 计算机系统体系结构 Operating System Concepts 2.3 Common Functions of Interrupts 中断的常见功能 Interrupt 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.当另一个中断正在处理时,刚进入的中断不能响 应,以免丢失中断 Operating System Concepts 2.4 Common Functions of Interrupts (Cont.) A trap is a software-generated interrupt caused either by an error or a user request. 陷阱是由于出错或用户请求引起的软件生成的中断 An operating system is interrupt driven. 操作系统是中断驱动的 Operating System Concepts 2.5 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 对每一类中断分离代码段,以确定应该采取什么反应 Operating System Concepts 2.6 Fig 2.2 Interrupt Time Line For a Single Process Doing Output 单进程处理输出的中断时间线 Operating System Concepts 2.7 2.2 I/O Structure I/O结构 SynchronousI/O:After I/O starts, control returns to user program only upon I/O completion. 同步I/O :在I/O开始之后,仅当I/O完成之后控制才返回用 户程序 Wait instruction idles the CPU until the next interrupt 等待指令空转CPU(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处理 Operating System Concepts 2.8 I/O Structure (Cont.) AsynchronousI/O: After I/O starts, control returns to user program without waiting for I/O completion. 异步I/O :在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.操作系统引用设备状态表以确定设备 状态并修改表入口加入中断 Operating System Concepts 2.9 Fig 2.3 Two I/O Methods 两种I/O方法 Synchronous同步 Operating System Concepts Asynchronous异步 2.10 Fig 2.4 Device-Status Table 设备状态表 Operating System Concepts 2.11 2.2.2 Direct Memory Access 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 on interrupt is generated per block, rather than the one interrupt per byte. 每数据块只要一个中断,而不是每个字节一个中断 Operating System Concepts 2.12 2.3 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 磁盘-覆盖了磁记录材料的硬金属或玻璃盘片 Operating System Concepts 2.13 Storage Structure (Cont.) 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. 磁盘驱动器确定设备和计算机之间的相互作用 Operating System Concepts 2.14 Fig 2.5 Moving-Head Disk Mechanism 磁头移动机制 Operating System Concepts 2.15 2.4 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. 缓存- 把信息复制进较快的存储系统;主存可看 作为二级存储器的最后一个缓存 Operating System Concepts 2.16 Fig 2.6 Storage-Device Hierarchy 存储设备层次 寄存器 缓存 主存储器 电子盘 磁盘 光盘 磁带 Operating System Concepts 2.17 2.4.1 Caching缓存 Use of high-speed memory to hold recently- accessed data. 用高速存储器保存最近访问的数据 Requires a cache management policy. 需要缓存管理策略 Caching introduces another level in storage hierarchy. This requires data that is simultaneously stored in more than one level to be consistent. 在存储层次中缓存引入另一级,则要求在更多层 次上一致协调被存储的数据 Operating System Concepts 2.18 Fig 2.7 Migration of A From Disk to Register Operating System Concepts 2.19 2.5 Hardware Protection 硬件保护 2.5.1 Dual-Mode Operation--两状态运行 2.5.2 I/O Protection-- I/O保护 2.5.3 Memory Protection--内存保护 2.5.4 CPU Protection-- CPU 保护 Operating System Concepts 2.20 2.5.1 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 kernel mode or system mode or supervisor) --execution done on behalf of operating system. 管态(核心态或系统态)–代表操作系统的执行 Operating System Concepts 2.21 Dual-Mode Operation (Cont.-1) 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. 当中断或错误出现,硬件切换至管态 Operating System Concepts 2.22 Dual-Mode Operation (Cont.-2) Interrupt/fault 中断 / 错误 Monitor 管态 set user mode User 用户态 置用户态 Privileged instructions can be issued only in monitor mode. 特权指令只能在管态下使用 Operating System Concepts 2.23 2.5.2 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 在管态模式下必须确保用户程序决不能控制计算机 Given the I/O instructions are privileged, how does the user program perform I/O? I/O指令是要特权的,用户程序如何完成I/O? Operating System Concepts 2.24 I/O Protection 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. 监控程序验证参数正确合法,执行请求,返回控制给系统调用后的 指令 Operating System Concepts 2.25 Fig 2.8 Use of A System Call to Perform I/O 使用系统调用完成I/O Operating System Concepts 2.26 2.5.3 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. 在定义范围之外的存储器受到保护 Operating System Concepts 2.27 Fig 2.9 Use of A Base and Limit Register 基址与限长寄存器使用 Operating System Concepts 2.28 Fig2.10 Hardware Address Protection 硬件地址保护 Operating System Concepts 2.29 Hardware Protection 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. 用于基址和限长寄存器的装载指令是特权指令 Operating System Concepts 2.30 2.5.4 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. 装载定时器是特权指令 Operating System Concepts 2.31 2.6 Network Structure 网络结构 2.6.1 Local Area Networks (LAN)局域网 2.6.2 Wide Area Networks (WAN)广域网 Operating System Concepts 2.32 Fig2.11 Local Area Network Structure 局域网结构 Operating System Concepts 2.33 Fig 2.12 Wide Area Network Structure 广域网结构 Operating System Concepts 2.34 2.7 Summary Operating System Concepts 2.35 Exercises 2.3 Operating System Concepts 2.8 2.36