资源描述
SWPU CS,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,*,SWPU CS,SWPU CS,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,计算机系统与系统软件,计算机科学学院 网络工程教研室,教材,实用操作系统及工具软件,杨先凤 电子科技大学出版,参考书,韩吉力操作系统教程,清华大学出版社,,2005,年,7,月第,1,版,Mohammed J.Kabir. Red Hat Linux 7,服务器使用指南,.,电子工业出版社,,2001,年,6,月第,1,版,戴有炜,Windows Server 2003 Active Directory,配置指南,,2006,年,11,月第,1,版,参考网站,http:/i- 内存和多种,I/O,设备组成, 通过系统总线连接在一起, 实现彼此通信。 图,1-1,示出多数微型机采用的系统结构。,图,1-1,利用总线连接,CPU,、 内存、 控制器和,I/O,设备,1. CPU,CPU,是计算机系统中的,“,大脑,”,。 它从内存(或高速缓存)中取出指令并执行它们。 其基本工作顺序是: 提取指令, 译码分析, 执行指令。,CPU,内部包含若干个寄存器。 其中, 一类是通用寄存器, 用来存放关键变量和中间结果; 另一类是专用寄存器, 如程序计数器(,PC,)、 栈指针寄存器和程序状态字(,PSW,)。,2.,存储器,在现代计算机中, 可以存放信息的部件很多, 但它们在存取速度、 容量和成本等方面有很大差别。 一个存储器系统往往由各种部件构成一个层次结构, 图,1-2,示出了三级存储器的结构。 图中, 左部文字说明存储器的性能、 成本依箭头所示方向相对变化。,图,1-2,三级存储器结构,3. I/O,设备,I/O,设备是人机交互的工具, 通常由控制器和设备本身组成。,4.,总线,总线部件的功能是负责,CPU,、 存储器和设备控制器彼此间的信息或数据的传送的, 是计算机内部的“公交车”。,计算机软件分类,按照所起的作用和需要的运行环境, 软件通常可分为三大类, 即应用软件、 支撑软件和系统软件。,计算机系统中硬件和软件以及各类软件之间是按层次结构组织的, 如图,1-3,所示。,图,1-3,计算机系统的层次关系,1.3,操作系统的概念,为了深入理解操作系统的定义, 我们应注意以下几点:,(,1,) 操作系统是系统软件, 而且是裸机之上的第一层软件。,(,2,) 操作系统的基本职能是控制和管理系统内的各种资源, 有效地组织多道程序的运行。,作为,“,管理者,”,, 操作系统主要负责如下事情:, 监视各种资源并随时记录它们的状态;, 实施某种策略以决定谁获得资源, 何时获得, 获得多少;, 分配资源供需求者使用;, 回收资源, 以便再分配。,(,3,) 设置操作系统的另一个目的是扩充机器功能以方便用户使用。 计算机系统的基本资源包括硬件(如处理机、 内存、 各种设备等)、 软件(系统软件和应用软件)和数据。,1.4,操作系统的主要功能,1.,存储器管理功能,存储器管理的主要功能包括: 内存分配、 地址映射、 内存保护和内存扩充。,1),内存分配,内存分配的主要任务是为每道程序分配一定的内存空间。,2),地址映射,大家都有这种经历,:,我们在编写程序时并不考虑程序和数据要放在内存的什么位置, 程序中设置变量、 数组和函数等只是为了实现这个程序所要完成的任务。,3),内存保护,不同用户的程序都放在一个内存中, 必须保证它们在各自的内存空间中活动, 不能相互干扰, 更不能侵犯操作系统的空间。,4),内存扩充,一个系统中内存容量是有限的, 不能随意扩充其大小。 而且用户程序对内存的需求越来越大, 很难完全满足用户的要求。,2.,处理机管理功能,(,1,) 作业和进程调度。,一个作业通常要经过两级调度才得以在,CPU,上执行。,(,2,) 进程控制。,进程是系统中活动的实体。,(,3,) 进程通信。,多个进程在活动过程中彼此间会发生相互依赖或者相互制约的关系。,3.,设备管理功能,设备管理的主要功能包括: 缓冲区管理、 设备分配、 设备驱动和设备无关性。,(,1),缓冲区管理。,缓冲区管理的目的是解决,CPU,和外设速度不匹配的矛盾, 从而使它们能充分并行工作, 提高各自的利用率。,(,2,) 设备分配。,根据用户的,I/O,请求和相应的分配策略, 为该用户分配外部设备以及通道、 控制器等。,(,3,) 设备驱动。,实现,CPU,与通道和外设之间的通信。 由,CPU,向通道发出,I,O,指令, 后者驱动相应设备进行,I,O,操作。 当,I,O,任务完成后, 通道向,CPU,发中断信号, 由相应的中断处理程序进行处理。,(,4,) 设备无关性。,又称设备独立性, 即用户编写的程序与实际使用的物理设备无关, 由操作系统把用户程序中使用的逻辑设备映射到物理设备中。,4.,文件管理功能,文件管理功能应包括: 文件存储空间的管理、 文件操作的一般管理、 目录管理、 文件的读写管理和存取控制。,(1),文件存储空间的管理。,系统文件和用户文件都要放在磁盘上。,(,2,) 文件操作的一般管理。 包括文件的创建、 删除、 打开、 关闭等。,(,3,) 目录管理。 包括目录文件的组织、 实现用户对文件的,“,按名存取,”,, 以及目录的快速查询和文件共享等。,(,4,) 文件的读写管理和存取控制。,5.,用户接口,现代操作系统通常向用户提供三种类型的界面: 程序界面(系统调用)、 命令界面和图形界面。,1,) 系统调用,系统调用是操作系统提供给编程人员的接口, 因而也称为程序员界面。,从操作系统内部实现的层次结构上看, 系统调用处于核心的最高层, 离用户层最近。 如图,1-4,所示。,图,1-4,操作系统的三种界面,2,) 命令界面,操作系统所提供的最重要的系统程序是命令解释程序, 它是最初启动作业(进程)或用户刚进入分时系统时就正在系统中运行的那个程序。,在批处理系统中, 利用控制卡片向操作系统提出命令; 而在交互式系统中, 用户直接在终端上输入命令, 这些命令就起与控制卡同样的作用。,3,) 图形界面,系统调用和命令方式给用户提供的是一维空间界面, 是最基本的用户界面, 也称为第一代用户界面。,以微软,Windows,操作系统为代表给用户提供了图形界面, 这是在二维空间中动态活动的窗口。 图形界面为用户提供了方便、 直观、 灵活、 有动感的工作环境。用户利用鼠标、 窗口、 菜单、 图标、 流动条等图形工具和部件与系统会话, 使人机交互水平上升了一个台阶。 所以, 图形界面也称为第二代用户界面。,1.5,操作系统的发展历程,1.5.1,手工操作阶段,初级人机交互方式。 这种使用方法具有以下特点:,(1),资源独占, 即计算机的全部硬件资源,(,如,CPU,、 内存、 设备等,),都由一个程序独自占用;,图,1-5,第一代计算机的控制关系,(2),串行工作, 人的操作与计算机的运行以及计算机各个部件之间都是按时间先后顺序工作的:,(3),人工干预, 计算机是在人的直接联机干预下进行工作的。 上述控制关系如图,1-5,所示。,1.5.2,早期批处理阶段,1.,早期联机批处理,在这种系统中, 操作员有选择地把若干作业合为一批, 监督程序先把这批作业从输入设备上逐个地传送到磁带上, 当输入完成, 监督程序就开始执行这批作业。,2.,早期脱机批处理,早期脱机批处理的明显特征是, 在主机之外另设一台小型卫星机, 该机只与外部设备打交道, 不与主机直接连接, 从而使主机腾出较多的时间专门完成快速的计算任务。 其结构模型如图,1-6,听示。,图,1-6,早期脱机批处理模型,1.5.3,执行系统阶段,受,I,O,中断的启发, 人们又引进了其他中断, 如程序中断,(,算术溢出或非法指令等,),、 时钟中断等, 从而克服了以往的出错停机、 程序死循环的毛病。,通道和中断机构的引进使外部设备的管理更加复杂, 因而在系统中增加了中断处理程序和输入输出控制程序,(IOCS),。,IOCS,对所有程序都起着指挥和控制的作用, 因此一般让它们常驻内存, 而让另外一些系统处理程序放在外存中以供调用。,1.5.4,多道程序系统阶段,多道程序设计的基本思想是在内存里同时存放若干道程序, 它们可以并行地运行, 也可以交替地运行。 这样处理机得到了比较充分的利用。,图,1-7,表示了一个具有两道程序的系统中,CPU,和通道的利用情况。,图,1-7,多道程序执行过程示意,由图,1-7,可见, 在单,CPU,的系统中, 这些程序在微观上只能是交替地运行, 但在宏观上,(,在一段较长时间内,),它们可被视为是并行的, 因为在这段时间内各个可执行的程序都向前推进了。 只有在多处理机系统中, 这些并发程序才可以真正并行地执行。,1.6,操作系统的类型,1.6.1,多道成批系统,早期的计算机系统大多是批处理系统。 在这种系统中, 把用户的计算任务按,“,作业,(Job),”,进行管理。 所谓作业, 是用户定义的、 由计算机完成的工作单位。 它通常包括一组计算机程序、 文件和对操作系统的控制语句。,逻辑上, 一个作业可由若干有序的步骤组成。 由作业控制语句明确标识的计算机程序的执行过程称为作业步, 一个作业可以指定若干要执行的作业步。 如上面的编译作业步、 装配作业步、 运行作业步、 出错处理作业步等。,多道成批系统的大致工作流程如下: 操作员把用户提交的作业卡片放到读卡机上, 通过,SPOOLing,输入程序及时把这些作业送入直接存取的后援存储器,(,如磁盘,),; 作业调度程序根据系统的当时情况和各后备作业的特点, 按一定的调度原则, 选择一个或几个搭配得当的作业装入内存准备运行; 内存中多个作业交替执行; 当某个作业完成时, 系统把该作业的计算结果交给,SPOOLing,输出程序准备输出, 并回收该作业的全部资源。 重复上述步骤, 使得各作业一个接一个地流入系统, 经过处理后又挨个地退出系统, 形成一个源源不断的作业流。 图,1-8,表示了多道成批系统中作业的流程。,图,1-8,多道成批系统中作业的流程,1.6.2,分时系统,1.,分时概念和分时系统的实现方法,所谓分时, 就是对时间共享。 我们知道, 为了提高资源利用率采用了并行操作的技术, 如,CPU,和通道并行操作、 通道与通道并行操作、 通道与,I,O,设备并行操作, 这些已成为现代计算机系统的基本特征。 与这三种并行操作相应的有三种对内存访问的分时:,CPU,与通道对内存访问的分时, 通道与通道对,CPU,和内存的分时, 同一通道中的,I,O,设备对内存和通道的分时等。,2.,分时系统的特征和优点,分时系统的基本特征可概括为四点:,(1),同时性: 若干用户可同时上机使用计算机系统;,(2),交互性: 用户能方便地与系统进行人,机对话;,(3),独立性: 系统中各用户可以彼此独立地操作, 互不干扰或破坏;,(4),及时性: 用户能在很短时间内得到系统的响应。,分时系统具有的许多优点促使它迅速发展, 其优点主要是:,(1),为用户提供了友好的接口, 即用户能在较短时间内得到响应, 能以对话方式完成对其程序的编写、 调试、 修改、 运行和得到运算结果。,(2),促进了计算机的普遍应用, 一个分时系统可带多台终端, 可同时为多个远近用户使用, 这给教学和办公自动化提供很大方便。,(3),便于资源共享和交换信息, 为软件开发和工程设计提供了良好的环境。,1.6.3,实时系统,1.,实时系统的引入,在计算机的某些应用领域内, 要求对实时采样数据进行及时,(,立即,),处理并做出相应的反应, 如果超出限定的时间就可能丢失信息或影响到下一批信息的处理。,(1),过程控制系统。,(2),信息查询系统。,(3),事务处理系统。,实时系统有时也涉及到若干个同时性用户, 但它与分时系统是有区别的:,(,1,) 分时系统提供一种随时可供多个用户使用的、 通用性很强的计算机系统, 用户与系统之间具有较强的交互作用或会话能力; 而实时系统的交互能力相对来说较差。,(,2,) 分时系统对响应时间的要求是以人们能接受的等待时间为依据的, 其数量级通常规定为秒; 而实时系统对响应时间一般有严格要求, 它是以控制过程或信息处理过程所能接受的延迟来确定的, 可达毫秒数量级。,2.,实时系统的功能,由于实时系统大都带有专用性, 因此随任务要求和使用环境的差异而具有不同的特性和功能。 对于大中型实时系统, 除必须具备存储管理、 处理机管理、,I,O,设备管理以及文件系统等基本功能外, 还应具备如下特征和功能:,(1),实时时钟管理。,(2),连续人,机对话。,(3),过载防护。,(4),高可靠性。,1.6.4,个人机系统,单用户操作系统主要有,MS-DOS,、,OS,2,、,Windows 95,等。 这类系统具有如下特征:,(1),个人使用。,(2),界面友好。,(3),管理方便。,(4),适于普及。,1.6.5,网络操作系统,计算机网络具有如下特征:,(1),分布性。,(2),自治性。,(3),互连性。,(4),可见性。,1.6.6,分布式操作系统,分布式系统具有如下特征:,(1),分布式处理。,(2),模块化结构。,(3),利用信息通信。,(4),实施整体控制。,分布式操作系统所涉及的问题远远多于以往的操作系统。 归纳起来它应具有以下特点:,(1),透明性。,(2),灵活性。,(3),可靠性。,(4),高性能。,(5),可扩充性。,1.7,操作系统的特征,1.,并发,并发是指两个或多个活动在同一给定的时间间隔中进行。,2.,共享,共享是指计算机系统中的资源被多个任务所共用。,3.,不确定性,在多道程序环境下, 各程序的执行过程有着“走走停停”的性质。,1.8,操作系统的结构,1.8.1,单块结构,单块结构是最常用的体系结构。 这种结构其实是没有结构的, 完全是面向过程的、 无序的。,这种系统中提供机器的两种运行模式: 用户态,(,运行用户程序,),和核心态,(,运行操作系统,),。 当用户程序中使用系统调用请求系统提供服务时, 就陷入到核心态中。 操作系统确定所需的服务号码, 调用相应的服务过程, 完成工作后, 将控制返回给用户程序。,1.8.2,层次结构,单块结构这种初始分层形式就是后来层次式操作系统的构造思想。 即: 按照功能和相互依存关系, 把系统中的模块分为若干层, 其中任一层模块,(,除底层外,),都建立在它下面一层的基础上, 因而, 任一层模块只能调用比它低的层来得到服务, 不能调用比它高的层。,第一个按这种方式构造的操作系统是,THE,系统, 是,1968,年由,E.W.Dijkstra,和他的学生们建造的。 该系统有,6,层, 如图,1-9,所示。 第,0,层负责处理机分配, 当发生中断和出现时间到时事件时进行进程切换, 从而提供了基本的多道程序环境。,第,1,层执行内存和磁鼓的管理, 用来为进程分配内存空间和磁鼓上的空间。,第,2,层处理每个进程和操作员控制台之间的通信。,第,3,层进行输入输出管理, 管理,I,O,设备, 对信息流缓冲。,第,4,层是用户程序层。,第,5,层是系统操作员进程层。,图,1-9 THE,操作系统的层次结构,图,1-10 UNIX S_5,系统核心框图,从图,1-10,中可以看出,,UNIX S_5,核心的上层是系统调用的接口程序。 在操作系统的内部, 分为左右两大部分: 左边是文件系统部分, 右边是进程控制系统部分。 底层是硬件控制部分。,左边这部分的上层是文件系统, 它管理文件, 分配文件空间, 控制对文件的访问等。 它调用下面的缓冲区管理和设备管理模块。,右边这部分是进程控制系统, 又分为三部分: 进程通信、 进程调度和内存管理。左右两部分之间存在密切联系。,现在实际使用的操作系统多数都采用层次结构。 层次结构既具有上述单块式结构的优点, 又有单块式结构不具有的优点: 结构关系清晰, 提高系统的可靠性、 可移植性和可维护性。,1.8.3,虚拟机,IBM,的,VM/370,系统是虚拟机,(Virtual Machines),的一个实例, 该系统原来叫做,CP/CMS,(控制程序,/,会话监督系统)。,该系统的核心部分是虚拟机监督系统(,VMM,)。 它运行在裸机上, 产生多道程序环境, 它对上面一层提供若干虚拟机(不只是一个), 如图,1-11,所示。,图,1-11,带,CMS,的,VM/370,结构,1.8.4,客户,/,服务器模型,用户进程,(,现在称为客户进程,),为了请求一个服务,(,如读取一块文件,),, 要向服务器进程发送请求, 后者接收该请求, 进行工作, 然后发回结果。 图,1-12,示出了这种模型。 ,图,1-12,客户,/,服务器模型,由图中看出, 整个核心负责处理客户和服务器之间的通信。 把操作系统分开, 成为几个部分, 每部分只处理系统的一个方面的工作, 如文件服务、 进程服务、 终端服务, 或者内存服务, 每部分都很小, 易于管理。 每个服务器都在用户态下运行, 不是在核心态下运行, 因而它们并不直接访问硬件。,客户,/,服务器模型的另一个优点是它适于在分布式系统中应用,(,如图,1-13,所示,),。,图,1-13,分布式系统中的客户,/,服务器模型,1.9 UNIX/Linux,系统的特点和结构,1.9.1 UNIX,系统的发展和特点,1. UNIX,系统的产生和族系,UNIX,系统是,20,世纪,70,年代以来世界上最著名的分时系统, 亦即多用户多任务的操作系统。,UNIX,系统是从,MULTICS,系统发展而来的, 而,MULTICS,是,1965,年至,1970,年在美国麻省理工学院(,MIT,)开发出来的。 图,1-14,给出,UNIX,的主要族系情况。,图,1-14 UNIX,族系演变进程,2. UNIX,系统的特点,UNIX,系统的主要特点可归纳为以下几点:,第,, 可移植性良好。,第二, 树形分级结构的文件系统。,第三, 字符流式文件。,第四, 功能强大的,shell,。,第五, 丰富的核外公用程序和应用工具。,第六, 多层次的友好的用户界面。,第七, 提供强有力的通信支持。,图,1-15 UNIX,系统的结构,第八, 提供了多用户多任务的工作环境。,最后,,UNIX,系统具有完善的安全机制, 包括对用户的管理, 对系统结构的保护, 对文件使用权限的管理, 等等。,1.9.2 Linux,系统的历史和特点,1. Linux,系统的历史,1984,年, 曾是,Bill Gates(,比尔,盖茨,),哈佛大学同学的,Richard Stallman,组织开发了一个完全基于自由软件的软件体系计划,GNU(GNU,是,GNU is Not UNIX,的递归缩写,),, 并且拟定了一份通用公共许可证,(GPL,,,General Public License),。,2. Linux,系统的特点,Linux,的功能强大而全面。 与其他操作系统相比,,Linux,系统具有一系列显著特点。,1),与,UNIX,兼容,现在,,Linux,已成为具有全部,UNIX,特征, 遵从,POSIX,标准的操作系统。,2),自由软件和源码公开,Linux,项目从一开始就与,GNU,项目紧密结合起来, 它的许多重要组成部分直接来自,GNU,项目。,3),性能高和安全性强,在相同的硬件环境下,,Linux,可以像其他著名的操作系统那样运行, 提供各种高性能的服务, 可以作为中小型,ISP,或,Web,服务器工作平台。,4),便于定制和再开发,在遵从,GPL,版权协议的条件下, 各部门、 企业、 单位或个人可根据自己的实际需要和使用环境对,Linux,系统进行裁剪、 扩充、 修改或者再开发。,5,) 互操作性高,Linux,操作系统能够以不同的方式实现与非,Linux,系统的不同层次的互操作。,(1),客户机,/,服务器,(Client,Server),网络:,Linux,可以为基于,MS-DOS,、,Windows,以及其他,UNIX,系统提供文件存储、 打印机、 终端、 后备服务以及关键性业务应用。,(2),工作站: 与工作站间的互操作可以让用户把他们的计算需求分散到网络的不同计算机上。,(3),仿真: 在,Linux,上运行,MS-DOS,与,Windows,平台的仿真工具, 就可以运行,DOS/Windows,程序。,6),全面的多任务和真正的,32,位操作系统,3. Linux,系统核心结构,图,1-16,示出,Linux,系统核心的结构。,内核程序在系统启动时被加载, 然后它会初始化计算机硬件资源, 并开始,Linux,的启动过程。,进程控制系统用于进程管理、 进程同步、 进程通信、 进程调度和内存管理等。,图,1-16 Linux,系统核心框图,进程是系统中的动态实体。 控制进程的系统调用包括进程的创建、 终止、 执行、 等待、 空间扩充及信号传送等。,内存管理控制内存分配与回收。 系统采用两种策略管理内存: 交换和请求分页。,Linux,系统支持三种类型的硬件设备: 字符设备、 块设备和网络设备。,
展开阅读全文