新编操作系统62课件_第1页
新编操作系统62课件_第2页
新编操作系统62课件_第3页
新编操作系统62课件_第4页
新编操作系统62课件_第5页
已阅读5页,还剩128页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、操作系统The Principles of Operating Systems主讲教师:原仓周 辅导教师:刘芸北航软件学院操作系统教学目标和教学模式操作系统是一门涉及较多硬件知识的计算机系统软件课程,在计算机软、硬件课程的设置上,起着承上启下的作用本课程的目的与任务是使学生理解操作系统的基本原理、组成、基本概念和主要功能目前国内外操作系统课程的教学主要有两种模式:侧重理论与原理的讲述,不局限于具体实例结合具体实例,讲述操作系统的实现技术操作系统本课程的教学目的掌握操作系统的工作原理学习软件设计的思想方法了解Linux/wi

2、ndows的技术方法操作系统教材操作系统原理 Linux篇徐德明 编著国防工业出版社2019年1月第1版 操作系统参考书:理论部分现代操作系统陈向群等译 机械工业出版社 “Operating System:Internals and Design Principles” 中文版:电子工业出版社 英文版:清华大学出版社“Operating System Concept” Abrahan Silberschatz,etc计算机操作系统 汤子瀛等 西安电子科技大学出版社操作系统参考书:具体操作系统操作系统原理DOS篇 张昆苍 清华大学出版社Windows操作系统原理尤晋元等 机械工业出版社Windo

3、ws 内核实验教程陈向群等编著机械工业出版社Linux Kernel中文版,电子读物深入分析Linux内核源代码陈莉君编著人民邮电出版社操作系统操作系统课程的特点新概念多,涉及面广:并行程序,性能问题,结构问题,程序方法论,软件工程,等等理论性强实践性强:从实践总结出原理结构复杂:各部分知识纵横交叉,密切相关操作系统注意学习方法掌握实质、忌讳死记硬背,要善于发现问题、提出问题,并要努力寻求问题的答案提倡自主学习、拓宽知识,要通过自学、研读参考书深入理解和掌握教师课堂指出的要点内容理论与实践相结合,通过实验理解和验证所学理论操作系统课程形式主课,习题课,讨论课作业,小论文及上机实验操作系统平时成

4、绩(30%): 作业(10%) ,上机实验(10%) ,小论文(10%)期末考试(70%):笔试考核方式和评分标准操作系统本课程需要的基础知识具备C语言程序设计的基础知识粗通汇编语言编程略知微机系统结构,尤其是保护模式,分段、分页机制。操作系统第一章 操作系统概论什么是操作系统?为什么学习操作系统?操作系统的发展史及常用的操作系统介绍操作系统做什么?操作系统的分类操作系统发展方向及影响因素操作系统的特征操作系统的功能操作系统的结构操作系统什么是操作系统?操作系统的地位引入操作系统的目标操作系统的作用操作系统的组成 操作系统是计算机系统中的一个系统软件,是目前最复杂的软件成分操作系统操作系统的地

5、位计算机系统的组成操作系统操作系统的地位操作系统的地位:紧贴系统硬件之上,所有其他软件之下(是其他软件的共同环境)操作系统引入操作系统的目标提供一个计算机用户与计算机硬件系统之间的接口,使用户能够灵活、方便、有效地使用计算机有效地控制和管理计算机系统中的各种硬件和软件资源,使之得到更有效的利用。合理地组织计算机系统的工作流程,以改善系统性能(如响应时间、系统吞吐量)。虚拟机的概念操作系统引入操作系统的目标有效:系统效率(如CPU用的充足与否)资源利用率(如内存,外部设备是否忙碌)合理:公平与否,如果不公平则会产生“死锁”或“饥饿”方便:针对应用程序程序员和用户可扩充性(开放的观点):硬件的类型

6、和规模、操作系统本身的功能和管理策略、多个系统之间的资源共享和互操作操作系统操作系统的作用(1)OS是计算机硬件、软件资源的管理者管理对象包括:CPU、存储器、外部设备、信息(数据和软件)管理的内容:资源的当前状态(数量和使用情况)、资源的分配、回收和访问操作,相应管理策略(包括用户权限)操作系统操作系统的作用(2)OS是用户使用系统硬件、软件的接口系统命令(命令行、菜单式、命令脚本式、图形用户接口GUI)系统调用(形式上类似于过程调用,在应用编程中使用)操作系统操作系统的作用(3)OS是扩展机(extended machine)/虚拟机(virtual machine)在裸机上添加:设备管理

7、、文件管理、存储管理(针对内存和外存)、处理机管理(针对CPU)另外,为合理组织工作流程:作业管理、进程管理操作系统的非形式化定义(关键点):系统软件,程序模块的集合,资源管理和用户接口功能操作系统为什么学习操作系统?反对学习操作系统的理由世界上只需要很少的操作系统设计/实现者Windows 的垄断不易改变支持学习操作系统的理由操作系统包括了所有软件设计/实现问题,包括资源共享/管理、安全和身份验证、灵活性,健壮性、友好界面设计加深对使用的OS的理解,有利于深入编程编程时借鉴操作系统的设计思想和算法存在人们意识不到的大量“操作系统”,嵌入式系统(Embedded OS)操作系统的性能是支撑软件

8、和应用软件性能的基础操作系统的安全是一切信息安全的基础 操作系统操作系统的发展的主要动力推动操作系统发展的主要动力:“需求推动发展”提高资源的利用率和系统性能:计算机发展的初期,计算机系统昂贵,用作集中计算方便用户:用户上机、调试程序,分散计算时的事务处理和非专业用户(商业和办公、家庭)器件的发展:CPU的位宽度(指令和数据)、快速外存。操作系统发展是随着计算机硬件技术的发展而发展的,目标:充分利用硬件操作系统操作系统的历史变化! 意味着技术总在改变 要适应、折衷权衡操作系统操作系统发展的四个阶段第1阶段:电子管时代(1946年-1955年)手工计算第2阶段 晶体管时代(1955年-1965年

9、)单道批处理系统第3阶段:集成电路时代(1965年-70年代中)多道批处理系统第4代阶段:大规模集成电路时代(70年代中-)分时系统、实时系统操作系统新的发展方向网络系统、分布式系统、嵌入式系统操作系统第1阶段:电子管时代(1946年-1955年)手工操作,没有OS集中计算(计算中心),计算机资源昂贵程序通过插板或卡片装入操作系统没有操作系统之前的程序运行过程要运行一个作业,先将程序写在纸上(用高级语言或汇编语言)然后穿孔成卡片,再将卡片盒交给操作员计算结果从打印机上输出操作员到打印机上撕下运算结果送到输出室程序员稍后可从取到结果然后,操作员从输入室的卡片盒中读入另一个任务如果需要FORTRA

10、N编译器,还要把它取来读入计算机机时在走来走去时被浪费操作系统第1阶段的特点工作方式用户:用户既是程序员,又是操作员;用户是计算机专业人员编程语言:为机器语言输入输出:纸带或卡片计算机的工作特点用户独占全机:不出现资源被其他用户占用,资源利用率低;CPU等待用户:计算前,手工装入纸带或卡片;计算完成后,手工卸取纸带或卡片;CPU利用率低主要矛盾计算机处理能力的提高,手工操作的低效率(造成浪费);用户独占全机的所有资源提高效率的途径专门的操作员,批处理操作系统第2阶段:晶体管时代(1955年-1965年)利用磁带把若干个作业分类编成作业执行序列,每个批作业由一个专门的监督程序(Monitor)自

11、动依次处理程序设计语言诞生:FORTRAN 1954年提出,1956年设计完成ALGOL 1958年引入COBOL 1959年引入设计人员、操作人员、程序人员和维护人员之间有了明确的分工操作系统单道批处理操作系统- 现代操作系统雏型批处理中的作业的组成用户程序数据作业说明书(作业控制语言)批供一次加载的磁带或磁盘,通常由若干个作业组装成,在处理中使用一组相同的系统软件(系统带)操作系统单道批处理操作系统-联机批处理用户提交作业:以纸带或卡片为介质;操作员合成批作业:结果为磁带介质;批作业处理:对批作业中的每个作业进行相同的处理:从磁带读入用户作业和编译链接程序,编译链接用户作业,生成可执行程序

12、;启动执行;执行结果输出。这时的问题:慢速的输入输出处理仍直接由主机来完成。输入输出时,CPU处于等待状态操作系统单道批处理操作系统-脱机批处理利用卫星机完成输入输出功能。主机与卫星机可并行工作卫星机:完成面向用户的输入输出(纸带或卡片),中间结果暂存在磁带或磁盘上。作业控制命令由监督程序(monitor)来执行,完成如装入程序、编译、运行等操作。优点:同一批内各作业的自动依次更替,改善了主机CPU和I/O设备的使用效率,提高了吞吐量。缺点:磁带或磁盘需要人工装卸,作业需要人工分类,监督程序易遭到用户程序的破坏(由人工干预才可恢复)操作系统通道和中断技术60年代初,发展了通道技术和中断技术,这

13、些技术的出现使监督程序在负责作业运行的同时提供I/O控制功能。通道:用于控制I/O设备与内存间的数据传输。启动后可独立于CPU运行,实现CPU与I/O的并行。通道有专用的I/O处理器,可与CPU并行工作可实现 I/O联机处理中断是指CPU在收到外部中断信号后,停止原来工作,转去处理该中断事件,完毕后回到原来断点继续工作。中断处理过程:中断请求,中断响应,中断点(暂停当前任务并保存现场),中断处理例程,中断返回(恢复中断点的现场并继续原有任务可处理算术溢出和非法操作码,死循环(利用时钟中断进行超时限定)监督程序发展为执行系统(executive system),常驻内存操作系统典型的单道批处理操

14、作系统典型操作系统FMS(FORTRAN Monitor System,FORTRAN监控系统)IBMSYS(IBM为7094机配备的操作系统)这些操作系统由监控程序,特权指令,存储保护和简单的批处理构成操作系统单道批处理操作系统的不足 在IBM 7094机上,若当前作业因等待I/O而暂停, CUP只能踏步直至该I/O完成CPU和I/O设备使用忙闲不均(取决于当前作业的特性)对于CPU操作密集科学计算问题,浪费时间少对于商业数据处理,I/O等待时间常占8090解决方案多道批处理技术操作系统第3阶段:集成电路时代(1965年-70年代)多道批处理操作系统将内存分几个部分,每部分放不同的作业当一个

15、作业等待I/O时,另一个作业可以使用CPU在主存中同时驻留多个作业需要硬件进行保护,以避免信息被窃取或攻击多道批处理的运行特征多道:内存中同时存放多道相互独立的程序宏观上并行:宏观上,系统中的多道程序都在运行,在一定的时间间隔内都取得进展微观上串行:在任意时刻,只有一道程序占有CPU 操作系统Spooling 技术程序卡片被拿到机房后能够很快将一作业从卡片读入磁盘任何时刻当一作业运行结束操作系统就将一新作业从磁盘读出装入空出的内存区运行Spooling技术(Simultaneous Peripheral Operation On Line)该技术也用于输出操作系统多道批处理系统的特点优点:资源

16、利用率高:CPU和内存利用率较高;作业吞吐量大:单位时间内完成的工作总量大;缺点:用户交互性差:整个作业完成后或中间出错时,才与用户交互,不利于调试和修改;作业平均周转时间长:短作业的周转时间显著增长;问题的解决导致分时系统的出现时间CPUI/O设备ABCABC操作系统分时系统分时系统实际上是多道程序的一个变种,分时系统的思想于1959年在MIT提出“分时”的含义分时是指多个用户分享使用同一台计算机。多个程序分时共享硬件和软件资源多个用户分时:单个用户使用计算机的效率低,因而允许多个应用程序同时在内存中,分别服务于不同的用户。有用户输入时由CPU执行,处理完一次用户输入后程序暂停,等待下一次用

17、户输入时走时停前台和后台程序(foreground & background)分时:后台程序不占用终端输入输出,不与用户交互现在的图形用户界面(GUI),除当前交互的程序(输入焦点)之外,其他程序均作为后台通常按时间片(time slice)分配:各个程序在CPU上执行的轮换时间操作系统抢先式和非抢先式抢先式和非抢先式(preemptive & non-preemptive):出让CPU是OS强迫或程序主动抢先式:OS强近出让CPU;非抢先式:程序主动出让CPU;操作系统分时系统的特点分时处理:用户与应用程序随时交互,控制程序运行,适于商业和办公事务处理缩短响应时间人机交互性好:在调试和运行程

18、序时由用户自己操作共享主机:多个用户同时使用用户独立性:对每个用户而言好象独占主机现在的许多操作系统都具有分时处理的功能,在分时系统的基础上,操作系统的发展开始分化,如实时系统、通用系统、个人系统等操作系统最初的从分时系统第一个分时系统由 MIT的Fernando Corbato 等1961年在一改装的IBM 7090/94机上开发成功当时有32个交互式用户IBM 7090/94计算机有32K内存,系统用5K,用户用27K,用户存储映象在内存和一台磁鼓之间切换1962年Manchester大学的Atlas计算机投入运行运行速度200 kFLOPS第一个有虚拟存储器(virtual memory

19、)和页面调度(paging) 的机器操作系统实时系统(real-time system)用于工业过程控制、军事实时控制、金融等领域,包括实时控制和实时信息处理两种要求:响应时间短,在一定范围之内;系统可靠性高任务的类型:周期性实时任务:非周期性实时任务:截止时间(deadline),开始截止时间(最晚开始时间)和完成截止时间(最晚完成时间) 目前的操作系统,通常具有分时、实时和批处理功能,又称作通用操作系统。可适用于计算、事务处理等多种领域,能运行在多种硬件平台上,如 UNIX系统、Windows NT等。通用化、小型化操作系统系列机思想与IBM System/360系统需求多数厂商有几条完全

20、不同的生产线,生产不同的计算机,开发和维护完全不同的产品,对厂商来说是昂贵的另外,新用户在开始时只需要一台小计算机,后来可能需要一台大的计算机,而且希望能在新计算机上执行原有的程序。这样,厂家和用户需要软件在不同型号的计算机之间兼容1964 年IBM 宣布推出System/360计算机系统是第一个采用小规模集成电路的主流机型所有的计算机都有相同的体系结构和指令集在理论上,为一型号编写的程序可以在其他型号机器上 运行操作系统IBM System/360面临的困境IBM无法写出同时满足互冲突需要的操作系统,其实别人也一样不能完成这项工作任务数千名程序员写的数百万行汇编语言代码,系统自身占据了大量存

21、储空间和一半的CPU时间数百万行汇编代码中有成千上万处错误,IBM不断发行新的版本试图更正这些错误每个新版本在更正老错误的同时又引入新错误,所以随着时间的流逝,错误的数量大致保持不变IBM 的 OS/360 发布时,带着已知的 1000 个错误这便是软件危机, 软件工程应运而生操作系统MULTICS的灾难1965年MIT、贝尔实验室和通用电气公司决定开发一种“公用计算服务系统”, 希望能够同时支持整个波士顿所有的分时用户。该系统称作MULTICSMULTICS设计目标是:便利的远程终端使用,大量终端通过电话线接入计算机主机MULTICS研制难度超出了所有人预料长期研制工作达不到预期目标,196

22、9年4月贝尔实验室退出,不久通用电气公司也退出了MULTICS引入了许多现代操作系统领域概念雏形,对随后操作系统特别是UNIX的成功有着巨大的影响操作系统提出的新问题易于使用,提高人的生产力合理的响应时间引入文件系统,使用户可存取数据操作系统解决办法需要抢占式调度,以便保持适当的响应时间需要避免抖动(程序在内存中过于频繁的对换)需要提供适用的安全检测操作系统UNIX的诞生1969年,在贝尔退出MULTICS研制项目后,Ken Thompson和Dennis M. Ritchie 想申请经费买计算机从事操作系统研究,但多次申请得不到批准项目无着落,他们在一台无人用的PDP-7上,重新摆弄原先在M

23、ULTICS项目上设计的“空间旅行”游戏为了使游戏能够在PDP-7上顺利运行,他们陆续开发了浮点运算软件包、显示驱动软件,设计了文件系统、实用程序、shell 和汇编程序到了1970年,在一切完成后,给新系统起了个同MULTICS发音相近的名字UNIX1972年,UNIX用C语言全部重写,自此,UNIX诞生了操作系统UNIX的崛起贝尔实验室免费向各大学提供UNIX供教学、科研使用,版本6以前源代码公开,因此变得很流行促使UNIX系统成功的因素: 首先,由于UNIX是用C语言编写,因此它是可移植的第二,系统源代码非常有效,系统容易适应特殊的需求最后,也是最重要的一点,它是一个良好的、通用的、多用

24、户、多任务、分时操作系统UNIX的典型版本System V, BSDSolaris, AIX, HPUnix, IRIX, SCO 操作系统MINIX的出现在AT&T公布版本7时开始认识到UNIX的商业价值,于是禁止在课程中研究其源代码为了教学的需要,1987年荷兰籍教授Andrew S. Tanenbaum编写了一个在PC机上运行的类“UNIX”的操作系统MINIX,用于教学目的MINIX没有借用AT&T的一行源代码,其名称源于“小UNIX”同样采用c语言编码,代码采用了比UNIX更模块化的组织方法采用了微内核的结构,不包括Unix的Shell和许多工具程序操作系统第4代阶段:大规模集成电路

25、时代(1980年-)个人计算机的诞生1975年4月,MITS公司推出了以8080为CPU的世界上第一台个人计算机Altair 8800,它的内存只有1K字节,当时的价格为375美元。Altair 8800的BASIC语言解释器来自Bill Gates1975年,MOS Technology公司推出了MC6501和MC6502两款8位微处理器芯片,它们的价格分别为20美元和25美元,而当时Intel 8080的价格为150美元。日后Steve Jobs在组装Apple II微型计算机时,采用了比较便宜的MC6502。Apple II具有4KB RAM、16KB ROM、键盘、游戏杆、8个扩充插槽

26、以及彩色显示器,是世界上第一台能够显示彩色图形的个人计算机。Apple II一经推出便在市场上迅速走红,为成立不久的Apple带来滚滚财源,Apple II的热潮一直持续到80年代初PC机的出现,推动了LAN的发展网络:允许不同机器很容易共享资源操作系统个人计算机操作系统个人计算机操作系统的特征放弃多道程序、并发和保护机制,使 OS 回归简单使用户再次与系统交互增强文件系统响应时间、保护更为重要常用的个人计算机操作系统单用户单任务:MS DOS单用户多任务:Windows多用户多任务:Linux, UNIX, FreeBSD操作系统MS个人计算机的成功,逼得IBM采取紧急战略行动,决定要在19

27、80年尽快生产出微型计算机,以应付挑战但没有操作系统不行。要想快就是找现成系统配套,IBM公司洽谈 CP/M操作系统不顺利,机遇落到了微软公司在关键时刻,开发新操作系统时间和人手上已经不可能,微软找到西雅图计算机产品公司,用5万美圆的价格购买了西雅图计算机产品公司的QDOS操作系统当时西雅图公司并不知道QDOS将被转卖给IBM,否则历史将会怎样演变,谁也无法知晓操作系统MS DOSIBM在1981年推出个人计算机,宣布了DOS操作系统随着IBM PC和MS DOS普及,CP/M逐渐走向下坡路MS DOS有优良的文件系统但受到Intel x86体系结构的限制缺乏以硬件为基础的存储保护机制它属于单

28、用户单任务操作系统从1981的 1.0版到2019年在Windows 95/98之下的7.0版,MS DOS历经了16个年头操作系统苹果公司的困境与机遇在推出IBM PC后,市场非常成功,苹果公司推出Lisa机遭到失败,Apple III型也遭到失败1979年苹果公司允许施乐公司购买一百万股的苹果公司股票作为回报,施乐公司允许苹果公司的少数人员,包括乔布斯,在有限的时间内考察施乐公司Palo Alto研究中心内部,并同该思想库的研究人员交谈苹果公司对Palo Alto研究中心内的技术大感吃惊:施乐公司在拥有这些宝贵技术的同时竟然什么也没有做!操作系统Palo Alto70年代计算机研究思想库图

29、形界面手持鼠标面向对象程序设计微机网络桌面出版和激光打印操作系统Macintosh(MAC OS)在访问的基础上,苹果决定立即开发采用这些新技术的个人计算机1984年,人们看到一则广告:“What was that?”和对Macintosh的介绍, 这是配有图形界面操作系统 MAC OS和鼠标的新型个人计算机MAC机一上市立即在市场上获得极大的成功当年比尔.盖茨曾经购买了一台Macintosh作为礼物送给母亲Macintosh把苹果公司从连续的失败中拯救出来,苹果公司又开始向前发展正是Mac先进图形界面操作系统技术,超前PC机若干年,造就了一批苹果的忠实追随者操作系统一波三折的微软Window

30、s操作系统1983年10月,PC机竞争厂家的图形界面相关产品上市面对市场压力,比尔.盖茨在1983年11月10日宣布推出Windows操作系统然而宣布容易,交货就不简单了,Windows交货期的灾难,成了当年计算机界的笑柄直到1985年11月20日,Windows 1.0才正式上市操作系统Windows的历史记录Windows在当时微软历史上创了几个记录:延迟交货次数最多,投入开发人员最多,开发时间最长,更换主管人员最多不过几年之后,Windows终于创造了销售成绩最佳的历史记录1992年4月,推出Windows 3.1, 1993年5月,发表Windows NTWindows 95,Wind

31、ows CE,Windows 98,Windows 2000,Windows XP,个人计算机采用Windows占90以上,微软公司成了垄断PC行业的同义词操作系统Windows操作系统的发展历程操作系统IBM大型计算机操作系统OS/39090年代末期,电子商务发展刺激对计算能力的要求,导致大型机市场的再度升温三十年的改进,IBM S/390已成为有高可靠性、可扩展性、及安全可用性的现代大型计算机系统支持即UNIX 95标准,UNIX应用程序可在IBM OS/390上运行同时还可继续运行S/390应用程序,包括S/370上开发的应用程序包括TCP/IP的多种通信协议,具有高网络安全性采用面向对

32、象程序设计、并行处理、分布式处理以及客户机/服务器技术,具有较强的互操作性、可移植性与可扩展性操作系统OS390的意义由于历史渊源,OS/390有不同的系统运行方式:S/370本机模式,支持原先在S/370运行的程序ESA/390模式,支持到10个240M处理器内存和256个通道ESA/390 LPAR模式,系统可分成最多十个部分,每个部分有自己的CPU,存储器和通道,且分别运行不同的操作系统,如S/370, ESA/370 和ESA/390等在PC机时代,人们曾经估计大型计算机会衰亡, IBM S/390是大型计算机复活的一个典型,那么,在21世纪的Internet和后PC的时代,大型机前景

33、如何?操作系统嵌入式操作系统的代表VxWorksVxWorks支持各种工业标准,包括POSIX, ANSI C和TCP/IP网络协议VxWorks运行系统的核心是一高效率的微内核微内核支持各种实时功能,包括快速多任务处理,中断支持,抢占式和轮转式调度微内核设计减轻了系统负载并可快速响应外部事件从只需几千字节存储器的深嵌式产品设计到复杂高端实时系统设计,开发人员有八十多个选件并可构成上百个不同的配置(根据需要定制)操作系统VxWorks的意义VxWorks开发主机:Windows 9x,Windows NT, Sun Solaris, SunOS, HP-UX等支持目标微处理器:86, 68k,

34、 PPC, CPU 32, i960, SPARC, SPARCLite, SH, ColdFire, R3000, R4000, C16X, ARM, MIPS等在“极地登陆者”号,“深空二号”和火星气候轨道器等登陆火星探测器上,就采用了VxWorksVxWorks负责火星探测器全部飞行控制,包括飞行纠正、载体自旋和降落时的高度控制等,而且还负责数据收集和与地球的通信工作目前在国内也占据嵌入式开发系统市场主要份额操作系统Linux的产生基础1991年初开始,因不满MINIX的缺乏实用性,芬兰大学生Linus详细研究386-MINIX,并逐步产生了编写一个新的386平台操作系统的想法在开发新操

35、作系统的过程,Linus使用了大量的GNU软件,包括gcc。GNU是FSF支持的免费操作系统开发计划同时,他也实现了与POSIX标准兼容。 POSIX是由IEEE 和ISO/IEC 开发的一簇标准。该标准是基于现有的UNIX 实践和经验,描述了操作系统的调用服务接口,用于保证编制的应用程序可以在源代码一级上在多种操作系统上移植运行操作系统Linux的诞生1991 年10 月5 日,Linus 在comp.os.minix 新闻组上发布消息,正式向外宣布Linux 内核系统的诞生(Free minix-like kernel sources for 386-AT)Linus 申明他开发的操作系统

36、没有使用一行minix 的源代码Linux采用宏内核结构,Linus在设计时大量参考了系统V的,所以说Linux是UNIX的延续操作系统Linux的技术特点(1)符合POSIX 1003.1标准,支持部分BSD和System V的系统接口POSIX 1003.1标准定义了一个最小的UNIX操作系统接口支持多用户、多任务采用虚拟内存管理技术支持请求页式虚拟内存管理技术支持缓冲机制(设备缓冲区缓存、页面缓存和交换缓存)操作系统Linux的技术特点(2)支持动态链接支持多种文件系统支持大部分GNU软件可利用DOS/Windows模拟器运行DOS和Windows程序全面支持TCP/IP网络操作系统Li

37、nux和Linux内核的关系通常所说的Linux是指Linux内核和运行于内核之上的各种管理程序和应用程序内核只是Linux操作系统的一部分Linux的商业发行版本很多,常见的有Redhat、Turbo、嵌入式Linux、实时Linux等等操作系统商业发行版的特点商业发行版增加了安装程序、X Windows、各种编程语言、网络支持软件、各种服务器软件、Java核心支持中文平台、应用软件、游戏等更重要的是可以提供技术支持商业版本的版本号和内核的版本号没有统一的对应关系操作系统Linux内核的版本Linux内核的版本版本号的格式:x.yy.zzx,y,z介于0到9之间x表示内核的设计在技术上有重大

38、改变;yy偶数时表示发行版,代码运行稳定,奇数进表示开发版本,技术最新;zz则表示仅对前一版本有些微小改变Linux内核的0.0.2版本在1991年公开发行,2.2版本2019年1月发行目前最新版本是2.6操作系统Linux内核的版权尽管源代码公开,但受FSF(自由软件基金会)的版权规则GPL(General Public License)的制约详细规定见/usr/src/linux/COPYING操作系统Linux内核源代码的获取方式商业发行版本附带的发行版内核,通常不是最新的中国自由软件库(最新版)发行商网站redhat官方网站操作系统操

39、作系统领域中新的操作系统有线电视机顶盒领域, PowerTV移动通信领域,EPOC掌上计算机领域,Palm OS数字影像领域, Digita操作系统研究中的新的操作系统哈佛大学的VINO,使应用得以重用内核构件犹他州大学的OSKit,提供构造操作系统所需的基础构件,也提供高层次构件。OSKit可用来构造新的OSMIT Exokernel,该系统只有一个极小的核。系统抽象通过Library Operating System完成加州大学伯克利分校NOW集群操作系统,100台Ultra SPARC-I处理机集群,排名于世界最快的200台超级计算机之内NASA空间飞行中心(GSFC)研制Beowulf

40、项目开始于1994年,用商业化的微型计算机,Linux和以太网等构造集群。已有世界各地的约六十个大学和研究机构在使用操作系统国内操作系统的研制状况60年代末至70年代初,杨芙清主持的我国第一台百万次集成电路计算机(150)操作系统支持多道程序运行,在石油勘探领域成功应用70年代中后期,杨芙清的我国第一个全部用高级语言书写的DJS240机操作系统DJS200/XT2GX73多机实时操作系统(1978年)国防科技大学,1980年装在“远望”-I 号航天测量船上,完成了向太平洋发射运载火箭、潜水艇水下发射的测控任务;完成了我国第一颗同步地球卫星的测控、定轨、控制任务操作系统国内操作系统的研制状况(续

41、)“银河”-1 YHOS巨型操作系统(1983年)国防科技大学,用于YH-1、YH-2超级计算机,用于我国的石油勘探、天气预报和核物理研究 COSIX v 1.X/2.0 国产UNIX类操作系统(国家八五、九五重点科技攻关成果,以中软为首,联合国内18个单位共同完成)微内核结构,安全级别超过B1,中文界面嵌入式操作系统Hopen(女娲计划)Linux类操作系统 操作系统操作系统做什么?#include int main(int argc, char *argv) printf(“%sn”,hello world); return 0; 重要概念:进程,文件,系统调用操作系统Hello执行过程(

42、1)用户告诉操作系统执行hello程序操作系统找到该程序,检查其类型检查程序首部,找出正文和数据的地址文件系统找到第一个磁盘块父进程需要创建一个新的子进程,执行hello程序操作系统Hello执行过程(2)操作系统需要将执行文件映射到进程结构操作系统设置CPU上下文环境,并跳到程序开始处程序的第一条指令执行,失败,缺页中断发生操作系统分配一页内存,并将代码从磁盘读入,继续执行操作系统Hello执行过程(3)更多的缺页中断,读入更多的页面程序执行系统调用,在文件描述符中写一字符串操作系统检查字符串的位置是否正确操作系统找到字符串被送往的设备设备是一个伪终端,由一个进程控制操作系统Hello执行过

43、程(4)操作系统将字符串送给该进程该进程告诉窗口系统它要显示字符串窗口系统确定这是一个合法的操作,然后将字符串转换成像素窗口系统将像素写入存储映像区操作系统Hello执行过程(5)视频硬件将像素表示转换成一组模拟信号控制显示器(重画屏幕)显示器发射电子束你在屏幕上看到hello world操作系统测测你的计算机基础知识描述计算机的启动过程描述两台连网计算机的数据传输过程描述键盘输入到屏幕的显示过程操作系统单道、多道、分时、实时的比较操作系统单道和多道批处理的比较共同目的是提高CPU的利用率操作系统多道批处理系统上的技术作业调度:作业的现场保存和恢复上下文切换资源共享:资源的竞争和同步互斥(ex

44、clusion)和同步(synchronization)机制内存使用:提高内存使用效率(为当前由CPU执行的程序提供足够的内存)覆盖(overlay),交换(swap)和虚拟存储(virtual memory)内存保护:系统存储区和各应用程序存储区不可冲突存储保护文件非顺序存放、随机存取出现:作业管理、处理机管理、存储管理、设备管理、文件系统管理(file system)操作系统分时目的是提高响应速度(秒级)操作系统分时系统的类型单道分时:调入-调出(Roll-in/Roll-out),I/O开销太大(在有卫星机处理I/O时,单道分时是有用的)前台后台分时:后台存放批处理作业,内存的划分是固定

45、的,不灵活多道分时:需要解决加载程序时地址空间重定位的问题操作系统实时目的是进一步提高响应速度(毫秒、微秒级)响应时间:指用户发出命令,到系统完成用户命令所需的时间批处理操作系统 没有分时操作系统 秒级(一般情况)实时操作系统 毫秒、微秒级 甚至更小 操作系统实时系统与批处理和分时系统的区别专用系统:许多实时系统是专用系统,而批处理与分时系统通常是通用系统实时控制:实时系统用于控制实时过程,要求对外部事件的迅速响应,具有较强的中断处理机构高可靠性:实时系统用于控制重要过程,要求高度可靠,具有较高冗余。如双机系统事件驱动和队列驱动:实时系统的工作方式:接受外部消息,分析消息,调用相应处理程序进行

46、处理。可与通用系统结合成通用实时系统:实时处理前台作业,批处理为后台作业操作系统当代操作系统的两大发展方向在当代,操作系统的发展正在呈现更加迅猛的发展态势从规模上看,操作系统向着大型和微型的两个不同的方向发展着大型系统的典型是分布式操作系统和群集操作系统而微型系统的典型则是嵌入式操作系统操作系统多处理机操作系统多处理操作系统的出现是为了提高计算机系统性能和可靠性提高性能有两条途径:提高各个组成部分的速度、增大处理的并行程度。1975年前后,出现多处理机系统(multi-processor)多处理机系统的特点增加系统的吞吐量:N个处理器加速比达不到N倍(额外的调度开销,算法的并行化)提高系统可靠

47、性:故障时系统降级运行操作系统多处理机系统的类型紧密耦合(tightly-coupled):各处理机之间通过快速总线或开关阵列相连,共享内存,整体系统由一个统一的OS管理(一个OS核心)。松散耦合(loosely-coupled):各处理机带有各自的存储器、I/O设备和操作系统,通过通道或通信线路相连。每个处理机上独立运行OS操作系统多处理机系统的类型非对称式多处理(Asymmetric Multiprocessing, ASMP):又称主从模式(Master-slave mode)。主处理器:只有一个,运行OS。管理整个系统的资源,为从处理器分配任务;从处理器:可有多个,执行应用程序或I/O

48、处理。特点:不同性质任务的负载不均,可靠性不够高,不易移植(通常要求硬件也是“非对称”)操作系统多处理机系统的类型对称式多处理(Symmetric Multiprocessing, SMP):OS交替在各个处理器上执行。任务负载较为平均,性能调节容易傻瓜式操作系统对称多处理机与非对称多处理机的比较操作系统网络操作系统 网络操作系统是在通常操作系统功能的基础上提供网络通信和网络服务功能的操作系统。网络操作系统为网上计算机进行方便而有效的网络资源共享,提供网络用户所需各种服务的软件和相关规程的集合。 网络功能与操作系统的结合程度是网络操作系统的重要性能指标。早期的作法是通常操作系统附加网络软件,过

49、渡到网络功能成为操作系统的有机组成部分。它们的区别在于:网络功能的强弱、使用是否方便等操作系统网络操作系统的功能和定义通常操作系统的功能:处理机管理、存储器管理、设备管理、文件管理等;网络通信功能:通过网络协议进行高效、可靠的数据传输;网络资源管理:协调各用户使用;网络服务:文件和设备共享,信息发布;网络管理:安全管理、故障管理、性能管理等;互操作:直接控制对方比交换数据更为困难;操作系统分布式操作系统分布式系统:处理和控制的分散(相对于集中式系统)分布式系统是以计算机网络为基础的,它的基本特征是处理上的分布,即功能和任务的分布。分布式操作系统的所有系统任务可在系统中任何处理机上运行,自动实现

50、全系统范围内的任务分配并自动调度各处理机的工作负载操作系统分布式操作系统与网络操作系统的比较耦合程度:分布式系统是紧密耦合系统:分布式OS是在各机上统一建立的(OS同质),直接管理CPU、存储器和外设;统一进行全系统的管理;网络通常容许异种OS互连,各机上各种服务程序遵从统一的网络协议(协议同质)。并行性:分布式OS可以将一个进程分散在各机上并行执行(进程迁移);网络则各机上的进程独立操作系统分布式操作系统与网络操作系统的比较透明性:用户是否知道或指定资源在哪个机器上(如CPU、内存或外设)。分布式系统的网络资源调度对用户透明,用户不了解所占有资源的位置;网络操作系统中对网络资源的使用要由用户

51、明确指定;健壮性:分布式系统要求更强的容错能力(工作时系统重构)操作系统嵌入式操作系统是运行在嵌入式智能芯片环境中,对整个智能芯片以及它所操作、控制的各种部件装置等等资源进行统一协调、调度、指挥和控制的系统软件操作系统嵌入式操作系统的特点完成某一项或有限项功能;不是通用型的在性能和实时性方面有严格的限制能源、成本和可靠性通常是影响设计的重要因素占有资源少、易于连接系统功能可针对需求进行裁剪、调整和生成,以便满足最终产品的设计要求操作系统嵌入式操作系统的应用智能卡移动通信计算机外设机顶盒零售设备印刷机复印机互联网服务器电话交换设备操作系统影响操作系统发展的因素硬件(成本)新技术(支持)使用户/程

52、序员开心(使用方式)操作系统操作系统的特征并发(concurrency)共享(sharing)虚拟(virtual)异步性(asynchronism)操作系统并发(concurrency)并发:两个或多个事件在同一时间间隔内发生并行:两个或多个事件在同一时刻内发生操作系统是一个并发系统各进程间的并发系统与应用间的并发操作系统要完成这些并发过程的管理操作系统并发(concurrency)在多道程序处理时,宏观上并发,微观上交替执行(在单处理器情况下)程序的静态实体是可执行文件,而动态实体是进程(或称作任务),并发指的是进程操作系统共享(sharing)多个进程共享有限的计算机系统资源。操作系统要

53、对系统资源进行合理分配和使用资源在一个时间段内交替被多个进程所用互斥共享(如音频设备):资源分配后到释放前,不能被其他进程所用。同时访问(如可重入代码,磁盘文件)操作系统虚拟(virtual)一个物理实体映射为若干个对应的逻辑实体分时或分空间虚拟是操作系统管理系统资源的重要手段,可提高资源利用率CPU每个用户(进程)的虚处理机存储器每个进程都占有的地址空间(指令数据堆栈)显示设备多窗口或虚拟终端(virtual terminal)操作系统异步性(asynchronism)也称不确定性,指进程的执行顺序和执行时间的不确定性进程的运行速度不可预知:分时系统中,多个进程并发执行,时走时停,不可预知每

54、个进程的运行推进快慢无论快慢,应该结果相同通过进程互斥和同步手段来保证操作系统异步性(asynchronism)难以重现系统在某个时刻的状态(包括重现运行中的错误)性能保证:实时系统与分时系统相似,但通过资源预留以保证性能操作系统操作系统的服务服务类型程序执行和终止(包括分配和回收资源)I/O操作文件系统操作通信:本机内,计算机之间(通常通信服务的使用者为进程,而不是笼统说主机)配置管理:硬件、OS本身、其他软件差错检测服务提供方式:系统命令和系统调用操作系统操作系统的功能处理机管理存储管理文件管理设备管理作业管理操作系统处理机管理为了提高CPU的利用率 ,现代操作系统大都采用多道程序技术。如

55、果一个程序因等待某一条件而不能运行下去时,就把处理器占用权转交给另一个可运行程序。或者,当出现了一个比当前运行的程序更重要的可运行的程序时,后者应能抢占CPU。为了描述多道程序的并发执行,引入了进程的概念。所以处理机管理通常也称为进程管理。操作系统处理机管理进程控制进程同步进程通信进程调度操作系统存储管理任务为多道程序的并发提供良好的环境便于用户使用存储器提高存储器利用率为尽量多的用户提供足够大的存储空间操作系统存储管理功能内存分配:静态和动态分配内存保护(隔离)地址影射(共享)内存扩充(虚存)存储功能与硬件存储器的组织结构密切相关操作系统文件管理文件存储空间的管理目录管理文件读、写管理文件保

56、护向用户提供接口操作系统文件管理 文件管理的任务是有效地支持文件的存储、检索和修改等操作,解决文件的共享、保密和保护问题,以使用户方便、安全地访问文件操作系统设备管理任务为用户程序分配I/O设备完成用户程序请求的I/O操作提高CPU和I/O设备的利用率:中断;通道改善人机界面操作系统设备管理功能缓冲管理设备分配设备处理虚拟设备功能为了发挥设备和处理器的并行工作能力,设备管理广泛采用虚拟技术和缓冲技术操作系统作业管理作业调度作业控制批量型作业终端型作业 作业管理即用户接口,它的任务是为用户提供一个使用系统的良好环境,使用户能有效地组织自己的工作流程,并使整个系统能高效地运行操作系统操作系统结构随

57、着操作系统的发展,功能越强,OS自身代码量越大采用良好的结构:有利于保证正确性以及自身修改和扩充整体或模块结构分层结构或虚拟机客户/服务器模型或微内核结构操作系统整体或模块结构模块结构的特点:模块由众多服务过程(模块接口)组成,可以随意调用其他模块中的服务过程整个系统按功能进行设计和模块划分。系统是一个单一的、庞大的的软件系统。这种结构思想来源于服务功能观点,而不是资源管理的观点。操作系统整体或模块结构的特点优点:具有一定灵活性,在运行中的高效率缺点:功能划分和模块接口难保正确和合理;模块之间的依赖关系(功能调用关系)复杂(调用深度和方向),降低了模块之间的相对独立性不利于修改操作系统分层结构

58、或虚拟机从资源管理观点出发,划分层次在某一层次上代码只能调用低层次上的代码,使模块间的调用变为有序性系统每加一层,就构成一个比原来功能更强的虚拟机。有利于系统的维护性和可靠性操作系统分层结构的特点优点功能明确,调用关系清晰(高层对低层单向依赖),有利于保证设计和实现的正确性低层和高层可分别实现(便于扩充);高层错误不会影响到低层;避免递归调用缺点降低了运行效率各系统对具体划分多少层次有不同的看法操作系统客户/服务器模型或微内核结构把操作系统分成若干分别完成一组特定功能的服务进程,等待客户提出请求;而系统内核只实现操作系统的基本功能(如:虚拟存储、消息传递)微内核(micro-kernel):将

59、更多操作系统功能放在核心之外,作为独立的服务进程运行;服务进程(或称作“保护子系统”)客户进程(系统客户和应用客户)需支持多进程操作系统客户/服务器模型或微内核结构本地过程调用 (LPC, Local Procedure Call):一种进程之间请求-应答式的消息(Message)传递机制。消息:是一定格式的数据结构。发起调用,送出请求消息请求消息到达并进行处理送出回答消息整理回答消息,返回结果;如:对文件create, read, write操作系统微内核模式的特点优点:良好的扩充性:只需添加支持新功能的服务进程即可可靠性好:调用关系明确,执行转移不易混乱便于网络服务,实现分布式处理:以同样

60、的调用形式,在下层可通过核心中的网络传送到远方服务器上 (远地过程调用 RPC, Remote Procedure Call)缺点:消息传递比直接调用效率要低一些 (但可以通过提高硬件性能来补偿 )RPC的过程:RPC应用程序RPC Stub(client)NetworkRPC Server进行本地调用操作系统7JbMePhTkWoZr$u(x+A2E5H9KcNfRiUlXp#s&v)y0C3F6IaLdPgSjVnYq!t*w-A1D4G8JbMeQhTkWoZr%u(x+B2E5H9KcOfRiUmXp#s&v)z0C3F7IaLdPgSkVnYq$t*w-A1D5G8JbNeQhTlW

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论