12019年8月10日星期六北京交通大学计算机学院翟高寿主讲教师:翟高寿(副教授)联系电话:010-51683610(办)电子邮件:gszhai@bjtu.edu.cn制作人:翟高寿制作单位:北京交通大学计算机学院《操作系统》22019年8月10日星期六北京交通大学计算机学院翟高寿教学目标全面、系统地介绍计算机操作系统的体系结构、实现机理及相关方法和技术,培养广大学生在系统软件开发方面的理论基础及技术素养。32019年8月10日星期六北京交通大学计算机学院翟高寿主要相关课程先修课程:数据结构接口技术、计算机组成原理汇编语言程序设计C语言程序设计并行/后续课程:计算机体系结构、操作系统实践42019年8月10日星期六北京交通大学计算机学院翟高寿教材计算机操作系统汤子瀛哲凤屏汤小丹西安电子科技大学出版社参考教材计算机操作系统教程张尧学史美林清华大学出版社操作系统教程陈向群杨芙清北京大学出版社Windows操作系统原理尤晋元史美林陈向群机械工业出版社操作系统基础屠立德屠祁清华大学出版社操作系统教程孙仲秀高等教育出版社操作系统教程-原理和实例分析孟静高等教育出版社AppliedOperatingSystemConceptAbrahanSilberschatz高等教育出版社TheDesignofTheUnixOperatingSystemManriceJ.Bach人民邮电出版社现代操作系统陈向群等译机械工业出版社52019年8月10日星期六北京交通大学计算机学院翟高寿教材内容删减说明第三章处理机调度与死锁3.3实时调度3.4多处理机系统中的调度第五章设备管理5.6磁盘存储器管理第八章网络操作系统第九章系统安全性62019年8月10日星期六北京交通大学计算机学院翟高寿课程主要内容及教学安排操作系统引论(10学时)处理机管理(18学时)存储管理(12学时)设备管理(8学时)文件系统(8学时)操作系统设计实例(8学时)72019年8月10日星期六北京交通大学计算机学院翟高寿第一章操作系统引论1.1什么是操作系统1.2计算机体系结构及操作系统硬件基础1.3操作系统用户接口及系统调用实现1.4操作系统启动模块及自装入机制1.5操作系统的发展1.6操作系统的功能与特征1.7操作系统的结构设计82019年8月10日星期六北京交通大学计算机学院翟高寿1.1什么是操作系统1.1.1操作系统的地位和目标1.1.2操作系统的作用1.1.3操作系统的组成及层次模型1.1.4操作系统的定义1.1.5操作系统举例92019年8月10日星期六北京交通大学计算机学院翟高寿计算机系统的组成计算机系统(层次结构)软件硬件及固件(裸机)应用软件系统软件编辑程序/汇编程序/编译程序/数据库管理系统操作系统102019年8月10日星期六北京交通大学计算机学院翟高寿操作系统在计算机系统中的地位计算机硬件操作系统系统工具应用软件应用用户应用开发人员操作系统开发人员112019年8月10日星期六北京交通大学计算机学院翟高寿操作系统的设计目标方便性提供用户接口,使计算机系统更方便使用有效性通过有效管理和分配软、硬件资源及合理组织计算机工作流程来改善资源利用率、提高系统吞吐量可扩充性计算机硬件和体系结构的迅猛发展及其所对应的更高的功能和性能要求开放性不同厂家与不同类型的计算机及其设备的网络化集成和协同工作,实现应用程序可移植性和互操作性122019年8月10日星期六北京交通大学计算机学院翟高寿1.1什么是操作系统1.1.1操作系统的地位和目标1.1.2操作系统的作用1.1.3操作系统的组成及层次模型1.1.4操作系统的定义1.1.5操作系统举例132019年8月10日星期六北京交通大学计算机学院翟高寿操作系统的作用(1)用户与计算机硬件系统之间的接口命令方式(操作系统外壳)面向一般用户命令行/菜单式/命令脚本式/图形用户接口系统调用方式(操作系统内核)面向程序开发人员形式上类似于过程调用,编制程序中使用142019年8月10日星期六北京交通大学计算机学院翟高寿操作系统的作用(2)计算机系统资源的管理者管理对象处理器、存储器、外围设备以及信息(数据和软件)管理内容资源的分配、回收和访问操作记录资源的当前状态(数量和使用情况)、相应管理策略(共享、保护及用户权限)152019年8月10日星期六北京交通大学计算机学院翟高寿操作系统的作用(3)用作扩充机器(或虚拟机)在裸机上添加处理机管理、存储管理、设备管理、文件管理、作业管理、图形化用户接口等功能,使计算机系统功能显著增强、使用更为方便162019年8月10日星期六北京交通大学计算机学院翟高寿1.1什么是操作系统1.1.1操作系统的地位和目标1.1.2操作系统的作用1.1.3操作系统的组成及层次模型1.1.4操作系统的定义1.1.5操作系统举例172019年8月10日星期六北京交通大学计算机学院翟高寿操作系统的组成及层次模型用户接口(命令接口、程序接口、图形用户接口)对对象进行操纵和管理的软件集合(处理机/存储器/设备/文件/作业管理软件)操作系统对象(处理机、存储器、设备、文件和作业)182019年8月10日星期六北京交通大学计算机学院翟高寿操作系统层次模型细化192019年8月10日星期六北京交通大学计算机学院翟高寿1.1什么是操作系统1.1.1操作系统的地位和目标1.1.2操作系统的作用1.1.3操作系统的组成及层次模型1.1.4操作系统的定义1.1.5操作系统举例202019年8月10日星期六北京交通大学计算机学院翟高寿操作系统的定义操作系统是最基本的系统软件,是一组有效管理和控制计算机硬件和软件资源、合理地对各类作业进行调度以组织和控制系统工作流程,并方便用户使用计算机的程序的集合。212019年8月10日星期六北京交通大学计算机学院翟高寿1.1什么是操作系统1.1.1操作系统的地位和目标1.1.2操作系统的作用1.1.3操作系统的组成及层次模型1.1.4操作系统的定义1.1.5操作系统举例222019年8月10日星期六北京交通大学计算机学院翟高寿操作系统举例MSDOSWindows(NT、9X、200X、Vista)UNIX(Solaris)Linux(RedHat、RedFlag)NovellNetware232019年8月10日星期六北京交通大学计算机学院翟高寿1.1什么是操作系统1.1.1操作系统的地位和目标1.1.2操作系统的作用1.1.3操作系统的组成及层次模型1.1.4操作系统的定义1.1.5操作系统举例242019年8月10日星期六北京交通大学计算机学院翟高寿作业题1.1什么是操作系统?用自己的话谈谈你对操作系统概念的认识与理解。252019年8月10日星期六北京交通大学计算机学院翟高寿第一章操作系统引论1.1什么是操作系统1.2计算机体系结构及操作系统硬件基础1.3操作系统用户接口及系统调用实现1.4操作系统启动模块及自装入机制1.5操作系统的发展1.6操作系统的功能与特征1.7操作系统的结构设计262019年8月10日星期六北京交通大学计算机学院翟高寿计算机系统体系结构(1)(3)(4)(8)(10)(11)应用系统(8)(8)(7)(7)(7)(5)(6)(3)(2)(13)(14)(11)(12)(10)(9)ISA指令集体系结构操作系统驱动程序内存管理器调度器I/O与联网设备内存控制器控制器系统互联总线内存地址翻译部件执行部件例程库软软软软272019年8月10日星期六北京交通大学计算机学院翟高寿计算机系统硬件组成282019年8月10日星期六北京交通大学计算机学院翟高寿内存系统MemorySystems主存MainMemoryRAM&ROM实际地址空间realaddressspaceA.或称作物理地址空间,按字节编址BytesB.RAM&ROMC.保留用于设备或以后它用高速缓冲CacheMemories因内存寻址访问效率和局部性原理而引入由硬件管理,对软件不可见??292019年8月10日星期六北京交通大学计算机学院翟高寿高速缓存CacheMemories关联存储器及置换(淘汰)算法标记tag偏移地址offset内存地址标记tags数据data匹配/选择高速缓冲cache内存302019年8月10日星期六北京交通大学计算机学院翟高寿输入输出系统组织方式I/O设备内存中央处理器数据控制/数据(a)I/O设备内存中央处理器数据控制(b)I/O设备数据(c)内存中央处理器DMA控制器数据控制I/O设备(d)内存中央处理器I/O设备I/O处理器数据控制312019年8月10日星期六北京交通大学计算机学院翟高寿用户指令集体系结构UserISA寄存器架构通用寄存器、特定类型寄存器(如浮点数)专用寄存器(PC、链接/栈指针/条件码/循环计数寄存器)内存架构逻辑/虚拟地址空间A.线性编址eg.0x00000000↔0x80000000↔0xFFFFFFFFB.分段编址eg.0#~15#分段基址↔段寄存器值用户指令——运算型内存存取指令、分支跳转指令整数算术、逻辑及移位指令浮点指令分段256MB虚存252B322019年8月10日星期六北京交通大学计算机学院翟高寿应用程序(用户级)3#级用户模式特权级别与环结构用户模式、特权/超级/系统模式系统模式(a)扩展级2#级(b)系统服务1#级内核0#级332019年8月10日星期六北京交通大学计算机学院翟高寿系统指令集体系结构SystemISA系统寄存器架构系统时钟寄存器、陷入与中断寄存器陷入与中断屏蔽寄存器、页/段表指针寄存器处理器资源管理支持系统调用/返回指令、中断定时器及设置机制内存资源管理支持虚拟地址空间到物理地址空间的映射(页表&TLB)I/O资源管理支持I/O设备寻址与I/O指令陷入与中断342019年8月10日星期六北京交通大学计算机学院翟高寿陷入与中断陷入指令执行时因异常情况(如运算溢出、缺页、违规内存访问、非法操作码等)产生的控制迁移副效应陷入流程(异常→设置陷入寄存器→查看陷入屏蔽寄存器裁决→终止“陷入”指令并置处理器准确状态→保存程序计数及各寄存器值→处理器置特权模式并交操作系统控制权→操作系统保存未被硬件保存的“陷入”进程的关键状态信息,经分析转特定异常陷入处理例程,待完成返回后恢复现场和转原“陷入”进程“异常”指令处继续执行)另“系统调用”式陷入(访管指令int21H/int0x80)中断由相对于当前执行进程的外部事件(如I/O操作、定时)引起,与特定指令执行无关流程?352019年8月10日星期六北京交通大学计算机学院翟高寿IA-32体系结构举例说明系统寄存器架构标志寄存器EFLAGS(通用标志、系统标志)内存管理寄存器GDTR、IDTR、LDTR、TR控制寄存器CR0、CR1、CR2、CR3保护模式内存管理内存寻址(分段寻址技术;逻辑地址14+32)地址变换(分段[段选择符→段描述符]+分页)内存保护(全局/局部描述符表、特权级)中断和异常处理中断向量与中断描述符表、中断源与异常源任务管理(任务状态段)任务切换与过程调用不同!362019年8月10日星期六北京交通大学计算机学院翟高寿操作系统其它硬件基础举例说明内存地址空间布局、基本输入输出系统BIOSCMOS存储器与实时时钟RTI/O端口寻址和访问控制方式主要使用独立编址方式,部分使用统一编址方式中断控制器Intel8259A、定时计数器Intel8254DMA控制器Intel8237A、键盘控制器Intel8042串行控制卡RS-232标准显示卡MDA/CGA/EGA/VGA软盘控制器和硬盘控制器372019年8月10日星期六北京交通大学计算机学院翟高寿作业题1.2设想由你自己负责组织一个项目团队来构建操作系统,你应当要求项目成员事先学习和掌握哪些硬件基础知识?并给出你对相关知识的理解与总结