1-1 操作系统概述.ppt
操作系统 罗宇 吴刚 陈燕晖第一讲 操作系统概述目的与要求:明确该课程学习目的与要求明确该课程学习目的与要求,了解操作系统概念及其安装与启动了解操作系统概念及其安装与启动。重点与难点:操作系统概念操作系统概念。作业安排:安装安装linuxlinux操作系统操作系统前言 操作系统的地位操作系统的地位教学目的教学目的教学内容教学内容教学方法教学方法学习基础学习基础学习态度学习态度学习方法学习方法参考书目参考书目*操作系统的地位操作系统的地位计算机系统管理中心计算机系统管理中心(相当于社会中的相当于社会中的政府地位政府地位)最复杂最精确的人工开发的管理系统最复杂最精确的人工开发的管理系统在计算机系统中不可缺少,缺少操作系在计算机系统中不可缺少,缺少操作系统,用户不可能上机使用计算机资源统,用户不可能上机使用计算机资源*教学目的掌握操作系统概念掌握操作系统概念了解操作系统结构了解操作系统结构熟悉操作系统算法熟悉操作系统算法为并发高级程序设计和操作系统使用为并发高级程序设计和操作系统使用,管管理,开发打基础理,开发打基础为其它课程学习提供知识保障为其它课程学习提供知识保障锻炼思维锻炼思维*教学内容教材为主教材为主部分实验准备和习题课部分实验准备和习题课*教学方法口授为主口授为主充分利用多媒体教学工具和网络教学工具充分利用多媒体教学工具和网络教学工具(http:/http:/或或)讨论课讨论课(辩论赛辩论赛)或演示活动或演示活动上机实习上机实习*学习基础数据结构数据结构程序设计程序设计计算机原理计算机原理汇编语言汇编语言*学习态度为成名成家,为社会作贡献而主动学习为成名成家,为社会作贡献而主动学习培养出兴趣,有了兴趣就愿意多花时间培养出兴趣,有了兴趣就愿意多花时间坚持就是胜利,半途而废是成事的大忌坚持就是胜利,半途而废是成事的大忌*学习方法多看书,做到预习,听课,复习三部曲多看书,做到预习,听课,复习三部曲认真听课认真听课多做作业,加深理解多做作业,加深理解对技术类比联想,加深对知识的印象对技术类比联想,加深对知识的印象多讨论,同学之间结成讨论小组多讨论,同学之间结成讨论小组认真做实习,写程序认真做实习,写程序适当看部分源代码适当看部分源代码积极参与各种课题积极参与各种课题*参考书目操作系统操作系统,Gary Nutt,Gary Nutt著,罗宇等译,机械工业著,罗宇等译,机械工业出版社,出版社,20042004,2005,2005Operating Systems Concepts(6Operating Systems Concepts(6thth Edition),Edition),A.SilberschatzA.Silberschatz现代操作系统(现代操作系统(Modern Operating System Modern Operating System Second Edition)Second Edition),TanenbaumTanenbaum著著Operating Systems internals and design Operating Systems internals and design principleprinciple,William Stalling William Stalling著著MinixMinix或或LinuxLinux源代码,源代码,http:/lxr.linux.no/source/http:/lxr.linux.no/source/*第一章第一章 序言序言1.1什么是操作系统什么是操作系统操作系统操作系统:是系统软硬资源的管理控制中心是系统软硬资源的管理控制中心,它它以尽量合理有效的方法组织多个用户(进程)以尽量合理有效的方法组织多个用户(进程)共享计算机的各种资源并提供使用接口。共享计算机的各种资源并提供使用接口。操作系统的目的操作系统的目的:方便用户、提高资源利用程方便用户、提高资源利用程度。度。操作系统所在层次操作系统所在层次:硬件操作系统应用硬件操作系统应用操作系统面面观操作系统面面观:操作系统作为特殊子程序;操作系统作为特殊子程序;操作系统作为资源管理者;操作系统组织用户操作系统作为资源管理者;操作系统组织用户(进程)使用计算机。(进程)使用计算机。*命命令令解解释器释器编译器编译器数数据据库库管理器管理器数数据据库库应用应用编辑器编辑器操作系统内核操作系统内核硬件层硬件层 C C库库/数学库数学库/图形库图形库/窗口库等窗口库等1.1.1计算机系统软件构成计算机系统软件构成狭义操作系统包含程序狭义操作系统包含程序:核心态运行程序核心态运行程序,用户用户态运行的命令解释器和系统调用库。态运行的命令解释器和系统调用库。广义操作系统包含程序广义操作系统包含程序:除上述外除上述外,许多提供系许多提供系统常用功能的实用程序统常用功能的实用程序,库程序。库程序。系统调用库系统调用库处理机处理机主存主存ROMROM总线桥总线桥外设外设总线总线总线总线硬件层:计算机系统结构图硬件层:计算机系统结构图操作系统及其他软件在哪里?操作系统及其他软件在哪里?放在磁盘上,要运行的时候放到内存里。放在磁盘上,要运行的时候放到内存里。1.1.21.1.2操作系统作为特殊子程序操作系统作为特殊子程序操作系统内核为用户层的程序提供了系统操作系统内核为用户层的程序提供了系统调用接口。系统调用可以看成是特殊的公共子调用接口。系统调用可以看成是特殊的公共子程序,说系统调用是公共子程序是因为这些程程序,说系统调用是公共子程序是因为这些程序可以被任意用户层程序调用,实现了一些公序可以被任意用户层程序调用,实现了一些公共的功能,用户不需要重复编写实现这些功能共的功能,用户不需要重复编写实现这些功能的程序而只要调用操作系统内核提供的相应系的程序而只要调用操作系统内核提供的相应系统调用即可。统调用即可。通常是涉及共享资源操作的子程序通常是涉及共享资源操作的子程序 1.1.31.1.3操作系统作为资源管理者操作系统作为资源管理者为了使硬件资源充分发挥它们的作用,为了使硬件资源充分发挥它们的作用,必须允许多用户(进程)同时使用计算机,以必须允许多用户(进程)同时使用计算机,以便让不同的资源由不同的用户(进程)尽可能便让不同的资源由不同的用户(进程)尽可能的同时使用,减少资源的闲置时间。的同时使用,减少资源的闲置时间。譬如,当一个用户(进程)将文件从磁譬如,当一个用户(进程)将文件从磁盘往内存缓冲区读出时,另一个用户(进程)盘往内存缓冲区读出时,另一个用户(进程)可以让自己的程序在处理机上运行。这样的话,可以让自己的程序在处理机上运行。这样的话,处理机、内存、磁盘都忙起来了。处理机、内存、磁盘都忙起来了。资源管理包含两种资源共享使用的方法资源管理包含两种资源共享使用的方法:时时分分:所所谓谓时时分分就就是是说说由由多多个个用用户户(进进程程)分分时时地地用用该该资资源源,除除了了上上述述的的处处理理机机外外,还还有有很很多多其其它它的的资资源源也也必必须须分分时时地地使使用用,如如I I0 0控控制制器器、网网卡卡等等,这这些些控控制制部部件件包包含含了了控控制制I I0 0的逻辑,必须分时地使用。的逻辑,必须分时地使用。空空分分:都都是是针针对对存存储储资资源源而而言言,存存储储资资源源的的空空间间可可以以被被多多个个用用户户(进进程程)共共同同以以分分割割的的方式占用。方式占用。时分共享两种不同的使用方法时分共享两种不同的使用方法独占式共享独占式共享。共享使用资源是指多用户(进程)共享使用资源是指多用户(进程)分时使用资源,独占则表示某用户(进程)占分时使用资源,独占则表示某用户(进程)占用该资源后,执行了对资源的多个操作,多个用该资源后,执行了对资源的多个操作,多个操作构成了一次逻辑上完整的操作。操作构成了一次逻辑上完整的操作。譬如说多用户(进程)独占式共享使用打譬如说多用户(进程)独占式共享使用打印机,是指多用户(进程)分时地共享使用该印机,是指多用户(进程)分时地共享使用该打印机,每个用户(进程)使用打印机时,执打印机,每个用户(进程)使用打印机时,执行了多条打印指令,打印了一个完整的对象行了多条打印指令,打印了一个完整的对象(如完整的文件)。用户(进程)需要在执行(如完整的文件)。用户(进程)需要在执行打印指令前申请独占该打印机资源,执行完打打印指令前申请独占该打印机资源,执行完打印指令后释放。印指令后释放。分时式共享分时式共享。也就是说用户(进程)占用该资也就是说用户(进程)占用该资源无需使用一个逻辑上的完整周期,或者说占源无需使用一个逻辑上的完整周期,或者说占用资源的一次使用就是逻辑上完整的。用资源的一次使用就是逻辑上完整的。譬如说对处理机的使用,用户程序随时都譬如说对处理机的使用,用户程序随时都可以被剥夺可以被剥夺CPUCPU,只要运行现场保存好了,下次只要运行现场保存好了,下次该用户程序再次占用该用户程序再次占用CPUCPU时就可以继续运行。时就可以继续运行。再譬如对磁盘的再譬如对磁盘的I I0 0,当一个用户(进程)当一个用户(进程)让磁盘执行了一条让磁盘执行了一条I I0 0请求后,其它用户(进请求后,其它用户(进程)又可向磁盘发程)又可向磁盘发I I0 0请求,系统并不要求某请求,系统并不要求某个用户(进程)的几个个用户(进程)的几个I I0 0请求之间不能插入请求之间不能插入其它用户(进程)的其它用户(进程)的I I0 0请求。请求。1.1.41.1.4组织用户使用计算机组织用户使用计算机实现用户计算意图实现用户计算意图:实现用户意图的程序执行。实现用户意图的程序执行。由操作系统给程序及程序数据安排存放空间。由操作系统给程序及程序数据安排存放空间。为了能提高资源利用率,增加并发度,还必须为了能提高资源利用率,增加并发度,还必须能让多个用户程序能分时占用处理机。能让多个用户程序能分时占用处理机。要能够让一个程序还没运行完就让另一个程序要能够让一个程序还没运行完就让另一个程序占用占用CPUCPU运行,就必须保存上一个程序的运行现运行,就必须保存上一个程序的运行现场。因此必须要对实现各种用户意图的各个场。因此必须要对实现各种用户意图的各个程程序的执行序的执行进行描述和控制。说明程序执行的状进行描述和控制。说明程序执行的状态,现场,标识等各种信息,有选择地调度某态,现场,标识等各种信息,有选择地调度某个程序占用个程序占用CPUCPU运行,这些工作必须由操作系统运行,这些工作必须由操作系统完成。这就是完成。这就是进程的实现。进程的实现。课外知识:操作系统生命期操作系统开发与升级交叉开发交叉开发增量开发增量开发系统启动与关机系统初始化系统初始化(接力赛接力赛)进入操作系统正常控制进入操作系统正常控制关机关机*操作系统的安装操作系统开发与升级交叉开发(开发新操作系统,移植操作系统到新型处理机的机器)建立交叉开发环境目标机:操作系统将运行的机器目标机:操作系统将运行的机器工作机:开发操作系统的机器工作机:开发操作系统的机器交叉编译:在工作机上将源代码编译成交叉编译:在工作机上将源代码编译成目标机可运行代码目标机可运行代码模拟调试工具:在工作机上模拟执行目模拟调试工具:在工作机上模拟执行目标机代码标机代码内核生成环境:工作机上编译链接工具内核生成环境:工作机上编译链接工具在交叉环境开发后到目标机运行*操作系统开发与升级增量开发(在已有操作系统上作内核,驱动程序更新和升级)编译系统编译系统内核调试器内核调试器内核生成环境内核生成环境打包工具打包工具(生成生成driver,bootdriver,boot盘盘,系统安装系统安装盘盘)*)*操作系统的安装由由ROMROM程序从安装介质加载操作系统程序从安装介质加载操作系统loaderloader从安装介质加载并启动从安装介质加载并启动操作系统操作系统,检测系统检测系统配置配置,运行安装程序运行安装程序(scripts)scripts)运行分区进程对硬盘进行分区运行分区进程对硬盘进行分区,将操作系统将操作系统内核及所选软件包考入硬盘内核及所选软件包考入硬盘对系统部件进行设置对系统部件进行设置(重新生成(重新生成操作系统操作系统内核放在盘上)内核放在盘上)重新启动(这时启用硬盘上的内核)重新启动(这时启用硬盘上的内核)(进一步配置系统(进一步配置系统,重新启动)重新启动)*操作系统部件驱动程序安装过程示例安装到硬盘安装到硬盘在系统配置文件中登记在系统配置文件中登记(可能重链内核可能重链内核)关机关机,插硬件插硬件,重启重启操作系统初始化时加载驱动程序操作系统初始化时加载驱动程序*系统启动与关机系统启动过程(在多处检测系统设备)加电加电,激活激活ROMROM程序程序ROMROM程序检测系统配置程序检测系统配置,加载加载MBRMBR程序程序,MBRMBR程程序加载序加载操作系统操作系统Loader,Loader,操作系统操作系统Loader Loader 加加载载操作系统操作系统进入进入操作系统操作系统初始化初始化,根据系统配置等准备根据系统配置等准备系统表格系统表格,加载加载Driver,Driver,标识设备标识设备(对新增对新增加设备加设备,应在上次进行应在上次进行DriverDriver安装或将安装或将DriverDriver加入内核。现代系统已能在发现新硬加入内核。现代系统已能在发现新硬件后动态安装并加载件后动态安装并加载driver)driver)进入进入操作系统操作系统正常控制正常控制*系统启动与关机关机回写数据入盘回写数据入盘将外设归初态将外设归初态Kill Kill 所有进程所有进程断电断电*