操作系统
文章平均质量分 84
F&an
学生
展开
-
操作系统---(39)驻留集,工作集与抖动的预防
1. 驻留集驻留集:进程已装入内存的页面的集合,与系统采用的页面装入和页面置换算法有关。驻留集尺寸:进程驻留在内存中的页面数量。与系统采用的页面分配策略有关2. 驻留集尺寸对缺页率的影响3. 工作集进程工作集指“在某- -段时间间隔内进程运行所需访问的页面的集合”。在进程执行期间可以容易地确定该进程对存储空间的需求,也就是它的工作集尺寸。操作系统可以用这种方法决定给谁分配更多的帧,以及哪个进程应当让出一-些帧。工作集可用于指导驻留集大小4. 工作集策略监视每个进程的工作原创 2020-06-10 18:50:35 · 10769 阅读 · 2 评论 -
操作系统---(38)关于页面调入和页面访问时间的讨论
1. 页面什么时候调入在调页过程中有两个页面调入策略:一个是‘随用随调”策略,另- -个是“预调页”策略。随用随调"策略:发生缺页中断时,缺哪页便调入哪页。预调页"策略:使用第1页,发生缺页中断,在调入第1页时连同第2、3… 一起调入。预调页策略的优点:一次读多个连续的页面, 可以减少磁头移动的时间,对系统效率提高有很大好处。当发现缺页已在内存时,当前进程不必让出控制权,仅仅将缺页转移到用户区,修改页表后就可继续运行。进程的页面有可能处在什么位置?2. 缺页从哪儿调入?从磁盘交换区中原创 2020-06-10 17:40:42 · 2662 阅读 · 1 评论 -
操作系统---(37)常用的页面置换算法
1. OPT(最佳页面置换)算法该算法选择以后不再使用的、或者要隔最长时间才能使用的页面予以淘汰。OPT算法尽量避免刚调出去又要立即调入。是一种理想化了的页面置换算法。例:可用页框(帧)数量为3,引用串如下:7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1缺页率p=9/20=45%OPT应用分析:实际系统无法预知将来页面的访问情况OPT算法在实际系统中不易实现OPT算法用于衡量实际页面置换算法的性能2. FIFO(先进先出页面置换算法)系统选择驻留在内存中时间原创 2020-06-10 15:48:25 · 912 阅读 · 0 评论 -
操作系统---(36)页面分配算法与分配策略及页面置换算法概述
1. 页面分配相关讨论实践证明,如果一个进程在内存中分配的帧数比较少,尽管有局部性原理,缺页率仍然相对较高。分配帧数太少不合适给特定进程分配的内存空间超过一定的大小后,由于局部性原理,该进程的缺页率没有明显的变化分配给一个进程的帧数越多,在任何时候驻留在内存中的进程数就越少,从而降低了操作系统至少找到一个就绪进程的可能性,降低了CPU的利用率。分配帧数太多不合适2.给特定进程分配合理的内存帧数目前流行的支持多字节指令的计算机系统中,一条指令需要对源操作数和目的操作数进行处理(通常是二地址指令原创 2020-06-10 01:26:01 · 1570 阅读 · 0 评论 -
操作系统---(35)缺页中断与缺页中断处理过程
1. 缺页中断2. 缺页中断的断点缺页中断是指令执行过程中产生的中断,而非(一般的中断)在一条指令执行完成后产生的。3. 缺页中断的断点压入当CPU执行指令希望访问一个不在内存的页面时,将产生缺页中断,系统开始运行中断处理程序。此时指令计数器(PC) 的值尚未来得及增加就被压入堆栈,因此压入的断点必然是本次被中断的指令地址,而非下一条指令的地址。4. 缺页中断处理过程(1) 保留进程上下文(2)判断内存是否有空闲可用帧?若有,则获取一个帧号No,转(4) 启动I/O过程。若无,继续(原创 2020-06-09 17:19:12 · 13688 阅读 · 0 评论 -
操作系统---(34)请求分页存储管理之基本原理
1. 基本原理要点内存分大小想的帧(Frame);进程按照帧的大小被分为若干页(Page);进程仅装入部分页面,即开始执行在执行过程中访问的页若已在内存,进行动态的地址重定位,执行指令(同基本分页存储管理)2. 请求分页式存储管理在执行过程中访问的页未装入内存时,产生缺页中断,进程阻塞,等待从磁盘动态装入页面;缺页装入以后,进程转入就绪,可以参与调度继续执行;内存无空闲可用帧时,暂时不用的页面可换出到交换区;通过页面的换入换出,实现小内存运行大进程。3. 进程的一个页面会存在哪里原创 2020-06-09 17:00:32 · 8731 阅读 · 0 评论 -
操作系统---(33)主存扩充技术
1.主存扩充技术类别主存扩充技术实质目的:将小的实存储器(实存)扩充为大的虚存储器(虚存)实质:将磁盘空间虚拟成内存使用结果:将进程的一部分装入内存,即可运行进程运行时仅部分装入,是可行的吗?1968年,P.Denning提出了一 个著名的“局部性原理”,并通过一幅运行图予以说明。一段程序访问的操作数往往局部于某个数据块中。因此在一个较短|的时间内,程序执行中对内存地址的访问往往局限于一个较小的空间上。2.局部性原理时间局部性:最近访问过的程序代码和数据很快又被访问。空间局部性:某存原创 2020-06-09 15:45:56 · 1430 阅读 · 1 评论 -
操作系统---(32)多级页表及相关计算
一级页表结构多级页表结构计算:一个由32位二进制组成的地址空间,页面长度为4KB,每个页表项占用4B,则:进程的页面总数可达 2的20次方 = 1MB个整个页表最大占用 4MB页号页内地址31-1611-0那么问题是:4MB的页表怎么存放?一个帧只有4KB,所以4MB的页表需要离散存放。需占用 4MB/4KB=1K个帧。这就需要建立更高一级的页表,记录页表所占的帧号,叫做“页表的页表”即,二级页表二级页表二级页表地址形式| 外层页号 | 内层页号 | 页内原创 2020-06-09 14:24:59 · 18753 阅读 · 6 评论 -
操作系统---(31)基本分页,分段,段页存储管理
1.基本原理内存被划分成大小固定相等的块(Frame 帧、页框、主存块),且块相对比较小。每个进程装入时被分成同样大小的页(Page)一页装入一帧整个进程被离散装入到多个不连续的帧下面来看一个分页存储管理的例子2.页面长度页面的尺寸(页面长度)由计算机系统的硬件决定。对于某台具体的机器来说,只能规定一种尺寸。目前流行的页面尺寸是1 KB到4KB之间,但也有一些 机器不在此范围...原创 2020-04-21 13:33:26 · 3691 阅读 · 0 评论 -
操作系统---(30)固定多分区和动态多分区存储管理
单分区存储管理基本原理:把内存的用户区视为一个独立的连续存储区,任何时刻只将它分配给一个作业使用。这种存储管理非常简单,适用于单用户单任务系统(如,MS-DOS操作系统的早期版本)。因为任何时刻最多只有一个程序独占内存,无论在该程序执行过程中还是CPU等待I/O时都不能让其他用户使用。CPU的利用率不高外设利用率较低进入系统运行的作业所要求的存储空间较小时,剩余较大的空白区未被利用,只...原创 2020-04-21 11:05:33 · 2693 阅读 · 0 评论 -
操作系统---(29)连续分区存储管理之数据结构与主存分配算法
连续分区存储管理实质特点:一个进程装入连续的一块内存空间单分区方式:内存用户区的全部空间只存放一个进程多分区方式:固定多分区,动态多分区内存被分为多个分区,每个分区存放一个进程。每瞬间可有多个进程驻留在内存的不同分区中。数据结构:如何记录各个分区的使用情况常用的数据结构–11-主存分配表MAT(Memory Allocation Table)分区号:每个分区都有一个编...原创 2020-04-20 19:51:48 · 1267 阅读 · 0 评论 -
操作系统---(28)程序的编码链接与地址重定位
地址重定位(地址转换)实现目标:将逻辑地址转换为物理地址物理地址:存储单元的实际物理单元地址逻辑地址:用户空间中使用的一种地址为什么需要进行地址重定位程序的编译,链接,装载和执行地址重定位(地址转换)静态重定位地址转换工作在进程执行之前一次完成。无须硬件支持,易于实现,但不允许程序在执行过程中移动。动态重定位地址转换推迟到最后的可能时刻,即进程执行时才完成。允许...原创 2020-04-20 17:42:48 · 459 阅读 · 0 评论 -
操作系统---(27)存储管理概述
计算机的存储层次存储管理的对象—内存储器存储管理的管理目标原创 2020-04-19 17:35:52 · 229 阅读 · 0 评论 -
操作系统---(26)死锁避免
死锁避免前提:采用动态资源分配策略措施:加设“银行家算法"以决定是否满足加设“银行家算法"以决定是否满足该请求。银行家的思路基本思路:银行家拥有一笔周转资金,客户申请贷款检查客户信用,了解客户投资前景,判断有无出现呆账坏账的危险确无危险,才贷出银行家与操作系统l类比操作系统 ——————————银行家操作系统管理资源——————周转资金进程———————————...原创 2020-04-16 22:53:10 · 156 阅读 · 0 评论 -
操作系统---(25)死锁的发生与描述
回顾:哲学家就餐问题什么是死锁一组相互竞争系统资源或进行通信的进程间的永久阻塞现象:每个进程获得了一部分资源, 又申请另外的资源, 得不到而转入阻塞若无外力作用,这些进程会-一直阻塞下去。一种死锁状态的例子此时:P2又申请1个R2,阻塞P1又申请1个R1,阻塞结果:P1和P2陷入死锁死锁的危害陷入死锁圈的进程无限期阻塞等待陷入死锁圈的资源被浪费更多进程卷入...原创 2020-04-14 20:06:18 · 394 阅读 · 0 评论 -
操作系统---(24)管程机制解决生产者消费者问题
管程管程是由局部数据结构,多个处理过程和一套初始化代码组成的模块1. 这是一种具有面向对象程序设计思想的同步机制。2. 它提供了信号量机制相同的功能。管程结构模型管程特征管程内的数据结构只能被管程内的过程访问, 任何外部访问都是不允许的进程可通过调用管程的一个过程进入管程!任何时间只允许一 个进程进入管程,其他要求进入管程i的进程统统被阻塞到等待管程的队列上。管程的定义管...原创 2020-04-14 16:42:08 · 1275 阅读 · 0 评论 -
操作系统---(23)生产者消费者问题
例:一个生产者与一个消费者共享n块Buffer的例子例:经典生产者-消费者问题系统里有若干个合作的进程互斥使用由r (r>0) 个缓冲块组成的缓冲块环,其中n (n>0) 个生产者进程,m (m>0) 个消费者进程。任何一个生产者进程都可以将自己的产品存入环内的一个缓冲块中;任何一个消费者可以将环内的一个产品取出。生产者源源不断地生产并存入产品;消费者周而复始地从环内取出...原创 2020-04-06 21:01:27 · 868 阅读 · 0 评论 -
操作系统---(22)信号量机制解决同步互斥问题
信号量的基本原理两个或多个进程通过简单的信号进行合作。任何复杂的合作需求都可以通过适当的信号结构得到满足。信号量机制实现要素信号量(Semaphore类型,内含一个阻塞队列)p操作原语(wait)v操作原语(signal)记录型信号量一个记录型信号量包含两个分量:信号俩的值,信号量的等待队列指针type semaphore = record value:integer;...原创 2020-04-01 22:22:36 · 1289 阅读 · 0 评论 -
操作系统---(21)互斥与同步的基本概念
关于进程,我们已经学习了进程的描述,进程状态管理,进程调度,解决以上问题,进程就一定能正确运行了吗?思考下面问题:例1:进程A和进程B共享一个存款额数据,其初值为100元。 进程A要存入500元;进程B要取出50元:; 请问,两进程操作完后,存款额为多少? 当然是550元? 然而,你错了! ! ! 假如两个进程这样运行:这个叫做“与时间有关的错误”由此可见:如何避...原创 2020-03-30 21:23:53 · 924 阅读 · 0 评论 -
操作系统---(20)处理机的四级调度
处理机的调度层次调度的主要目标——选择哪个实体进入内存,选择哪个实体占用CPU。调度主要层次作业调度中级调度进程调度线程调度. 典型的三级调度作业从进入系统成为后备作业开始,直到运行结束退出系统为止,需经历不同级别的调度。高级调度:又称作业调度、长程调度。从处于后备状态的作业中选择一道或者几道, 装入内存。中级调度:又称中程调度。优先从处于挂起就绪状态的进程中选择一个或者几...原创 2020-03-29 22:12:27 · 2423 阅读 · 1 评论 -
操作系统---(19)线程的引入
线程是什么?线程是现代操作系统引入的一种执行实体线程称“轻型进程”,是进程的组成部分进程是资源占有单位,线程只是CPU调度单位一个进程运行过程中可创建多个线程线程共享所属进程的资源,自己只有TCB和很少的栈区操作系统为什么要引入“线程”?![在这里插入图片描述](https://img-blog.csdnimg.cn/20200329205832775.png?x-oss-pro...原创 2020-03-29 21:33:08 · 514 阅读 · 0 评论 -
操作系统---(18)进程调度算法
进程调度进程调度功能:从处于就绪状态的进程中,按照某种调度策略,选择一个进程切换给CPU,使其状态从就绪转为运行。调度方式 调度策略进程调度算法FCFS (First Come First Serve)算法,先进入就绪队列的进程先调度。SPF (Shortest Process First)算法,最短进程优先调度。HPF (Highest Priority First)算法,最...原创 2020-03-26 16:23:26 · 721 阅读 · 0 评论 -
操作系统---(17)抢占式调度与非抢占调度
进程调度进程调度功能:从处于就绪状态的进程中,按照某种调度策略,选择一个进程切换给CPU,使其状态从就绪转为运行进程调度方式:非抢占式调度抢占式调度非抢占式调度当前进程主动放弃处理机控制权,可 能的情况有:进程运行完毕退出;运行受阻运行出错,非正常终止遇到不可挽回的故障非抢占式调度运行实例抢占式调度也称作剥夺式调度,一般用于有实时需求的系统主要...原创 2020-03-24 21:19:31 · 11756 阅读 · 2 评论 -
操作系统---(16)进程状态转换控制原语
创建原语撤销原语挂起原语激活原语阻塞原语唤醒原语进程调度原语1.何时调用阻塞原语?当正在运行的进程需要等待某一事 件而发生运行受阻时,它通过中断请求系统服务。系统按照进程的需求进行适当处理后,启动“进程阻塞原语”将该进程阻塞起来。引起进程阻塞(运行受阻)的原因等待I/O请求资源得不到满足进程同步约束服务进程无事可做阻塞原语Block()合时调用唤醒原语...原创 2020-03-24 20:44:27 · 3107 阅读 · 0 评论 -
操作系统---(15)父进程与子进程
进程什么时候被创建批作业调度 (操作系统创建用户进程)交互作业提交 (操作系统创建用户进程)系统提供服务 (操作系统创建系统进程)用户程序创建子进程 (用户程序创建用户进程) 用户通过调用fork()函数实现进程家族树父进程:执行过程中创建了其它进程的进程子进程:被父进程创建的进程子子进程…fork()函数说明函数原型 pid_t fork(void)该函...原创 2020-03-24 20:15:27 · 8810 阅读 · 0 评论 -
操作系统---(14)进程的创建与撤销
进程从产生到消亡的整个过程中都是由操作系统来控制的。操作系统中实现进程控制的功能程序一“ 原语”原语什么是原语(Primitive) 原语:机器指令构成的一种实现特定功能的小程序,它的运行具有不可分割性。 原语特点: 1. 贴近底层 2. 最重要的 3. 运行过程具有原子性(不可中断) 4. 系统小程序操作系统中的原语类别1. 进程控制用的原语: 实现进程...原创 2020-03-23 15:08:45 · 5432 阅读 · 0 评论 -
操作系统---(13)进程状态转换
1. 两状态进程模型2.进程的三种基本状态运行状态(Running):进程获得CPU并投入运行的一种状态在单CPU系统中,每个瞬间最多只能有一个进程在运行就绪状态(Ready):进程尚未获得CPU使用权的一种状态进程已经拥有除CPU外其它全部所需资源,“万事俱备,只欠东风”。阻塞状态(Blocked):进程因某种要求得不到满足,只好等待,我们称之为运行“受阻”。处于阻塞状态的...原创 2020-03-23 13:58:38 · 391 阅读 · 0 评论 -
操作系统---(12)进程与进程管理模块
1. 用户如何感知进程举例:用户进程 系统进程 服务进程#include<unistd.h>#include<stdio.h>#include<stdlib.h>int main(){ int pid; pid = fork(); printf("Hello\n");}2. 进程有哪些特征动态特征:生命周期并发特征:在一个时间段内都...原创 2020-03-22 21:26:45 · 1366 阅读 · 0 评论 -
操作系统---(11)初识进程
进程对于操作系统之重要不容置疑进程 (Process)是操作系统最核心的概念之一;是操作系统要面对的最核心的管理对象;是占用CPU资源和其他资源的实体用户的所有程序均通过进程的形式运行;操作系统给用户提供的各种服务也是以进程的形式运行。进程管理模块是操作系统最核心的一个模块。学习操作系统内核从学习操作系统如何建立、管理、调度进程开始。什么是进程一个正在计算机.上执行中的程...原创 2020-03-22 20:47:56 · 202 阅读 · 0 评论 -
操作系统---(10)作业调度算法示例
(1)作业调度基础算法作业调度性能的衡量标准(2)单道批处理系统调度示例FCFS 算法SJF 算法HPF 算法HRF 算法(3)哪种类型作业调度优先假定一个处理器正在执行三道作业,一道以计算为主,第二道以输入输出为主,第三道为计算和输入输出均衡。应该如何赋予它们优先级使得系统效率较高?解析:处理器调度算法会考虑以下因素:作业响应时间不超要求;让CPU尽量和外...原创 2020-03-16 16:26:48 · 2002 阅读 · 0 评论 -
操作系统---(9)作业调度
(1)作业调度又称为“高级调度”批处理系统中采用的一级调度。其主要功能是,从处于后备状态的作业中按照某种算法选择–道或者几道作业装入内存。作业调度主要解决的是作业与作业之间的自动转接问题,即免去作业控制中的人工操作的问题。(2)作业调度要点选几道:单道系统只选一道;多道系统视内存容量来定选哪几道:由作业调度算法决定(3)作业调度算法四种基础的作业调度算法先来先服务算法 ...原创 2020-03-16 16:09:20 · 4797 阅读 · 0 评论 -
操作系统---(8)作业的管理控制
作业的管理控制(1)批作业的状态管理1. 批作业的状态“后备状态” :已经提交到外存的“作业收容井”等待调度装入。“驻留状态” (运行状态) :被作业调度选中,已经装入内存,处于宏观的运行状态。“完成状态”: 作业相关代码已经执行结束,已不再占有内存空间和系统各种设备,正在等待卸出和数据缓输出。2. 作业状态转换图(2)批作业控制块的描述和组织1. 作业控制块为了掌握作业...原创 2020-03-16 13:11:29 · 1950 阅读 · 0 评论 -
操作系统---(7)系统调用
(1)系统调用操作系统提供一种适用于应用程序中的功能调用接口,叫做系统调用(system cal),允许用户在自己的应用程序中调用系统中提供的-些具有预定功能的服务例程。系统调用是应用程序获得操作系统服务的唯一途径。...原创 2020-03-15 21:29:26 · 1049 阅读 · 0 评论 -
操作系统---(6)操作系统接口
**操作系统中有专门响应用户控制要求的接口,负责系统与用户之间的双向信息传送**(1)脱机命令接口——作业控制说明语言批处理系统中,用户提交给系统的一个计算任务,就是一个作业批作业=程序+数据+作业控制说明书作业控制说明书由作业控制语言编写,也就是由一条条控制作业如何运行的命令组成。作业控制说明语言是由-组作业控制命令组成的集合,专门用于批处理系统。作业控制说明语言:(2)...原创 2020-03-15 20:33:45 · 993 阅读 · 0 评论 -
操作系统---(5)作业与作业管理概述
(1)作业类别批处理型作业(批处理方式提交的作业)主要用于巨型机和大型服务器系统。成批提交以后,系统将所有作业组织成一个作业流,然后对它们逐一进行控制和调度(脱机运行)交互型作业(以交互方式提交的作业)广泛用于各种操作系统。主要特点是用户可以独占一台终端机,对自己的作业实施交互控制(联机运行)实时型作业(特指响应时间有实时需求的作业)用于实时系统。根据作业对响应时间严格性要求的不同,...原创 2020-03-15 19:55:26 · 941 阅读 · 0 评论 -
操作系统---(4)操作系统主要特征
操作系统主要特征1. 并发性在一个时间段内,多个程序处于宏观的运行状态,并发推进串行,并行,并发并发性带来的优点在一个时间段内,多个程序(进程)并发推进,共享系统资源发挥并发性能够消除系统中部件和部件之间的相互等待,有效地改善系统资源的利用率进程并发必须要解决的问题如何从一个进程切到另一个进程如何将各个进程隔离开来,使之互不干扰?怎样让多个进程协作完成任务?怎样协...原创 2020-03-15 12:08:58 · 713 阅读 · 0 评论 -
操作系统---(3)操作系统的功能组成
(1)计算机系统的"大管家"管理对象: 管理用户管理系统中所有软硬件资源硬件资源——处理器,存储器,I/O设备等软件资源——程序和数据管理目标: 充分发挥资源效率,甚至虚拟扩充资源性能,更快更好的尾用户程序服务(2)操作系统的主要管理功能用户和接口管理(负责用户身份核准,操作权限管理以及各种人机接口的实现)1. 用户管理2. 用户组管理3. 联机接口管理4....原创 2020-03-13 21:18:54 · 810 阅读 · 0 评论 -
操作系统---(2)操作系统的处理方式
操作系统的三种处理方式(1)批处理方式特点:成“批”提交,成“批”处理。接收一批作业到外存,组织成作业流;自动控制一批作业的内存装入和运行过程;全部完成后再将结果反馈给用户。单道批处理方式:成批提交:操作员集中一批用户提交的作业通过输入设备输入到磁带上;单道装入:管理程序自动把磁带上的第一个作业装入主存,并把控制权交给作业;顺序运行:该作业执行完成后,把控制权交回管理程序,...原创 2020-03-12 20:40:54 · 1491 阅读 · 0 评论 -
操作系统---(1)操作系统基本概念
1.计算机系统与操作系统2.计算机系统层次结构硬件层操作系统层支撑软件层应用软件层3.操作系统概念管理系统资源,控制程序执行,改善人机界面,提供各种服务,并合理组织计算机工作流程和为用户方便有效地使用计算机提供良好运行环境的一种系统软件。4.操作系统的主要目标方便用户使用管理系统资源提高系统效率扩大机器功能构筑开放环境5.操作系统资源管理技术6.设备抽象接...原创 2020-03-09 17:57:47 · 227 阅读 · 0 评论