资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2012/9/8,#,操作系统,北京大学计算中心,付中南,第,1,章,导论,1.1,操作系统做什么,1.2,计算机系统组织,1.3,计算机系统体系结构,1.4,操作系统的形成与发展,1.5,操作系统结构,1.6,操作系统操作,1.7,进程,管理,1.8,内存管理,1.9,存储管理,第,1,章 导论,1.1,操作系统做什么,操作系统是几乎所有计算机系统的一个重要部分。,计算机系统可以大致分为,4,个组成部分:计算机硬件、操作系统、系统程序与应用程序和用户等。,在计算机系统的操作过程中,操作系统提供了正确使用这些资源的方法。,为了更加全面地理解操作系统所担当的角色,接下来从两个视角探索操作系统:用户视角和系统视角。,第,1,章 导论,1.1,操作系统做什么,1.1.1,用户视角,计算机的用户观点因使用接口的不同而不同。,绝大多数用户面对的是一台由显示器、键盘、鼠标和主机组成的,PC,。这类系统设计是为了让单个用户单独使用其资源,其目的是优化用户所进行的工作。对于这种情况,操作系统的设计目的是为了用户,使用方便,,性能是次要的,而且不在乎,资源使用率,。,第,1,章 导论,1.1,操作系统做什么,1.1.1,用户视角,在某些情况下,用户坐在与大型机或小型机相连的终端前,其他用户通过其他终端访问同一台计算机。这些用户共享资源并可交换信息。这时操作系统设计为,资源使用,做了优化:确保所有的,CPU,时间、内存和,I/O,都能得到充分使用,并且确保没有用户使用超出其权限的资源。,第,1,章 导论,1.1,操作系统做什么,1.1.1,用户视角,在另一些情况下,用户坐在工作站前,工作站与其他工作站和服务器相连。这些用户不但可以使用专用的资源,而且可以使用共享资源,如果网络和服务器等。因此,这类操作系统的设计目的是个人使用性能和资源利用率的折中。,第,1,章 导论,1.1,操作系统做什么,1.1.2,系统视角,从计算机的角度来看,操作系统是与硬件最为密切的程序。我们可以将操作系统看做,资源分配器,。,操作系统管理计算机资源并决定如何为各个程序和用户分配资源,以便计算机系统能有效而公平地运行。,第,1,章 概述,1.1,操作系统做什么,1.1.3,定义操作系统,一般来说,目前没有一个关于操作系统的十分完整的定义。操作系统之所以存在,是因为它们提供了解决创建可用的计算机系统问题的合理途径。,一个比较比较公认的定义是,操作系统是一直运行在计算机上的程序(通常称为内核),其他程序则为系统程序和应用程序。,第,1,章 概述,1.2,计算机系统组织,1.2.1,计算机系统操作,现代通用计算机系统由一个或多个,CPU,和若干设备控制器通过共同的总线相连而成,该总线提供了对共享内存的访问。每个设备控制器负责一种特定类型的设备。,CPU,与设备控制器可以并发工作,并竞争内存周期。,为了确保对共享内存的有序访问,需要内存控制器来协调对内存的访问。,第,1,章 导论,1.2,计算机系统组织,1.2.1,计算机系统操作,内存,CPU,磁盘控制器,USB,控制器,显卡,磁盘,显示器,鼠标,键盘,打印机,第,1,章 导论,1.2,计算机系统组织,1.2.1,计算机系统操作,事件的发生通常通过硬件或软件中断来表示。硬件可随时通过系统总线向,CPU,发出信号以触发中断。软件通过执行特别操作如,系统调用,,也能触发中断。,当,CPU,中断时,它暂停正在做的事情并立即转到固定的位置去继续执行。该固定位置通常是中断服务程序开始位置的地址。中断服务程序开始执行,执行完毕后,,CPU,重新执行被中断的计算。,中断体系结构保存被中断指令的地址。处理中断后,保存的返回地址会装入程序计数器,被中断的计算可以重新开始。,第,1,章 导论,1.2,计算机系统组织,1.2.2,存储结构,计算机程序必须在内存(,RAM,)中以便运行。内存是处理器可以直接访问的,唯一,的,大容量,存储区域。,一,个典型的指令执行周期首先从内存中获取指令并保存在指令寄存器中。接着,指令被解码,并可能导致从内存中获取操作数或将操作数保存在内部寄存器中。在指令完成对操作数的执行后,其结果可以存回到内存。,第,1,章 导论,1.2,计算机系统组织,1.2.2,存储结构,理想情况下,程序和数据都永久驻留在内存中。由于以下原因,这是不可能的:,内存太小,不能永久存储所有需要的程序和数据。,内存是易失性存储设备,当掉电时会失去所有内容。,因此,绝大多数计算机系统都提供辅存以作为内存的扩充。对辅存的要求是它要能够永久地存储大量的数据。,最为常用的辅存设备是磁盘,它能存储程序和数据。,第,1,章 导论,1.2,计算机系统组织,1.2.2,存储结构,寄存器,高速缓存,主存,磁盘,第,1,章 导论,1.2,计算机系统组织,1.2.3 I/O,结构,在计算机中,存储器只是众多,I/O,设备中的一种,操作系统大部分代码用来进行,I/O,管理,这既是因为它对系统可靠性和性能十分重要,也是因为设备变化的特性。,现代计算机由设备控制器负责控制特定类型的设备。设备控制器维护一定量的本地缓冲存储和一组特定用途的寄存器,负责在其所控制的外部设备与本地缓冲存储之间进行数据传递。,第,1,章 导论,1.2,计算机系统组织,1.2.3 I/O,结构,操作系统为每个设备控制器提供一个设备驱动程序。这些设备驱动程序驱动设备控制器并向操作系统其它部分提供设备的统一接口。,要开始,I/O,操作,设备驱动程序首先将适当的寄存器装,载,到设备控制器中。然后设备控制器检查寄存器中的内容后决定采取什么样的操作。数据传输完成后,控制器会通过中断通知设备驱动程序它已完成操作。最后,设备驱动程序将系统控制权交回给操作系统。,第,1,章 导论,1.2,计算机系统组织,1.2.3 I/O,结构,上述,I/O,中断驱动适合移动少量数据,但对大块的数据移动,如磁盘,I/O,,就会带来超载问题。,DMA,(,direct memory access,)就是为了解决这个问题而设计的。在为这种,I/O,设备设置好缓冲、指针和计数器之后,设备控制器能在本地缓冲和内存,之间,传送一整块数据,并且无需,CPU,的干预。每块只产生一个中断,来告知设备驱动程序操作已完成。,第,1,章 导论,1.3,计算机系统体系结构,1.3.1,单处理器系统,绝大多数系统采用单处理器。,在单处理器系统中,有一个主,CPU,能够执行一个通用指令集,包括来自用户进程的指令。,绝大多数的单处理器系统还包括其他特定目的的处理器,它们可能以专用设备处理器的形式出现。,第,1,章 导论,1.3,计算机系统体系结构,1.3.2,多处理器系统,多处理器的重要性日益突出,有三个主要优点:,增加吞吐量:通过增加处理器的数量,能在更短的时间内做更多的事情。,规模经济:多处理器系统比单处理器系统能节省资金,因为它们能共享外设、大容量存储和电源供给。,增加可靠性:将功能分布在多个处理器上,那么单个处理器的失灵不会导致系统停止,只会使它变慢。,第,1,章 导论,1.3,计算机系统体系结构,1.3.2,多处理器系统,现在使用的多处理器系统主要有两种类型:非对称多处理和对称多处理。,非对称多处理中有一个主处理器控制系统,其他处理器向主处理器要任务或完成预定义的任务。,对称处理中每个处理器都要完成操作系统中的所有任务。,第,1,章 导论,1.3,计算机系统体系结构,1.3.3,集群系统,多,CPU,系统的另一种类型是集群系统。,与多处理器不同,它是由两个或多个独立的系统耦合起来的。,集群系统可以是对称的,也可以是非对称的。,第,1,章 导论,1.4,操作系统的形成与发展,1.4.1,顺序处理(手工操作)阶段,早期的计算机(,20,世纪,40,年代,50,年代),程序员直接与计算机硬件打交道,没有操作系统。,计算机由,CPU,、主存、输入设备、打印机和操作开关组成。,使用机器代码编写程序,通过输入设备装入计算机,然后通过操作开关启动程序运行。,第,1,章 导论,1.4,操作系统的形成与发展,1.4.2,简单的批处理系统,早期计算机造价昂贵,且人工调度和编排作业的方式浪费了大量的计算机时间。因此,要使计算机得到充分利用,必须改进使用方式,从而产生了操作系的概念。,简单批处理模式使用一种监控程序软件。用户不再直接与计算机打交道,而是将自己的作业交给机房的操作员,操作员将多个程序放在输入设备上由监控程序自动控制输入设备。,第,1,章 导论,1.4,操作系统的形成与发展,1.4.3,多道成批处理系统,多道程序设计,进入,20,世纪,60,年代中后期,计算机硬件技术有了巨大的发展,产生了硬件通道、中断和缓冲技术。,通道、中断的出现,使计算机在组织结构上发生重大变革,原先以,CPU,为中心的体系结构,转变为以内存为中心。,通道,是一种比,CPU,速度慢、价格较便宜的硬件。专门用于控制输入,/,输出设备的,I/O,处理机。,通道和中断的出现使,CPU,摆脱了对慢速设备的控制,从而提高系统的处理效率。,第,1,章 导论,1.4,操作系统的形成与发展,1.4.3,多道成批处理系统,多道程序设计的技术实现,存储器的分配和存储保护,处理机的管理和调度,系统其它资源的管理和调度,第,1,章 导论,1.4,操作系统的形成与发展,1.4.4,分时系统,批处理系统使用多道程序技术后,提高了机器的利用效率。但这样的系统仍存在以下两个问题:,不能直接控制作业运行。,作业的周转时间太长。,分时系统提供了多个用户通过交互方式分享使用同一台计算机的环境。,第,1,章 导论,1.4,操作系统的形成与发展,1.4.4,分时系统,分时是指多个用户分时使用,CPU,的时间。将,CPU,的单位时间划分成若干个时间段,每个时间段称为一个时间片。,时间片轮流把,CPU,分配给各联机用户使用,每个用户都能在很短时间内得到计算机的服务,彼此感觉不到别的用户存在,好像整个系统为他独占。这样的系统叫做分时系统。,第,1,章 导论,1.4,操作系统的形成与发展,1.4.4,分时系统,分时系统的特点:,同时性。若干终端用户可以同时使用一台计算机。,独立性。各用户之间彼此独立地占有一台终端工作,互不干扰。,交互,性。所谓交互性是指用户从终端键盘上输入各种控制作业的命令,系统响应和处理这些命令,且将处理结果输出显示。用户可根据系统显示结果继续输入。,及时,性。用户的请求能在较短时间内得到响应。,第,1,章 导论,1.4,操作系统的形成与发展,1.4.5,实时系统,实时,是指计算机对随机发送外部事件能够做出及时的响应和处理。,实时系统不同于作业处理系统。作业处理系统,以,作业为处理对象;而实时系统以数据或信息作为处理对象,既不接收用户作业,也没有作业的概念,只有几个有外部事件触发的任务。,第,1,章 导论,1.4,操作系统的形成与发展,1.4.5,实时系统,实时系统具有的主要特点,实时,性,可靠性,可确定性,第,1,章 导论,1.5,操作系统结构,操作系统最重要的一点是要有多道程序处理能力。单个用户通常不能总是使得,CPU,和,I/O,设备都忙。多道程序设计通过组织作业使,CPU,总有一个作业在执行,从而提高了,CPU,的利用率。,多道程序系统提供了一个可以充分使用各种系统资源的环境,但是它们没有提供与计算机系统直接交互的能力。,第,1,章 导论,1.5,操作系统结构,分时系统是多道程序设计的延伸。,在分时系统中,,CPU,还是通过在作业之间切换来执行多个作业,但由于切换频率很高,用户可以在程序运行期间与之进行交互。,分时操作系统允许许多用户同时共享计算机。由于分时系统的每个动作或命令都比较短,因而每个用户只要少量的,CPU,时间。随着系统从一个用户快速切换到另一个用户,每个用户会感到整个系统只为自己所用。,第,1,章 导论,1.5,操作系统结构,分时和多道程序设计需要在存储器中同时保存有几个作业。,通常由于主存较小而不能
展开阅读全文