您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 数据库系统工程师-操作系统
第一章操作系统概述操作系统是计算机系统中非常重要的系统软件,它是紧挨着硬件的第一层软件,提供其它软件的运行环境,可以将其看成是用户与硬件的接口,是整个计算机系统的控制和指挥中心。1.1操作系统功能一、操作系统的定义操作系统是计算机系统中一个系统软件,它是一组用以控制、管理计算机系统中软、硬件资源,提高资源管理效率、方便用户使用计算机的程序集合。二、操作系统的特征并行性、共享性是操作系统的特征。三、系统的层次结构没有任何软件的计算机称之为裸机,用户所使用的计算机系统通常是经过若干次软件的扩充而得到的。但第一层扩充的软件必须是操作系统,图3.1表示了系统的层次结构。应用程序调试工具编辑工具连接装配程序编译程序解释程序汇编程序操作系统计算机硬件(裸机)图3.1系统的层次四、操作系统的功能操作系统负责管理计算机系统的所有资源,并调度这些资源的使用。具体来说,其主要功能有:处理机管理、存储管理、设备管理、文件管理、作业管理五方面。1.2操作系统的类型对于计算机不同的应用领域,人们对计算机的要求也是不尽相同的,对于计算机操作系统的性能要求、使用方式也不相同。因此,形成了多种操作方式的操作系统,其基本类型有:批处理系统、分时系统、实时系统、个人计算机操作系统、网络操作系统和分布式操作系统。1.3操作系统的硬件环境一、处理机状态与程序状态字计算机系统都有自己的指令系统,在多道程序设计系统中,指令系统分为“特权指令”与“非特权指令”。特权指令仅能由操作系统使用,如设置时钟、清内存等为特权指令;其它指令为非特权指令,用户只能使用非特权指令。在系统中,处理机(CPU)会在系统程序和用户程序间切换,当CPU执行系统程序时,称处理机处于“管态”,当CPU执行用户程序时,称其处于“目态”。程序状态字(PSW)是用来控制指令执行顺序并且保留和指示与程序有关的系统状态。一般包括三部分内容:程序基本状态(指令地址、条件码、管目态位等);中断码;中断屏蔽位。每个程序都有一个程序状态字,但整个系统设置一个程序状态字寄存器,存放当前正在运行程序的程序状态字。二、中断机构所谓中断,即是CPU对系统所发生的异步事件的反应。当发生中断时,保护现场后,CPU暂停当前的处理而转去执行相应的处理,处理完成再转回执行被中断的程序。其过程是由软、硬件共同完成的。对于某些程序,不希望在其执行过程中被中断所打断,这可通过在该程序的程序状态字(PSW)中设置中断位来实现,即中断屏蔽。此时即使发生中断,CPU也暂不响应。三、定时装置由于系统的需要,硬件必须提供定时装置(即时钟),以处理与时间有关的操作,时钟分为绝对时钟和相对时钟两种。四、通道在中型以上的系统中设有通道,通道也称为I/O处理机,专门用来处理系统的I/O操作。CPU只负责执行机器指令,当出现I/O时将其交给通道,这样可极大地提高系统的并行性。五、地址映射与存储保护在多道程序设计系统中,用户编写程序时是不知道程序运行时所在内存地址,因此用户只能使用相对地址(逻辑地址),这样系统必须提供地址映射机构负责将程序中的相对地址转换为实际的内存地址。另外,在系统还必须防止内存中的多个程序之间的相互干扰、破坏,系统的存储保护应包括地址越界保护和存取控制保护。系统一旦发生相关的非法操作,将产生中断交由操作系统处理。1.4操作系统与用户的接口用户使用计算机系统时,与系统的接口有两种:系统调用和作业控制。一、系统调用操作系统往往编制了许多不同功能的子程序(例如,读文件子程序、写文件于程序、分配主存子程序、启动I/O子程序等),供用户程序执行中调用,这些由操作系统提供的子程序称“系统功能调用”程序,简称“系统调用”。二、作业控制一个用户作业进入计算机系统后,除作业程序执行时要调用系统功能外,用户往往还要告诉系统控制作业执行的步骤。例如,依次做编译、装配、运行等。系统提供了让用户给出作业执行步骤的手段:作业控制语言和操作控制命令。用户可以用作业控制语言写出控制作业执行步骤的“作业说明书”,这是一种非交互的控制方式;也可以从键盘输入操作控制命令或从“菜单”中选择命令来指出作业的执行步骤,这是一种交互的控制方式。第二章处理器管理2.1多道程序设计系统内存中存放多个用户算题它们并行执行,这种程序设计方法称为多道程序设计系统。引入多道程序设计系统的目的是提高系统效率,提高处理机与I/O设备工作的并行性,因为当CPU正在执行内存中的某一程序时,I/O设备可以同时为其它程序进行输入/输出。2.2进程的概念进程是操作系统中的一个最基本、最重要的概念,所谓进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动。它实际上是对“程序”在系统中运行活动的描述。进程在它存在过程中,其状态处于不断地变化中,通常一个进程至少有三种不同的状态:运行状态、就绪状态、等待状态,并且在这三种状态下不断地变化。一个进程通常在其刚创建时处于就绪状态,而在运行状态下结束其生命期而退出系统。一个进程由三部分组成:程序、数据及进程控制块(PCB)。进程控制块是记录进程有关信息的一块主存,是进程存在的唯一标识。进程具有以下特征:动态性、并发性和异步性。操作系统中往往设计一些完成特定功能的、不可中断的过程,这些不可中断的过程称为原语。用于控制进程的原语有:(l)“创建”原语。分配一个工作区和建立进程控制块,置该进程为就绪状态。(2)“撤消”原语。一个进程完成工作后,收回它的工作区和进程控制块。(3)“阻塞”原语。进程运行过程中发生等待事件时把进程状态改为等待态。(4)“唤醒”原语。当进程等待的事件结束时,把进程的状态改为就绪态。2.3进程队列为了便于控制和管理,将系统中不同状态的进程用不同的队列组织起来,各进程队列可以通过进程控制块的链接来形成,同一队列中的进程,通过进程控制块中的队列指针联系起来,前一个进程的进程控制块中的指针指向它的下个进程的进程控制块的位置,队首指针指向队列中第一个进程的进程控制块的位置,最后一个进程的进程控制块中的指针值为“0”。除了就绪队列外,系统也可把等待不同资源的进程组织成不同的等待队列,形成多个等待队列。一个进程被创建后,它被置于就绪队列中,当它能得到处理器时,就从就绪队列中退出进入“运行态”。在运行过程中可能要求读磁盘上的信息而处于等待传输信息的状态,进入等待传输的队列。当它要求的磁盘传输操作结束后,又要退出等待队列而进入就绪队列。所以,一个进程在执行过程中,由于进程的状态不断变化而要从一个队列退出且进入另一个队列,直至进程结束。一个进程从所在的队列中退出称为“出队”,相反,一个进程排入到一个指定队列中称为“入队”。系统中负责进程入队和出队的工作称“队列管理”。2.4进程调度在多道程序设计的系统中,有多个进程处于就绪状态,而一个处理器在每一时刻只能让一个进程占用。系统中的“进程调度”程序按照某种调度算法从就绪队列中选择一个进程,让它占用处理器。所以,有时也把进程调度程序称为“处理器调度”程序。常用的进程调度算法有先来先服务、优先数、时间片轮转及多级调度等算法。-、先来先服务调度算法这种调度算法是按照进程进入就绪队列的先后次序选择可以占用处理器的进程。当有进程就绪时,把该进程排入就绪队列的末尾,而进程调度总是把处理器分配给就绪队列中的第一个进程。一旦一个进程占有了处理器,它就一直运行下去,直到因等待某事件或进程完成了工作才让出处理器。二、优先数调度算法对每个进程确定一个优先数,进程调度总是让具有最高优先数的进程先使用处理器。如果进程具有相同的优先数,则对这些有相同优先数的进程再按先来先服务的次序分配处理器。就绪队列中进程可按优先数从大到小排列,这样,进程调度也总是把处理器分配给就绪队列中的第一个进程。进程被创建时系统为其确定一个优先数,进程的优先数可以是固定的,也可随进程的执行过程而动态变化。优先数调度算法分为“非抢占式”的与“可抢占式”的两种。三、时间片轮转调度算法系统规定一个“时间片”的值。调度算法让就绪进程按就绪的先后次序排成队列,每次总是选择就绪队列中的第一个进程占用处理器,但规定只能使用一个“时间片”。如果一个时间片用完,进程工作尚未结束,则它也必须让出处理器而被重新排到就绪队列的末尾,等待再次运行,当再次轮到运行时,重新开始使用一个新的时间片。这样,就绪队列中的进程就依次轮流地占用处理器运行。2.5中断由于某些事件的出现,中止现行进程的运行,而转去处理出现的事件,待适当的时候让被中止的进程继续运行,这个过程称为“中断”。引起中断的事件称为“中断源”。对出现的事件进行处理的程序称为“中断处理程序”。在第一章中我们简单地介绍了中断的概念,这里将对中断的问题做进一步的讨论。2.5.1中断的类型不同硬件结构的计算机,它们的中断源不尽相同。但从中断事件的性质来说,一般可以分成下述几类:硬件故障中断、程序中断、外部中断、输入输出中断、访管中断。前面四类中断是由于外界的原因迫使正在运行的进程被打断,因此可称为强迫性中断事件。而第五类中断是正在运行的进程所期待的,可称为自愿性中断事件。2.5.2中断的响应通常在处理器执行完一条指令后,硬件的中断装置立即检查有无中断事件发生,若有中断事件发生,则暂停现行进程的运行,而让操作系统中的中断处理程序占用处理器,这一过程称为“中断响应”。2.5.3中断处理中断处理程序对中断事件的处理可分两步进行。第一步是保护好被中断进程的现场信息,即把被中断进程的通用寄存器和控制寄存器内容以及被中断进程的PSW保存起来,这些信息可以保存在被中断进程的进程控制块中。第二步是对所发生的中断事件进行具体处理。对各类中断事件必须进行不同的处理,中断处理程序分析引起中断的原因后,转交给适当的例行程序来处理该中断。第三章存储管理存储管理是操作系统的重要组成部分,它负责计算机系统内存空间的管理。其目的是充分利用内存空间,为多道程序并发执行提供存储基础,并尽可能地方便用户使用。3.1存储管理的目的采用多道程序设计技术,就要在内存中同时存放多道程序,这就要求存储管理解决以下四个重要问题,以达到尽可能方便用户使用和充分利用内存以提高内存利用率的目的。一、内存空间的分配和回收二、内存空间的共享与存储保护三、地址映射(地址重定位)四、内存扩充3.2单用户连续存储管理这是一种最简单的存储管理方式,系统是将整个内存除了给操作系统划分出一块空间外,其余部分的空间都分配给一个作业使用。个人机可采用此种管理方法,它不适宜多道程序设计系统。可以采用静态重定位方式完成地址映射;处理器在执行指令时,要检查其绝对地址是否属于规定范围内的地址,如果属于,则按此地址访问,否则将产生“地址越界”中断。某些系统还采用对换技术(Swapping)让多个进程轮流进入内存,这种技术多用于分时系统,随着进程调度,将内存中的进程暂时移到外存,而把外存中某一进程换进内存。3.3固定分区存储管理其基本思想是将内存划分成若干固定大小的分区,每个分区中最多只能装入一个作业。当作业申请内存时,系统按一定的算法为其选择一个适当的分区,并装入内存运行。由于分区大小是事先固定的,因而可容纳作业的大小受到限制,而且当用户作业的地址空间小于分区的存储空间时,造成存储空间浪费。一、空间的分配与回收系统设置一张“分区分配表”来描述各分区的使用情况,登记的内容应包括:分区号、起始地址、长度和占用标志。其中占用标志为“0”时,表示目前该分区空闲;否则登记占用作业名(或作业号)。有了“分区分配表”,空间分配与回收工作是比较简单的。二、地址转换和存储保护固定分区管理可以采用静态重定位方式进行地址映射。为了实现存储保护,处理器设置了一对“下限寄存器”和“上限寄存器”。当一个已经被装入主存储器的作业能够得到处理器运行时,进程调度应记录当前运行作业所在的分区号,且把该分区的下限地址和上限地址分别送入下限寄存器和上限寄存器中。处理器执行该作业的指令时必须核对其要访问的绝对地址是否越界。三、多作业队列的固定分区管理为避免小作业被分配到大的分区中造成空间的浪费,可采用多作业队列的方法。即系统按分区数设置多个作业队列,将作业按其
本文标题:数据库系统工程师-操作系统
链接地址:https://www.777doc.com/doc-4605253 .html