操作系统知识整理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

操作系统知识整理操作系统知识整理本文简介:第一章操作系统概述3一、操作系统的定义3二、区别程序并发与程序并行3三、操作系统的硬件环境3第二章进程、线程与作业5一、吞吐量5二、进程的概念5三、进程状态及状态转换5四、进程控制块6五、进程的组成6六、进程的队列6七、线程的概念7八、线程控制块7九、线程的实现8十、作业8十一、作业、进程、线程三者操作系统知识整理本文内容:第一章操作系统概述3一、操作系统的定义3二、区别程序并发与程序并行3三、操作系统的硬件环境3第二章进程、线程与作业5一、吞吐量5二、进程的概念5三、进程状态及状态转换5四、进程控制块6五、进程的组成6六、进程的队列6七、线程的概念7八、线程控制块7九、线程的实现8十、作业8十一、作业、进程、线程三者之间的关系9第三章中断与处理器调度10一、概述10二、中断概念10三、中断装置10四、中断处理程序11五、处理器调度12六、处理器调度算法12七、常用的处理器调度算法(八个)13八、调度级别与多级调度17第四章互斥、同步与通信19一、进程互斥19二、共享变量与临界区19三、临界区与进程互斥19四、进程同步19五、进程同步机制20六、信号灯与PV操作的相关定义20七、信号灯与PV操作的应用22八、用信号灯变量解决综合问题——生产者—消费者问题23九、用信号灯变量解决综合问题——读者—写者问题26十、用信号灯变量解决综合问题——哲学家就餐问题28十一、用信号灯变量解决综合问题——三台打印机的管理30十二、用信号灯变量解决综合问题——吸烟者问题30十三、进程高级通信的分类、概念及模式32十四、进程通信的消息传递模式的两种实现方式32第五章死锁与饥饿36一、死锁的概念36二、关于死锁几个有用的结论(4个)36三、死锁的类型36四、死锁的条件(4个)36五、死锁的处理37六、银行家算法(掌握思想,不需要写)37七、饥饿与活锁40八、死锁与饥饿的例子——独木桥问题41九、死锁与饥饿的例子——过河问题44十、系统举例45第六章存储管理46一、内存资源管理46二、存储管理方式(三张图非常重要)48三、虚拟存储系统(注意颠簸和页故障率反馈模型)48第七章文件系统52一、文件的概念52二、文件的组织52三、文件控制块55四、文件系统的实现56第八章设备与输入输出管理58一、设备的分类58二、数据传输方式——通道方式58三、设备驱动59四、虚拟设备59第一章操作系统概述一、操作系统的定义操作系统是位于硬件层之上,所有其他系统软件层之下的一个系统软件,使得管理系统中的各种软件和硬件资源得以充分利用,方便用户使用计算机系统。二、区别程序并发与程序并行程序并行要求微观上的同时,即在绝对的同一时刻有多个程序同时向前推进;而程序并发并不要求微观上的同时,只需从宏观上看多个程序都在向前推进。并发:宏观上同时运行,微观上交替运行。三、操作系统的硬件环境a)定时装置1.绝对时钟时间表示形式为年、月、日、时、分、秒,开机时由电源供电计时,关机时由机内电池供电计时。操作系统使用绝对时钟记录作业进入系统和处理的时间、文件的修改和存取时间、资源占用时间、日志记录时间等。2.间隔时钟又称闹钟,每间隔固定的时间发生一次时钟中断,此时系统获得控制权,以便运行系统管理和实现程序并发。中断是系统并发的必要条件,间隔时钟是现代操作系统的基础。利用间隔时钟还可以实现逻辑时钟。b)系统栈1.位置内存中操作系统空间的一个固定区域。2.用途1.中断响应时保存中断现场2.保存操作系统子程序间相互调用的参数值、返回值、返回点以及子程序的局部变量。c)特权指令与非特权指令1.特权指令只有在管态下才能执行指令的执行不仅影响运行程序本身,也会影响其他程序甚至整个系统。eg:开关中断、修改地址映射寄存器、置程序状态字PSW、停机。2.非特权指令在管态和目态下均可执行的指令称为非特权指令,这些指令的执行只与运行程序本身有关,不影响其他程序和操作系统。eg:数据传送指令、算术运算指令。d)处理器状态及状态转换1.处理器状态硬件通常分为管态和目态两种状态,由程序状态字PSW中的一位进行标识。1.管态管态又称为系统态、核心态,是操作系统运行时所处的状态。计算机处于管态时可以执行硬件所提供的全部指令。包括特权指令和非特权指令。由于利用特权指令可以修改程序状态字,而机器状态是程序状态字的一部分,因而在管态下可以改变机器状态进入目态。2.目态目态又称为用户态,是一般用户程序运行时所处的状态。处理器在处于目态时只能执行硬件机器指令的一个子集,即非特权指令。一旦用户在目态执行特权指令,硬件将产生中断,进入操作系统,特权指令的执行将被制止。由于“置程序状态字”是特权指令,所以目态程序不能将其运行状态转换为管态。2.状态转换1.目态到管态的转换处理器状态由目态转换为管态的唯一途径是中断。2.管态到目态的转换可以通过修改程序状态字(置PSW)来实现。由于操作系统运行于管态、用户程序运行于目态,因而这种状态转换伴随着由操作系统到用户程序的转换。e)中断装置1.定义发现并响应中断的硬件机构称为中断装置。2.功能1.发现中断中断发生时能够识别。有多个中断事件同时发生时,按优先级别响应最高级者。2.响应中断将目前运行进程的中断向量PSW和PC压入系统栈,然后根据中断原因到指定的内存单元将新的中断向量取出并送到寄存器中,从而控制转到相应的中断处理程序。第二章进程、线程与作业一、吞吐量衡量系统效率的尺度是吞吐量。系统的吞吐量定义为单位时间内系统所处理的作业(程序)的道数(数量),即:吞吐量=作业道数全部处理时间吞吐量与系统的处理器等资源的利用率有密切的关系,提高系统的吞吐量应当从提高系统的资源利用率入手。二、进程的概念进程是具有一定独立功能的程序关于一个数据集合的一次运行活动。三、进程状态及状态转换a)进程的生存期进程从生成到执行结束的一段时间是进程的生存期。b)进程的状态进程在其生存期内可能处于以下3中基本状态之一。1.运行态(run)进程占有处理器资源、正在运行。(即占用CPU,单处理器系统中任一时刻只能有一个进程处于此种状态。)2.就绪态(ready)进程本身具备运行条件,但是由于处理器的数量少于可运行进程的数量,暂未投入运行,即相当于等待处理器资源。(即未得到CPU)3.等待态(wait)又称为挂起态、封锁态、睡眠态,进程本身不具备运行条件,即使分配给其他处理器也不能运行。进程正在等待某一事件的发生,如等待某一资源被释放,等待与该进程相关的数据传输的完成信号等。c)状态转换当一个就绪进程获得处理器时,其状态由就绪态变为运行态。当一个运行进程被剥夺处理器资源时,如用完系统分给它的时间片、或者出现高优先级别的其他进程,其状态由运行态变为就绪态。当一个运行进程因某事件受阻时,如所申请资源被占用、启动数据传输未完成,其状态由运行态变为等待态。当所等待的事件发生时,如得到被申请的资源、数据传输完成,其状态由等待态变为就绪态。图进程间的基本状态转换关系四、进程控制块a)定义进程控制块(ProcessControlBlock,PCB)是标志进程存在的数据结构,其中包含系统对进程进行管理所需要的全部信息。b)作用多道程序系统中运行的程序需要有一个断点现场保存区域,这个区域就设在进程控制块中。进程控制块是进程存在的标志,它由一组信息构成。进程标识:通常为一个整数,称为进程号,一个进程号与唯一的用户号相对应用户标识:通常为一个整数,称为用户号,一个用户号与多个进程号相对应进程状态:在就绪、运行、等待之间动态变化调度参数:确定下一个运行的进程现场信息:用于保存进程暂停的断点信息,包括通用寄存器、PSW、PC家族联系:记载本进程的父进程程序地址:记载进程所对应的程序的存储位置和所占存储空间大小当前打开文件:记载进程正在使用的文件消息队列指针:指向本进程从其他进程接收到的消息所构成消息队列的链头资源使用情况:记载该进程生存期间所使用的系统资源和使用时间进程队列指针:用于构建进程控制块队列,它是系统管理进程所需要的五、进程的组成进程由两个部分组成,即进程控制块和程序,其中程序包括代码和数据等。a)进程控制块进程控制块是进程的“灵魂”。进程控制块放在系统空间中,只有操作系统才能够对其进行存取。b)程序程序是进程的“躯体”,其中包括代码和数据两个部分。c)系统开销(systemoverhead)系统开销一般是指运行操作系统程序、对系统进程管理所花费的时间和空间。六、进程的队列由于进程控制块是进程的代表,因而进程队列实际上是由进程控制块构成的队列。因为该队列通常是以链的形式实现的,所以也称为PCB链。a)就绪队列一般整个系统中有一个就绪队列。b)等待队列每个等待事件有一个等待队列,所以一个系统中根据等待事件的不同有多个等待队列。如等待输入设备的队列、等待输出设备的队列等。c)运行队列在单处理器系统中只有一个运行队列,在多处理器系统中每个CPU各有一个运行队列。每个队列中只有一个进程。图进程队列模型七、线程的概念a)定义线程(thread)又称轻进程,是进程内的一个相对独立的执行流。一个进程可以包含多个线程,这些线程执行同一程序中的相同代码段或不同代码段,共享数据区和堆。一般认为,进程是资源的分配单位,线程是CPU的调度单位。b)线程相比进程的优点1.上下文切换速度快由同一进程中的一个线程切换到另一个线程只需改变寄存器和栈,包括程序和数据在内的地址空间不变。2.系统开销小创建线程比创建进程所需完成的工作少。3.通信容易由于同一进程中的多个线程共享地址空间,所以一个线程写到数据空间的信息可以直接被该进程中的其他线程读取,便于通信。八、线程控制块a)定义线程控制块(threadcontrolblock,TCB)是标志线程存在的数据结构,其中包含系统对线程进行管理所需要的全部信息b)组成线程标识线程状态调度参数现场(通用寄存器、指令计数器、用户栈指针)链接指针线程控制块可能属于操作系统空间,也可能属于用户进程空间(由运行系统管理和使用),这取决于线程的实现方式。九、线程的实现线程有两种实现方式:在目态实现的用户级别线程,在管态实现的核心级别线程。a)用户级别线程1.用户级别线程与线程相关的控制结构——线程控制块保存在目态空间中并由运行系统进行维护。2.由于线程对操作系统不可见,系统调度仍以进程为单位,核心栈的个数与进程个数相对应。3.优点1.线程不依赖于操作系统,可以采用与问题相关的调度策略,灵活性好。2.同一进程中的线程切换不需要进入操作系统,因而实现效率较高。4.缺点3.同一进程中的线程不能真正并行,即使在多处理器环境中;4.由于线程对操作系统不可见,调度在进程级别,某进程中的一个线程通过系统调用进入操作系统受阻,该进程的其他线程也不能运行。b)核心级别线程1.核心级别线程的线程控制块保存于操作系统空间,线程状态转换由操作系统完成,线程是CPU调度的基本单位。2.因为系统调度以线程为单位,操作系统还需要为每个线程保持一个核心栈。3.对于核心级别线程,进程状态不具有实际意义,可以将其省略4.优点:并发性好,在多处理器环境中同意进程的多个线程可以真正并行执行。5.缺点:线程的控制和状态转换需要进入操作系统完成,系统开销比较大。十、作业a)定义用户要求计算机系统为其完成的计算任务的集合称为作业(job)(在这里,计算任务是广义上的计算任务)一般来说,作业是比进程还大的一个概念。b)作业步(jobstep)一个作业通常包含多个计算步骤,作业中一个相对独立的处理步骤称为一个作业步。作业步之间具有顺序或并发关系。c)作业与进程的关系一个作业步通常可以由一个进程来完成,这样一个作业在内存处理时通常与多个进程相对应,即作业与进程之间具有一对多的关系。d)作业控制块作业控制块(jobcontrolblock,JCB)是标志作业存在的数据结构,其中包含系统对作业进行管理所需要的全部信息。e)关于批处理作业的几个基本概念1.作业控制语言JCL:描述批处理作业控制意图的语言类比C语言2.作业说明书:JCL的语句序列。(

1 / 64
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功