版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章操作系统2操作系统2.1操作系统的概念2.2操作系统的类型2.3操作系统的功能2.4操作系统的实例2.1操作系统的概念
什么是操作系统为什么需要操作系统
操作系统的特征2.1.1什么是操作系统操作系统的英文表示是“OperatingSystem,OS”,是位于计算机硬件上的第一层软件,是计算机硬件与应用程序之间的接口,也是用户与计算机硬件之间的接口。从系统的角度来看操作系统又是计算机系统的资源管理器。计算机系统的硬、软件资源都是在操作系统的管理、控制和调度下运行和使用的。所以,只有配置了操作系统,计算机系统的资源利用率和工作效率才能提高。从功能来讲,操作系统由两部分程序组成,即资源管理程序和用户服务,操作系统是管理,控制和调度计算机硬、软件资源,合理地组织计算机的工作流程,又能为用户提供多种服务的一种程序系统。2.1.2为什么需要操作系统从效果上看,操作系统既能提高计算机系统的工作效率,又能方便用户使用计算机。因此,几乎所有的计算机都配有操作系统。如果没有操作系统、那么计算机就要退回第2章蛹作系统自初的原始状态去,即一个用户独占一台计算机,系统只能执行一道程序,CPU与外设串行工作;在程序运行时需要用户不停地干预,输入输出时需要用户进行手工操作,等等。正是有了操作系统,计算机的工作效率、自动化现度和方便性才有了大幅度的改善和提高,计算机硬件的作用才得以充分发挥。因此可以说,没有操作系统,就没有计算机辉煌的今天。2.1.3操作系统的特征为了提高计算机系统的效率,增强系统的处理能力,最大限度地提高资源利用率,并方便用户使用,现代操作系统广泛采用了并行操作技术,使硬件和软件并行工作。例如,I/O操作和计算同时进行,在内存中同时存放多道程序等。因此,以多道程序为基础的现代操作系统具有以下特征。(1)并发性并发是两个或两个以上的事件在同一时间间隔内发生。对于程序而言,并发也就是多道程序在同一时间间隔内同时执行。对于单处理机系统而言,程序并发执行实际上是多道程序在一个很小的时间段内交替执行。而宏观上看,它们似乎是在同时进行,即并发执行。实现并发性,使操作系统变得复杂。因为要考虑,如何从一个程序转到另一个程序,如何保护一个程序不受另一个程序侵扰,以及如何实现相互制约等。2.1.3操作系统的特征(2)共享性共享性就是资源共享,即计算机系统中的硬、软件资源供所有授权程序或用户共同使用。实际上,由于系统中的资源有限,当多道程序并发执行时,必然要共享系统中的硬、软件资源。所以,程序并发执行必然依赖于资源共享机制的支持。(3)虚拟性所谓虚拟,是采用某种方法把一个物理实体映射为一个或者多个逻辑实体。前者是客观存在的,后者只是在感觉或效果上存在。例如,在多道程序系统中,虽然只有一个CPU,每次只能执行一道程序;但是采用多道程序技术后,在一段时间内,宏观上看,有多个程序在运行,似乎是多个CPU在运行各自的程序,也就是说,一个物理上的CPU虚拟为多个逻辑上的CPU,即虚拟处理机。类似的还有虚拟存储器、虚拟外围设备等。2.2
操作系统的类型
批处理操作系统
分时操作系统
实时操作系统网络操作系统
分布式操作系统2.2
操作系统的类型基于不同视角,对操作系统可进行不同的分类。例如,分为单用户操作系统和多用户操作系统、单机操作系统和网络操作系统、集中式操作系统和分布式操作系统、单任务操作系统和多任务操作系统、单处理机操作系统和多处理机操作系统、通用操作系统和专用操作系统、串行操作系统和并行操作系统等。但是,从基本的技术特征来看,操作系统一般分为批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统等类型。1.批处理操作系统批处理操作系统简称批处理系统,其基本特征是“批量处理”。所谓批量处理,就是把外存储器上的若干个作业作为一批,串行或者并行调度,分配内存和处理机,然后输出结果。在批处理过程中、用户不能干预。批处理操作系统又分为单道批处理和多道批处理。单道批处理就是将一批作业依次调入内存,串行处理,所以设备利用率低和工作效率不高。多道批处理是以并行方式处理作业,一次调入多个作业、并行处理,所以设备利用率和工作效率都得到提高。2.2
操作系统的类型2.分时操作系统分时操作系统是把一个时向段分为若下个时问片(更小的时间段),使多个用户仅用各自所分配到的时间片轮流地使用计算机。要实现这种分时功能,必须有相应的硬件支持。支持分时操作系统的计算机硬件系统称为分时计算机系统,它是一台主机连接若干台终端的计算机系统。所以,分时操作系统和分时计算机系统都可简称分时系统。分时系统在运行期间要不停地进行作业(或任务)的切换和调入调出。所谓作业切换,是指CPU上的作业以既定的时间片为期限进行轮换,一个作业一次只能用一个时间片在CPU上运行,一且时间片用完,立即撤下,而不管它是否运行完毕。然后换上下一个作业继续运行。但从任务切换来看、分时系统与多道批处理系统有类似之处。调入调出也称对换或者交换,它把将要运行的作业从外存(交换区)调入内存,而把换下的作业从内存移出,存入外存(的交换区)。分时系统所划分的时间片通常是几十毫秒,按时间片轮流为各个终端用户服务,而用户觉察不到中间的间歇,似乎自己在单独使用计算机。另外,由于主机的运行速度很高,虽然每一轮分给每个终端只有几十毫秒的时间,但系统也能保证对用户请求的及时响应和人机交互。总之,分时系统的特点可概括如下。(1)同时性:不同的用户可以同时在各自的终端上联机使用同一台计算机的CPU时间。(2)独立性:每个终端用户对主机系统都感觉好像是独立占用计算机贸织。(3)及时性:用户的请求能在足够快的时间内得到及时响应(4)交互性:用户能够通过终端设备与主机进行联机,进行人机交互。分时操作系统起通用大、中型计算机上配置的主流操作系统。著名的UNIX批作系统就是一个典型的分时操作系统。2.2
操作系统的类型3.实时换作系统实时操作系统简称实时系统。实时就是“立即”“及时”,实时操作系统是对特定输入,能在极短的时间内发出响应,并完成对该输入请求的处理。实时系统又可分为实时控制系统和实时处现系统两种类型。实时控制系统用于自动控制,如工业过程控制和武器控制等。它要求计算机具有快速响应能力,响应时间一般为ms级,甚至在ws级。实时处理系统用于倍息处理,比如,银行账务管理、车徙或机票订购系统等。它也要求快速响应,但与实时控制相比可以低一些。一般为s级。实时系统一般为专用系统,虽然也可以具有像分时系统一样的硬件配置,但其交互性较弱,通常配置在微机、小型机或工作站上。比如,RT-11,iRMX等,属实时操作系统。2.2
操作系统的类型4.网络操作系统网络操作系统是配置在计算机网络上的操作系统。除了通常单机操作系统所具有的资原管理和服务外,网络操作系统还具有网络通信、网络管理和网络服务等功能,网络操作系统多数是在单机操作系统基础上发展起来的,能实现网络通信合资源共享,协调各主机上的任务的运行,并向用户提供统一、高效、方便的网络接口。比如,WindowsNT、Netware和UNIX就是典型的网络操作系统。(1)网络通信网络通信是网络操作系统最基本的功能,是在源主机和目标主机之间实现无差错的数据传输。为此,需要建立通信链路,进行传输控制、差错控制、流量控制和路由选择。网络通信需要一定的网络协议来实现的,所以网络操作系统必须支持某种网络协议。比如,UNIX支持TCP/IP协议,Windows支持NETBIOS和TCP/IP协议,Netware则支持IPX/SPX和TCP/IP协议等。(2)网络管理网络管理包括网络资源管理和安全管理。资源管理是指对网络中共享资源(如硬盘,打印机和文件)实施有效的管理,协调用户对共享资源的使用,安全管理是采用某种技术保证系统和数据的安全,比如,通过“存取控制”确保存取数据的“安全性,通过“容错技术”保证系统出现故障时数据的安全性。此外,还要对网络进行监视,对使用情况进行统计等。2.2
操作系统的类型(3)网络服务基本的网络服务有电子邮件、文件传输和资源共享等。随着网络技术的发展,网络操作系统还为川户提供了应用序接口和互操作功能。应用程序接口极大方使了用户网络应用程序的开发。所谓互操作,是在客户/服务器模式的LAN环境下,连接服务器上的多种客户机和主机、不仅能与服务器通信,而且还能以透明的方式访问服务器上的文件系统;在互联网络环境下的互操作,是指不同网络间的客户机不仅能够通信,而且还能以透明的方式访问其他网络中的文件服务器。目前,网络操作系统有两种工作模式:客户/服务器(Client/Server)模式和对等(Peer-to-Peer)模式。而以前者为流行,例如,UNIX、WindowsNT、NovellNetWare、IBMOS/2等都是客户/服务器模式的网络操作系统。2.2
操作系统的类型5.分布式操作系统分布式操作系统是配置在分布式计算机系统上的操作系统。分布式计算机系统是由多台计算机连接而成的系统,从硬件连接来看、它与局域计算机网络并无区别。但是分布式计算机系统具有以下特点:(1)各节点的自治性,即系统中各计算机之间无主从之分,既无控制整个系统的主机,也无受制于其他视的从机。(2)节点间的协同性,即系统中的各台计算机分工合作,以并行方式完成同一任务。(3)资源共享的透明性,即用户只需了解系统是否有所需的资源,而不必了解该资源位于哪个节点上。(4)系统的健壮性,由于分布式系统的处理和控制功能是分布的,所以任何节点上的故障都不会给系统造成太大的影响;再加上容错技术,系统具有很好的健壮性。2.3操作系统的功能
进程管理存储管理
文件管理
设备管理2.3.1进程管理从系统角度来看,进程是计算机系统中的一种实体,是进行资源分配和调度的基本单位,它由程序、数据和一个称为进程控制块(ProcessControlBlock,PCB)的数据结构组成。其中,进程控制块PCB一般包括如下信息。1.进程的概念进程(Process)是现代操作系统中最重要的概念之一。从用户角度来看,进程就是程序的一次执行(过程)、且该程序可以同其他程序并发执行。2.3.1进程管理2.进程的组成(1)标识符:进程名、用一个字符串或数字表示。(2)地址:进程、程序和数据在内存或外存中的物理位置。(3)状态:进程的当前状态,可以是就绪、运行、阻塞等。(4)优先级:表示进程的优先程度,以便为每个进程分配处理机及其他资源时使用。(5)资源清单:进程的资源需求和分配情况。(6)现场保护区地址:内存中的一块区域,用于进程退出CPU时保护现场之用。(7)链接指针:用于形成进程队列,一般指排在该进程之后的下一进程的PCB地址。此外,还有一些其他信息,一般因系统面异。从进程的组成可以看出:①一个进程可以包含多个程序,反之,一个程序也可以同时属于多个进程。②程序和数据虽然是组成进程的实体,但仅有程序和数据还不是进程,而只有给程序和数据添上一个PCB才能构成进程。所以,PCB是进程的唯一标志,不同的PCB代表不同的进程。在系统中创建一个PCB,就等于创建了一个进程;撤销一个PCB,就等于撤销了一个进程。2.3.1进程管理3.进程的特征①进程是动态的,它由系统创建,并会发生状态转换,直至消亡。而程序是静态的,它是指令的有序集合。②进程可并发执行,即一个进程已开始工作但还没有结束之前,另一个进程可以开始工作。程序只能一个个执行并完成。③多个进程可包含有相同的程序,只要运行的数据集合不同;反之,一个进程也可包含多个进程,形成父子进程。2.3.1进程管理4.进程的状态一个进程被创建后,一般并不是立即在处理机上执行,也不是一直在处理机上执行,而是一会儿执行,一会儿停止,走走停停,直到运行结束。这就是说,进程在其整个生命周期中是在不停地变换着状态。(1)就绪状态:就是做好了一切准备、等待上CPU运行。具休来讲,就是进程已获得除CPU以外所有必要的资源、只要再获得处理机,就可立即运行。处于就绪状态的进程通常排成一个或多个队列等候执行,这样的队列称为就绪队列。(2)运行状态:就是获得处理机,其程序正在CPU上执行。(3)阻塞状态:因某种原因(如I/O请求,或等待某一事件发生)暂时从CPU上退下,而不能持续运行,即进程的运行受到了阻塞。2.3.1进程管理5.进程控制进程控制包括进程的创建、撤销和状态转换等。这些功能一般用进程控制原语实现。所谓原语,是指由若干条机器指令构成的用以完成一定功能的程序段,且在执行期间不能中断除了这几个基本进程控制原语外,在有些系统中还有一些其他进程控制原语,如挂起原语、激活原语等。6.进程调度进程由就绪状态变为运行状态是由进程调度程序实现的,实现这一状态转换的过程称为进程调度。进程调度的具体操作是按照某--原则(所谓调度算法)从就绪队列中选择一个进程,然后把处理机分配给它。引起进程调度的时机一般是正在运行的进程运行结束,或因时间片用完转入就绪状态、或因某一原因转人阻塞状态。另外。当一个高优先级的进程进入就结队列、请求立即分配处理机时,也会引起进程调度。当然,这又涉及进程调度的方式。进程调度的方式一般分为剥夺(抢占)式和非剥夺(非抢占)式两种。2.3.1进程管理常用的进秘调度算法如下。(1)优先级法就是给每一个进程设置--个级别,每次进程调度时调度程序总是从绪队列中选取一个级别最高的进程,为其分配CPU。进程的优先级一般用一个数字表示,常按某种原则(如进程的类型、大小、需占用CPU的时间以及紧急程度等)由系统自动设定,或者人工设定。优先级法又可分为静态优先级法和动态优先级法。前者优先级始终不变,后者优先级随进程的运行在不断地调整和变化。(2)时间片轮转法该算法是按某一顾序对进程进行循环调度。每个进程占用CPU的时向由其时间片决定,当用完自已的时间片后该进程退出,然后调度下一个进程。时间片轮转法又分为固定时间片轮转法和可变时间片轮转法。前者时间片的大小固定,而后者的时间片可随进程的运行而调整和变化。2.3.1进程管理7.进程互斥与同步进程互斥是指两个并发进程因争夺某一临界资源面相互排斥。如两个进程A和B,同时请求使用一台打印机、而打印机是一-种临界资源,它一次只能允许一个进程使用,于是出现相互排斥。进程同步是指两个并发进程为共同完成一个任务面相互配合、协同工作。例如,进程A、B分别为计算进程和打印进程,两者的合作关系是A算出结果,B才能打印。2.3.1进程管理8.进程通信进程通信就是进程间进行信息交流。其实,前面的信号量机制也可以看作是一种进程通信方式。因为信号量本身就是一种信息,进程正是通过对信号量的设定、修改和判定来实现互斥和同步的。但是由于信号量所携带的信息太简单、太有限,所以利用信号量通信只能算作一种低级通信。为了在进程间传递大量信息,即进程通信,操作系统发展了多种通信方式。(1)利用共享数据结构或共享内存的通信方式在这种通信方式中,进行通信的每个进程公用某些数据结构,通过这些数据结构进行信息交换;或者由操作系统在内存中划出一块共享存储区,每个进程通过对共享存储区的读写来实现通信。2.3.1进程管理(2)利用消息传递的通信方式在这种通信方式中,进程间的通信以消息(message)为单位、通过调用一组高级通信原语来进行。消息传递通信有可分为直接通信和间接通信两种。(3)利用共享文件的通信方式这种通信方式其实就是所谓的管道(PIPE)通信。在这种通信方式中、通信进程使用一个已经打开的共享文件来实现通信,该共享文件被形象地称为“管道”、所以这种通信方式也称为管道通信。在管道通信中,发送进程把数据写到管道中,而接受进程则从管道中读出数据。显然,管道是一种临界资源,所以通信时,两个通信进程关于管道也需要互斥和同步。在上述的几种通信机制中,基于共享数据结构或共享内存的通信速度最快。一-般的多任务操作系统都采用这种方式。管道通信方式由UNIX首创,是建立在共享文件的基础之上的,但效率要低一些。在UNIX(SystemV)中,提供了一个进程通信包,即IPC,实现了三种通信方式,即共享内存方式、消息通信方式和管道通信方式。2.3.1进程管理9.死锁(1)死锁的由来死锁是操作系统层面的一个错误,是进程死锁的简称,最早在1965年由Dijikstra在研究银行家算法时提出的,它是计算机操作系统乃至整个并发程序设计领域中最难处理的问题之一。事实上,计算机世界有很多事情需要多线程方式去解决,因为这样才能最大限度利用资源,才能体现出计算的高效。但是,实际上计算机系统中有很多一次只能由一个进程使用的资源的情况,如打印机,同时只能有一个进程控制它。在多通道程序设计环境中,若干进程往往要共享这类资源,而且一个进程所需要的资源还很有可能不止一个。因此,就会出现若干进程竞争有限资源,又推进顺序不当。从而构成无限期循环等待的局面,我们称这种状态为死锁。简单一点描述,死镇是指多个进程循环等待它方占有的资源而无限期地假持下去的局面。很显然,如果没有外力的作用,那么死镇涉及的各个进程都将永远处于封锁状态。系统发生死锁现象不仅浪费大量的系统资源,甚至导致整个系统崩溃,带来灾难性后果。所以,对于死锁问题在理论上和技术上都必须予以高度重视。2.3.1进程管理(2)死锁的概念死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。简而言之,死锁是多个进程由于竞争资源而导致循环等待的情况。2.3.1进程管理(3)产生死锁的四个必要条件1)互斥条件:指进程对所分配到的资源进行排他性使用,即在一段时间内某资源只由一个进程占用。如果此时还有其他进程请求资源,则请求者只能等待,直至占有资源的进程用毕释放。2)请求和保持条件:指进程已经保持至少一个资源,但又提出了新的资源请求,而该资源已被其他进程占有、此时请求进程阻塞,但又对自己已获得的其他资源保持不放。3)不剥夺条件:指进程已获得的资源,在未使用完之前,不能被剥夺,只能在使用完时由自己释放。4)循环等待条件:指在发生死锁时,必然存在一个进程——资源的环形链,即进程集合|P0,P1,P2,.…,Pn|中的P正在等待一个P1占用的资源;P1正在等待P2占用的资源,……,Pn正在等待已被P0占用的资源。2.3.1进程管理(4)打破死锁的四个必要条件前面介绍了死锁发生时的四个必要条件,只要破坏这四个必要条件中的任意一个条件,死锁就不会发生。这就为我们解决死锁问题提供了可能。一般解决死锁的方法分为死锁的预防、避免、检测与恢复三种(注意:死锁的检测与恢复是一个方法)。(5)死锁的预防死锁的预防是保证系统不进入死锁状态的一种策略。它的基本思想是要求进程申请资源时遵循某种协议,从而打破产生死锁的四个必要条件中的一个或几个,保证系统不会进入死锁状态。1)打破互斥条件,即允许进程同时访问某些资源。但是,有的资源是不允许被同时访问的.像打印机等,这是由资源本身的属性所决定的。所以,这种办法并无实用价值。2.3.1进程管理2)打破不可抢占条件,即允许进程强行从占有者那里夺取某些资源。就是说,当一个进程已占有了某些资源,它又申请新的资源,但不能立即被满足时,它必须释放所占有的全部资源以后再重新申请。它所释放的资源可以分配给其他进程。这就相当于该进程占有的资源被隐蔽地强占了。这种预防死锁的方法实现起来困难,会降低系统性能。3)打破占有且申请条件,可以实行资源预先分配策略,即进程在运行前一次性地向系统申请它所需要的全部资源。如果某个进程所需的全部资源得不到满足,则不分配任何资源,此进程暂不运行。只有当系统能够满足当前进程的全部资源需求时,才一次性地将所申请的资源全部分配给该进程。由于运行的进程已占有了它所需的全部资源,所以不会发生占有资源又申请资源的现象,因此,不会发生死锁。但是,这种策略也有如下缺点。①在许多情况下,一个进程在执行之前不可能知道它所需要的全部资源。这是由于逛程在执行时是动态的、不可预测的。②资源利用率低。无论所分资源何时用到,一个进程只有在占有所需的全部资源后才能执行。即使有些资源最后才被该进程用到一次,但该进程在生存期间却一直占有它们.造成长期占着不用的状况。这显然是一种极大的资源浪费。③降低了进程的并发性。因为资源有限,又加上存在浪费,能分配到所需全部资源的进程个数就必然少了。2.3.1进程管理4)打破循环等待条件,实行资源有序分配策略。采用这种策略,即把资源事先分类编号,按号分配,使进程在申请,占用资源时不会形成环路。所有进程对资源的请求必须严格按资源序号递增的顺序提出。进程占用了小号资源,才能申请大号资源、就不会产生环路,从而预防了死锁。这种策略与前面的策略相比,资源的利用率和系统吞吐量都有很大提高,但是也存在以下缺点。①限制了进程对资源的请求,同时给系统中所有资源合理编号也是件困难事,并增加了系统开销。②为了遵循按编号申请的次序,暂不使用的资源也需要提前申请,从而增加了进程对资源的占用时间。死锁的检测和解除经常会配套使用,当检测到死锁时,需要利用各种办法来解除系统的死锁,常用的办法有资源夺取法、进程撤销法、系统重启法、进程回退法。2.3.2存储管理存储管理是指对内存(主存)的管理,主要包括内存分配、地址变换、存储扩充和存储保护等。1.地址映射一个应用程序(源程序)经编译后,通常会形成若干个目标程序;这些目标程序再经过链接而形成可装人程序。这些程序的地址都是从“0”开始的,程序中的其他地址都是相对于起始地址计算的;由这些地址所形成的地址范围称为“地址空间”,其中的地址称为“逻辑地址”或“相对地址”。此外,由内存中的一系列单元所限定的地址范围称为“内存空间”,其中的地址称为“物理地址”。在多道程序环境下,地址空间中的逻辑地址和内存空间中的物理地址是不可能一致的,因此,存储器管理必须提供地址映射功能,将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址。该功能同样应在硬件的支持下完成。2.3.2存储管理2.内存分配操作系统在实现内存分配时,可采取以下两种方式。①静态分配方式。每个作业的内存空间是在作业装入时确定的;在作业装入后的整个运行期间,不允许再申请新的内存空间,也不允许作业在内存中“移动”。②动态分配。每个作业所要求的基本内存空间也是在装入时确定的;但允许作业任运行过程中继续申请新的附加空间,以适应程序和数据的动态增长,也允许作业在内存中“移动”。为了实现内存分配,在内存分配的机制中应具有以下结构和功能。*内存分配数据结构。该结构用于记录内存空间的使用情况,作为内存分配的依据。*内存分配功能。系统按照一定的内存分配算法为用户程序分配内存空间。2.3.2存储管理3.内存回收功能系统对于用户不再需要的内存,通过用户的释放请求,去完成系统的回收功能。4.内存保护内存保护的主要任务是确保每道用户程序都在自己的内存空间中运行,互不干扰。进一步说,绝不允许用户程序访问操作系统的程序和数据;也不允许转移到非共享的其他用户程序中去执行。2.3.2存储管理5.内存扩充由于物理内存的容量有限(它是非常宝贵的硬件资源,不可能做得太大),因而难以满足用户的需要,势必影响到系统的性能。在存储器管理中的内存扩充任务,并非是去增加物理内存的容量,而是借助于虚拟存储技术,从逻辑上去扩充内存容量、使用户所感觉到的内存比物理内存大得多;或者是让更多的用户程序能并发运行。这样,即满足了用户的需要、改善了系统性能,又基本上不增加硬件投资。为了从逻辑上扩充内存,系统必须具有内存扩充机制,用于实现下述各功能。①请求调入功能。允许在仅装入一部分用户程序和数据的情况下,启动该程序运行。在运行过程中当发现继续运行时所需的程序和数据尚未装人内存时,可向操作系统发出请求、由操作系统将所需部分调入内存、以便继续运行。②置换功能。若内存中已无足够的空间米装入需要调入的部分时,系统应能将内存中的一部分暂时不用的程序和数据调至磁盘上,以便腾出内存空间,然后再将所需部分调入内存。2.3.3文件管理计算机系统中的软件资源,如源程序、目标程序、数据、编译程序等,都是以文件形式组织的。对这些文件的高效管理,并为用户提供方便、安全地使用这些文件的手段,是操作系资的另一个重要任务。1.文件及文件系统(1)文件:指逻辑上具有完整意义的一纽相关信息的有序集合,它由文件体及文件控制块(FCB)所组成。其中,文件体是文件信息的本体,文件控制块则是文件的说明,包含有文件名、用户名、文件类型、文件所在物理位置,文件建立日期等。(2)文件类型:按照不同观点,可将文件分成多类,见教材P164。(3)文件系统:操作系统中对文件进行组织、存取和管理的机构(软件集合),称为文件管理系统,简称文件系统。2.3.3文件管理2.文件系统的功能文件系统的主要功能是实现“按名存取”,具体包括如下。(1)实现从逻辑文件到物理文件的转换。逻辑文件:按用户使用要求构造的文件。它是面向用户的。物理文件:按存储介质(如磁盘、磁带)的物理特性构造的文件。它是面向设备的。为使用户方便按名存取文件,文件系统为用户“屏蔽”了复杂的辅存特性及文件在辅存上的具体操作,实现逻辑文件到物理文件的转换。(2)有效地分配文件的存储空间。(3)建立文件目录,提供合适的存取方法。(4)实现文件的共享、保护和保密。2.3.3文件管理3.文件的组织文件系统提供了上述的两种文件结构:逻辑结构,物理结构。(1)文件的逻辑结构(逻辑文件)流式文件:将文件信息作为一个整体来管理和使用的文件。如由系统程序、源程序.标准子程序等信息组成的文件。记录式文件:由若干个相关记录所组成的文件。文件系统以记录为单位对文件进行管理,用户则按文件名和学号以记录为单位使用文件中的信息。2.3.3文件管理(2)文件的物理结构(物理文件)文件的物理结构可分为三类。①顺序结构定义:逻辑文件的记录依次存放在外存的连续物理块中,这种结构称为顺序结构。②链接结构定义:逻辑文件的记录依次存放在外存用指针链接的物理块中,这种结构称为链接结构。③索引结构定义:逻辑文件的记录依次存放在外存中由索引表指示的物理块中,这种结构称为索引结构。索引表与文件同时建立,并与文件-起存放在同-文件卷上,通常占用个或几个物理块。当索引表的表目不多时,可用一个物理块存放;当文件很大时,就需要多个物理块存放其索引表。存放索引表的物理块,称为索引表块。一个文件可有多个素引表,索引表块可以按串联方式组织,也可以按多级索引方式组织。2.3.3文件管理(3)文件的存取方式文件的存取方式是指操作系统为用户或进程提供的读写逻辑文件的方法。通常有两种方式,即顺序存取和直接存取(亦称随机存取)。顺序存取是按照记录或字符在文件中的排列顺序依次存取。例如,在记录式文件中,当前存取的记录为Ri,则下一次存取的记录自动确定为Ri+1。在无结构的流式文件中,顺序存取按照读写位移(offset)从当前位置开始读写,每读写完一段信息后,自动加上该段的长度,然后在根据该位移读写下面的信息。这就是说,顺序读取不允许跳过某些内容而存取。这就意味着要读取最后一个记录时,必须从第一个记录开始。2.3.3文件管理4.文件目录如何从成千上万的文件中,“按名存取”所需要的文件?这就需要建立文件目录,如同通过本书的日录来查找各章节的内容及其所在页号。现代操作系统通常采用树型结构对文件进行组织。最基本的一级称为卷,一盘磁带、一张来盘片、一个硬盘分区或一张软盘片都可称为一卷。在卷上可以建立目录树,有的系统中称为文件夹。最基本的一级称为根目录,它通常是在格式化时创建的。在根目录中,操作系统会根据需要建立一-些系统使用的目录,用户也可以根据自己的想法在根目录中建立自己使用的目录树结构。在根目录上建立的目录称为子目录,子目录中还可以再建立子日录,从而形成多级结构。在一个日录中,文件不能重名,即一个文件名只能用于命名一个文件。而不同目录中的文件可以重名。从根目录开始直到文件名,所有目录名排列起来称为文件的路径。操作系统对目录树的层次、路径的长度和每个目录中所能存储的文件数浔都有一定的限制。2.3.3文件管理5.文件的共享、保护和保密(1)文件的共享:文件作为软件资源可供多个用户共同使用,称为文件共享。实现文件共享的方法有连访法(用指针链指向同一信息文件)采用基本文件自录和符号文件目录的多级目录结构。(2)文件保护:防止文件因硬件故障或共享文件时庭受破坏,称为文件保护。实现文件保护的方法有建立存取控制权限表,定期转储,建立多个副本等。(3)文件的保密:防止他人窃取文作,称为文作保密。实现文作保密的方法有设置口令,对文件进行加密等。2.3.4设备管理现代计算机系统中都配置有名种外部设备,其物理特性名异,使用时差别很大。操作系统中的设备管理程序不仅高效地实现对外设备的管理(如设备共享,并发操作等),而且为用户方便使用设备提供了良好手段(如用户按诩辑设备申请设备,且不必考虑设备的物理特性)。1.设备管理的任务和功能设备管理的主要任务是完成用户提出的I/O请求,为用户分配I/O设备,提高I/O设备的利用率,方便用户使用I/O设备。设备管理应该具备以下功能。(1)设备分配。按照设备类型和相应的分配算法决定将I/O设备分配给哪个要求使用该设备的进程。如果在I/O设备与CPU之间还存在着设备控制器和通道,则还需分配相应的控制器和通道,以保证I/O设备与CPU之间有传递信息的通路。凡未分配到所需设备的进程应放入一个等待队列。为了实现设备分配,系统中应设置些数据结构,用于记录设备的状态。2.3.4设备管理(2)设备处理。设备处理程序实现CPU和设备控制器之间的通信,即当CPU向设备控制器发出I/O指令时,设备处理程序应启动设备进行I/O操作,并能对设备发来的中断请求做出及时的响应和处理。(3)缓冲管理。设置缓冲区的目的是缓和CPU与I/O设备速度不匹配的矛盾。缓冲管理程序负责完成缓冲区的分配和释放及有关的管理工作。(4)设备独立性。设备独立性又称设备无关性,是指应用程序独立于物理设备。用户在编制应用程序时,要尽量避免直接使用实际设备名。如果程序中使用了实际设备名,则当该设备没有连接在系统中或者该设备发生故障时,用户程序无法运行,若要运行此程序则需要修改程序。如果用户程序不涉及实际设备而使用逻辑设备,那么它所要求的输入/输出便与物理设备无关。设备独立性可以提高用户程序的可适应性,使程序不局限与某个具体的物理设备。2.3.4设备管理2.设备控制器与I/O通道(1)设备控制器设备一般由机械和电子两部分组成,设备的电子部分通常称为设备控制器。设备控制器处于CPU与I/O设备之间,它接收从CPU发来的命令,并去控制I/O设备工作,使CPU从繁杂的设备控制事务中解脱出来。设备控制器是一个可编址设备,当它仅控制一个设备时,它有一个设备地址;当控制器连接多个设备时,则应具有多个设备地址,使每一个地址对应一个设备。设备控制器应具有以下功能:接收和识别来自CPU的各种命令,实现CPU与设备控制器、设备控制器与设备之间的数据交换,记录设备的状态供CPU查询,识别它所控制的每个设备地址。为此,设备控制器中应设置控制寄存器存放接收的命令及参数、设置数据寄存器存放传输的数据,设置状态寄存器记录设备状态。(2)I/O通道在-般计算机系统中,通道指专门用于负责输入/输出工作的处理机。通道有自己的指令系统,该指令系统比较简单,一般只有数据传送指令、设备控制指令等。通道所执行的程序称为通道程序。2.3.4设备管理3.中断技术中断是指计算机系统内发生了某一急需处理的事件,使得CPU暂时中止当前正在执行的程序而转去执行相应的事件处理程序,待处理完毕后又返回到原来被中断处继续执行。引起中断发生的事件称为中断源。中断源向CPU发出的请求中断处理的信号称为中断请求。而CPU收到中断请求后转相应事件处理程序的过程称为中断响应。发生中断时,刚执行完的那条指令所在的单元号称为断点,断点的逻辑后继指令的单元号称为恢复点。而现场是指中断的那一时刻能保证程序继续运行的有关信息。在某些情况下,尽管产生了中断源和中断请求,但CPU内部的处理机状态字PSW(是一组反映程序运行状态的信息,又称为程序状态字)的中断允许位已被清除,从而不允许CPU响应中断,这种情况称为禁止中断,也称为关中断。CPU禁止中断后、只有等到PSW的中断允许位重新设置后才能接受中断。当设置PSW的中断允许位时,CPU可以接受中断,这种情况称为允许中断,也称为开中断。开中断和关中断是为了保证某些程序执行的原子性。2.3.4设备管理为了处理上的方便,计算机系统通常采用中断向量来存放中斯处理程序的入口地址,以便中断发生时硬件能根据中断向量转入相应的中断处理程序执行。在中断向量中每一个中断信号占用连续的两个单元:一个单元用来存放中断处理程序的人口地址;另一个单元用来保存在处理中断时CPU应具有的状态。除了禁止中断外、还有一个比较常用的概念是中断屏蔽。中断屏磁是指系统用软件方式有选择地封锁部分中断而允许其余部分中断仍能得到响应。不过,有些中断请求是不能屏蔽甚至不能禁止的、也就是说,这些中断具有最高优先级,不管CPU是否关中断,只要这些中断请求一提出,CPU必须立即响应。2.3.4设备管理4.缓冲技术缓冲技术的实现思想是在CPU和外设之间设立缓冲,用以暂存CPU和外设之间交换的数据,从而缓和CPU与外设速度不匹配所产生的矛盾。事实上,凡是数据到来速度和数据离去速度不同的地方都可以使用缓冲。缓冲的实现方法有两种:一种实现方法是采用硬件缓冲器,但由于这种方法成本太高,除一些关键部位外,一般情况下不采用硬件缓冲器;另一种实现方法是在内存划出一块存储区,专门用来临时存放输入/输出数据,这个区域称为缓冲区。根据系统设置的缓冲区个数不同,可以将缓冲分为单缓冲、双缓冲、环形缓冲和缓冲池。单缓冲是在设备和处理机之间设置一个缓冲区。设备和处理机交换数据时,先把被交换数据写入缓冲区、然后,需要数据的设备或处理机从缓冲区取走数据。由于只设置了一个缓冲区,因而设备与处理机对缓冲区的操作是串行的。2.3.4设备管理引入双缓冲可以提高处理机与设备的并行操作程度。例如,在设备输入时,输入设备先将第一个缓冲区装满数据,在输人设备装填第二个缓冲区的同时,处理机可以从第一个缓冲区中取出数据供用户进程进行处理;当第一个缓冲区中的数据处理完后,若第二个缓冲区已填满,则处理机又可以从第二个缓冲区中取出数据进行处理,而输人设备又可以装填第一个缓冲区。显然,双缓冲的使用提高了处理机和输人设备并行操作的程度。只有当两个缓冲区都为空,而且进程还要提取数据时,该进程被迫等待。环形缓冲(又称循环缓冲)中包含多个大小相等的缓冲区,每个缓冲区中有一个链接指针指向下一个缓冲区,最后一个缓冲区指针指向第一个缓冲区,这样多个缓冲区构成一个环形。环形级冲用于输入/输出时,还需要有两个指针in和out。对于输入而言,首先要从设备接收数据到缓冲区,in指针指向可以输入数据的第一个空缓冲区;当运行进程需要数据时,从环形缓冲中取一个装满数据的缓冲区,并从此缓冲区中提取数据,out指针指向可以提取数据的第一个满缓冲区。显然,对输入而言正好相反,进程将处理过的需要输出的数据从到空缓冲区中,而当设备空闲时,从满缓冲区中取出数据由设备输出。2.3.4设备管理5.SPOOLing系统SPOOLing的意思外部设备同时联机操作,又称为假脱机输入/输出操作,是操作系统中采用的项将独占设备改造成共享设备的技术。SPOOLing系统是对脱机输入/输出工作的模拟,它必须有高速大容量且可随机存取的外存支持。SPOOLing系统主要包括以下三部分。(1)输入井和输出井这是在磁盘上开辟出来的两个存储区域。输入井模拟脱机输入时的磁盘,用于收容I/O设备输人的数据。输出井模拟脱机输出时的磁盘、用于收容用户程序的输出数据。(2)输入缓冲区和输出缓冲区这是在内存中开辟的两个缓冲区。输入缓冲区用于暂存由输入设备送来的数,以后再传送到输入井。输出缓冲区用于暂存从输出井送来的数据,以后再传送到输出设备。(3)输入进程和输出进程输入进程模拟脱机输入时的外围控制机,将用户要求的数据从输入机通过输人级冲区再送到输入井。当CPU需要输入数据时,直接将数据从输入井读入内存。输出进程模拟脱机输出时的外控制机,把用户要求输出的数据先从内存送到输出井,带输出设备空闲时,再将输出井中的数据输出缓冲区送到输出设备上。2.4
操作系统的实例UNIX操作系统
Linux操作系统
Windows操作系统
MacOS2.4.1UNIX操作系统UNIX最初是一个分时操作系统、由美国AT&T公司开发,于1974年正式发表、最初只配置在PDP-7上。后来,因其良好的可移植性和系列优异特性,很快推广到各类大、中、小型计算机上,成为操作系统领域中的佼佼者,而且不断地发展。如今,在进人Internet时代的情况下,UNIX仍然经久不衰。现在的UNIX不仅是工作站上的主流操作系统,也是广泛流行的多用户多任务操作系统和网络操作系统。可以认为,UNIX已经成为最著名、影响最深远的一个操作系统。2.4.1UNIX操作系统2.UNIX的特点(1)可移植性。UNIX是用C语言编写的,所以具有良好的可移植性,易读、易修改。(2)开放性。它遵循世界标准规范,特别是遵循开放系统互联OSI国际标准,具有良好的开放性,可方便地实现互联。因而广泛地配置在从微型机到大、中型机的各种机器上;而且还能将配置UNIXOS的机器互联成计算机网络。
(3)只有良好的用户界而,如可编程语言Shell和图形用户界面X-Window。(4)具有可装卸的树型日录结构的文件系统,可将外设与文件统一处理,简化了系统设计,方便了用户使用;而且具有良好的安全性、保密性和可维护性(5)提供了多种通信机制,如管道、软中断、消息、共享存储和信号灯等。(6)采用进程对换内存管理机制和分页存储管理方式,实现了虚拟存储器管理,提高了内存的使用效率。(7)内核与外壳的有机结合.提供了丰富的系统调用和核外实用程序。(B提供了丰富的网络功能。各种版本的UNIX都支持TCP/IP协议,而且在UNIX中还包含有网络文件系统NPS,客户/服务器协议软件LanManagerClientServer、IPX/SPX软件等。可实现UNIX系统之问、UNIX与Netware、WindowsNT,LANServer等网络之向的互联与互操作。2.4.2Linux操作系统1.Linux概述Linux是一个年轻而又发展迅速的操作系统。它的雏形是由一个名叫LinusTorvalds的犹兰大学生首先开发的。从结构特征来看,Linux属于UNIX系列。事实上,它确实继承了UNIX的许多优点。因此,有人称Linux是UNIX的一种克隆。然而Linux的开发道路与UNIX截然不同,与Windows更是大相径庭,它所走的是“自由软件”的道路。Linux的内核是由LinusTorvaldks以及网络上组织松散的“黑客”们从零开始编写的。它的目标是保持与POSIX的兼容,它具备现代UNIX所具备的全部特征,包括真正的多任务、虚拟存储器管理、共享库、需求装以及TCP/IP网络支持等。Linux最初是基于386/486PC机开发的,但是现在也可以运行在DECAl-pha,SUNSparc、MC68000以及MIPS和PowerPC等计算机上。事实上,Linux已经成为能与WindowsNT抗衡优秀操作系统。2.4.2Linux操作系统2.Linux的特点(1)Linux的工作方式类似于UNIX,但它免费使用,源代码开放。(2)Linux是符合标准规范的32位(在64位CPU上是64位)操作系统、它拥有现代操作系统所具有的功能,例如、真正的抢先式多任务处理,支持多用户,提供内存保护机制、支持虚拟内存,支持对称多处理SMP(SymmetricMultiprocessing),符合POSIX标准,提供联网功能和网络应用,具有图形用户接口和桌面环境(实际上桌面环境并不止·个),能保证速度和稳定性的要求等。(3)Linux的开发是基于一组优秀的概念,它从UNIX的各个流派中吸取成功的经验,继承UNIX的优点,屏弃它的缺点,使其成为UNIX系列中的佼佼者。(4)Linux基本上是单内核,但它并不是一个纯粹的单内核,它将微内核的许多优点引入到自己的单内核设计中。(S)Linux的虚拟文件系统(VirtualFileSysltem,VFS)作为实际文件系统与操作系统之间的接口、而将实际文件系统和操作系统隔离开来。在VFS的帮助下,支持除自身文件系统(如EXT2)以外的许多文件系统。各文件系统为VFS提供一致的接口,从而将不同文件系统的细节隐藏起来。对操作系统的其他部分以及运行在操作系统之上的程序而言,所有的文件系统都是一样的。2.4.3Windows操作系统Windows操作系统是美国微软开发的Windows系列视窗化操作系统。目前服务器操作系统中,最高版本为WindowsServer2019,个人用操作系统中最高版本为Windows10.因其个人版操作系统简单易操作一直是个人用户的最大卖家。1.Windows操作系统概述(1)WindowsMeWindowsMe(WindowsMillenniumEdition)是一个16位/32位混合的Windows系统,由微软公司在2000年9月14日发行。WindowsMe是最后一个基于DOS的混合16位/32位的Windows9X系列的Windows,其版本号为4.2。其名字有三个意思,一是纪念2000年,Me是英文中千禧年(Millennium)的意思;二是指自己,Me在英文中是“我”的意思;三是Me还有多媒体应用的意义(多媒体英文为multimedia)。2.4.3Windows操作系统(2)Windows2000Windows2000(微软视窗操作系统2000,简称Win2K)是由微软公司发行于1999年年底的WindowsNT系列的32位视窗操作系统,起初称为WindowsNT5.0。英文版于1999年12月19日上市,中文版于次年春上市。Windows2000是一个可中断的、图形化的、面向商业环境的操作系统,为单一处理器或对称多处理器的32位Intelx86电脑而设计。(3)WindowsXPWindowsXP是基于Windows2000代码的产品,也是目前使用人数最多的操作系统。它拥有新的用户图形界面(叫作月神Luna),它包括了一些细微的修改,其中有些看起来是从Linux的桌面环境(desktopenvironment)如KDE中获得的灵感:带有用广图形的登录界面就是一个例子。此外,WindowsXP引入了一个“选择任务”的用户界面,使用户可以由工具条访问任务细节。它还包括简化的Windows2000的用户安全特性,并整合了防火墙,试图解决一直困扰微软的安全问题。2.4.3Windows操作系统(4)WindowsVistaWindowsVista是微软Windows操作系统的一个版本。微软最初在2005年7月22日正式公布了这一名字、之前操作系统开发代号Longhom。WindowsVista的内部版本是6.0(WindowsNT6.0),正式版的Build是6.0.6000。在2006年11月8日,WindowsVista开发完成并正式进入批量生产。此后的两个月仅向MSDN用户、电脑软硬件制造商和企:业客户提供。在2007年1月30日,WindowsVista正式对普通用户出售,同时也可以从微软的网站下载。WindowsVisla距离上一版本WinlowsXP已有超过五年的时间,这是Windows版本历史上间隔时间最久的一次发布。(5)Windows7Windows7是由微软公司(Microsolt)开发的操作系统,核心版本号为WindowsNT6.1。可供家庭及商业工作环境、笔记本电脑、平板电脑、多媒体中心等使用。2009年7月14日Windows7RTM(Build7600.16385)正式上线、2009年10月22日微软于美国正式发布Windows7。Windows7同时也发布了服务器版本——WindowsServer2008R2。2011年2月23日凌晨,微软面向大众用户正式发布了windows7升级补丁——Windlows7SP1(Build7601.17514.101119-1850),另外还包括WindowsServer2008R2SPI升级补丁。2.4.3Windows操作系统(6)Windows8Windows8是由微软公司开发的,具有革命性变化的操作系统。该系统旨在让人们的日常电脑操作更加简单和快捷,为人们提供高效易行的工作环境。Windows8将支持来自Intel、AMD和ARM(版本为WindowsRT)的芯片架构。微软表示,这一决策意味着Windows系统开始向更多平台迈进,包括平板电脑和PC。WindowsPhone8将采用和Windows8相同的内核。2011年9月14日,Windows8开发者预览版发布,宣布兼容移动终端,改软将苹果的IOS.谷歌的Android视为Windows8在移动领域的主要竞争对手。2012年2月,微软发布“视窗8”消费者预览版,可在平板电脑上使用。(7)Windows10Windows10是由美国微软公司发布的新一代全平台操作系统,新系统将涵盖传统PC.平板电脑、二合一设备、手机等,支持广泛的设备类型。新一代操作系统将倡导Onepronluctfamily,Oneplatform、Onestore的新思路,打造全平台"统一”的操作系统。Windows10首次曝光,是在微软Build2014开发者大会上进行演示的,当时外界普遍都认为大会演示的版本为Windows8的升级版。之后外界一直流传,微软将会在2014年9月发布新一代操作系统Windows9,直到2014年9月30日(美国时间),微软在旧金山举行小型发布会,发布新一代操作系统Windows10,而不是之前一直盛传的Windows9。从2014年10月1日开始,微软在其官方页面,提供台式电脑和便携式电脑的技术预览版下载。目前Windows10正式版已经广泛应用于各领域,成为当前主流操作系统。2.4.3Windows操作系统2.Windows的特点(1)直观、高效的面向对象的图形用户界而.易学易用Windows用户界面和开发环境都是面向对象的。用户采用“选择对象——操作对象”这种方式进行工作。比如,要打开一个文档,我们首先用鼠标或键盘选择该文档,然后从右键菜单中选择“打开”操作,打开该文档。这种操作方式模拟了现实世界的行为,易于理解、学习和使用。(2)用户界面统一Windows应用程序大多符合IBM
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 垂体危象与垂体卒中讲课课件
- 21、《槐乡五月》第二课时
- 初二年级期中考试家长会教学案例
- 二零二五年网络零售商合作协议样本2篇
- 新教材高考地理一轮复习课时作业二十四城镇化课件新人教版
- 水利工程合同管理制度
- 黄金投资入门教学教案
- 九年级物理全册192家庭电路中电流过大的原因课件新版新人教版
- 《科幻小说赏析与写作》 课件 -第四章 “生命奇迹”的重述与复魅-《弗兰肯斯坦》
- 二零二五年矿产品资源整合开发合作协议书3篇
- 华为基于价值链循环的绩效管理体系建设
- 植物工厂简介演示
- 幼儿园大班数学上学期期中考试练习题带解析
- 竣工验收阶段服务配合保障措施
- 集控中心方案
- 2024年湖南会展集团招聘笔试参考题库含答案解析
- 2024年山东省春季高考技能考试汽车专业试题库-中(多选题汇总)
- 2024年《大学语文》期末考试复习题库(含答案)
- 跨部门沟通与协调课件
- 2022年版《义务教育信息科技技术新课程标准》试题与答案
- 物流公司出纳年终工作总结
评论
0/150
提交评论