1、计算机操作系统Computer Operating System课程简介How many?Windows旗帜Opensuse变色龙Ubuntu环 Linux企鹅 Sun的SolarisMAC OS 谷歌的Android 典型版本典型版本日期日期Windows 1.01985-11-20Windows 2.01987-11-1Windows 3.01990-5-22Windows 3.11992-3-18Windows 3.21994-4-14Windows NT1993-7-27Windows 951995-8-24Windows 981998-6-25典型版本典型版本日期日期Windows
2、20002000-2-17Windows ME2000-9-14Windows XP2001-10-25Windows Server 20032003-4-24Windows Vista2007-1-30Windows Server 20082008-2-27Windows 72009-10-22Windows 8预览版已出预览版已出 Window 1.0 Windows 3.1 Windows 95 Windows 98Window 2000 Windows XP Windows Vista Windows 7截止至2012年2月,塞班系统的全球市场占有量仅为3%。2012年5月27日,诺基
3、亚彻底放弃开发塞班系统,但是服务将一直持续到2016年。2013年1月24日晚间,诺基亚宣布,今后将不再发布塞班系统的手机,意味着塞班这个智能手机操作系统,在长达14年的历史之后,终于迎来了谢幕。2014年1月1日,诺基亚正式停止了Nokia Store应用商店内对塞班应用的更新,也禁止开发人员发布新应用。第一章 操作系统引论 2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。课程简介What is?DOS(20世纪末期流行的操作系统,它是一款面向磁盘的系统软件。它的用途非常广泛,大名鼎鼎的 Windows 98 就是基于它的)Mac OS(Mac系统是一套运行于苹
4、果Macintosh系列电脑上的操作系统,是基于Unix内核的图形化操作系统,很少受到病毒袭击)Vista(该系统相对Windows XP(Windows NT 5.1),内核几乎全部重写,带来了大量的新功能)Windows 7(由微软公司开发的操作系统,内核版本号为Windows NT 6.1,延续了Windows Vista的Aero 风格,并且在增添了些许功能。)Fedora(基于 Linux 的操作系统,是由Fedora Project社区开发、红帽公司赞助,目标是创建一套新颖、多功能并且自由和开源的操作系统)Solaris(2014年甲骨文公司发布了Oracle Solaris 11
5、.2,这是一款基于云的操作系统)Suse(针对个人用户,Novell)Ubuntu(乌班图)是一个以桌面应用为主的Linux操作系统,魅族也是现今乌班图系统唯一一家手机合作厂商Redhat(是RedHat公司发行的Linux 版本)红旗Linux(北京中科红旗软件技术有限公司开发的一系列Linux发行版,包括桌面版、工作站版、数据中心服务器版、HA集群版和红旗嵌入式Linux等产品,是中国较大、较成熟的Linux发行版之一)课程简介Important?v 操作系统课程是计算机教育的必修内容v 计算机专业的核心课v 技术开发的理论基础Text1Text2Text3Text4TextText3学习
6、什么学习什么不是理解操作系统如何工作OS的工作方式OS内部算法和数据结构设计OS 过程中的问题、解决方案和折中权衡操作系统中的典型技术和应用 而是如何使用操作系统设计或修改现有的操作系统加深对所用OS的理解,有利于编程用户深入地与操作系统打交道编程时借鉴操作系统的设计思想和算法选择购买操作系统课程简介Why?如FIFO算法,最佳适应算法思维方式的学习思维方式的学习课程简介What?v教材 计算机操作系统,汤小丹编著。西安电子科技大学出版社v参考书 现代操作系统,陈向群等译,机械工业出版社 Windows操作系统原理,陈向群等,机械工业出版社 计算机操作系统教程,张尧学,史美林。清华大学出版社
7、计算机操作系统教程,周长林,左万历。高等教育出版社 操作系统教程,孙钟秀主编。高等教育出版社 操作系统,孟静等。人民邮电出版社 Ch7其他内容其他内容Ch6文件管理文件管理Ch1引论引论Ch2进程管理进程管理Ch3处理机调度与死锁处理机调度与死锁Ch5设备管理设备管理Ch4存储器管理存储器管理课程简介How?实践性强(从实践总结出原理)涉及面广(并行程序、性能问题、结构问题、程序方法论、软件工程等)错综复杂(概念多、抽象)学习重点:概念、原理、算法学习方法:兴趣+态度+方法v 课前预习教材v 按时上课,认真听讲v 研读参考书和参考网站,结合操作系统专题学习网站等丰富的教学资源,掌握基本原理,拓
8、展知识,延伸视野,提高分析问题和解决问题的能力。v 整理笔记,认真思考,积极讨论,善于发现问题、提出问题并努力寻求问题的答案。 gainv使学生对操作系统的基本概念、基本结构及运行环境有深入的认识,对操作系统这一课程有比较全面的把握v使学生深入到操作系统内部,理解并掌握操作系统的基本原理、设计方法和实现技术v使学生了解操作系统的演化过程、发展研究动向、新技术以及新思想,使学生具有透过变化看趋势、透过技术抓原理、把握学科发展脉搏的基本素质,为其今后在相关领域开展工作打下坚实的基础名称的演变核心程序核心程序(Kernel)5监控(督)程序(系统)监控(督)程序(系统)(Monitor)1执行系统(
9、程序)执行系统(程序)(Executive System(program)2控制系统(程序)控制系统(程序)(Control System program)3管理程序管理程序(Supervisor,Supervisor System)4操作系统操作系统(Operating System)6操作系统在程序执行时做什么?#include int main(int argc,char*argv)puts(hello world);return 0;用户告诉操作系统执行hello程序 操作系统找到该程序,检查其类型检查程序首部,找出正文和数据的地址文件系统找到第一个磁盘块父进程需要创建一个新的子进程,
10、执行hello程序操作系统需要将执行文件映射到进程结构操作系统设置CPU上下文环境,并跳到程序开始处程序的第一条指令执行,失败,缺页中断发生操作系统分配一页内存,并将代码从磁盘读入,继续执行更多的缺页中断,读入更多的页面程序执行系统调用,在文件描述符中写一字符串操作系统检查字符串的位置是否正确操作系统找到字符串被送往的设备设备是一个伪终端,由一个进程控制操作系统将字符串送给该进程该进程告诉窗口系统它要显示字符串窗口系统确定这是一个合法的操作,然后将字符串转换成像素窗口系统将像素写入存储映像区视频硬件将像素表示转换成一组模拟信号控制显示器(重画屏幕)显示器发射电子束你在屏幕上看到hello wo
11、rld用户应用程序序程其他系统软件 与硬件的关系:控制CPU的工作 访问存储器 设备驱动、中断处理。作系操统 裸机与用户及应用程序的关系:提供方便的用户界面、提供优质的服务。1.OS与各层的关系 操作系统在计算机中的位置下层硬件环境:提供OS运行基础;限制了OS的功能实现2.各层对操作系统的制约上层软件:对OS提出要求 良好的用户界面 裸机作系操统其他系统软件用户应用程序序程与开发者的关系计算机硬件计算机硬件操作系统操作系统其他系统软件其他系统软件应用程序应用程序其他用户其他用户操作系统设计者操作系统设计者系统软件设计者系统软件设计者应用程序设计者应用程序设计者v1.1 操作系统的目标和作用v
12、1.2 操作系统的发展过程v1.3 操作系统的基本特性v1.4 操作系统的主要功能v1.5 OS结构设计第一章 操作系统引论本章学习目标v掌握什么是操作系统v掌握操作系统的目标和作用v了解操作系统的发展过程,掌握不同种类操作系统的优缺点v理解操作系统的基本特性v掌握操作系统的主要功能v了解常用的操作系统结构设计方法1.1 操作系统的目标和作用v有效性 改善资源利用率,提高系统吞吐量 v方便性 使计算机系统使用起来更方便v可扩充性 能够不断适应发展的要求v开放性 使来自不同厂家的计算机和设备能够有效地协同工作,实现应用的可移植性和互操作性操作系统的目标操作系统的作用v OS作为用户与计算机硬件之
13、间的接口OS处于用户和计算机硬件系统之间,用户通过OS使用计算机系统用户可以通过命令方式、系统调用方式和图形、窗口方式使用计算机用户应用程序系统调用 命令 图标、窗口操作系统计算机硬件v OS作为计算机系统的资源管理者硬件资源:处理器、存储器、I/O设备信息资源:程序和数据OS实现了对计算机资源的抽象 当计算机上覆盖了操作系统后,便为用户提供了一台功能显著增强,使用更加方便,效率明显提高的虚拟计算机用户物理接口硬件用户I/O软件物理接口硬件I/O操作命令操作命令(Read,Write)虚机器虚机器用户需了解物理接口的实现细节;利用机器指令进行编程用户无需了解物理接口的实现细节;在窗口环境下使用
14、计算机v不断提高计算机资源利用率 计算机价格昂贵!从单个作业到批处理作业,从单道程序到多道程序,以及SPOOLing,虚拟存储器和网络环境下允许所有网络用户访问文件系统和数据库系统v方便用户 改善用户上机、调试程序时的环境v器件的不断更新换代 微电子技术的迅猛发展,推动着计算机器件的更新换代。如芯片从8位16位 32位64位。存储设备从磁盘移动硬盘闪存盘扫描仪等。v计算机体系结构的不断发展 单处理机系统到多处理系统,支持网络的网络操作系统OS在短短50年中取得了很大的发展。规模由原来的数十KB发展到如今的数千万行代码,其发展的主要动力归结为如下所述的四个方面:操作系统的发展动力v 不断提高计算
15、机资源利用率v 方便用户v 器件的不断更新换代v 计算机体系结构的不断发展操作系统操作系统1.2 操作系统的发展过程 无操作系统的计算机系统(第一代计算机)人工操作穿孔卡片用于输入数据和程序,Fortan程序表达式Z(1)=Y+W(1)穿孔纸带既用来输入数据,输出同样也在穿孔纸带上。每一行代表一个字符。脱机输入输出单道批处理系统(第二代计算机)一批作业存到磁带,由监督程序控制逐个运行。自动、顺序、单道。t1t2t3t4t5t6t7t8结束中断I/O 完成启动 I/OI/O 中断请求I/O 完成启动 I/OI/O 中断请求用户程序监督程序I/O 操作(a)单道程序运行情况程 序 A程序 A I/
16、O 请求程序 A I/O 完成程 序 B程序 B I/O 请求程 序 C程序 C I/O 请求程 序 D程序 D I/O 请求C I/O 完成 C 再 被 调 度程序 B I/O 完成程序 A 再被调度程 序 A程 序 B程 序 C程 序 D调 度 程 序(b)四 道 程 序 运 行 情 况A 完成结束中断在t2t3、t6t7时间间隔内CPU空闲多道批处理系统(第三代计算机)一批作业存到外存,由调度程序选择若干个作业进入内存,共享CPU。多道批处理系统的特征:多道性、无序性、调度性。优点:资源利用率高、系统吞吐量大。缺点:平均周转时间长、无交互能力。多道批处理系统必须解决下列问题:(1)处理机
17、管理问题。(2)内存管理问题。(3)I/O设备管理问题。(4)文件管理问题。(5)作业管理问题。t1t2t3t4t5t6t7t8结束中断I/O 完成启动 I/OI/O 中断请求I/O 完成启动 I/OI/O 中断请求用户程序监督程序I/O 操作(a)单道程序运行情况程 序 A程序 A I/O 请求程序 A I/O 完成程 序 B程序 B I/O 请求程 序 C程序 C I/O 请求程 序 D程序 D I/O 请求C I/O 完成 C 再 被 调 度程序 B I/O 完成程序 A再被调度程 序 A程 序 B程 序 C程 序 D调 度 程 序(b)四 道 程 序 运 行 情 况A完成结束中断分时系
18、统将一台计算机提供给多个用户同时使用。每个作业只运行一个很短的时间片,然后暂停该作业的运行,并立即调度下一个程序运行。在不长的时间(如3秒)内能使所有的用户作业都执行一次。特征:多路、独立、及时、交互。实时系统系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。特征:多路、独立、及时、交互、可靠微机操作系统的发展(第四代计算机)单用户单任务微机操作系统:CP/M和MS-DOS。单用户多任务操作系统,微软公司推出的Windows。多用户多任务操作系统,UNIX OS。最有影响的两个能运行在微机上的UNIX操作系统的变型是Solaris OS
19、和Linux OS。1.3操作系统的基本特性并发性在计算机系统中同时存在多个程序。宏观上:这些程序是同时在执行的 微观上:任何时刻只有一个程序在执行(即微观上这些程序在CPU上轮流执行)思考:并发与并行的区别?并行性是指两个或多个事件在同一时刻发生;并发性是指两个或多个事件在同一时间间隔内发生。共享性共享指计算机系统中的资源可被多个并发执行的用户程序和系统程序共同使用。在一段时间内只允许一个进程访问的资源称为临界资源或独占资源,如:打印机。可供多个进程“同时”访问的资源,如磁盘。虚拟技术虚拟是指物理上没有提供,但是逻辑上却具备的功能。在用户看来好像是物理上原来就具有的功能一样。虚拟处理机虚拟设
20、备虚拟磁盘虚拟存储器异步性多个进程并发执行,由于资源等因素的限制,进程的执行通常都不是“一气呵成”,而是以“停停走走”的方式运行。进程是以人们不可预知的速度向前推进,此即进程的异步性。1.4操作系统的主要功能处理机管理功能2、3章存储器管理功能4章设备管理功能5章文件管理功能6章操作系统与用户之间的接口7章1.5 OS结构设计传统的操作系统结构无结构操作系统模块化结构OS进程控制进程调度内存分配内存保护磁盘管理目录管理进程管理存储器管理文件管理操作系统模块子模块分层式结构OS从裸机A0开始,在它上面添加一层软件,形成了一台功能比原来机器要强的虚拟机A1。又从A1出发,在它上面添加一层新的软件,
21、把A1改造成功能更强的虚拟机A2。就这样“添加扩充再添加”,最终实现一台具有所需操作系统各项功能的虚拟机。客户/服务器模式客户/服务器结构的思想如下:将操作系统分成两大部分,一是运行在用户态并以客户/服务器方式活动的进程;二是运行在核心态的内核。面向对象的程序设计OS中的各类实体如进程、线程、消息、存储器和文件等,都使用对象的概念,相应地,便有了进程对象、线程对象、存储器对象和文件对象等。通过“重用”提高产品质量和生产率,系统具有更好的易修改性和易扩展性,保证系统的“正确性”和“可靠性”。微内核OS结构微内核是指把OS结构中的内存管理、设备管理、文件系统等功能尽可能地从内核中分离出来,变成几个独立的非内核模块,而在内核只保留少量最基本的功能,使内核变得简洁可靠。微内核并非是一个完整的OS,而只是OS中最基本的部分。习 题 练 习习 题 练 习2.习 题 练 习3.习 题 练 习4.5.习 题 练 习6.7.习 题 练 习8.9./10/2977.