国家建设工程注册管理中心网站,做网站用php还是python,在线开发app,徐州市建设局官方网站操作系统引论
批处理程序
单道批处理#xff1a;引入脱机输入/输出技术#xff0c;并由监督程序负责控制作业的输入、输出。主要优点是缓解了一定程度的人机速度矛盾#xff0c;资源利用率有所提升。主要缺点是内存中仅能有一道程序运行#xff0c;只有该程序运行结束之后…操作系统引论
批处理程序
单道批处理引入脱机输入/输出技术并由监督程序负责控制作业的输入、输出。主要优点是缓解了一定程度的人机速度矛盾资源利用率有所提升。主要缺点是内存中仅能有一道程序运行只有该程序运行结束之后才能调入下一道程序。CPU有大量的时间是在空闲等待1/0完成资源利用率依然很低。
多道批处理主要优点是多道程序并发执行共享计算机资源。资源利用率大幅提升CPU和其他资源更能保持“忙碌”状态系统吞吐量增大。主要缺点是用户响应时间长没有人机交互功能用户提交自己的作业之后就只能等待计算机处理完成中间不能控制自己的作业执行。eg无法调试程序/无法在程序运行过程中输入一些参数。
分时系统
计算机以时间片为单位轮流为各个用户/作业服务各个用户可通过终端与计算机进行交互。主要优点是用户请求可以被即时响应解决了人机交互问题。允许多个用户同时使用一台计算机并且用户对计算机的操作相互独立感受不到别人的存在。主要缺点是不能优先处理一些紧急任务。操作系统对各个用户/作业都是完全公平的循环地为每个用户作业服务一个时间片不区分任务的紧急性。及时性用户程序是轮流执行CPU的一个时间片但由于计算机的高速处理能力能保证在较短和可容忍的时间内响应和完成处理用户请求。
实时系统
主要优点是能够优先响应一些紧急任务某些紧急任务不需时间片排队。在实时操作系统的控制下计算机系统接收到外部信号后及时进行处理并且要在严格的时限内处理完事件。实时操作系统的主要特点是及时性和可靠性。
进程同步与互斥
进程的概念
进程是指计算机中已运行的程序是系统进行资源分配和调度的基本单位是操作系统结构的基础。
动态性进程是程序的一次执行它有着创建、活动、暂停、终止等过程具有一定的生命周期是动态地产生、变化和消亡的。动态性是进程最基本的特征。并发性指多个进程实体同存于内存中能在一段时间内同时运行并发性是进程的重要特征同时也是操作系统的重要特征。引入进程的目的就是为了使程序能与其他进程的程序并发执行以提高资源利用率。独立性指进程实体是一个能独立运行、独立获得资源和独立接受调度的基本单位。凡未建立PCB的程序都不能作为一个独立的单位参与运行。异步性由于进程的相互制约使进程具有执行的间断性即进程按各自独立的、 不可预知的速度向前推进。异步性会导致执行结果的不可再现性为此在操作系统中必须配置相应的进程同步机制。结构性每个进程都配置一个PCB对其进行描述。从结构上看进程实体是由程序段、数据段和进程控制段三部分组成的。
进程与程序的区别
程序是永存的进程是暂时的是程序在数据集上的一次执行有创建有撤销存在是暂时的。程序是静态的观念进程是动态的观念。进程具有并发性而程序没有。进程是竞争计算机资源的基本单位程序不是。进程和程序不是一一对应的。一个程序可对应多个进程即多个进程可执行同一程序。一个进程可以执行一个或几个程序。
进程的基本状态
进程在其生命周期内由于系统中各进程之间的相互制约关系及系统的运行环境的变化使得进程的状态也在不断地发生变化一个进程会经历若干种不同状态。通常进程有以下五种状态前三种是进程的基本状态。 运行状态进程正在处理机上运行。在单处理机环境下每一时刻最多只有一个进程处于运行状态。 就绪状态进程已处于准备运行的状态即进程获得了除处理机之外的一切所需资源一旦得到处理机即可运行。 阻塞状态又称等待状态进程正在等待某一事件而暂停运行如等待某资源为可用不包括处理机或等待输入/输出完成。即使处理机空闲该进程也不能运行。 创建状态进程正在被创建尚未转到就绪状态。创建进程通常需要多个步骤首先申请一个空白的PCB并向PCB中填写一些控制和管理进程的信息然后由系统为该进程分 配运行时所必需的资源最后把该进程转入到就绪状态。 结束状态进程正从系统中消失这可能是进程正常结束或其他原因中断退出运行。当进程需要结束运行时系统首先必须置该进程为结束状态然后再进一步处理资源释放和回收等工作。 **作业2**请简述进程发生状态变迁1、3、4、6、7的原因系统中常常由于某一进程的状态变迁引起另一进程也产生状态变迁这种变迁称为因果变迁。下述变迁是否为因果变迁3-2,4-5,7-2,3-6请说明原因。 进程同步与互斥
进程同步是指在多个进程或线程之间协调彼此的执行顺序以避免出现竞态条件、死锁和其他并发问题。当多个进程或线程共享同一资源时如果它们同时读取或写入该资源可能会引发数据不一致的问题。为了解决这些问题需要使用同步机制来协调它们的访问。
进程互斥指的是当一个进程访问某临界资源时另一个想要访问该临界资源的进程必须等待。当前访问临界资源的进程访问结束释放该资源之后另一个进程才能去访问临界资源。
临界资源
我们把一个时间段内只允许一个进程使用的资源称为临界资源。许多物理设备比如摄像头、打印机都属于临界资源。此外还有许多变量、数据、内存缓冲区等都属于临界资源。临界区指的是控制临界资源的代码。为实现对临界资源的互斥访问必须遵循以下四个规则
空闲让进临界区空闲时可以允许一个请求进入临界区的进程立即进入临界区。忙则等待当已有进程进入临界区时其他试图进入临界区的进程必须等待。有限等待对请求访问的进程应保证能在有限时间内进入临界区(保证不会饥饿)。让权等待当进程不能进入临界区时应立即释放处理机防止进程忙等待。
P、V操作控制进程同步互斥 **作业3-1**3 个进程 P1、P2、P3 互斥地使用一个包含 NN 0个单元的缓冲区。P1 每次用 produce() 生成一个正整数并用 put() 将其送入缓冲区的某一空单元中 P2每次用 getodd() 从该缓冲区中取出一个奇数并用 countodd() 统计奇数的个数 P3 每次用geteven() 从该缓冲区中取出一个偶数并用 counteven() 统计偶数的个数。请用信号量机制实现这 3 个进程的同步与互斥活动并说明所定义的信号量的含义。要求用伪代码描述。 如下图所示get、copy和put三个进程共用两个缓冲区s和t (其大小每次存放一个记录) get 进程负责不断地把输入记录输入缓冲区s 中copy 进程负责从缓冲区s 中取出记录复制到缓冲区t 中而put 进程负责从缓冲区t 中取出记录打印。试用PV 操作实现这三个进程之间的同步并写出程序描述。 进程同步
死锁
在两个或多个并发进程中如果每个进程持有某种资源而又都等待着别的进程释放它或它们现在保持着的资源否则就不能向前推进此时每个进程都占用了一定的资源但又都不能向前推进称这一组进程产生了死锁。
产生死锁的两个原因
系统资源不足。进程推进顺序非法。
产生死锁的四个必要条件 互斥条件涉及的资源是非共享的。 不剥夺条件进程所获得的资源在未使用完毕之前不能被其它进程强行夺走。 部分分配进程每次申请它所需要的一部分资源在等待新资源的同时继续占用已分配到的资源。 环路条件存在着一种进程的循环链链中的每一个进程已获得的资源同时被链中的下一个进程请求。
解决死锁的四种策略
预防通过设置某些限制条件以破坏产生死锁的四个条件中的一个或者几个来防止发生死锁。避免系统在分配资源时根据资源的使用情况提前作出预测从而避免死锁的发生。检测允许系统在运行的过程中产生死锁但是系统中有相应的管理模块可以及时检测出已经产生的死锁并且精确地确定与死锁有关的进程和资源然后采取适当措施清除系统中已经产生的死锁。解除与检测死锁相配套的一种措施用于将进程从死锁状态下解脱出来。
选择进程调度算法的准则尽快响应交互式用户的请求、尽量提高处理机的利用率、 尽可能提高系统的吞吐量。如果所有进程同时到达短进程优先算法使进程的平均周转时间最短。
银行家算法 设系统中有5个进程P1、P2、P3、P4、P5有3种类型的资源A、B、C其中A资源的数量是17B资源的数量是5C资源的数量是20T0时刻系统状态如下表所示。 计算每个进程还可能需要的资源并填入表的“仍然需要资源数(Need)”的栏目。0时刻系统是否处于安全状态为什么如果T0时刻进程P2又有新的资源请求034是否实施资源分配为什么如果T0时刻若进程P4又有新的资源请求201是否实施资源分配为什么在4的基础上若进程P1又有新的资源请求020是否实施资源分配为什么 进程调度常用算法 在一个系统中有5个进程进入系统它们的提交时间、执行时间如下 若系统分别采用先来先服务FCFS调度算法、短作业优先SJF和最高响应比HRRN调度算法进行上述进程调度请计算几种算法的周转时间和带权周转时间并填写下表。 进程A、B、C、D先后在1、2、3、4时刻到达系统需要运行的时间分别为6ms、5ms、3ms、4ms。如果时间片分别为2ms和5ms计算各个进程的周转时间和带权周转时间并填写下表。 存储器管理
地址 逻辑地址用户程序的目标模块都以0为基地址顺序编址的这种地址称为逻辑地址也称为相对地址。 物理地址内存中各物理存储单元的地址是从统一的基地址开始顺序编址的这种地址称为物理地址也称为绝对地址。 地址重定位程序和数据装入内存时需对目标程序中的地址进行修改。这种把逻辑地址转变为内存物理地址的过程称作重定位。
分区存储管理 在某个系统存储管理方案采用动态分区方式。在某一时刻主存中有两个空白区分别为120kb和78kb。现有3个被调度执行的作业J1、J2和J3对内存需求分别为50KB、60KB、70KB。若用首次适应算法和最佳适应算法来处理这个作业序列试问哪一种算法可以满足三个作业的分配需求请说明分配过程。 某页式存储管理系统内存的大小为256KB被分为128块块号为0、1、2、……、127。设某进程有4页其页号为0、1、2、3被分别装入内存的4、5、189号块。该进程的大小是多少字节请计算该进程每一页在内存的起始地址并填入下表。计算逻辑地址2176和6300对应的物理地址是多少 页号块号内存起始地址041521839 分页存储管理
请求页式存储管理基本思想将程序的逻辑地址空间划分为一系列的固定大小的页面每个页面通常包含多个字节比如4KB或8KB。程序运行时只加载当前需要执行的部分即页面到物理内存中其余部分暂存在磁盘上。当程序试图访问某个地址时系统首先检查这个地址是否在当前已加载的页面内。如果在就直接执行如果不在即发生了“缺页”系统会从磁盘上读取对应的页面并将其调入内存然后再继续执行。这种管理方式允许程序动态地使用内存并通过页面替换算法如LRU、FIFO或最近最不经常使用等来优化内存使用和提高效率。
内部碎片是由于采用固定大小的内存分区当一个进程不能完全使用分给它的固定内存区域时就产生了内部碎片通常内部碎片难以完全避免。
现在普遍采用的段页式内存分配方式就是将进程的内存区域分为不同的段然后将每一段由多个固定大小的页组成。通过页表机制使段内的页可以不必连续处于同一内存区域从而减少了外部碎片然而同一页内仍然可能存在少量的内部碎片只是一页的内存空间本就较小从而使可能存在的内部碎片也较少。
页面置换算法 有一个虚拟存储系统, 每个进程在内存分配3页数据区, 页面大小为1KB, 刚开始时数据区为空。假设该进程的虚地址访问流为5200、1000、1300、200、2250、1022、1200、4350、600、3050、6010、2010、2300、4020 1请计算出该进程的页面访问序列。 2若系统采用先进先出(FIFO)淘汰算法置换页面请分析并计算发生页面置换和缺页中断的次数。 3若系统采用最近最久未使用(LRU)淘汰算法置换页面请分析并计算发生页面置换和缺页中断的次数。 抖动现象
抖动现象是指如果分配给进程的存储块数量小于进程所需要的最小值进程的运行将会很频繁地产生缺页中断 这种频率非常高的页面置换现象称为抖动。
也可以说页面在内存与外存之间频繁调度以至于调度页面所需时间比进程实际运行时间还多此时系统效率急剧下降导致系统崩溃。这种现象称为颠簸或抖动。
输入输出系统
设备独立性
设备独立性是指操作系统把所有外部设备统一当作成文件来看待只要安装它们的驱动程序任何用户都可以象使用文件一样操纵、使用这些设备而不必知道它们的具体存在形式。引入设备独立性后可以调高设备的利用率和分配时的灵活性提高系统的可适应性和可扩展性可以方便用户操作易于实现IO重定向。
IO控制方式
程序直接控制方式
CPU向控制器发出读指令。于是设备启动并且状态寄存器设为1未就绪)。轮询检查控制器的状态(其实就是在不断地执行程序的循环若状态位一直是1说明设备还没准备好要输入的数据,于是CPU会不断地轮询)。输入设备准备好数据后将数据传给控制器并报告自身状态。控制器将输入的数据放到数据寄存器中,并将状态改为0己就绪)。CPU发现设备已就绪即可将数据寄存器中的内容读入CPU的寄存器中再把CPU寄存器中的内容放入内存。若还要继续读入数据则CPU继续发出读指令。
优点:实现简单。在读/写指令之后加上实现循环检查的一系列指令即可因此才称为“程序直接控制方式”)。
缺点:CPU和I/O设备只能串行工作CPU需要一直轮询检查长期处于“忙等”状态CPU利用率低。
中断驱动方式
引入中断机制。由于I/O设备速度很慢因此在CPU发出读/写命令后可将等待l/O的进程阻塞先切换到别的进程执行。当I/O完成后控制器会向CPU发出一个中断信号CPU检测到中断信号后会保存当前进程的运行环境信息转去执行中断处理程序处理该中断。处理中断的过程中CPU从I/O控制器读一个字的数据传送到CPU寄存器再写入主存。接着CPU恢复等待l/O的进程或其他进程的运行环境然后继续执行。
优点与“程序直接控制方式”相比在“中断驱动方式”中I/O控制器会通过中断信号主动报告I/O已完成CPU不再需要不停地轮询。CPU和I/O设备可并行工作CPU利用率得到明显提升。
缺点每个字在I/O设备与内存之间的传输都需要经过CPU。而频繁的中断处理会消耗较多的CPU时间。
DMA控制方式
数据的传送单位是“块”。不再是一个字、一个字的传送。数据的流向是从设备直接放入内存或者从内存直接到设备。仅在传送一个或多个数据块的开始和结束时才需要CPU干预。
优点数据传输以“块”为单位CPU介入频率进一步降低。数据的传输不再需要先经过CPU再写入内存数据传输效率进一步增加。CPU和I/O设备的并行性得到提升。
缺点CPU每发出一条I/O指令只能读/写一个或多个连续的数据块。 如果要读/写多个离散存储的数据块或者要将数据分别写到不同的内存区域时CPU要分别发出多条I/O指令进行多次中断处理才能完成。
通道控制方式
CPU向通道发出I/O指令。指明通道程序在内存中的位置并指明要操作的是哪个I/O设备。之后CPU就切换到其他进程执行了。通道执行内存中的通道程序其中指明了要读入/写出多少数据读/写的数据应放在内存的什么位置等信息)。通道执行完规定的任务后向CPU发出中断信号之后CPU对中断进行处理。
优点CPU、通道、I/O设备可并行工作资源利用率很高。
缺点实现复杂需要专门的通道硬件支持。 Spolling技术
缓冲技术的作用提高CPU与设备之间的并行程度以空间代价换取时间代价。
共享打印机为例
在磁盘输出井中为进程申请一个空闲缓冲区(也就是说这个缓冲区是在磁盘上的)并将要打印的数据送入其中:为用户进程申请一张空白的打印请求表并将用户的打印请求填入表中其实就是用来说明用户的打印数据存放位置等信息的再将该表挂到假脱机文件队列上。当打印机空闲时输出进程会从文件队列的队头取出一张打印请求表并根据表中的要求将要打印的数据从输出井传送到输出缓冲区再输出到打印机进行打印。用这种方式可依次处理完全部的打印任务。
设备控制器
接收和识别CPU发出的命令向CPU报告设备的状态数据交换地址交换。
磁盘调度算法 磁盘请求的磁道号次序为120,69,78,2,5,29,65,38,106,88寻道时每个磁道移动需要0.1ms磁臂启动时间为2ms。试计算按以下算法调度时的平均寻道时间先来先服务FCFS最短寻道时间优先SSTF扫描算法SCAN。