1、Content:n(一)课程开设背景和学习目标n(二)操作系统的基本概念n(三)操作系统的发展历程n(四)主要的操作系统类型n(五)操作系统的服务特征n(六)操作系统的主要功能n(七)unix操作系统简介(一)课程开设背景和学习目标n1.1、背景,为何开设这门课?(疑问:我将来不可能自己去开发操作系统?)n完善对计算机系统结构的理解和认识计算机硬件二者之间是?应用程序n学习操作系统的设计和实现思想,提高软件设计的能力设计结构经典算法n熟悉操作系统的运行特征和机理,编写高质量的应用程序,顺利完成高要求的应用程序开发。磁盘缓冲的例子:实时视频播出信号通信的例子:实时性问题n与操作系统相关或类似的软
2、件开发面向特定应用的操作系统定制或功能增强,比如防火墙相关设备驱动的开发或改进。嵌入式系统的开发和移植等。n1.2,学习目标:通过操作系统的学习,达到n理解操作系统的内部运行机理和实现结构。n掌握和学习一些经典的软件设计技巧和算法。n熟悉操作提供的各种服务及其特性,能够基于此编写高质量,高要求的应用程序。(二)操作系统的基本概念n2.1、操作系统要解决的问题(为何要研制操作系统)n每一个应用(或应用程序)直接在计算机硬件上进行开发很不现实。n对应用程序的开发者来讲,需要熟悉硬件的各种细节。n应用程序依赖于特定的硬件环境,而外设改变经常发生。n当有多个应用程序直接在硬件之上运行时,怎么协调应用程
3、序的各种冲突?硬件协调 or 应用程序自主协调?n对具有共性的一些功能,在每个相关应用程序中各实现一份?n2.2、操作系统就是为解决上述问题应运而生的:n在硬件之上,设计出一层系统级的软件,将应用程序和计算机硬件分割开来。该系统软件:n对下统一管理各种硬件资源n对上封装出统一的应用程序使用硬件接口n另外:将各应用程序的一些共性功能提取出来,统一集中到操作系统中进行开发。如各个应用程序之间的冲突解决,一些设备操作的相关程序,磁盘数据管理等。n功能逐渐发展和完善,一直发展成为现在的操作系统平台,能同时为多个应用程序提供可靠的支撑运行环境。n2.3,操作系统概念:资源管理角度n对计算机系统的硬件和软
4、件资源实现统一的管理,在用户和程序之间分配系统资源,使之协调一致地、高效地完成各种复杂的任务。n对CPU而言,在多个任务之间进行协调分配.n对内存资源而言,公平地分配给每个任务,并引入一些技术(内存共享、虚拟内存)等解决内存紧缺,数据高效复制,以及安全性(内存不被覆盖)等一些内存方面高级需求。n对磁盘而言,n从资源管理的角度而言,操作系统达到的目标是要高效的管理和组织有限的系统软硬件资源,完成用户或应用程序对应的运行任务。n2.4,用户(或应用程序)角度:n简单易用的、支撑用户(应用程序)任务运行的软件平台。n如果在裸机之上覆盖一层I/O设备管理软件,就能使用户较方便地使用外部设备;n如果在其
5、上再覆盖一层文件管理软件,用户就很容易存取系统文件和用户文件;n每覆盖一层新的软件,就构造了一台功能更强的虚拟机器。通过OS,计算机能提供种类更多,质量更高的服务n该软件平台对用户(应用程序)提供一定形式的接口。n对一般用户而言,所感受到的接口n命令行:通过键盘输入有关命令,可以让操作系统执行这些命令。n图形化的窗口系统:用户可以在窗口环境中通过鼠标、按键、菜单和对话框等方式操纵计算机。n对应用程序而言,所感受到的接口:系统调用n系统调用:操作系统对应用程序提供的服务接口,这些服务接口从形式上类似于一般的库函数,应用程序可以调用相应的服务接口还获得操作系统的功能支持。如调用open,read(
6、文件访问相关的系统调用)来访问磁盘上的文件等。n从主/被动角度看,操作系统在被动等待被调用,应用程序根据自己所要完成的任务主动调用操作系统提供的服务接口(即系统调用)。n2.5,软件观点:算法和数据结构的集合而成的一套软件系统。n是直接与硬件相邻的第一层软件,其它软件的运行都要依赖它的支持。n系统中永久运行的程序。(三)(三)操作系统的发展历史操作系统的发展历史n3.1 早期计算机的操作方式:无操作系统n计算机同时只能为一个用户使用,这时所有的资源都由该用户使用。n程序的每次运行都需要人工干预:n将程序或数据手工从卡片读入计算机n观察运行过程,是否正常n运行结果写到卡片上,或输出到显示设备上。
7、n由于输入/输出设备较慢,且需要人工干预,常常会出现CPU等待输入/输出的情况。n操作过程繁琐,容易出错(如拿错了数据卡片),设备利用率低。n3.2 脱机输入/输出系统:操作系统的雏形n背景:需要人工干预的、由慢速设备读入程序和数据及由慢速输出设备打印结果的过程往往占用了用户使用计算机的大部分时间。n措施:以磁带(高速设备)为中介,用外围小计算机(或专用设备)完成输入/输出。同时配置监控程序(操作系统的雏形)来控制输入/输出,以及程序执行过程。n使用磁带作为输入/输出的中介,这种具体的输入/输出不需要在主计算机上进行的方式称“脱机输入/输出”。纸带机纸带机读卡机读卡机打印机打印机卫星机卫星机输
8、入输入 带带输出输出 带带输入输入 带带输出输出 带带主机主机n3.3 批处理系统:简易的操作系统n“脱机输入/输出系统”解决了数据输入/输出慢,CPU运行受限制的问题,也解决输入,运行、输出的自动化衔接问题。n批处理系统不但解决单个程序(输入、运行、输出)的自动化问题,还解决多个程序的自动化衔接问题。n基本思想:n操作员取来一批作业,将它们输入到磁带中;n操作系统先从磁带上将第一个作业读进内存,启动它运行,并将运行结果输出到另一条磁带上;n当第一个程序运行完毕,操作系统能自动地从输入磁带上读进下一个作业,并予以运行和输出;n如此直到整批作业全部处理完毕。n批处理系统解决了高速计算机的运算、处
9、理能力与人工干预之间的速度矛盾,实现了作业自动过渡。n3.4 完善中的操作系统n由于CPU运行速度快,而外设(输入/输出设备等)运行速度慢,外设速度成为制约计算机系统任务处理效率的瓶颈。n为了解决CPU和外设之间的速度差异问题,提高CPU的任务处理效率。在60,70年出现了具有重要意义,甚至目前还在广泛引用的一些技术。n缓冲技术:n原理:在CPU和低速外设之间引入一种高速存储设备(缓冲区),CPU不直接访问低速设备,而直接访问缓冲区,缓冲区和低速设备之间再进行数据交换。n如输入缓冲:第一批数据预先从低速输入设备中读到缓冲区,CPU从缓冲区中读入这批数据,CPU处理这批数据的同时,启动输入设备输
10、入下一批数据到缓冲区。n如输出缓冲:CPU将一批运算结果输出到高速缓冲区,在计算下一批结果的同时,启动输出设备将缓冲区中的数据输出。n缓冲技术能够使CPU和外部设备做到并行操作,减少了相互等待的时间,极大地提高了CPU和各种外部设备的使用效率。n缓冲区技术不断发展,出现了n单缓冲n双缓冲n循环缓冲n缓冲池n如今缓冲区技术在很多地方得到了应用,如CPU中cache。n中断技术:n背景:CPU与外设串行工作时,CPU需要知道I/O设备什么时候完成了其I/O工作,以便让其处理下一个I/O工作或其它。另外,当I/O工作过程中出现了故障,如何让CPU知道自己出现了故障?n不停查询I/O的工作状态?实效性
11、差,且浪费CPU的时间。n基本原理:n当I/O设备完成了I/O工作(或者出现了故障),会自动向CPU发送中断信号。nCPU暂停当前工作,保护现场,执行中断处理程序n中断处理结束后,恢复被中断的运行任务。n实现中断的关键:需要CPU,外设,操作系统共同配合完成。n外设的主动通知:5伏高电压,连向CPU的一个管脚nCPU的通知响应技术:n当前任务的保存n找到并执行相应中断处理的代码n恢复(继续)原有的任务。nDMA技术:n背景:在计算机运行过程中,磁盘、磁带等块设备与内存之间数据复制的频率非常高,如果每复制一个字节都向CPU发出中断,要求进行中断处理。不停的任务切换和状态保存,CPU会疲于奔命,C
12、PU处于“活锁”状态。n直接内存访问(DMA):在内存和外设之间设置一块特殊的访问逻辑电路(设备),该设备可以接受CPU的内存访问指令(复制源,复制目的,复制长度),自动地完成磁盘和内存间的数据复制。整块复制完成之后,向CPU发送一次中断。n直接的含义?间接?nSPOOLING技术:特殊的缓冲技术n当作业要将输出送至打印机时,该输出实际上是通过系统缓冲区写到磁盘中,在该作业运行结束后,才由操作系统自动打印存储在磁盘中的输出结果。n 这种由操作系统将磁盘模拟模拟为输入/输出设备的处理方式称为SPOOLINGn以磁盘为几乎无限巨大的缓冲区来解决低速的I/O设备与高速的CPU之间的速度匹配问题。n3
13、.5 多道程序系统:现代操作系统的雏形n背景:尽管采用了各种技术来缓解CPU和外设间的速度差,但仍然会出现CPU等待外设工作的情况,缓冲区满 or 外设故障。这时CPU休息?n操作系统可将多个作业存放在作业缓冲池中。在某一时刻,操作系统从缓冲池中挑选一个作业,并开始执行该作业。n当执行中的作业因要等待用户键盘输入或等待其他设备I/O操作时,操作系统就可在缓冲池中挑选另一个作业,使其运行。只要系统中总是存在可执行的作业,CPU就永远不会因无事可干而闲着。n多道程序操作系统需要CPU的功能支持。(四)现代操作系统类型n4.1 分时系统n交互式作业环境:任务是由很多执行时间较短的动作(或命令)序列组
14、成,下一个命令的执行取决于当前命令的执行结果。所以,用户提交一个命令后,要等待执行结果,而当前命令处理结束后,系统要等待用户输入下一条命令。n系统通过多台终端同时向很多用户提供运行环境,这种分时系统就能以合理的成本向用户提供交互式地使用计算机的方便。n操作系统使用多道程序设计技术来支持在一个计算机系统内运行多个用户的程序。每一个用户的程序都驻在内存中,并按某一策略轮流运行。n分时系统的基本特征n多路性:连接多个终端,为多个用户(进程)同时提供运行服务。n独立性:各用户(进程)间互不干扰,大家都认为自己在使用整个计算机系统。n交互性:任务执行过程需要用户输入。n及时性:在较短的时间(1秒或数秒)
15、内给出运行结果。n4.2 实时系统n概念:能在限定的时间内对输入进行处理并作出响应的计算机处理系统。n硬实时系统:n主要用于工业生产的过程控制,航天系统的跟踪和控制,武器的制导等。n这类操作系统要求响应速度十分快,工作极其安全可靠。n根据任务重要情况,常常会有后备系统,后备系统又可分为热备份和冷备份两种n软实时系统:n对响应的速度要求不像硬实时系统那么高,且时限要求也不那么严格的信息查询、事务处理领域,如情报资料检索、订票系统、银行财务管理系统、信用卡记账取款系统、仓库管理系统等n4.3 微机操作系统n主要用于微型机或小型计算机。n特点:界面友好,简单易用,对可靠性,及处理效率要求不是特别高。
16、n如MS-DOS,windows系统n4.4 多处理机系统:主从式和对称式n主从式操作系统主要驻留并运行在一台称为主处理机上,它控制所有系统资源,将整个任务分解成多个子任务并将子任务分配给其他的从处理机执行,还要协调这些从处理机的运行过程。n对称式系统:处理器之间关系对等,该类系统在一段时间内可以指定一台或几台处理机来执行管理程序,协调所有处理机的运行。多处理系统主要用于大规模运算,如天气预报。n4.5 分布式操作系统n多计算机系统,这些计算机可以处于不同的地理位置和拥有不同的硬软件资源,并用通信线路连接起来,具有独立执行任务的能力,但通常不驻有完全独立的操作系统。n分布式系统具有一个统一的操
17、作系统,它可以把一个大任务划分成很多可以并行执行的子任务,并按一定的策略将它们动态地分配给各个计算机执行,并控制管理各个计算机的资源分配、运行及计算机之间的通信,以协调任务的并行执行。n以上所有的管理工作对用户都是透明的。n4.6 网络操作系统n在各种各样自治的计算机原有操作系统基础上加上具有各种网络访问功能的模块,这些模块使网络上的计算机能方便、有效地共享网络资源,实现各种通信服务的有关协议。n目前大多数操作系统都属于网络操作系统,如windows,Linux等。n4.7 嵌入式操作系统n运行在嵌入式芯片环境中,对整个芯片以及它所操作和控制的各种部件装置等资源进行统一协调、调度、指挥和控制的
18、系统软件。n嵌入式操作系统具有高可靠性、实时性、占有资源少和低成本等优点。n通常配有对应的开发环境,用户可以利用嵌入式操作系统开发环境,设计符合各种应用要求的定制嵌入式操作系统。n主要应用在工业监控、智能化家电、电子设备、智能仪器、现代化的轿车、通信系统和导航系统等领域。n4.8 智能卡操作系统n智能卡实际上是一个单片微机系统,包括中央处理机、存储部件以及对外联络的通信接口。n各类智能卡中都驻留了一个微型的操作系统,又称片内操作系统(Chip Operating System,COS)。n智能卡进行具体处理时,读写器与智能卡之间通过“命令响应对”方式进行通信和控制,即读写器发出操作命令,智能卡
19、接收命令;操作系统调用相应程序来进行数据处理,产生应答信息,加密后送给读写器。(五)操作系统的服务特征 进程的概念:程序在一个数据集合上的运行活动,它是系统进行资源分配和调度的一个可并发执行的独立单位。n并发n在某一时间间隔内计算机系统内存在着多个进程活动(与并行有区别)n共享n多个用户或程序共享系统的硬、软件资源。有互斥共享和同时共享。n虚拟n在原先的物理机器上覆盖了一至多层系统软件,将其改造成一台功能更强大而且易于使用的扩展机或虚拟机。提供了高级的抽像服务。n不确定性:使用同样一个数据集的同一个程序在同样的计算机环境下运行,每次执行的顺序和所需的时间都不相同。原因?(六)操作系统的主要功能
20、n6.1处理机管理处理机分配的主要对象是进程,操作系统通过选择一个合适的进程占有处理机。操作系统有关进程方面的管理任务很多,主要有进程调度、进程控制、进程同步与互斥、进程通信、死锁的检测与处理等。n 6.2.存储管理n存储管理的任务是对要运行的作业分配内存空间,作业运行结束时要收回其所占用的内存空间。n操作系统要对每一个作业的内存空间和系统内存空间实施保护。n运行作业在内存部分和在外存部分的交换。n6.3.设备管理n三种设备类型:字符设备,块设备,网络设备n要提高CPU和设备的并行性;n充分利用各种设备资源;n便于用户和程序对设备的操作和控制。n6.4 文件管理n文件用于用户在计算机中保存各类
21、数据资源。需要长期地、有组织、有条理的保存。并向用户提供方便的访问接口。n主要功能 文件存储空间的分配和回收,目录管理,文件的存取操作与控制,文件的安全与维护,文件逻辑地址与物理地址的映像,文件系统的安装、拆除和检查等。n6.5,网络管理n实现网络通信协议n支持各种网络应用等n6.6,服务接口n用户服务接口n程序服务接口n另外还包含一些配套的应用程序,如管理工具等。(七)(七)UNIX操作系统概述操作系统概述n7.1 UNIX系统历史n7.2 UNIX系统特点nUNIX的核心代码95%是用C语言编写的,故容易编写和修改,可移植性好。n外围系统实用程序丰富。n逻辑上无限层次的树状分级文件系统。n提供了众多的本地进程和远程主机间进程通信手段。n良好的用户界面。UNIX系统基本结构 Shell 解释程序解释程序用户程序用户程序 各种应用程序包各种应用程序包系统命令系统命令 窗口软件窗口软件 库函数库函数 系统调用系统调用核心层:核心层:存储管理存储管理 进程管理进程管理 设备管理设备管理 文件管理文件管理硬件层硬件层用户用户用户用户作业n1,计算机系统中配置操作系统的目的是什么?n4,分别说明采用缓冲技术、中断技术、DMA技术和SPOOLING技术对系统性能改进的原因。n9,为什么说用户使用的是虚拟计算机?谢谢!