计算机操作系统PrinciplesofOperatingSystem中国石油大学计通学院计算机科学系ChinaUniversityofPetroleumDepartmentofComputerScience张琼声Email:zqsheng@upc.edu.cn一、什么是操作系统?二、计算机操作系统原理讲什么?三、为什么我们要学操作系统原理?四、本学期教学内容五、考核与评分方式六、教材与参考资料一、什么是操作系统?操作系统是一种复杂的系统软件.WindowsLinuxUnix……..操作系统在计算机系统中所处的位置:应用软件OS硬件I/O设备CPU内存编译系统操作系统产品OS/360(IBM为系列机360配备的操作系统)CTSS(CompatibleTimeSharingSystem)MULTICS(MULTiplexedInformationandComputerService)FMS(FORTRANMonitorSystem)和IBSYS(IBM为7094配备的操作系统)UNIX(BSD,Solaris,SVR4,AIX,HPUX)LinuxCP/M操作系统产品MS-DOS、Windows3.1/95/98/Me、WindowsNT、Windows2000/XP、WindowsCE、WindowsServer2003MacintoshOS/390MachVxWorksGoogle的ChromeOS国产操作系统-以Linux为核心的改造1.深度Linux(Deepin)2.红旗Linux(RedflagLinux)3.银河麒麟(KylinOS)4.中标麒麟(NeoKylin)5.起点操作系统(StartOS原雨林木风OS)6.凝思磐石安全操作系统7.共创Linux8.思普操作系统9.睿欧[4](RaspberrypiIdevOs)二、计算机操作系统原理讲什么?计算机操作系统原理课程介绍计算机操作系统设计与实现技术的共性内容。包括:操作系统作为一种软件所具有的主要功能以及实现这些功能的技术,包括:操作系统的体系结构、策略、数据结构、算法、硬件机制。三、为什么我们要学操作系统原理?1、理解计算机系统的软/硬件体系结构和计算机工作的原理,建立系统观。问题举例操作系统做什么?#includestdio.hmain(){printf(“%s”,helloworld);}用户告诉操作系统执行hello程序操作系统到硬盘找到该程序操作系统分配内存,将程序装入内存为执行hello程序创建执行环境(创建新进程)操作系统设置CPU上下文环境,并跳到程序开始处程序的第一条指令执行操作系统分配设备执行显示驱动程序窗口系统将像素写入存储映像区视频硬件将像素表示转换成一组模拟信号控制显示器(重画屏幕)显示器发射电子束你在屏幕上看到helloworld程序执行与printf对应的系统调用以下由硬件完成:三、为什么我们要学操作系统原理?2、培养具有面向硬件编程能力的软件开发人员;3、增强专业发展潜力、增加就业机会,拓宽业务发展领域。4、操作系统的设计思想和算法适用于许多非操作系统领域三、为什么我们要学操作系统原理?5、国家经济与技术的发展需要自主开发的操作系统、需要能写操作系统的程序员。英国《知识产权管理》杂志刊出《2007年全球知识产权界50位最具影响人物名录》,排名第21名的人是NathanMyhrvold——美国知识风险公司(IntellectualVentures)创立者,微软前任首席技术官。生于1959年,19岁毕业于加州大学,获数学学士学位、地球物理及宇宙物理学硕士学位,23岁获普林斯顿大学数学经济学硕士和理论物理学博士。后曾投奔StephenWilliamHawking.1986年-2000年5月供职微软,1995年任微软副总裁.预测未来需要深谙理论,需要深入理解未来发展的各种原动力。内森.梅尔沃德NathanMyhrvoldBillJoy“网络时代的爱迪生”。他曾是Sun的创始人之一,并在Sun担任首席科学家长达二十一年。最早基于分页的虚存系统就是由BillJoy加入到Unix内核中的,BillJoy和他的伙伴们完成了csh、vi、TCP/IP协议等等。3岁开始阅读,5岁做高等数学作业。毕业于加洲大学伯克利分校。在校开始修改unix,提供新版本的unix.提出并组织开发Java,提出Jini技术构想。提出技术危机论:基因技术制造更多的癌症,纳米技术导致更多的病毒…….JustForFun毕业于华中科技大学,硕士。开发foxmail.qq邮箱,微信(最新估值640亿美元)。2011年8月2日,张小龙任职为腾讯高级副总裁,负责腾讯公司广州研发部的管理工作,同时参与公司重大创新项目的管理和评审工作。2012年底,被《华尔街日报》中文版评选为“2012中国创新人物奖”科技类得主。吴峰光:中国开源社区唯一可以与Linus直接联系的Linux内核维护者(全球有百人?)。中国科技大学博士。英特尔亚太研发有限公司(上海)开源技术中心,从事Linux内核相关研发工作。《平行世界的守护者——吴峰光》四、本学期教学内容:第一章操作系统概述第二章进程的描述与控制第三章进程同步第四章处理机调度第五章死锁第六章存储器管理第七章虚拟内存管理第八章文件系统第九章设备管理教学目标掌握操作系统概念、了解操作系统的结构熟悉操作系统的主要问题、解决问题的策略、主要数据结构和算法、与硬件的关系为高级程序设计和操作系统的使用、管理、开发打基础理解计算机软/硬件系统是如何协同工作的?五、考核与评分方式平时成绩(作业、上机):(30%)期末闭卷(70%)要求:不迟到;上课不讲话;作业不抄袭;考试不作弊六、教材及参考资料1、计算机操作系统原理张琼声中国石油大学出版社2、操作系统教程孙钟秀高等教育出版社3、现代操作系统ModernOperatingSystemsAndrewS.Tanenbaum陈向群译机械工业出版社4、操作系统——内核与设计原理(第四版)OperatingSystemsInternalsandDesignPrinciplesFourthEditionWilliamStallings电子工业出版社5、操作系统概念(第七版影印)OperatingSystemConceptsAbrahamSilberschatz高等教育出版社(现在有第六版中文版郑扣根译)6、操作系统教程-原理和实例分析(第二版)孟静高等教育出版社7、深入分析Linux内核源代码陈莉君人民邮电出版社8、深入理解LINUX内核(第三版)陈莉君张琼声张宏伟译中国电力出版社9、Linux内核2.4版源代码分析大全李善平机械工业出版社10、Linux内核源代码情景分析毛德操胡希明浙江大学出版社11、自己动手写操作系统于渊电子工业出版社12、深入理解计算机系统雷迎春翻译13、深入解析Windows操作系统第4版潘爱民译电子工业出版社14、计算机组成与系统结构袁春风清华大学出版社15、Linux内核设计的艺术(第二版)机械工业出版社16、《电脑风云》17、《IT史记》18、《IT通史》://中国开源社区1、当你发运行.exe命令之后,到你看到自己的程序运行的结果,其间计算机系统为你做了哪些工作?哪一部分工作由硬件完成?哪一部分工作由软件完成?由软件完成的工作是如何通过数据结构和算法来实现的?软件驱动硬件工作的接口在哪里?2、操作系统是如何被装入内存并开始运行的?3、当你点击word的“存盘”时,你的数据是如何由内存传入磁盘?为什么你给出路径和文件名就可以得到你需要的文件内容?4、你桌面上的时钟为什么每隔一分钟会刷新一次?1、“开发出我们自己的能够引领市场的操作系统是我们永远的梦,也是我们永远的痛”-张尧学2、“谁拥有普适计算时代的操作系统,谁将成为下一轮信息技术发展中的主导者”-张尧学3、“操作系统人才奇缺,懂操作系统的人太好找工作,无论IT有无泡沫,这种人才不受影响”-徐志伟.4、目前产业的发展趋势是,越来越多的智能设备的系统趋于复杂,当前业界非常缺乏的就是软硬件技术兼具的人才。