操作系统教程孙钟秀主编主讲教师:职为梅Email:iewmzhi@zzu.edu.cn考试:笔试学习要求:按时上课,认真听讲阅读参考书认真记笔记,整理笔记思考,讨论,提问操作系统课程的特点原理教学而非特定的操作系统讲解内容广泛庞杂软硬件问题性能问题数据结构计算机组成原理汇编语言数据库等等理论性强,实践性也强课程主线不明确对一个事物不仅要知其然,还要知其所以然无论是计算机程序员还是操作员,他们都是操作系统的用户作为一个专业用户,不仅要懂得如何使用操作系统来运行程序、编写程序还要明白操作系统如何运行程序,操作系统内部是如何工作的,从而表现出用户看到的界面和功能学习目标操作系统领域的概念、原理的理解需要与相关课程知识的运用相结合,抽象与具体相结合并且需要参阅有关讲述实际操作系统结构、工作原理的资料甚至需要分析实际操作系统的源程序学习方法学习任务分散在平时,在理解、训练、掌握的基础上注意巩固识记,杜绝最后突击性学习课堂及教材学习与课外阅读参考书动手实验每个知识点都有相应的实验内容适当的作业习题训练学习方法(续)程序设计告诉我们如何使用计算机(高级、汇编等非机器代码)语言表达我们的思想研究的主要对象是程序设计语言以及算法设计方法,目标是正确掌握语言的使用方法和算法设计方法编译原理告诉我们如何将计算机语言(高级、汇编等非机器代码)翻译为机器能够执行的机器指令研究的主要对象是程序设计语言的语法,目标是设计正确有效的编译算法,根据程序设计语言的语法将程序设计语言源程序翻译为目标代码操作系统与其他课程的对比课程性质(续)操作系统则告诉我们它是如何管理硬件、程序和数据,为运行程序提供服务的研究的主要对象是程序、数据、硬件等资源,目标是设计合理的操作系统结构和运行策略,对这些资源进行有效管理,为程序运行创造良好的环境程序的设计和运行依赖于操作系统这个幕后支持者,程序设计、编译原理、计算机原理等课程均没有回答操作系统这个幕后支持者是如何运作的问题,详细回答这个问题的任务就交给了操作系统这门学科课程性质(续)如果把操作系统原理课程作为一条主线,那么其他计算机专业基础课就如同上支撑着条主线的分支操作系统的设计离不开精心设计的“数据结构”实现存储分配加载程序时依赖于“编译”程序提供的目标代码结构在进行“死锁”检测时会用到“图论”中的相应算法处理中断等底层功能时需要使用“汇编语言”以及”计算机原理“知识操作系统的高层设计中一般采用”高级程序设计语言“,如C语言随着对操作系统研究的深入,还需要更多的数学理论支持操作系统与计算机硬件关系极为密切计算机硬件对外(对用户)表现出一定的功能操作系统也对外(对用户)表现出一定的功能,但是操作系统是由一组程序以及相关数据构成的,所以操作系统属于软件操作系统的主要工作操作系统的主要工作(续)计算机硬件和操作系统软件对外(对用户)表现出来的功能差异在哪儿呢如果用户有某种需求,通常情况下可直接利用计算机硬件的功能来实现也可利用操作系统的功能来实现但是两者实现难度和复杂度不同一般来说,直接利用计算机硬件功能实现的难度要大于利用操作系统功能来实现的难度操作系统的主要工作(续)因为两者的功能模块粒度的大小不同,易理解程度也不同操作系统向用户提供的功能模块粒度要大一些,也更易于理解,因而更易于使用操作系统就在逻辑上向用户提供了一台更好用的计算机操作系统软件按照多数人的工作和生活需求以及应用习惯来提供其功能和操作界面,隐蔽了对于多数人来说不需要了解的在硬件层次上的细节用户几乎完全可以通过使用操作系统来代替直接使用计算机硬件如同汽车驾驶员通过方向盘、油门、刹车、离合器以及车档这一套操作系统(简单易用的界面)来控制汽车的行驶,不需直接接触车轮、车闸、齿轮等硬件机构,通常情况下也不必理解汽车内部构造(除非制造和维修汽车)操作系统的主要工作(续)示例1操作系统是通过自我执行和执行用户程序来工作和为用户提供服务的下面这个程序在执行的过程中,就得到了操作系统提供的多个方面的服务#includestdio.hintmain(){inta,b;scanf(“%d%d”,&a,&b);printf(“a+b=%d\n”,a+b);return0;}示例(续)用户告诉操作系统执行该程序该程序在运行前一般在外存上存放,操作系统通过文件目录表从外存找到该程序该程序由管理信息和代码数据组成,系统根据管理信息找出代码和数据的地址示例(续)示例(续)内存管理模块根据程序的大小为代码和变量分配内存,文件系统定位并读写磁盘块将该程序读入内存系统创建进程以执行该程序,进程由进程控制块和代码数据组成,进程控制块是系统用于管理进程的管理信息进程开始执行,scanf(“%d%d”,&a,&b);涉及到硬件输入设备(如键盘)的操作,设备处理模块投入工作,使用户输入数据,用户无须关心设备端口状态以及机械操作细节操作系统以系统功能调用的形式在内部提供了完成从输入设备输入数据的程序模块,该模块负责所有涉及硬件机械电子特性的处理printf(“a+b=%d\n”,a+b);涉及到CPU的计算处理功能和输出设备(如显示器)的操作对于输出设备,系统同样提供了相关的系统调用处理模块来控制输出设备底层机械电子方面的操作细节来完成数据的输出,用户同样不必关心底层细节示例(续)示例(续)在多任务系统中,需要有专门的处理机调度模块负责分配处理机和保护处理机现场,在进程间完成进程切换的工作对于用户来说,处理机的调度及切换可能只是通过鼠标的点击操作或者在程序中简单地安排几条系统功能调用即可完成return0;结束用户进程的运行,将控制权返回给操作系统,操作系统回收用户进程所占用的内存等软硬件资源,进行结束处理,用户同样无须关心这些善后事宜综上所述,操作系统在执行程序的过程中向用户提供了文件存取服务、内存分配服务、处理机调度服务、设备分配和处理服务等功能示例(续)示例2当我们单击鼠标激活屏幕上显示的某个应用程序的图标,这个应用程序便执行起来当单击这个图标时,首先是鼠标按钮产生中断,然后转入操作系统的中断处理之后又通过相应的分析程序去获得屏幕上这个图符所在位置的坐标,从而得知是哪个程序在调入该程序到内存之前,然后由进程管理为该程序建立进程再由进程管理调用存储管理为此程序分配内存由文件系统提供该程序在外存上的位置等信息然后文件管理系统调用设备管理启动磁盘驱动器,将这个程序读入到内存中操作系统调度该进程,CPU便可执行由该进程定位的这个程序课程主要内容介绍第一章:操作系统概论第二章:处理机管理第三章:并发进程第四章:存储管理第五章:设备管理第六章:文件管理非专业观点MicrosoftWindows操作系统已经非常好了即使研究出来新的操作系统也很难超越它为什么还要浪费大量的人力财力研制国产的操作系统有必要吗?研制国产的操作系统有必要吗?(续)专业观点很难想象一个国家由于国际垄断和科学技术的高难度而放弃多个领域的自主研发操作系统几乎是一切信息处理工作的基础,是信息安全的基本保障,操作系统如果存在安全缺陷或者漏洞,将会给国家带来经济、政治、军事上的安全威胁和损失,对企业、集体、个人也会带来不利因素Intel-CPU,微软-Windows的安全问题“后门”已引起了不同国家的严重关注和担忧没有自主版权的操作系统显然将受制于人研制国产的操作系统有必要吗?(续)国内操作系统发展概况自由版权Linux红旗,共创,magiclinux,BluePoint(嵌入式Linux),银河麒麟COSIX操作系统1999年中软总公司与康柏公司签署联合开发64位UNIX—COSIX系统嵌入式操作系统Hopen(女娲计划)嵌入式系统是指操作系统和功能软件集成于计算机硬件系统之中产品从HOPENOSV1.0、V2.0发展到目前的HOPENOSV3.0HOPEN操作系统支持的产品在移动通信、机顶盒、汽车电子、网络计算机、掌上电脑、数字电视等方面得到了广泛的应用银河麒麟银河麒麟操作系统由863软件重大专项资助,简称KYLIN操作系统KYLIN操作系统是参照UNIX操作系统国际主流标准,针对服务器需求,设计并开发的具有自主版权的中文服务器操作系统它支持多种微处理器和多种计算机体系结构的,具有高性能、高可用性与高安全性,并与Linux应用二进制兼容为什么学习操作系统操作系统包括了所有软件设计/实现问题:资源共享/管理安全和身份验证灵活性,健壮性友好界面设计加深对使用的OS的理解,有利于深入编程编程时借鉴操作系统的设计思想和算法现实中存在人们意识不到的大量“操作系统”嵌入式系统(EmbeddedOS)我们并不总使用Windows为什么学习操作系统(续)流行操作系统介绍图形操作系统鼻祖Alto1973年4月,第一个可操作的Alto电脑完成,Alto是第一个把计算机所有元素都结合到一起的图形界面操作系统流行操作系统介绍(续)最成功的操作系统Windows系统市场占有率为96.63%以上Window是一个多任务的操作环境,随着windows操作系统的不断发展,其功能也在不断增强,更加的人性化:良好的硬件支持,不断提供的网络性能、多用户使用以及强大的多媒体功能windows操作系统介绍Windows1.01985年推出Windows2.01987年推出,虽然有不少改进,但效果仍不好由于硬件和DOS系统的限制,没有流行Windows3.01990年推出,一经推出迅速走红,六周时间卖出50万份,基本奠定了微软操作系统的垄断地位Windows951995年8月推出,可以独立运行无须DOS支持,较3.x版本,有更加优秀的面向对象的图形操作界面,减轻了用户的学习负担,32位抢占式多任务多线程,32位线性寻址的内存管理,良好的向下兼容性windows操作系统介绍(续)WindowsNT1996年8推出4.0版本,主要面向服务器市场Windows981998年推出,在95基础上改进了硬件支持,支持FAT32文件,以及整合到图形界面的IE;资源占有率低、启动速度快Windows20002000推出,最为稳定的一款windwos系统,又称为windowsNT5.0,推出了四个版本:proffessional、server、advancedserver、DatacenterserverWindowsXP基于windows2000代码的一款系统,但是有一个全新的窗口系统,集成了防火墙、媒体播放器、即时通讯软件,是目前使用率最高的一款系统windows操作系统介绍(续)Windows20032003年4月推出是微软最新的一款系统,是2000的一个升级,是微软新一代服务器操作系统,较之前的任何一个版本,其功能更多、速度更快、安全性更高、更稳定;其在网络、安全、管理、性能方面的改进让那些对微软有偏见的人大饱眼福Windowsvista2005年1月微软对外发布了取代XP的新一代操作系统windowslonghorn,同年7月,微软将此款操作系统更名为vista,vista是微软公司下一代操作系统的开发代号,vista在外观界面和内核上都有不少的改动;vista将是未来十年PC机上的首选操作系统windows操作系统介绍(续)Windows7Windows7简易版—简单易用。Windows7简易版保留了Windows为大家所熟悉的特点和兼容性,并吸收了在可靠性和响应速度方面的最新技术进步Windows7家庭普通版—使您的日常操作变得更快、更简单。使用Windows7家庭普通版,您可以更快、更方便地访问使用最频繁的程序和文档Windows7家庭高级版—在您的电脑上享有最佳的娱乐体验。使用Windows7家庭高级版,可以轻松地欣赏和共享您喜爱的电视节目、照片、视频和音乐Windows7专