版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2023/2/3南晓数信学院1第一章操作系统引论操作系统授课人:
李朔
@2016春季2023/2/3南晓数信学院2引言课程学习目的:基础核心课、有利于对计算机系统的理解和软件开发。课程特点:概念多、涉及面广、较抽象。课程学习方法:以问题驱动学习、理论联系实际、前后贯通。课程学习难点:概念、原理、数据结构、算法。2023/2/3南晓数信学院3课程安排理论讲授:操作系统概述(第一章)操作系统的目标、作用、发展过程、特征操作系统的主要功能,结构设计
进程管理(第二章)进程的描述和控制进程同步的基本概念、信号量机制经典进程同步问题:生产者~消费者问题等处理机调度(第三章)处理机调度的类型与算法死锁的基本概念、死锁的预防和避免2023/2/3南晓数信学院4存储器管理(第四章)存储器管理的任务连续分配存储管理方式、分页/分段存储管理方式虚拟存储器(第五章)虚存的基本概念、请求分页存储管理;页面置换算法输入输出系统(第六章)I/O系统的组成、控制方式设备分配和设备处理;磁盘存储系统
文件管理(第七章)文件系统概念、文件保护与安全
2023/2/3南晓数信学院5实验安排:掌握的高级语言C、C++、JAVA、C#相关内容系统API进程结构进度调度存储管理…2023/2/3南晓数信学院6推荐参考书孙钟秀主编,费翔林骆斌编著,《操作系统教程(第4版)》,高等教育出版社邹恒明著,《操作系统之哲学原理》,机械工业出版社
2023/2/3南晓数信学院7课程时间安排:1-14周,第八周开始,每周2+2(理论+实验),实验时间跨度较大考试安排:专业主干,教考分离,周次待定,态度2023/2/3南晓数信学院8思考什么是操作系统(OS,OperatingSystem)?软件、系统软件功能?管理系统资源、方便用户使用系统资源有哪些?怎样管理、怎样服务?……2023/2/3南晓数信学院9第一章引论1.1什么是操作系统1.2操作系统的发展历史1.3操作系统的分类1.4操作系统的特征1.5操作系统的功能1.6常用的操作系统返回目录2023/2/3南晓数信学院101.1什么是操作系统1.1.1操作系统的地位和目标1.1.2操作系统的作用和组成1.1.3操作系统举例返回2023/2/3南晓数信学院11历史上的操作系统(一般了解)随历史线索,介绍一些重要的操作系统真空管时代(1946年-1955年)晶体管时代(1955年-1965年)集成电路时代(1965年-1980年)大规模集成电路时代(1980年-至今)2023/2/3南晓数信学院12第一台数字计算机英国数学家CharlesBabbage(1792-1871)设计Babbage投入了毕生精力但却没能让它成功地运行起来因为当时的技术不可能达到需要的精度当然,这个分析机没有操作系统2023/2/3南晓数信学院13二战对武器设计的需要美国、英国和德国等国家开始了电子数字计算机的研究工作哈佛大学的HowardAiken普林斯顿高等研究院的JohnNeumann(冯·诺依曼)宾夕法尼亚大学的J.PresperEckert和WilliamMauchley德国电话公司的KonraadZuse以及其他一些人都使用真空管成功地建造了运算机器真空管计算机(1945年-1955年)时期2023/2/3南晓数信学院14没有程序设计语言(甚至没有汇编),更谈不上操作系统程序员提前预约一段时间,然后到机房将他的插件板插到计算机里期盼着在接下来的时间中几万个真空管不会烧断从而可以计算自己的题目ENIAC中文名:埃尼阿克
(美国宾夕法尼亚大学)运算速度:5000次/秒,18000个真空管,占地182平方米,重量130吨,功耗140kW2023/2/3南晓数信学院151.2.2手工操作工作方式用户:用户既是程序员,又是操作员;用户是计算机专业人员;编程语言:机器语言;输入输出:纸带或卡片;计算机的工作特点(即主要矛盾)用户独占全机:不会出现资源被其他用户占用的情况,资源利用率低;CPU等待用户:计算前,手工装入纸带或卡片;计算完成后,手工卸取纸带或卡片;CPU利用率低;1946~50年代(电子管),集中计算(计算中心),计算机资源昂贵;2023/2/3南晓数信学院1650年代早期出现了穿孔卡片程序写在卡片上然后读入计算机但计算过程则依然如旧2023/2/3南晓数信学院17上世纪60年代前以至更早期-穿孔卡片一种穿孔机与穿孔卡片2023/2/3南晓数信学院1820世纪60年代计算机广泛应用于数据管理磁介质存储器引发数据管理革命1951年雷明顿兰德公司(RemingtonRandInc)的一种叫做UnivacI的计算机推出了一种一秒钟可以输入数百条记录的磁带驱动器,从而引发了数据管理的革命。2023/2/3南晓数信学院191956年IBM生产出第一个磁盘驱动器——theModel305RAMAC(第一块硬盘)。此驱动器有50个盘片,每个盘片直径是2英尺,可以储存5MB的数据。使用磁盘最大的好处是可以随机地存取数据,而穿孔卡片和磁带只能顺序存取数据。2023/2/3南晓数信学院201.2.1推动操作系统发展的主要动力(1)提高资源的利用率和系统性能:计算机发展的初期,计算机系统昂贵,用作集中计算(2)方便用户:用户上机、调试程序,分散计算时的事务处理和非专业用户(商业和办公、家庭)(3)器件的发展:CPU的位宽度(指令和数据)、快速外存(4)计算机体系结构的不断发展需求推动发展2023/2/3南晓数信学院21起源:1969,AT&T贝尔实验室,Multics项目,GE645大型主机-太空旅行游戏$75/once->PDP-7汇编语言重写,KenThompson,DennisRichie多用户,多任务操作系统UNICS(系统使用汇编编制,一些应用使用了B语言与汇编)第三版本开始,为UNIX专门开发/发明了一种崭新的编程语言-C,可移植性和开发效率(来自B语言的FortranCompiler)1973C重写全部UNIX原始程序-UNIX首度出现正式版本V5早期代码公开,开发文档详细,便于研究操作系统鼻祖UNIX2023/2/3南晓数信学院22校园最流行版本,加州大学伯克利分校-鼎鼎大名的BSD(BillJoy<sunmicrosystem>-BerkeleysoftwareDistribution,vi)FreeBSD,OpenBSD和NetBSDBSD对UNIX最重要的贡献之一是TCP/IP,发布版中的TCP/IP代码几乎是现在所有系统中TCP/IP实现的前辈UNIXVersion7(1978)-fortran77compile,BourneShell等,AT&T将UNIX商业化,更换了许可协议,不再允许先前自由开放的做法。2023/2/3南晓数信学院23几十年中,Unix仍在不断变化,其版权所有者不断变更,授权者的数量也在增加。Unix的版权曾经为AT&T所有,之后Novell拥有了Unix,再之后Novell又将版权出售给了SCO(这一事实双方尚存在争议)。有很多大公司在取得了Unix的授权之后,开发了自己的Unix产品,比如IBM的AIX,HP的HPUX,SUN的Solaris和SGI的IRIX。
2023/2/3南晓数信学院24MINIX为方便教学与研究,AndrewTanenbaum(1997年图灵奖得主)基于Version7开发了Minix(基于IntelX86平台)与Version7在系统调用级兼容,便无任何UNIX代码不受AT&T许可协议约束核心代码只有4000余行,支持POSIX、TCP/IP、X-Window及C/C++及多用户、多进程等高级特性公开源代码,允许用于教学科研目的MINIXLogo2023/2/3南晓数信学院25Linus&Linus’sUNIX-Linux芬兰赫尔辛基大学学生-LinusTorvalds(AndrewTanenbaun的学生)简单问题:UNIX十分昂贵,但希望在个人电脑上使用类似UNIX的系统,不喜欢386上的DOSLinus大学时主要使用MINIX,但不满意,受MINIX协议的限制,无法修改和完善以其熟悉的Minix和Unix为原型,在一台Intel386PC上开始工作2023/2/3南晓数信学院26Oct,1991USNET新闻组—comp.us.minix上发表消息:Helloeverybodyoutthereusingminix-I’mdoinga(free)operatingsystem(justahobby,won’tbebigandprofessionallikegnu)for386(486)ATclones.
Thishasbeenbrewingsinceapril,andisstartingtogetready.
I’dlikeanyfeedbackonthingspeoplelike/dislikeinminix,asmyOSresemblesitsomewhat(samephysicallayoutofthefile-system(duetopracticalreasons)amongotherthings……)。(PCWORLD专栏作家HarryMcCracken评出的历史上Top25被引用的精典语录之一。)此时发表的版本是第一个Linux内核的Release(正式版本)-Linuxkernel0.0.2,以此为开端,Linux开始了快速发展2023/2/3南晓数信学院27目前Linux支持的所有主流硬件平台IntelX86系列AMD64系列IBMPowerPCSunSPARC系列Linux与Unix有很大渊源,不含标准Unix源代码,按POSIX标准重新编写,使用大量GNU软件自91年发布至因特网后,无数的黑客、程序员无私地为人类奉献自己的智慧,积极推动了Linux的高速发展,成就了一个自由软件世界,Linux在可用性与功能上基本成熟,与UNIX、Windows三分天下。2023/2/3南晓数信学院28Linux由Linus开发,所以这个操作系统以Linus’sUnix命名。发音Linux与GNU所有Linux发行版本的核心部分都是内核(kernel),灵魂。主要负责管理、分配计算机软硬件资源。(底层原始)但内核并不包含常用的应用程序,如浏览器,Office办公,多媒体播放制作等软件GNU项目数量巨大、功能丰富的应用程序,结合宽松授权的Linux免费内核,很多厂商和个人纷纷推出自己的定制和组合方案,构成了丰富多彩的Linux发行版本。(不管这些发行版本的名称或开发厂商是什么,它们都同属于Linux范畴,因为它们具有相同的内核,这个内核源自LinusTorvalds维护的LinuxKernel项目,区别仅在所包含软件数量种类及功能侧重点的不同。(/)GNU项目、GPL、自由软件Linux:tux2023/2/3南晓数信学院291.1.1操作系统的地位和目标计算机系统(层次结构)软件硬件及固件(裸机)应用软件系统软件编辑软件,编译软件操作系统图1.1 计算机系统的组成2023/2/3南晓数信学院30计算机系统软硬件的层次结构2023/2/3南晓数信学院31操作系统在计算机系统中的地位操作系统的地位:紧贴系统硬件之上,所有其他软件之下(是其他软件的共同环境)操作系统设计者应用软件操作系统计算机硬件系统软件终端用户程序员2023/2/3南晓数信学院32引入操作系统的目标有效性(系统管理人员的观点):管理和分配硬件、软件资源,合理地组织计算机的工作流程方便性(用户的观点):提供良好的、一致的用户接口,弥补硬件系统的类型和数量差别可扩充性(开放的观点):OS通过扩充改造硬件设施和提供新的服务来扩大机器功能。OS遵循有关国际标准;支持体系结构的可伸缩性和可扩展性;支持应用程序在不同平台上的可移植性和可互操作性。2023/2/3南晓数信学院33操作系统的作用(1)
OS是计算机硬件、软件资源的管理者。管理对象包括:CPU、存储器、外部设备、信息(数据和软件);管理的内容:资源的当前状态(数量和使用情况)、资源的分配、回收和访问操作,相应管理策略(包括用户权限)。1.1.2操作系统的作用2023/2/3南晓数信学院34操作系统的作用(2)
OS是用户使用系统硬件、软件的接口。系统命令(命令行、菜单式、命令脚本式、图形用户接口GUI);字符形式:较灵活但因繁琐而难记命令的表示形式:菜单形式:字符方式提供友好界面图形形式:因直观而易记但不灵活系统调用:形式上类似于过程调用,在应用编程中使用。2023/2/3南晓数信学院35操作系统的作用(3)
OS是扩展机(extendedmachine)/虚拟机(virtualmachine)在裸机上添加:设备管理、文件管理、存储管理(针对内存和外存)、处理机管理(针对CPU);另外,为合理组织工作流程:作业管理、进程管理。定义:操作系统是管理软硬件资源、控制程序执行,改善人机界面,提供各种服务,合理组织计算机工作流程和为用户使用计算机提供良好运行环境的一种系统软件。2023/2/3南晓数信学院36操作系统的层次模型高低2023/2/3南晓数信学院371.1.3操作系统举例MSOS:MSDOS,MSWindows3.x,Windows95,WindowsNT,Windows2000UNIX:BSD,SRV4,OSF1,SCOUNIX,AIX,Solaris,LinuxNOS:NovellNetware2023/2/3南晓数信学院381.2操作系统的发展历史1.2.1推动操作系统发展的主要动力1.2.2手工操作1.2.3单道批处理系统(simplebatchprocessing)1.2.4多道批处理系统(multiprogrammingsystem)1.2.5分时系统(time-sharingsystem)1.2.6实时系统(real-timesystem)返回2023/2/3南晓数信学院391.2.3单道批处理系统
(simplebatchprocessing,uniprogramming)批处理中的作业的组成:用户程序数据作业说明书(作业控制语言)批:供一次加载的磁带或磁盘,通常由若干个作业组装成,在处理中使用一组相同的系统软件(系统带)50年代末~60年代中(晶体管):利用磁带把若干个作业分类编成作业执行序列,每个批作业由一个专门的监督程序(Monitor)自动依次处理。可使用汇编语言开发。2023/2/3南晓数信学院40监督程序(Monitor)对批作业中的每个作业进行相同的处理:从磁带读入一个用户作业和编译链接程序到内存,编译链接用户作业,生成可执行程序;启动执行,把运行控制权限交给该作业,执行结果输出;控制权再次交给监督程序,由它将下一个作业调入内存。2023/2/3南晓数信学院41一、两种批处理方式1)联机批处理用户提交作业:以纸带或卡片为介质;操作员合成批作业:结果为磁带介质;批作业处理:对批作业中的每个作业进行相同的处理,从磁带读入用户作业和编译链接程序,编译链接用户作业,生成可执行程序;启动执行;执行结果输出。这时的问题:慢速的输入输出处理仍直接由主机来完成。输入输出时,CPU处于等待状态。2023/2/3南晓数信学院422)脱机批处理卫星机(外围机):完成面向用户的输入输出(纸带或卡片),中间结果暂存在磁带或磁盘上。作业控制命令由监督程序(monitor)来执行,完成装入程序、编译、运行等操作。优点:同一批内各作业的自动依次更替,改善了主机CPU和I/O设备的使用效率,提高了吞吐量。缺点:磁带或磁盘需要人工装卸,作业需要人工分类,监督程序易遭到用户程序的破坏(由人工干预才可恢复)。为解决CPU和I/O设备之间速度不匹配而提出,利用卫星机完成输入输出功能。2023/2/3南晓数信学院43批处理系统示意图批处理操作系统针对的是第二代通用计算机,如IBM的1401和7094等,通过去除人机交互达到CPU和输入输出利用率的改善。
2023/2/3南晓数信学院44通道和中断技术通道:用于控制I/O设备与内存间的数据传输。启动后可独立于CPU运行,实现CPU与I/O的并行。通道有专用的I/O处理器,可与CPU并行工作可实现I/O联机处理中断是指CPU在收到外部中断信号后,停止原来工作,转去处理该中断事件,完毕后回到原来断点继续工作。中断处理过程:中断请求,中断响应,中断点(暂停当前任务并保存现场),中断处理例程,中断返回(恢复中断点的现场并继续原有任务可处理算术溢出和非法操作码,死循环(利用时钟中断进行超时限定)*监督程序发展为执行系统(executivesystem),常驻内存60年代初,发展了通道技术和中断技术,这些技术的出现使监督程序在负责作业运行的同时提供I/O控制功能。2023/2/3南晓数信学院45二、单道批处理的主要问题特点:在内存中始终只保持一道作业
自动性、顺序性、单道性
CPU和I/O设备使用忙闲不均(取决于当前作业的特性)。对计算为主的作业,外设空闲;对I/O为主的作业,CPU空闲;2023/2/3南晓数信学院461.2.4多道批处理系统(multiprogrammingsystem)多道程序设计的概念:用户所提交的作业都先存放在外存上并排成一个队列,称为“后备队列”;由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。60年代中~70年代中(集成电路),利用多道批处理提高资源的利用率。2023/2/3南晓数信学院47多道批处理的运行特征多道:内存中同时存放几个作业;宏观上并行运行:都处于运行状态,但都未运行完;共享处理机时间和外部设备等资源;微观上串行运行:各作业交替使用CPU;作业的处理流程作业提交:输入作业→作业执行→作业完成:输出作业2023/2/3南晓数信学院48批处理系统中作业处理及状态2023/2/3南晓数信学院49例:计算某个数据处理问题,要求从输入机(速度为6400字符/秒)输入500个字符,经处理(费时52毫秒)后,将结果存到磁带机上(假设耗时20毫秒);然后,再读500个字符处理,直到所有数据都处理完毕。
在此计算过程中,处理器的利用率是:52/(78+52+20)≈35%①单道批处理系统:计算过程如下图所示:2023/2/3南晓数信学院50②如果计算机同时接受两道计算题,当第一道程序在等待外围设备的时候,让第二道程序运行,以降低CPU的等待时间,处理器的利用率显然可以有所提高。例如,计算机在接受上述计算时还接受了另外一道算题:从另一台磁带机上输入2000个字符(假设磁带机的速度是10万字符/秒,则耗时20MS),经42毫秒处理后,从行式打印机(速度为1350行/分)上输出两行(耗时88ms)当这两个算题同时进入主存计算时,这个计算过程如下图所示此时,处理器的利用率为:(52+42)/150≈63%2023/2/3南晓数信学院51
由此可以看出,让几道程序同时进入计算比一道一道串行计算,CPU效率要提高。当某道程序因故不能运行下去时,管理程序便把CPU分给另外一道程序执行,这样可以使CPU和I/O设备尽量都处于忙碌状态,这就是采用多道程序设计方法的主要原因。2023/2/3南晓数信学院52再比如,如果有甲、乙两道程序,如果一道程序独占CPU运行时每道程序要1小时,若此时CPU利用率是30%。粗略的说,甲(或乙)执行时,所需CPU处理时间为:1小时*30%=18分钟假定甲、乙两道程序按多道程序设计方法同时运行,CPU利用率达50%,那么要提供36分钟的CPU时间,大约需要72分钟就可以把甲、乙两道程序计算完毕。当然,操作系统本身要花费处理器的时间,所以实际花费的时间要略长一些,例如要80分钟,而单道运行时,要花费120分钟。因而,采用多道程序设计方法后,可以提高效率:(120-80)/120≈33%2023/2/3南晓数信学院53但是,如果单道运行时,花60分钟就可以看到运行结果,而多道运行时,要80分钟才有结果。所以,多道程序设计技术提高资源利用率和系统吞吐量是以牺牲用户的响应时间为代价的。2023/2/3南晓数信学院54单道(uniprogramming)和多道批处理的比较多道程序系统和多处理系统(multiprocessingsystem)的区别:前者指多个程序同时在内存中交替运行,后者指多个处理器。2023/2/3南晓数信学院55多道批处理系统的特点优点:资源利用率高:CPU和内存利用率较高;作业吞吐量大:单位时间内完成的工作总量大;缺点:用户交互性差:整个作业完成后或中间出错时才与用户交互,不利于调试和修改;作业平均周转时间长:短作业的周转时间显著增长;2023/2/3南晓数信学院56多道批处理系统需要解决的问题(1)处理机管理问题处理机的高效分配与回收(2)内存管理问题每道程序的存储空间的安排与保护(3)I/O设备管理问题多类型的I/O设备高效分配与方便使用(4)文件管理问题程序与数据的组织管理(5)作业管理问题根据作业的类型特点,轻重缓急组织作业
2023/2/3南晓数信学院571.2.5分时系统(time-sharingsystem)“分时”的含义:指在一台主机上,连接了多个带显示器和键盘的终端,同时允许多个用户共享主机中的资源,每个用户都可以使用自己的终端和主机交互。70年代中期至今2023/2/3南晓数信学院58概念:按时间片轮流把处理机分配给各联机作业使用产生原因:人机交互性好:在调试和运行程序时由用户自己操作。共享主机:多个用户同时使用。用户独立性:对每个用户而言好象独占主机。2023/2/3南晓数信学院59分时系统的主要问题及时接受输入:多个I/O端口,设立多路缓冲区及时响应:提高对换速度(快速外存)限制用户数目缩短时间片(可能引起对换次数增多,开销增大,程序总运行时间增大)2023/2/3南晓数信学院60分时操作系统的特征:(a)多路性:一台计算机与若干终端相连接,终端上的用户可以同时或基本同时使用计算机。(b)独立性:由于时间片很短,使用户感觉不到别人也在使用这台计算机,好象只有自己独占机器一样。(c)及时性:用户的请求在很短时间内得到响应。(d)交互性:用户通过终端与系统人机对话。在分时系统的基础上,操作系统的发展开始分化,如实时系统、通用系统、个人系统等。2023/2/3南晓数信学院611.2.6实时系统(real-timesystem)⑴实时系统的引入:实时控制(如生产过程的自动控制)、实时信息处理(如机票订票系统、情报检索系统等)⑵实时系统定义
实时:指对随机发生的外部事件做出及时反应并对其进行处理。(所谓事件时指来自与计算机系统相连接的设备所提出的服务要求和采集数据)
实时系统:指系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。2023/2/3南晓数信学院62⑶实时操作系统的主要特征:及时响应;(实时时钟管理)高可靠性;容错能力(如故障自动复位)和冗余备份(双机、关键部件)专用性;少人工干预;2023/2/3南晓数信学院63实时系统的类型:(1)工业(武器)控制系统(2)信息查询系统(3)多媒体系统(4)嵌入式系统实时任务类型:按任务执行时是否出现周期划分:周期性实时任务、非周期性实时任务。根据对截止时间的要求划分:硬实时任务、软实时任务。目前的操作系统,通常具有分时、实时和批处理功能,又称作通用操作系统。可适用于计算、事务处理等多种领域,能运行在多种硬件平台上,如UNIX系统、WindowsNT等。--通用化、小型化2023/2/3南晓数信学院65实时系统与批处理系统和分时系统的区别专用系统:许多实时系统是专用系统,而批处理与分时系统通常是通用系统。实时控制:实时系统用于控制实时过程,要求对外部事件的迅速响应,具有较强的中断处理机构。高可靠性:实时系统用于控制重要过程,要求高度可靠,具有较高冗余。如双机系统。事件驱动和队列驱动:实时系统的工作方式:接受外部消息,分析消息,调用相应处理程序进行处理。可与通用系统结合成通用实时系统:实时处理前台作业,批处理为后台作业。2023/2/3南晓数信学院66现代通用操作系统:多道批处理、分时、实时的结合,如UNIX。2023/2/3南晓数信学院671.3操作系统的其它分类1.3.1个人计算机操作系统1.3.2多处理器操作系统1.3.3网络操作系统1.3.4分布式操作系统返回2023/2/3南晓数信学院681.3.1个人计算机操作系统
(PersonalComputerOperatingSystem)个人计算机操作系统的特征应用领域:事务处理、个人娱乐,系统要求:使用方便、支持多种硬件和外部设备(多媒体设备、网络、远程通信)、效率不必很高。常用的个人计算机操作系统单用户单任务:MSDOS单用户多任务:OS/2,MSWindows3.x,Windows95,WindowsNT,Windows2000Professional多用户多任务:UNIX(SCOUNIX,Solarisx86,Linux,FreeBSD)2023/2/3南晓数信学院691.3.2多处理操作系统
(Multi-processorOperatingSystem)多处理机系统的特点增加系统的吞吐量:N个处理器加速比达不到N倍(额外的调度开销,算法的并行化)节省投资提高系统可靠性:故障时系统降级运行多处理操作系统的出现是为了提高计算机系统性能和可靠性。提高性能有两条途径:提高各个组成部分的速度、增大处理的并行程度。1975年前后,出现多处理机系统(multi-processor)。2023/2/3南晓数信学院70多处理机系统的类型紧密耦合(tightly-coupled):各处理机之间通过快速总线或开关阵列相连,共享内存,整体系统由一个统一的OS管理(一个OS核心)。松散耦合(loosely-coupled):各处理机带有各自的存储器、I/O设备和操作系统,通过通道或通信线路相连。每个处理机上独立运行OS。2023/2/3南晓数信学院71多处理操作系统的类型非对称式多处理(AsymmetricMultiprocessing,ASMP):又称主从模式(Master-slavemode)。主处理器:只有一个,运行OS。管理整个系统的资源,为从处理器分配任务;从处理器:可有多个,执行应用程序或I/O处理。特点:不同性质任务的负载不均,可靠性不够高,不易移植(通常要求硬件也是"非对称")。对称式多处理(SymmetricMultiprocessing,SMP):OS交替在各个处理器上执行。任务负载较为平均,性能调节容易--"傻瓜式"2023/2/3南晓数信学院72对称多处理机与非对称多处理机的比较2023/2/3南晓数信学院732023/2/3南晓数信学院741.3.3网络操作系统
(NOS,NetworkOperatingSystem)网络操作系统是在通常操作系统功能的基础上提供网络通信和网络服务功能的操作系统。网络操作系统为网上计算机进行方便而有效的网络资源共享,提供网络用户所需各种服务的软件和相关规程的集合。网络功能与操作系统的结合程度是网络操作系统的重要性能指标。早期的作法是通常操作系统附加网络软件,过渡到网络功能成为操作系统的有机组成部分。它们的区别在于:网络功能的强弱、使用是否方便等。2023/2/3南晓数信学院75计算机网络一些自主的计算机系统,通过通信设施相互连接,完成信息交换、资源共享、互操作和协同工作等功能。引入计算机网络的目的:完成新的应用(进行自动的信息交换),提高性能-价格比(共享昂贵资源)2023/2/3南晓数信学院76计算机网络的分类按网络拓扑(传输媒体和网络设备所连接的几何形状):星形、环形、总线形、不规则形等;按地理范围:局域网(LAN,LocalAreaNetwork)、城域网(MAN,MetropolitanAreaNetwork)、广域网(WAN,WideAreaNetwork);按网络标准--内在特性,决定其性能(如效率随负载的变化、实时性、优先级)Ethernet,TokenRing,FDDI,X.25,ATM2023/2/3南晓数信学院77网络操作系统的功能通常操作系统的功能:处理机管理、存储器管理、设备管理、文件管理等;网络通信功能:通过网络协议进行高效、可靠的数据传输;网络资源管理:协调各用户使用;网络服务:文件和设备共享,信息发布;网络管理:安全管理、故障管理、性能管理等;互操作:直接控制对方比交换数据更为困难;2023/2/3南晓数信学院781.3.4分布式操作系统(DistributedOperatingSystem)分布式系统:处理和控制的分散(相对于集中式系统)分布式系统是以计算机网络为基础的,它的基本特征是处理上的分布,即功能和任务的分布。分布式操作系统的所有系统任务可在系统中任何处理机上运行,自动实现全系统范围内的任务分配并自动调度各处理机的工作负载。2023/2/3南晓数信学院79分布式操作系统与网络操作系统的比较耦合程度:分布式系统是紧密耦合系统:分布式OS是在各机上统一建立的"OS同质",直接管理CPU、存储器和外设;统一进行全系统的管理;网络操作系统通常容许异种OS互连,各机上各种服务程序需按不同网络协议"协议同质"。并行性:分布式OS可以将一个进程分散在各机上并行执行"进程迁移";网络则各机上的进程独立。透明性:用户是否知道或指定资源在哪个机器上(如CPU、内存或外设)。分布式系统的网络资源调度对用户透明,用户不了解所占有资源的位置;网络操作系统中对网络资源的使用要由用户明确指定;健壮性:分布式系统要求更强的容错能力(工作时系统重构)2023/2/3南晓数信学院801.4操作系统的特征1.4.1操作系统的特征1.4.2操作系统的服务返回2023/2/3南晓数信学院811.4.1操作系统的特征并发(concurrency)共享(sharing)虚拟(virtual)异步性(asynchronism)2023/2/3南晓数信学院82并发(concurrency)并行性和并发性是既相似又有区别的两个概念。并行性:两个或多个事件在同一时刻发生;并发性:两个或多个事件在同一时间间隔内发生。在多道程序处理时,宏观上并发,微观上交替执行(在单处理器情况下)。程序的静态实体是可执行文件,而动态实体是进程(或称作任务),并发指的是进程。操作系统是一个并发系统,各进程间的并发,系统与应用间的并发。操作系统要完成这些并发过程的管理。并行(parallel)是指在同一时刻发生。2023/2/3南晓数信学院83进程概念的引入通常的程序是静态实体,是不能并发执行的。为使程序能并发执行,系统必须分别为每个程序建立进程。进程(process),又称任务(task),简单来说,是指在系统中能独立运行并作为资源分配的基本单位,它是一个活动实体。多个进程之间可以并发执行和交换信息。引入进程的目的是使程序能并发执行。2023/2/3南晓数信学院84共享(sharing)资源共享的两种方式互斥共享(如音频设备):资源分配后到释放前,不能被其他进程所用。(称为临界资源或独占资源。)同时访问(如可重入代码,磁盘文件)多个进程共享有限的计算机系统资源。操作系统要对系统资源进行合理分配和使用。资源在一个时间段内交替被多个进程所用。2023/2/3南晓数信学院85虚拟(virtual)CPU--每个用户(进程)的"虚处理机"存储器--每个进程都占有的地址空间(指令+数据+堆栈)显示设备--多窗口或虚拟终端(virtualterminal)如果虚拟的实现是通过时分复用的方法来实现的,即对某一物理设备进行分时使用,设N是某物理设备所对应的虚拟的逻辑设备数,则每台虚拟设备的平均速度必然等于或低于物理设备速度的1/N。类似地,如果是利用空分复用方法来实现虚拟,此时一台虚拟设备平均占用的空间必然也等于或低于物理设备所拥有空间的1/N。一个物理实体映射为若干个对应的逻辑实体-分时或分空间。虚拟是操作系统管理系统资源的重要手段,可提高资源利用率。2023/2/3南晓数信学院86异步性(asynchronism)进程的运行速度不可预知:分时系统中,多个进程并发执行,"时走时停",不可预知每个进程的运行推进快慢判据:无论快慢,应该结果相同--通过进程互斥和同步手段来保证难以重现系统在某个时刻的状态(包括重现运行中的错误)性能保证:实时系统与分时系统相似,但通过资源预留以保证性能也称不确定性,指进程的执行顺序和执行时间的不确定性;2023/2/3南晓数信学院871.4.2操作系统的服务服务类型程序执行和终止(包括分配和回收资源)I/O操作文件系统操作通信:本机内,计算机之间(通常通信服务的使用者为进程,而不是笼统说"主机")配置管理:硬件、OS本身、其他软件差错检测服务提供方式:系统命令和系统调用2023/2/3南晓数信学院881.4.3现代操作系统特点微内核结构
多线程机制
对称多处理器(SMP)机制
有两个或两个以上的处理器所有处理器共享主存、I/0设备。这些处理器由总线或其他内部连接模式相连接所有处理器执行同样的功能
分布式操作系统
在操作系统设计中普遍采用面向对象技术,以及软件工程中其他原则
2023/2/3南晓数信学院891.5.1处理机管理进程控制:创建、撤销、挂起、改变运行优先级等--主动改变进程的状态进程同步:协调并发进程之间的推进步骤,以协调资源共享;--交换信息能力弱进程通信:进程之间传送数据,以协调进程间的协作;--交换信息能力强,也可以用来协调进程之间的推进进程调度:作业和进程的运行切换,以充分利用处理机资源和提高系统性能;--未必是进程控制操作所引起(可能是时间片轮转、I/O操作)同一类型内的公平性、高效率(吞吐量大)、作业周转时间等完成处理机资源的分配调度等功能。处理机调度的单位可为进程或线程。2023/2/3南晓数信学院901.5.2存储管理存储分配与回收存储保护:保证进程间互不干扰、相互保密;如:访问合法性检查、甚至要防止从"垃圾"中窃取其他进程的信息;地址映射(变换):进程逻辑地址到内存物理地址的映射;内存扩充(覆盖、交换和虚拟存储):提高内存利用率、扩大进程的内存空间;管理目标:提高利用率、方便用户使用、提供足够的存储空间、方便进程并发运行。2023/2/3南晓数信学院911.5.3设备管理设备操作:利用设备驱动程序(通常在内核中)完成对设备的操作。还需处理外设的IRQ(InterruptRequest)。设备独立性(deviceindependence):提供统一的I/O设备接口,使应用程序独立于物理设备,提高可适应性;在同样的接口和操作下完成不同的内容(如FAXModem作为Windows上的打印机设备)。设备分配与回收:在多用户间共享I/O设备资源。虚拟设备(virtualdevice):设备由多个进程共享,每个进程如同独占。缓冲区管理:匹配CPU和外设的速度,提高两者的利用率(单缓冲区、双缓冲区和公用缓冲区)设备管理的目标是:方便的设备使用、提高CPU与I/O设备利用率;2023/2/3南晓数信学院921.5.4信息管理文件存储空间管理:解决如何存放信息,以提高空间利用率和读写性能。目录管理:解决信息检索问题。文件的属性(如文件名)、单一副本赋予多文件名(软链接、硬链接)文件的读写管理和存取控制:解决信息安全问题。系统设口令"哪个用户"、用户分类"哪个用户组"、文件权限"针对用户或用户组的读写权"软件管理:软件的版本、相互依赖关系、安装和拆除等解决软件资源的存储、共享、保密和保护。2023/2/3南晓数信学院931.5.5用户接口用户接口:供用户用于组织和控制自己的作业运行。命令行、菜单式或GUI"联机";命令脚本"脱机"编程接口:供用户程序和系统程序调用操作系统功能。系统调用和高级语言库函数;目标:提供一个友好的用户访问操作系统的接口。操作系统向上提供两种接口:2023/2/3南晓数信学院94操作系统的结构随着操作系统的发展,功能越强,OS自身代码量越大--采用良好的结构:有利于保证正确性以及自身修改和扩充。操作系统的设计原则可维护性容易修改与否称为可维护性;有三种可能的维护:改错性维护:改正已发现的错误;适应性维护:修改软件,使之适应新的运行环境(硬件环境和软件环境);如:操作系统的移植。完善性维护:增加新功能;可靠性可靠性包括两方面:正确性:正确实现所要求的功能和性能;稳健性:对意外(故障和误操作)作出适当的处理;2023/2/3南晓数信学院95操作系统的结构可理解性易于理解,以方便测试、维护和交流;性能有效地使用系统资源;尽可能快地响应用户请求;2023/2/3南晓数信学院96OS结构设计无结构模块式层次式微内核2023/2/3南晓数信学院971.5.1传统的操作系统结构1.无结构操作系统一组过程集,各过程可相互调用,也叫整体系统结构。缺点:逻辑复杂,维护困难.2023/2/3南晓数信学院98传统的操作系统结构(2)2、模块化操作系统模块结构的特点模块由众多服务过程(模块接口)组成,可以随意调用其他模块中的服务过程--如UNIX系统优点:具有一定灵活性,在运行中的高效率缺点:功能划分和模块接口难保正确和合理;模块之间的依赖关系(功能调用关系)复杂(调用深度和方向),降低了模块之间的相对独立性--不利于修改2023/2/3南晓数信学院99图1-6模块化操作系统结构2023/2/3南晓数信学院100传统的操作系统结构(3)3、分层式操作系统有序分层的基本概念可简化设计的复杂度下层为上层提供服务层次的设置应考虑的因素程序嵌套:各模块间嵌套关系复杂运行频率:随层次的增高,相应软件的运行速度就随之下降公用模块:低层用户接口:高层2023/2/3南晓数信学院101分层原则被调用功能在低层:如文件系统管理--设备管理--设备驱动程序活跃功能在低层:提高运行效率资源管理的公用模块放在最低层:如缓冲区队列、堆栈操作存储器管理放在次低层:便于利用虚拟存储功能最低层的硬件抽象层:与机器特点紧密相关的软件放在最低层。如WindowsNT中的HAL--单处理、多处理资源分配策略和外壳放在最外层,便于修改或适应不同环境2023/2/3南晓数信学院102分层结构的特点优点:功能明确,调用关系清晰(高层对低层单向依赖),有利于保证设计和实现的正确性低层和高层可分别实现(便于扩充);高层错误不会影响到低层;避免递归调用缺点:降低了运行效率(层间通信开销)各系统对具体划分多少层次有不同的看法。2023/2/3南晓数信学院1031.5.2客户/服务器模式(Client-ServerModel)客户/服务器系统主要由客户机、服务器和网络系统三个部分组成。(1)客户机:通常在一个LAN网络上连接有多台网络工作站(简称客户机),每台客户机都是一个自主计算机,具有一定的处理能力,客户进程在其上运行,平时它处理一些本地业务,也可发送一个消息给服务器,以请求某项服务。(2)服务器:通常是一台规模较大的机器,在其上驻留有网络文件系统或数据库系统等,它应能为网上所有的用户提供一种或多种服务。平时它一直处于工作状态,被动地等待来自客户机的请求,一旦检查到有客户提出服务请求,便去完成客户的请求,并将结果送回客户。这样,工作站中的用户进程与服务器进程便形成了客户/服务器关系。(3)网络系统:用于连接所有客户机和服务器,实现它们之间通信和网络资源共享的系统。2023/2/3南晓数信学院104客户机/服务器模式的优、缺点优点:数据的分布处理和存储便于集中管理灵活性和可扩充性易于改编应用软件缺点:基本客户/服务器模式的不足之处是中心服务器存在着不可靠性和瓶颈问题2023/2/3南晓数信学院1051.5.3面向对象的程序设计1、面向对象技术的基本概念面向对象技术是20世纪80年代初提出并很快流行起来的。该技术是基于“抽象”和“隐蔽”原则来控制大型软件的复杂度的。所谓对象,是指在现实世界中具有相同属性、服从相同规则的一系列事物的抽象,而把其中的具体事物称为对象的实例。OS中的各类实体如进程、线程、消息、存储器等,都使用了对象这一概念,相应地,便有进程对象线程对象、存储器对象等。2023/2/3南晓数信学院106图1-7一个对象的示意图数据结构过程1过程2过程32023/2/3南晓数信学院107
(1)可修改性和可扩充性。由于隐蔽了表示实体的数据和操作,因而可以改变对象的表示而不会影响其它部分,从而可以方便地改变老的对象和增加新的对象。
(2)继承性。继承性是面向对象技术所具有的重要特性。继承性是指子对象可以继承父对象的属性,这样,在创建一个新的对象时,便可减少大量的时空开销。
(3)正确性和可靠性。由于对象是构成操作系统的基本单元,可以独立地对它进行测试,这样,比较易于保证其正确性和可靠性,从而比较容易保证整个系统的正确性和可靠性。
2、面向对象技术的优点2023/2/3南晓数信学院108
1.5.3.微内核技术1).微内核技术的引入---提高系统的灵活性;所谓微内核技术,是指精心设计的、能实现现代OS核心功能的小型内核它与一般的OS(程序)不同,它更小更精炼,它不仅运行在核心态,而且开机后常驻内存,它不会因内存紧张而被换出内存。微内核并非是一个完整的OS,而只是为构建通用OS提供一个重要基础。由于在微内核OS结构中,通常都采用了客户/服务器模式,因此OS的大部分功能和服务,都是由若干服务器来提供的,如文件服务器、作业服务器和网络服务器等。2023/2/3南晓数信学院109
2)微内核的基本功能微内核所提供的功能,通常都是一些最基本的功能,如进程管理、存储器管理、进程间通信、低级I/O功能。
(1)进程管理。
(2)存储器管理。
(3)进程通信管理。
(4)I/O设备管理。2023/2/3南晓数信学院110WindowsNT体系结构2023/2/3南晓数信学院111简化的Windows2000体系结构2023/2/3南晓数信学院112微内核模式的特点优点:良好的扩充性:只需添加支持新功能的服务进程即可可靠性好:调用关系明确,执行转移不易混乱便于网络服务,实现分布式处理:以同样的调用形式,在下层可通过核心中的网络传送到远方服务器上缺点:消息传递比直接调用效率要低一些(但可以通过提高硬件性能来补偿)2023/2/3南晓数信学院1131.6常用的操作系统1.6.1MSDOS1.6.2MSWindows3.x,Windows95,WindowsNT,Windows20001.6.3UNIX返回2023/2/3南晓数信学院1141.6.1MSDOS1981年:PC-DOS1.1:IBMPC,只支持软盘的个人操作系统;1983年:DOS2.0:PCXT,支持硬盘和目录的层次结构,并提供丰富的系统命令;1984年:DOS3.0:PCAT(Intel80286CPU),它把286作为一个快速的8086使用;1987年:DOS3.3:提供对IBMPS/2的支持(如3.5"软驱),提供了更多的应用;1988年:DOS4.0:支持大于32M的硬盘;1991年:DOS5.0:改进对扩展内存的支持;IBMPC,CPU8088/8086,BIOS单用户单任务,简单分层结构,16位MSDOS的历史2023/2/3南晓数信学院115MSDOS的结构DOSBIOS(BasicInput/OutputSystem):由一组与硬件相关的设备驱动程序组成,实现基本的输入/输出功能;DOS核心:提供一套独立于硬件的系统功能:内存管理、文件管理、字符设备和输入/输出、实时时钟等;命令处理程序:对用户命令进行分析和执行;2023/2/3南晓数信学院116MSDOS的特点字符用户界面。作业管理:命令行,批处理程序(BAT文件),菜单式。编程时通过软中断调用(int21h)来使用系统功能。不区分用户。"准多任务":通过内存驻留程序TSR(TerminatedandStayResident)来实现,通过时钟中断或键盘中断"热键hotkey"来激活其他任务。不支持虚拟存储,没有存储保护。采用段式分配(内存块),可直接访问的最大地址空间为1MB。其余的内存只能通过作为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《计算物理》课程教学大纲
- 黑龙江省牡丹江市2024-2025学年高三上学期期中考试生物试题含答案
- 2024年出售农民自建房合同范本
- 2024年代理服务简单版合同范本
- 2024年承接山地运输合同范本
- 福建省部分达标学校2024-2025学年高一上学期11月期中考试 物理(含解析)
- 东南交通大学规划
- 医院收费室主任述职报告
- 冬季七防知识培训
- 医院保洁人员培训内容
- 发改委项目可行性研究报告编写指南
- 《上海车展报告》课件
- 数学象棋:将数学应用于象棋策略和思考
- ETI 基本准则Base Code-中文OK
- 光伏发电项目技术标投标文件
- 幼儿细菌科普知识
- 保洁绿化养护管理专项方案
- 提高门诊患者满意度的品管圈课件
- 膀胱疼痛综合症间质性膀胱炎上海第二医科大学课件
- 国家开放大学《人文英语2》综合练习参考答案
- 过敏性休克演练试题及答案
评论
0/150
提交评论