




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
操作系统原理
PrinciplesofOperatingSystem薛福亮自我介绍薛福亮电子邮件:fuliangxue@163.com
课程形式课堂教学习题课课后作业
课程安排1、总课时482、考核:期末闭卷70%,平时成绩30%平时成绩:考勤(10分)平时作业(20分)3、问题:课堂、课后、电子邮件两个问题全球最大的软件公司Microsoft最重要的软件产品(立家之本)操作系统(Windows)全球第二大的软件公司Oracle最重要的软件产品(立家之本)数据库(Oracle)为什么学习操作系统加深对使用的操作系统的理解,编程时借鉴操作系统的设计思想和算法(比如插件开发)操作系统中所用的许多概念和技巧可以推广应用到其他领域存在人们意识不到的大量“操作系统”(如:嵌入式系统-家电、手机)设计操作系统或者修改现有的系统选择购买操作系统:因为我们并不总使用Windows2000/XP操作系统涉及到计算机科学很多领域计算机体系结构/硬件软件设计程序设计语言数据结构算法网络学习核心技术并能在其他地方应用操作系统是目前最复杂的软件系统重点参考书1、汤子瀛等,《计算机操作系统》,西安电子科技大学2、南京大学孙钟秀院士,《操作系统教程》第三版,高等教育出版社3、Silberschatz,《操作系统概念》(中、英文)第六版,高等教育出版社第1章操作系统概论§1.1操作系统的概念1.1.1计算机系统的结构1.问题的引入:
1、购买“操作系统”时,零售商所装的所有东西。2、一直运行在计算机上的程序§1.1操作系统的概念2.计算机系统的层次结构用户1用户2用户3用户4用户n财务系统航空订票上网浏览电子商务科学计算(应用程序)编译程序汇编程序编辑程序数据库(系统程序)操作系统计算机硬件………
提供了一良好的工作环境,方便用户的使用§1.1操作系统的概念2.计算机系统的层次结构
硬件系统(裸机):提供基本的可计算性资源,包括CPU、存储器(主存、辅存)、I/O系统
操作系统层:对硬件作扩充和改造,提供了操作系统接口,为编译程序、编辑程序、数据库系统等的设计者提供有力支撑。
系统软件:建立在操作系统改造和扩充过的机器上,提供扩展指令集,实现各种语言处理程序、数据库管理系统和其他系统程序。
应用软件:解决用户不同的应用问题§1.1操作系统的概念1.1.2操作系统的视图(作用)1.操作系统是用户与计算机硬件之间的接口。用户A(上网)用户B(欣赏音乐)用户C(办公)浏览器播放器办公软件用户需求操作界面计算机硬件
操作系统屏蔽计算机硬件的物理特性差异,给用户提供了接口§1.1操作系统的概念2.操作系统为用户提供虚拟计算机裸机极难使用,虽有很强的指令系统,从功能上来说局限性很大。加上软件后,就可在硬件基础上,对其功能和性能进行扩充和完善。例如:如果加上一层窗口管理软件,由该软件把一台物理屏幕改造成多窗口,每个应用可以在各自的窗口中操作,用户可以在窗口环境中方便地与计算机交互。操作系统是紧靠硬件的第一层软件,计算机上覆盖操作系统后,可扩展基本功能,为用户提供一台功能显著增强,使用更加方便,安全可靠性好,效率明显提高的机器,称为虚拟计算机,或操作系统虚拟机器(VirtualMachine)。
§1.1操作系统的概念3.操作系统作为计算机系统的资源管理者
在计算机系统中,能分配给用户使用的硬件和软件设施总称为资源,包括两大类:硬件资源和信息资源。这些资源是可以共享的。对资源进行抽象研究,找出各种资源共性和个性,有序地管理计算机中的硬件、软件资源,跟踪资源使用情况,监视资源的状态,满足用户对资源的需求,协调各程序对资源的使用冲突,是现代操作系统的任务之一。§1.1操作系统的概念操作系统是控制和管理计算机硬件和软件资源,合理地对各种资源进行分配和调度,规范计算机工作流程,方便用户使用的程序的集合。操作系统是计算机系统的基础软件,它常驻内存,给用户程序提供一个支撑环境,所以,操作系统有哪些成分组成变得非常重要。一个比较公认的定义是操作系统是一直运行在计算机上的系统程序(通常称为内核),其它程序则为应用程序,运行在操作系统提供的良好环境中。§1.1操作系统的概念1.1.3现代操作系统的特点:
现代操作系统尽管种类繁多,功能差别很大,但它们仍然具有一些共同的特征。现代操作系统具有并发性、共享性、虚拟性和异步性。
1.并发性(concurrence)
并发性是指两个或多个事件或活动在同一时间间隔内发生。操作系统是一个并发的系统,并发性是它最重要的特性。操作系统的并发性是指计算机系统中同时存在若干个运行的程序,这些程序在执行时间上重叠。§1.1操作系统的概念
2.共享性(sharing)
共享性是现代操作系统的另一个重要特征。共享是指系统中的硬件和软件资源不再为某个程序所独占,而是供多个用户共同使用。资源共享的方式有两种:(1)互斥访问。系统中的某些资源,如打印机、磁带机等,它们虽然可以提供给多个程序使用,但在同一时间段内却只允许一个程序访问这些资源,即要求互相排斥地使用这些资源。(2)同时访问。计算机系统中还有一些资源,允许同一时间内多个程序对它们进行访问。典型的可同时访问的设备是内存,各种可重入程序也可被同时访问。§1.1操作系统的概念3.虚拟性(virtual)
虚拟性是指操作系统采用的一种管理技术,它把一个物理上的实体,变为若干个逻辑上的对应物,或者把物理上的多个实体变成逻辑上的一个对应物的技术。很显然,物理实体(前者)是实的,而后者是虚拟的。
4.异步性(asynchronism)
在多道程序环境下,允许多个进程并发执行,但由于竞争资源等因素的限制,使进程的执行不是“一气呵成”,而是以“走走停停”的方式运行。也就是说,在多道程序环境下,程序的执行是以异步方式进行的。§1.1操作系统的概念1.1.4操作系统的功能
1.处理机管理创建或删除用户进程和系统进程;暂停或重启进程;提供进程同步机制;提供进程通信机制;提供死锁处理机制;§1.1操作系统的概念2.存储管理
操作系统负责下列内存管理的活动:记录内存的哪些部分正在被使用及被谁使用。当内存空间可用时,决定哪些进程可以装入内存。根据需要分配和释放内存空间。确保多道程序环境下,各个程序的运行只在自己内存空间运行,互不干扰。当内存空间不足时,采取何种策略去扩展逻辑内存。§1.1操作系统的概念
3.设备管理提供外围设备的控制与处理
提供缓冲区的管理
提供设备独立性
外围设备的分配和驱动调度实现虚拟设备
§1.1操作系统的概念4.文件管理创建或删除文件
创建或删除目录
提供操作文件和目录的原语
将文件映射到辅存上
在稳定的存储媒介上备份文件
§1.1操作系统的概念
5.用户接口管理6.其他功能系统安全网络和通信管理小结操作系统的定义操作系统的特征操作系统的功能
如同任何其他事物一样,操作系统也有它的诞生、成长和发展过程。为了更清楚地把握操作系统的实质,了解操作系统的发展是很有必要的,因为操作系统的许多概念都是在操作系统的发展过程中出现并逐步得到发展和成熟的。§1.2操作系统的形成和发展§1.2操作系统的形成和发展1.2.1人工操作阶段
由用户(程序员)采用手工方式直接控制和使用计算机硬件,即由用户(程序员)将事先准备好的程序和数据穿孔在纸带或卡片上,然后将这些纸带或卡片装入纸带或卡片输入机,启动它们将程序和数据输入到计算机,随后启动计算机运行。当程序运行结束取走结果后,才让另一个用户上机。穿孔操作员计算机室卡片盒
许多机时被操作员在机房里走来走去的过程浪费了。手工操作
穿孔->纸带(卡片)装上输入机->程序和数据送入计算机->控制台开关启动程序运行->计算->输出结果->取走纸带。运行时间=作业时间+操作时间程序员这种人工操作方式有以下缺陷:(1)用户上机独占全机资源,造成资源利用率不高,系统效率低下。(2)手工操作多,浪费处理机时间,也极易发生差错。(3)数据的输入,程序的执行、结果的输出均联机进行,从上机到下机的时间拉得非常长。例子:计算机速度计算时间作业建立和人工干预手工占的比例每秒1万次运行1个小时花了3分钟5%每秒10万次运行6分钟花了3分钟50%每秒100万次运行36秒花了3分钟83%改进重点:缩短手工操作和人工干预时间§1.2操作系统的形成和发展1.2.2管理程序阶段——操作系统的雏形
操作员集中一批用户提交的作业,由管理程序将这批作业从纸带或卡片机输入到磁带上,每当一批作业输入完成后,管理程序自动把磁带上的第一个作业装入内存,并把控制权交给作业。当该作业执行完成后,作业又把控制权缴回管理程序,管理程序再调入磁带上的第二个作业到内存执行。这种自动定序的处理方由式称为“批处理”。管理程序标准输入程序编译程序装配程序标准输出和处理程序输入用户作业程序编译后的用户作业程序装配好的用户作业程序执行、输出结果调用子程序转到下一个作业.用户纸带机卡片机打印机输入磁带输出磁带系统管理程序联机批处理.用户纸带机卡片机打印机输入磁带输出磁带管理程序脱机批处理卫星机系统联机I/O批处理:速度慢,I/O设备和CPU仍然串行工作,CPU时间浪费相当大。脱机I/O批处理:另设一台辅机,仅与I/O设备打交道,不与主机连接。I/O工作脱离了主机,辅机和主机可以并行工作,大大加快了程序的处理和数据的输入输出。在早期的单道批处理系统中,内存中仅有单个作业在运行,致使系统中仍有许多资源空闲,设备利用率低,系统性能较差。§1.2操作系统的形成和发展1.2.3多道批处理系统——现代意义上的操作系统出现所谓多道程序设计(multiprogramming)是指允许多个程序同时进入一个计算机系统的主存储器并启动进行计算的方法。也就是说,计算机内存中同时存放多道(二个以上相互独立的)程序,它们都处于开始和结束点之间。从宏观上看是并行的,多道程序都处于运行中,并且都没有运行结束;从微观上看是串行的,各道程序轮流使用CPU,交替执行。
例子:计算某个数据处理问题,要求从输入机(速度为6400字符/秒)输入500个字符(费时78毫秒),经处理(费时52毫秒)后,将结果(假定为2000个字符)存到磁带上(磁带机速度为10万字符/秒,费时20毫秒),然后,再读500个字符处理,直至所有的输入数据全部处理完毕。§1.2操作系统的形成和发展单道算题运行时处理器的使用效率§1.2操作系统的形成和发展处理器的利用率为:
52/(78十52十20)≈35%
分析上面的例子,可以看出效率不高的原因,当输入机输入500个字符后,处理器只花了52毫秒就处理完了,而这时第二批输入数据还要再等98毫秒时间才能输入完毕,在此期间CPU一直空闲着。§1.2操作系统的形成和发展这个例子说明单道程序工作时,计算机系统的各部件的利用率没有得到充分发挥。为了提高效率,考虑让计算机同时接受两道算题,当第一道程序在等待外围设备的时候,让第二道程序运行,以降低CPU空闲等待时间,那么,处理器的利用率显然可以有所提高。例如,计算机在接受上述算题时还接受了另一道算题:从另一台磁带机上输入2000个字符,经42毫秒的处理后,从行式打印机(速度为1350行/分)上输出两行。§1.2操作系统的形成和发展当这两道算题同时进入内存计算时,计算过程如图所示。其中,P1表示程序甲占用CPU对输入机输入的500个字符进行处理,由于52毫秒处理便结束,下次处理要等待98毫秒之后,故这个时间段内CPU是空闲的。系统调度程序乙工作,它从磁带机上输入2000个字符后,P2表示对这批数据进行处理。相应的I/O设备和CPU的操作都是并行的。不难算出,此时处理器的利用率为:(52+42)/150≈63%§1.2操作系统的形成和发展§1.2操作系统的形成和发展操作系统中引入多道程序设计的好处:
一是提高了CPU的利用率,二是提高了内存和I/O设备的利用率,三是改进了系统的吞吐率,四是充分发挥了系统的并行性。其主要缺点是:作业周转时间延长。§1.2操作系统的形成和发展1.2.4分时系统与实时系统的出现——操作系统步入实用化
1.分时系统:允许多个联机用户同时使用一台计算机系统进行计算的操作系统称分时操作系统(TimeSharingOperatingSystem)而系统则是将处理机的时间划分为小的时间间隔(又称时间片),轮流地为每个终端上的作业服务,使每个用户都感觉好象自己在使用计算机。§1.2操作系统的形成和发展分时操作系统具有以下特性:(1)多路性:允许在一台主机上同时联接多台联机终端,系统按分时原则为每个用户服务。(2)独立性:每个用户各占一个终端,彼此独立操作,互不干扰。(3)及时性:用户的请求能在很短时间内获得响应。(4)交互性:用户可通过终端与系统进行广泛的人机对话。批处理、多道程序=〉充分利用系统资源(CPU、内存、外设)分时系统=〉为用户提供与计算机系统直接交互的能力,允许许多用户共享计算机系统§1.2操作系统的形成和发展现代操作系统的正式形成
多道和分时系统的出现,标志着现代操作系统的正式形成。§1.2操作系统的形成和发展2.实时操作系统:实时操作系统(RealTimeOperatingSystem)指当外界事件或数据产生时,能接收并以足够快的速度予以处理,处理的结果又能在规定时间内来控制监控的生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的操作系统。§1.2操作系统的形成和发展3.操作系统的三种基本类型的比较批处理系统的特点是“多道、成批自动处理”,优点是“资源利用率高、系统吞吐量大”,缺点是“等待时间长、没有交互能力”;分时系统的特点“同时性、交互性、独立性和及时性”,优点是“响应快,便于资源共享”;实时系统的特点“响应迅速,可靠性高,系统专用”,与分时系统相比,交互性较弱。§1.2操作系统的形成和发展1.2.5操作系统的进一步发展
1.微机操作系统现代的微机操作系统具有GUI、多用户多任务、虚拟存储管理、网络通信支持、数据库支持、多媒体支持、应用程序编程接口(API)支持等功能,以最大程度的满足个人用户的使用要求。典型的微机操作系统有Windows、OS2、Unix和Linux等。§1.2操作系统的形成和发展2.网络和分布式操作系统网络操作系统(NetworkOperatingSystem)能够控制计算机在网络中方便的传送信息和共享资源,并能为网络用户提供各种所需服务的操作系统。网络操作系统主要有两种工作模式:(1)客户机/服务器(Client/Server)模式。(2)对等模式(peer-to-peer)。网络操作系统除了具有操作系统的基本功能外,还应具有网络通信、资源管理和网络管理等功能。目前比较流行的网络操作系统有:Linux、Unix、WindowsServer2000/2003等。§1.2操作系统的形成和发展2.网络和分布式操作系统分布式计算机系统是一种特殊的计算机网络系统。在分布式系统中。每台计算机高度自治,又相互协调,能在系统范围内实现资源管理,任务分配,能并行地运行分布式程序。分布式系统与计算机网络的关键区别在于:在分布式系统中,多台自主的计算机对用户是透明的(或者说是不可见的)。也就是说,在分布式系统中,用户觉察不到多个处理机的存在,用户面对的是一台虚拟的单处理机。在计算机网络中,用户必须明确指出在哪台机器上登录,明确地运行递交的任务,明确地指定文件传输的目的地。§1.2操作系统的形成和发展3.并行系统和集群系统多处理机系统(也称为并行系统)有多个紧密通信的处理器,它们共享计算机总线、时钟,有时还有内存和外设等。多处理机系统有对称多处理(SMP)和非对称多处理两种模式。集群系统(ClusterSystem)将多个CPU集中起来完成计算任务。然而,集群系统与并行系统不同,它是有两个或多个独立的系统耦合起来。集群的定义尚未定形,通常接受的定义是集群计算机共享存储并通过LAN网络紧密连接。
§1.2操作系统的形成和发展4.嵌入式操作系统嵌入式操作系统指运行在嵌入式(计算机)环境中,对整个系统及所有操作的各种部件、装置等资源进行统一协调、处理、指挥和控制的系统软件。嵌入式操作系统具有通常操作系统的功能,包括:与硬件相关的底层软件、操作系统核心功能(文件系统、存储管理、设备管理、进程管理、处理器管理和中断处理)、功能强大的还提供图形界面、通信协议、小型浏览器等设施。嵌入式操作系统硬件平台的局限性、应用环境的多样性、开发手段的特殊性,使它与一般操作系统有很大不同。§1.2操作系统的形成和发展1.2.6实例研究:Windows和Linux的发展历程
1.Linux系统
Linux是类Unix操作系统大家族中的一员。从20世纪90年代末开始,Linux这位相对较新的成员突然变得非常流行,并且跻身于那些有名的商用Unix操作系统之列。1991年,Linus
Torvalds开发出最初的Linux,它作为一个适用于基于Intel80386微处理器的IBMPC兼容机的操作系统。Linus将这个系统放到Internet上,允许人们自由下载,许多人对Linux进行改进、扩充、完善,做出了关键性贡献。Linux由最初一个人写的原型变成在Internet上由无数志同道合的程序高手们参与的一场运动。流行操作系统简介DOS操作系统Windows操作系统Unix操作系统Linux操作系统IBM操作系统其他流行操作系统DOS操作系统:DiskOperatingSystem1980年11月,IBM公司和Microsoft公司正式签约委托Microsoft为其即将推出的IBM-PC机开发一个操作系统,这就是PC-DOS,又称IBM-DOS。1981年,Microsoft推出了MS-DOS1.0版,两者的功能基本一致,统称DOS。到1994年推出了最后的版本DOS6.22DOS操作系统微软的发家之宝。DOS采用汇编语言书写,系统开销小,运行效率高。另外,DOS针对PC机环境来设计,实用性好,较好地满足了低档微机工作的需要。但是,随着PC机性能的突飞猛进,DOS的缺点不断显露出来,已经无法发挥硬件的能力,又缺乏对数据库、网络通信、多媒体等的支持,没有通用的应用程序接口,加上用户界面不友善,操作使用不方便,从而,逐步让位于Windows等其他操作系统。Windows操作系统Microsoft公司成立于1975年,到现在已经成为世界上最大的软件公司。从1983年11月Microsoft公司宣布Windows诞生到今天的WindowsXP,Windows已经走过了20个年头,并且成为风靡全球的微机操作系统。目前个人计算机上采用Windows操作系统的占90%,微软公司几乎垄断了PC行业。UNIX操作系统它最早由美国电报电话公司贝尔实验室的Thompson和Ritchie于1969年在DEC公司的小型系列机PDP-7上开发成功,1971年被移植到PDP-11上。1973年Ritchie在BCPL(BasicCombinedProgrammingLanguage)语言基础上开发出C语言,这对UNIX的发展产生了重要作用,用C语言改写后的第3版UNIX具有高度易读性、可移植性,为迅速推广和普及走出了决定性的一步UNIX取得成功的最重要原因是系统的开放性,公开源代码,用户可以方便地向UNIX系统中逐步添加新功能和工具,这样可使UINX越来越完善,能提供更多服务,成为有效的程序开发支撑平台。它是目前唯一可以安装和运行在从微型机、工作站直到大型机和巨型机上的操作系统。Unix系统和C语言的设计者Ritcchie和Thompson共同获得了1983年度的ACM图灵奖(ACMTuringAward)和软件系统奖(SoftwareSystemAward)。Linux和自由软件Linux是由芬兰藉科学家LinusTorvalds于1991年编写完成的一个操作系统内核,当时他还是芬兰首都赫尔辛基大学计算机系的学生,在学习操作系统课程中,自己动手编写了一个操作系统原型,从此,一个新的操作系统诞生了。Linus把这个系统放在Internet上,允许自由下载§1.3操作系统的结构1.3.1操作系统的设计
操作系统是一个庞杂的大型系统的软件,因此,操作系统的设计是一个复杂的过程。以IBM公司的OS/360系统为例,它由4000个模块组成,共约100万条指令,花费5000人年,经费达数亿美元。1.操作系统的设计目标一个高质量的操作系统应具有可靠性、高效性、可扩充性、易移植性、安全性和兼容性等特征。
2.操作系统的设计和实现设计原则:机制与实现相分离
§1.3操作系统的结构1.3.2操作系统的结构
1.整体式结构整体式操作系统的基本设计思想是:把模块作为操作系统的基本单位,按照功能需要而不是根据程序和数据的特性把整个操作系统分解成若干个模块,每个模块具有一定的功能,若干个关联模块协作完成某个功能。各个模块可以不加控制,自由调用,每个模块经独立设计、编码和调试后连接成一个完整的系统。这种结构的优点是:程序结构紧密,接口简单直接,系统效率高,但是也有一定的缺陷,如模块独立性差,模块之间牵连太多,系统结构不清晰,系统的正确性难以保证,可靠性降低,扩充性差等。§1.3操作系统的结构2.层次结构所谓层次结构就是把操作系统所有的功能模块按照功能的调用次序分别排成若干层,各层之间的模块只能是单向依赖或单向调用(如:只允许上层或外层模块调用下层或内层模块)关系,这样不但操作系统的结构清晰,而且不构成循环。层次结构的优点:整体问题局部化,系统的正确性可通过各层正确性来保证。增加、修改或替换层次不影响其他层次,有利于系统的维护和扩充。§1.3操作系统的结构2.层次结构构造层次结构OS分层原则1)把与机器硬件有关的程序模块放在最底层
2)反映系统外特性的软件放在最外层
3)按照实现操作系统命令时模块间的调用次序或按进程间单向发送信息的顺序来分层
4)为进程的正常运行创造环境和提供条件的内核程序应该尽可能放在底层。§1.3操作系统的结构3.客户/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版公司注销及债权债务处理综合服务合同
- 二零二五版挂靠产品代理合同范本全新修订
- 2025年度综合性商业地产开发劳动合同协议书
- 2025年度智能环保混泥土废渣土运输服务合同
- 2025年高标准住宅买卖合同纠纷诉讼状
- 二零二五年度搬家运输货物及家具组装服务合同
- 二零二五年度建筑施工劳务与工程维护合同范本
- 二零二五年度建筑工地安全教育与培训设施改造与监控合同
- 防养老诈骗课件下载安装
- 工程材料采购简单合同范本(2025版)
- 空调维修工程管理制度
- 全国畜牧业发展“十五五”规划
- 六级词汇5500(乱序+音标+默写)
- 新能源汽修管理制度
- 社区工作者综合能力考试基础知识试题及答案
- 2025内蒙古森工集团招聘工勤技能人员3100人笔试参考题库附带答案详解析
- 反兴奋剂知识试题及答案
- 2025年阜阳市颍上县安徽管子文化旅游集团有限公司招聘笔试参考题库含答案解析
- 2025-2030年全球及中国身份和访问管理即服务(IDaaS)行业市场现状供需分析及投资评估规划分析研究报告
- 员工压力与情绪管理培训课件
- GB/T 10250-2025船舶电气与电子设备电磁兼容性金属船体船舶
评论
0/150
提交评论