操作系统-第1章-概述-1.pptx
Operating System(OS)操作系统操作系统2什么是操作系统?什么是操作系统?操作系统天天见!操作系统天天见!234Vista5Win76Apple的的Mac操作系统操作系统78桌面秀桌面秀9Ubuntu10Smartphone Operating System11什么是操作系统?什么是操作系统?计算机系统!计算机系统!12什么是操作系统?什么是操作系统?计算机系统!计算机系统!硬件系统硬件系统13什么是操作系统?什么是操作系统?硬件系统:例如磁盘硬件系统:例如磁盘I/O操作!操作!初始化、格式化、检测状态、复位、校准控制初始化、格式化、检测状态、复位、校准控制器及设备、移动磁头臂、读写数据器及设备、移动磁头臂、读写数据Read()/write(),13个参数:磁盘块地址,磁道个参数:磁盘块地址,磁道的扇区数、物理介质的记录格式、扇区间隙,的扇区数、物理介质的记录格式、扇区间隙,对已删除数据地址标识的处理方法对已删除数据地址标识的处理方法通过文件名,对文件进行常规操作通过文件名,对文件进行常规操作Open()/read()/write()/close()14什么是操作系统?什么是操作系统?一般用户(程序员)不想涉足硬件(例如一般用户(程序员)不想涉足硬件(例如磁盘)的复杂的操作细节,需要一个简单磁盘)的复杂的操作细节,需要一个简单的,高度的,高度抽象抽象的处理。的处理。抽象来源于具体,但是有超越具体抽象来源于具体,但是有超越具体15什么是操作系统?什么是操作系统?操作系统的任务就是创建抽象,并实现和操作系统的任务就是创建抽象,并实现和管理它所创建的抽象对象管理它所创建的抽象对象16什么是操作系统?什么是操作系统?计算机系统!计算机系统!软件系统软件系统17什么是操作系统?什么是操作系统?计算机系统!计算机系统!软件系统软件系统18什么是操作系统?什么是操作系统?操作系统的任务是在相互竞争的程序之间操作系统的任务是在相互竞争的程序之间有序地控制对硬件(有序地控制对硬件(CPU,Memory,Printer)的分配,即资源管理)的分配,即资源管理时间复用时间复用CPU,Printer空间复用空间复用Memory,Disk19什么是操作系统?什么是操作系统?管理和优化计算机的硬件和软件管理和优化计算机的硬件和软件资源资源,为,为用户(用户程序)提供一个更好,更简单,用户(用户程序)提供一个更好,更简单,更清晰的计算机模型,这就是操作系统。更清晰的计算机模型,这就是操作系统。俗称俗称“管家婆管家婆”对上对上对下对下20什么是操作系统?什么是操作系统?魔术师和管理者魔术师和管理者21什么是操作系统?什么是操作系统?魔术师魔术师将计算机以一个更加容易,方便,强大的方式将计算机以一个更加容易,方便,强大的方式呈现给用户使用呈现给用户使用差的变好、少的变多、复杂的变容易差的变好、少的变多、复杂的变容易屏蔽不同设备的差异性,同样的方式访问不同屏蔽不同设备的差异性,同样的方式访问不同的设备的设备多个程序都能申请到多个程序都能申请到“内存内存”多个程序都在多个程序都在“同时同时”运行占用运行占用CPU22什么是操作系统?什么是操作系统?管理者管理者管理硬件、软件资源管理硬件、软件资源有效,不能浪费资源有效,不能浪费资源公平,都能享用到资源,当然没有真正的公平,公平,都能享用到资源,当然没有真正的公平,但是追求公平是我们的本能但是追求公平是我们的本能23什么是操作系统?什么是操作系统?CPU管理管理内存管理内存管理外存管理外存管理I/O管理管理健壮性管理健壮性管理确保操作系统自身的正常运行确保操作系统自身的正常运行安全性管理安全性管理防止非法操作防止非法操作24什么是操作系统?什么是操作系统?操作系统是程序,用户程序也是程序,程操作系统是程序,用户程序也是程序,程序与程序之间能有什么关系呢?序与程序之间能有什么关系呢?252627什么是操作系统?什么是操作系统?操作系统是程序,用户程序也是程序,程操作系统是程序,用户程序也是程序,程序与程序之间能有什么关系呢?序与程序之间能有什么关系呢?操作系统和用户程序互相调用,形成一个操作系统和用户程序互相调用,形成一个复杂的动态关系复杂的动态关系28什么是操作系统?什么是操作系统?当你在玩游戏,聊天,听歌,运行程序时,当你在玩游戏,聊天,听歌,运行程序时,你有没有想过他们是如何显示或打印出来你有没有想过他们是如何显示或打印出来的?的?操作系统是掌控计算机运行的系统,在学操作系统是掌控计算机运行的系统,在学习操作系统的过程中,能够了解到程序在习操作系统的过程中,能够了解到程序在计算机计算机 上运行的上运行的“全景全景”29课程建议课程建议课程特点课程特点内容庞杂、涉及面广内容庞杂、涉及面广课前预习,认真做课后习题课前预习,认真做课后习题有些概念需要反复理解体会有些概念需要反复理解体会学习方法学习方法思考细节(易用性的坏处)思考细节(易用性的坏处)广泛查阅资料,广泛查阅资料,cnki互相讨论互相讨论30考核方式考核方式期末考试占期末考试占40%期中期中考试占考试占20%平时考核占平时考核占10%(出勤(出勤+课堂提问)课堂提问)上机实验占上机实验占20%(8-9次)次)个人加分占个人加分占10%31主要参考书主要参考书Andrew S.Tanenbaum著著 ,陈向群陈向群,马洪兵等译马洪兵等译.现代操现代操作系统作系统(第三版),机械工业出版社(第三版),机械工业出版社,2009教材教材Andrew S.Tanenbaum著著.现代操作系统现代操作系统(Modern Operating Systems(第三版第三版)英文版英文版教材教材William Stallings.操作系统:精髓与设计原理操作系统:精髓与设计原理(第六第六 版版),电子工业出版社,电子工业出版社,张红光,李福才张红光,李福才.操作系统原理与应用教程操作系统原理与应用教程,清华大,清华大学出版社学出版社于渊于渊.自己动手写操作系统自己动手写操作系统,电子工业出版社,电子工业出版社龚奕利龚奕利.深入理解计算机系统深入理解计算机系统,机械工业出版社机械工业出版社32学时分配学时分配适当调整适当调整章章节学学时第1章 引论 8+2学时第2章 进程 与 线程 10+4学时第3章 存储管理 10+4学时第4章 文件系统 10+2学时第5章 输入与输出 8+2学时第6章 死锁6+2学时总复习 2学时33交流平台交流平台网络教学平台网络教学平台招募课代表一名招募课代表一名沟通的桥梁沟通的桥梁3334分组分组每个小组成员每个小组成员3-6名,推荐一名小组长名,推荐一名小组长组队原则是优势互补,尽量避免强强联合组队原则是优势互补,尽量避免强强联合或集体打酱油或集体打酱油组长权利和义务组长权利和义务督促组员按时完成作业督促组员按时完成作业不定期组织小组讨论,集中攻克难题不定期组织小组讨论,集中攻克难题执行组长问责制和奖励机制执行组长问责制和奖励机制最终分组名单在第一次实验课确定最终分组名单在第一次实验课确定第一章第一章 操作系统概述操作系统概述36本章学习内容及目标本章学习内容及目标什么是操作系统什么是操作系统操作系统的发展史操作系统的发展史计算机硬件系统概述计算机硬件系统概述操作系统概念操作系统概念系统调用系统调用操作系统结构操作系统结构37操作系统的地位操作系统的地位CPU(Center Processing Unit)是计算机硬件的是计算机硬件的核心,可以比做是计算机系统的心脏核心,可以比做是计算机系统的心脏操作系统(操作系统(OS Operating System)是计算机)是计算机软件的核心,可以比做是计算机系统的大脑软件的核心,可以比做是计算机系统的大脑38操作系统的地位操作系统的地位OS是是用户用户和计算机之间的接口和计算机之间的接口计算机硬件和软件的接口计算机硬件和软件的接口配置在计算机硬件上的第一层软件配置在计算机硬件上的第一层软件应用软件系统软件 裸机用户39操作系统的地位操作系统的地位操作系统是计算机系统资源(硬件资源、软件操作系统是计算机系统资源(硬件资源、软件资源)的管理者资源)的管理者操作系统又是计算机用户(用户、应用程序)操作系统又是计算机用户(用户、应用程序)的服务者的服务者40操作系统的作用操作系统的作用操作系统对资源的管理:有效和公平操作系统对资源的管理:有效和公平监视资源监视资源实施资源分配策略实施资源分配策略分配资源分配资源回收资源回收资源41操作系统的作用操作系统的作用进程管理进程管理进程的描述、同步、通信、调度,解决死锁进程的描述、同步、通信、调度,解决死锁存储管理存储管理内存、虚拟存储器和磁盘存储器的分配、保护内存、虚拟存储器和磁盘存储器的分配、保护文件管理文件管理文件结构、目录管理、文件共享和保护文件结构、目录管理、文件共享和保护设备管理设备管理I/O设备的分配、缓冲、共享等设备的分配、缓冲、共享等42操作系统所处的位置操作系统所处的位置关键词关键词:用户态用户态/目态;内核态目态;内核态/管态管态43操作系统所处的位置操作系统所处的位置就像世界上的人并不平等一样(就像世界上的人并不平等一样(VIP客户),客户),并不是所有的程序都是平等的。世界上有并不是所有的程序都是平等的。世界上有的人占有资源多,有的人占有资源少的人占有资源多,有的人占有资源少内核态(也称为管态,核心态)这种模式内核态(也称为管态,核心态)这种模式下操作系统具有对所有硬件的完全访问权,下操作系统具有对所有硬件的完全访问权,可以执行机器能够运行的任何指令可以执行机器能够运行的任何指令用户态(也称为目态),只能使用机器指用户态(也称为目态),只能使用机器指令的一个子集令的一个子集44操作系统所处的位置操作系统所处的位置CPU的状态(程序状态字的状态(程序状态字PSW寄存器),即寄存器),即使用使用CPU的进程的状态的进程的状态内核态比用户态进程有更多的权限,可以内核态比用户态进程有更多的权限,可以访问更多的资源访问更多的资源进程表谁能访问进程表谁能访问用户程序数据谁能访问用户程序数据谁能访问45什么是操作系统什么是操作系统作为扩展机器的操作系统作为扩展机器的操作系统提供资源集的清晰抽象提供资源集的清晰抽象作为资源管理者的操作系统作为资源管理者的操作系统管理资源管理资源46抽象抽象抽象是管理复杂性的一个关键,好的抽象抽象是管理复杂性的一个关键,好的抽象可以把一个几乎不可能管理的任务划分为可以把一个几乎不可能管理的任务划分为两个可管理的部分两个可管理的部分有关抽象的定义和实现有关抽象的定义和实现随时用这些抽象解决问题随时用这些抽象解决问题进程、地址空间、文件进程、地址空间、文件47小结小结什么是操作系统?什么是操作系统?说出至少说出至少5个和操作系统有密切关系的词语个和操作系统有密切关系的词语软件、管家婆、魔术师软件、管家婆、魔术师硬件、抽象、用户、服务硬件、抽象、用户、服务资源(内容)、资源(内容)、CPU、存储、磁盘、存储、磁盘、I/O管理等管理等竞争、时间复用、空间复用竞争、时间复用、空间复用内核态内核态4748本章学习内容及目标本章学习内容及目标什么是操作系统什么是操作系统操作系统的发展史操作系统的发展史计算机硬件系统概述计算机硬件系统概述操作系统概念操作系统概念系统调用系统调用操作系统结构操作系统结构49操作系统的发展史操作系统的发展史为什么要了解历史为什么要了解历史操作系统为什么是今天这个样子操作系统为什么是今天这个样子思考其将来会是什么样子思考其将来会是什么样子你能否找到一个感兴趣的点,做点什么,在其你能否找到一个感兴趣的点,做点什么,在其历史上留下一笔历史上留下一笔50问答问答快速阅读教材快速阅读教材1.2.1-1.2.4内容内容51操作系统的历史操作系统的历史(194555)Vacuum Tubes 真空管和穿孔卡片真空管和穿孔卡片(195565)Transistors and Batch Systems晶体晶体管和批处理系统管和批处理系统(19651980)ICs and Multiprogramming集成集成电路芯片和多道程序设计电路芯片和多道程序设计(1980Present)Personal Computers 个人计个人计算机,大规模集成电路与现代操作系统算机,大规模集成电路与现代操作系统52真空管和穿孔卡真空管和穿孔卡53真空管和穿孔卡真空管和穿孔卡程序员预约一段时间,到机房中将插件板程序员预约一段时间,到机房中将插件板接到计算机上,等几个小时,期盼真空管接到计算机上,等几个小时,期盼真空管不会烧坏不会烧坏穿孔卡,将机器语言构成的程序用穿孔卡穿孔卡,将机器语言构成的程序用穿孔卡表示,读入计算机,不用插件板了,其他表示,读入计算机,不用插件板了,其他过程依旧过程依旧54操作系统的历史操作系统的历史(194555)Vacuum Tubes 真空管和穿孔卡片真空管和穿孔卡片(195565)Transistors and Batch Systems晶体晶体管和批处理系统管和批处理系统(19651980)ICs and Multiprogramming集成集成电路芯片和多道程序设计电路芯片和多道程序设计(1980Present)Personal Computers 个人计个人计算机,大规模集成电路与现代操作系统算机,大规模集成电路与现代操作系统55晶体管和批处理系统晶体管和批处理系统晶体管的发明晶体管的发明计算机可靠性提高,可长时间运行,批量制造计算机可靠性提高,可长时间运行,批量制造设计人员、生产人员、操作人员、程序人员和设计人员、生产人员、操作人员、程序人员和维护人员第一次有了明确的分工维护人员第一次有了明确的分工期待计算机能完成更多的任务期待计算机能完成更多的任务56晶体管和批处理系统晶体管和批处理系统程序员将程序穿孔卡片盒程序员将程序穿孔卡片盒送到送到输入室,输入室,操作员从输入室操作员从输入室取走取走任务(可能需要任务(可能需要Fortran编编译器编译),在计算机上运行,计算结果从译器编译),在计算机上运行,计算结果从打打印机输出印机输出,操作员操作员撕下撕下运行结果运行结果送到送到输出室,输出室,程序员程序员取走取走结果。结果。你有什么想法?你有什么想法?搬一本书搬一本书or搬一堆书?放到对应的书架上搬一堆书?放到对应的书架上57晶体管和批处理系统晶体管和批处理系统(a)(a)程序员程序员将穿孔卡片程序送给将穿孔卡片程序送给1401机处机处.(b)1401 机将程序读到磁带上机将程序读到磁带上.(c)(c)操作员将输入带送至操作员将输入带送至7094机机.(d)7094 机进行计算机进行计算.(运行一个特殊的程序,读作业,执(运行一个特殊的程序,读作业,执行,输出到磁带)行,输出到磁带)(e)(e)操作员将输出磁带送到操作员将输出磁带送到1401机机.(f)1401机打印输出机打印输出.58晶体管和批处理系统晶体管和批处理系统图 1-4.典型的FMS(FORTRAN Monitor System)作业结构.现代Shell和命令解释器的先驱59晶体管和批处理系统晶体管和批处理系统什么是批处理系统什么是批处理系统批处理系统有何优缺点批处理系统有何优缺点60晶体管和批处理系统晶体管和批处理系统什么是批处理系统?什么是批处理系统?所谓批处理系统是指加载在计算机上的一个所谓批处理系统是指加载在计算机上的一个系统软件,在它的控制下,计算机能够自动系统软件,在它的控制下,计算机能够自动地成批地处理一个或多个用户的作业。地成批地处理一个或多个用户的作业。批处理系统的优缺点?批处理系统的优缺点?优点:系统吞吐量大,资源利用率高优点:系统吞吐量大,资源利用率高缺点:在批处理环境下,用户作业一旦投入缺点:在批处理环境下,用户作业一旦投入运行就不再由用户控制,直到运行结束,所运行就不再由用户控制,直到运行结束,所以批处理系统不具有交互性以批处理系统不具有交互性61操作系统的历史操作系统的历史(194555)Vacuum Tubes 真空管和穿孔卡片真空管和穿孔卡片(195565)Transistors and Batch Systems晶体晶体管和批处理系统管和批处理系统(19651980)ICs and Multiprogramming集成集成电路芯片和多道程序设计电路芯片和多道程序设计(1980Present)Personal Computers 个人计个人计算机,大规模集成电路与现代操作系统算机,大规模集成电路与现代操作系统62集成电路芯片和多道程序设计集成电路芯片和多道程序设计集成电路芯片集成电路芯片计算机性能计算机性能/价格比有了很大提高价格比有了很大提高计算机产品线计算机产品线科学用计算机(计算密集型)科学用计算机(计算密集型)商用计算机(商用计算机(I/O密集型)密集型)期待计算机高性能的完成更多的任务期待计算机高性能的完成更多的任务I/O密集型时,密集型时,I/O能否快一点?能否快一点?交互性能否更好一些?交互性能否更好一些?63Uniprogramming 单道程序单道程序处理器在输入处理器在输入/输出指令完成前必须等待输出指令完成前必须等待(空转)(空转)64Multiprogramming 多道程序设计多道程序设计在一个作业等待在一个作业等待I/O时将处理器切换到另一时将处理器切换到另一个作业个作业65集成电路芯片和多道程序设计集成电路芯片和多道程序设计要实现多道程序设计需要什么条件呢?要实现多道程序设计需要什么条件呢?66集成电路芯片和多道程序设计集成电路芯片和多道程序设计内存管理技术内存管理技术Figure 1-5.一个内存中有三个作业的多道程序系统67集成电路芯片和多道程序设计集成电路芯片和多道程序设计分时技术分时技术人们想回到计算机面前,亲自管理自己的程序人们想回到计算机面前,亲自管理自己的程序每个用户都有一个联机终端,操作系统分时段每个用户都有一个联机终端,操作系统分时段为每个终端用户轮流服务,如果时间掌握得好,为每个终端用户轮流服务,如果时间掌握得好,用户输入完一个命令,正好轮到计算机为它服用户输入完一个命令,正好轮到计算机为它服务,用户就无需等待。务,用户就无需等待。68集成电路芯片和多道程序设计集成电路芯片和多道程序设计在操作系统中引入多道程序设计技术以后,在操作系统中引入多道程序设计技术以后,会使系统具有以下特征会使系统具有以下特征Multi-channel(多道性多道性 )Schedulable(调度性调度性 )Disorder/Uncertainty(无序性无序性/不确定性不确定性 )Parallel macro,serial micro(宏观上并行、微观宏观上并行、微观上串行上串行)69实时操作系统实时操作系统实时操作系统是指所有任务都在规定时间实时操作系统是指所有任务都在规定时间内完成的操作系统,即必须满足内完成的操作系统,即必须满足时序可预时序可预测性测性。精确、合理和及时的进程调度才能。精确、合理和及时的进程调度才能保证响应时间保证响应时间工业流水线控制系统工业流水线控制系统军事控制系统军事控制系统化学反应堆监控系统化学反应堆监控系统航空飞行航空飞行 控制系统控制系统70操作系统的历史操作系统的历史(194555)Vacuum Tubes 真空管和穿孔卡片真空管和穿孔卡片(195565)Transistors and Batch Systems晶体晶体管和批处理系统管和批处理系统(19651980)ICs and Multiprogramming集成集成电路芯片和多道程序设计电路芯片和多道程序设计(1980Present)Personal Computers 个人计个人计算机,大规模集成电路与现代操作系统算机,大规模集成电路与现代操作系统71大规模集成电路与现代操作系统大规模集成电路与现代操作系统大规模集成电路、微处理器大规模集成电路、微处理器使得每个人都能拥有自己的电脑使得每个人都能拥有自己的电脑共享小型机共享小型机-独享个人电脑独享个人电脑期待计算机高性能的完成更多的任务期待计算机高性能的完成更多的任务强调易用性、网络功能和性能强调易用性、网络功能和性能72大规模集成电路与现代操作系统大规模集成电路与现代操作系统Ms-DosMacintoshWindowsUnixLinux73大规模集成电路与现代操作系统大规模集成电路与现代操作系统网络的出现和发展网络的出现和发展网络操作系统网络操作系统单处理器操作系统上增加网络功能(网络接口控制单处理器操作系统上增加网络功能(网络接口控制器、远程访问等)器、远程访问等)分布式操作系统分布式操作系统允许一个应用在多台机器的处理器上运行,需要更允许一个应用在多台机器的处理器上运行,需要更复杂的调度算法达到最大并行优化,提高了计算机复杂的调度算法达到最大并行优化,提高了计算机协作能力协作能力分布式操作系统、程序设计、分布式文件系统和分分布式操作系统、程序设计、分布式文件系统和分布式数据库布式数据库74操作系统的未来发展趋势操作系统的未来发展趋势微内核方向微内核方向大型机,超大型机大型机,超大型机安全性,可靠性安全性,可靠性75操作系统的发展史操作系统的发展史(194555)Vacuum Tubes 真空管和穿孔卡片真空管和穿孔卡片(195565)Transistors and Batch Systems晶体晶体管和批处理系统管和批处理系统(19651980)ICs and Multiprogramming集成集成电路芯片和多道程序设计电路芯片和多道程序设计(1980Present)Personal Computers 个人计个人计算机,大规模集成电路与现代操作系统算机,大规模集成电路与现代操作系统76操作系统的发展史操作系统的发展史-小结小结是什么推动了操作系统的发展是什么推动了操作系统的发展硬件的技术、工艺、成本硬件的技术、工艺、成本人们对计算机的需求人们对计算机的需求提高硬件的性能和利用率提高硬件的性能和利用率操作系统设计者和攻击者之间的博弈操作系统设计者和攻击者之间的博弈