操作系统
文章平均质量分 83
操作系统
头号理想
四面佛保佑
展开
-
操作系统自学(二十二)磁盘调度算法
一次磁盘读/写操作所需要的时间**寻找时间(寻道时间)**在读/写数据之前,将磁头移动到指定磁道所花费的时间1.启动磁头臂需要花费时间2.移动磁头也是需要时间的,假设磁头匀速移动,每跨越一个磁道耗时m 总共需要跨越n条磁道则 寻道时间=s+m*n延迟时间Tr:通过旋转磁盘使得磁头定位到目标扇区需要的时间,设磁盘转速为r则平均所需的延迟时间=1/2r传输时间Tt: 从磁盘读出或者向磁盘写入数据所经历的时间,假设磁盘转速为r,此次读/写的字节数为b每个磁道上的字节数为N故传输时间Tt=b/rN.原创 2020-12-18 09:31:14 · 1332 阅读 · 0 评论 -
操作系统自学(二十一)页面置换算法
请求分页存储管理与基本分页存储管理区别在程序执行过程中,当所访问的信息不在内存中,由操作系统该负责人将所需信息从外存调入内存,然后继续执行程序若内存空间不够,由操作系统负责将内存中暂时用不到的信息换出到外存页面的换入换出需要磁盘I/O,会有较大的开销,因此号的页面置换算法应该具有更少的缺页率最佳置换算法(OPT)思想:每次选择淘汰的页面将是之后永远不使用的页面,或者是最长时间内不再访问的页面这样可以保证最小的缺页率但是最佳置换算法只有在进程执行的过称中才知道接下来要访问到哪个页面,操作系统无他原创 2020-12-18 09:30:40 · 329 阅读 · 0 评论 -
操作系统自学(十九)内存管理
覆盖技术在早期的计算机中 其内存很小,因此经常出现内存大小不够的情况后来人们引入了覆盖技术用来解决程序大小超过物理内存之和的问题思想将程序分为多个模块 常用的段常驻内存,不常用的段需要时调入内存内存中分一个固定区和若干个覆盖区需要常驻内存的段放在固定区中,调入不再调出由于覆盖系统必须由程序员声明覆盖结构,操作系统自动完成覆盖缺点对用户不透明,增加了用户变成负担 覆盖系统用于早起的操作系统中,现在已经成为历史交换技术(对换技术)交换技术的设计思想:内存空间紧张的时候,系统将内存中某些进.原创 2020-12-14 17:14:59 · 308 阅读 · 0 评论 -
操作系统自学(十八)内存
内存是什么内存是存放数据的硬件,程序执行前需要先放到内存中才能被CPU处理内存中有一个一个的小房间,每个房间就是一个**“存储单元”**如果计算机按字节编址则每个存储单元大小为1字节 即1B 即8个二进制位如果字长为16位的计算机按字编址,则每个存储单元大小为1个字,每个字的大小为16个二进制位...原创 2020-12-11 10:26:44 · 237 阅读 · 0 评论 -
操作系统自学(十七)死锁的避免检测和解除
死锁的处理银行家算法假设你是一位成功的银行家,手里有100亿紫荆然后有三个企业想找你贷款,分别是B A T三个企业 简称BATB:最多和你借70亿A:最多和你借40亿T:最多和你借50亿但是你要注意 如果企业借到的钱达不到企业最大的要求之前所有的钱都拿不回来了刚开始BAT向你借了20 10 30此时手中还剩40亿 假如一天A向你提出20亿的要求你敢答应A的要求吗假如你答应了A的要求 还剩20亿 之后我们全部借给T 然后等T还钱之后 手里还剩50亿 把50亿全部给了B 等B换回来再给A原创 2020-12-10 19:09:03 · 349 阅读 · 0 评论 -
操作系统自学(十六)死锁以及预防死锁
死锁死锁,饥饿,死循环死锁:各个进程之间互相等待对方手里的资源,导致各进程都阻塞,无法向前推进的现象举个例子比如哲学家进餐问题中,如果每个哲学家手中都拿一支筷子 他们会互相等待对方放下筷子 自己使用这是就进入了死锁的状态 如果没有外界干预或者是操作系统的干预 他们会一直阻塞下去再举个例子,假如两个人都想去厕所 他俩也不认识然后他俩同时跨进厕所的门 他俩还都爱钻牛角尖于是就互不相让 都在等着对方让步 所以他俩就一直僵持着这时要是没有一个“智者”调解他俩 他俩就一直僵持下去。饥饿由于长期原创 2020-12-10 10:49:40 · 488 阅读 · 0 评论 -
操作系统自学(十五)哲学家进餐问题
哲学家进餐问题一张圆桌上有五位哲学家 每两位哲学家之间的桌子上摆着一根筷子,桌子中间是一碗米饭,五位哲学家都在用全部精力思考和吃饭哲学家思考的时候,不会影响其他人,哲学家饥饿时,试图拿起左右两根筷子(一根一根拿起)如果筷子在其他人手上,则需要等待哲学家只有左右手都拿起筷子 才可进餐,进餐完毕之后 放下筷子 继续思考这个问题相当于是两个临界资源的使用各个哲学家拿筷子这件事必须互斥地执行,这就保证了即使一个哲学家拿起筷子到一半的时候被阻塞(拿了一支)也不会有其他哲学家继续尝试拿筷子,这样的话,当正原创 2020-12-09 16:21:34 · 463 阅读 · 0 评论 -
操作系统自学(十四)吸烟者问题和读写者问题
吸烟者问题假设一个系统中有三个吸烟者进程和一个供应者进程,每个抽烟者不停的卷烟并抽掉它,但是要卷烟并抽调一支烟抽烟者需要三种材料:烟草 卷纸 胶水 三个抽烟者中第一个拥有烟草,第二个拥有卷纸 第三个拥有胶水供应者进程不停的供应三种材料,供应者每次将两种材料放在桌子上,拥有剩下的那种材料的抽烟者卷一根抽掉它并通知供应者进程一个信号完成了。供应者进程就会将两种材料藏在桌上 这个过程一直重复(三个抽烟者轮流吸烟)从题中我们得到 每次放两种材料 其实我们可以认为每次放一组材料 一共三组组合1:卷纸+胶水原创 2020-12-09 11:39:56 · 951 阅读 · 0 评论 -
操作系统自学(十三)生产者消费者问题以及多生产者多消费者问题
生产者消费者问题系统中有一组生产者进程和消费者进程,生产者进程每次生产一个产品放入缓冲区,消费者进程每次从缓冲区中取出一个产品使用(产品为某种数据)生产者消费者共享一个初始为空 大小为n的缓冲区只有缓冲区没满的时候 生产者才能将产品放入缓冲区,否则必须等待(同步关系 缓冲区满的时候,生产者要等待消费者取走产品)只有缓冲区不空的时候 消费者才能从缓冲区中取出产品否则必须等待(同步关系 缓冲区空的时候 消费者必须等待生产者放入产品)缓冲区是临界资源 所以各进程必须互斥的访问我们可以使用P,V原创 2020-12-08 19:33:15 · 2791 阅读 · 0 评论 -
操作系统自学(十二)信号量机制及用信号量机制实现进程互斥 同步 前驱关系
信号量机制用户可以通过使用操作系统提供的一对原语来对信号量进行操作,从而很方便的实现了进程互斥,进程同步信号量其实就是一个变量(可以使一个整数 也可以是更复杂的记录型变量),可以用一个信号量来表示系统中某种资源的数量例如:系统中只有一台打印机,就可以设置一个初值为1的信号量整型信号量用整数型的变量作为信号量,用来表示系统中某种资源的数量例如计算机系统中有一台打印机与普通的整数变量的区别:对信号量的操作只有三种 初始化,P操作,V操作int S=1;//初始化整型信号量S 表示当前系统中可原创 2020-12-08 10:29:35 · 1852 阅读 · 2 评论 -
操作系统自学(十一)进程互斥的硬件实现方法
中断屏蔽方法利用开/关中断指令实现与原语中的实现思想相同,即在某进程开始访问临界区到访问结束为止都不允许中断也就是不能发生进程切换,因此不可能发生两个同时访问临界区的情况关中断临界区开中断其中的关中断后继不允许当前进程被中断 也必然不会发生进程切换开中断直到当前进程访问完临界区,在执行开中断指令,才有可能有别的进程上处理机并访问临界区**优点:**简单高效**缺点:**不适合于多处理机,只适合用于操作系统内核进程,不适合于用户进程(开/关中断指令只能运行在内核态,这组指令如果能让用户.原创 2020-12-07 16:49:23 · 499 阅读 · 0 评论 -
操作系统自学(十)进程互斥 同步以及进程互斥的软件实现方法
进程同步进程同步 :直接制约关系,为了完成某种任务,建立两个或者多个进程,这些进程因为需要在某些位置上协调他们的工作次序而产生制约关系。进程之间直接制约关系就是源于它们之间的合作举个例子在之前我们学习进程通信的时候,其中有一个管道通信其中包括两个步骤,一个是写数据,一个是读数据但是在实际应用中必须按照 写数据在先 读数据在后的顺序执行这就是进程同步所要讨论的内容进程互斥之前我们学过 两种资源共享方式 1.互斥共享方式 2.同时共享方式我们把一个时间段内只允许一个进程使用的资源成为临界.原创 2020-12-07 11:30:21 · 1084 阅读 · 1 评论 -
操作系统自学(九)调度算法
时间片轮转调度算法(RR)公平的,轮流的为各个进程服务,让每个进程在一定时间间隔被都可以得到响应按照各进程到达就绪队列的顺序,轮流让各个进程执行一个时间片 弱进程未在一个时间片被执行完成,则就剥夺处理机将进程放置到就绪队列队尾重新排列只是对于进程调度(只有作业放进内存建立了相应的进程之后才能分配处理机时间片)若进程未能在时间片内运行完毕,将会被强行剥夺处理机使用权,因此时间片轮转调度算法属于抢占式算法由始终装置发出时钟中断来通知CPU时间片已到由于常用于分时操作系统,更注重 响应时间 .原创 2020-12-06 16:57:17 · 453 阅读 · 0 评论 -
操作系统自学(八)三大调度算法
先来先服务算法从公平角度考虑(类似于我们平时在餐厅吃饭排队)按照作业/进程的到达顺序先后进行服务用于作业调度时:考虑的是哪个作业先到达后备队列用于进程调度时:考虑哪个进程先到达就绪队列非抢占式算法从另一个角度来看 先来先服务算法就是按照到达的先后顺序调度等待越久 越优先获得服务上边我给出一个例子 我们可以看到总共有四个进程分别是p1,p2,p3,p4 然后表中给出了到达的时间和运行的时间前面几篇博客陆陆续续的介绍了等待时间、平均等待时间、周转时间、平均周转时间、带权周转时间、平均带.原创 2020-12-06 10:51:12 · 3932 阅读 · 0 评论 -
操作系统自学(七)进程调度和切换以及调度算法的评价指标
进程的调度和切换上一节课中我们介绍了进程调度(低级调度)的相关知识按照某种算法从就绪队列中选择一个进程为其分配处理机进程调度的时机1.当前运行进程主动放弃处理机(1)正常终止(2)运行过程发生异常而终止(3)进程中东请求加塞(如等待I/O)2.当前运行的进程被动放弃处理机(1)分给的进程的时间片用完(2)有更紧急的事情需要处理(如I/O中断)(3)有优先级更高的进程进入就绪队列当然也不是任何情况下 进程调度(切换)都可以进行的1.在处理中断的过程中,中断处理过程非常复杂,与硬件密原创 2020-12-04 10:03:52 · 647 阅读 · 0 评论 -
操作系统自学(六)线程和处理机调度
线程什么是线程?在没有进程机制的时候,系统中各个程序只能串行执行假如我们想要边听音乐边使用qq和人聊天 是根本没法实现的我们再想一想 我们可以同时在QQ上和人视频聊天,同时可以在聊天框聊天 还可以发送文件等等进程是程序的一次执行,所以上边的功能是无法实现的。所以有的进程就需要同时做很多事情,而传统的进程只能串行执行一系列程序,为此引入了线程,来增加并发度传统的进程是程序执行流的最小单位线程是基本的CPU执行单元,也是程序执行流的最小单位引入线程之后,进程可以并发进行,进程内的各个线程也可原创 2020-12-03 10:08:25 · 479 阅读 · 0 评论 -
操作系统自学(五)进程
进程定义:程序段,数据段,PCB但部分组成了进程实体。一般情况下,我们把进程实体就简称为进程PCB是进程存在的唯一标志!从不同的角度看 进程有不同的定义1.进程是程序的一次执行过程2.进程是一个程序以及其数据在处理机上顺序执行所发生的活动3.进程是具有独立功能的程序在数据集合上的运行的过程,他是系统进行资源分配和调度的一个独立单位注意动态性严格来说进程实体和进程并不一样,进程实体是静态的,进车仓是动态的但是除非题目严格考察二者区别 否则我们就可以说进程有程序段,数据段,PCB三部分组成.原创 2020-12-01 15:59:44 · 171 阅读 · 0 评论 -
操作系统自学(四)中断和系统调用
中断当中断发生后,cpu会立即进入核心态当中断发生后,当前运行的进程暂停运行,并有操作系统内核对中断进行处理对于不同的中断信号,会进行不同的处理发生率中断,就意味着需要操作系统介入,开展管理工作。由于操作系统的管理工作需要特权指令,因此CPU要从用户态转换成核心态。中断可以使CPU从用户转为核心态,使操作系统获得计算机的控制权,有了中断,才能实现多道程序并发进行。用户态转化到核心态 是通过中断实现的,并且中断是唯一途径核心态转化到用户态是通过执行一个特权指令,将程序状态字的标志位设置为“用户态原创 2020-11-30 11:15:37 · 1987 阅读 · 0 评论 -
操作系统自学(三)操作系统的运行机制体系结构
两种指令指令就是处理器(cpu)能识别,执行的最基本的命令(加法指令等等)特权指令不允许用户程序使用(内存清零指令) 只能在核心态下进行非特权指令允许用户程序使用两种处理器状态用户态(目态)cpu只能执行非特权指令核心态(管态) cpu可执行特权指令也可执行非特权指令两种程序内核程序 操作系统的内核程序是系统的管理者,既可以执行特权指令,也可以执行非特权指令,只能运行在核心态应用程序 为了保证系统能安全运行,普通引用程序只能执行非特权指令,运行在用户态操作系统的内核内核是计算机上配置的原创 2020-11-29 15:35:50 · 172 阅读 · 0 评论 -
操作系统自学(二)操作系统的分类
手工操作阶段主要缺点:用户独占全机,人机速度矛盾导致资源利用率极低。单道批处理系统**主要优点:**缓解了一定的人机速度的矛盾,资源利用率有所提升主要缺点:内存中仅仅可以有一道程序运行,只有该程序运行结束之后才能跳入下一道程序cpu有大量的时间在空闲等待I/0完成 资源利用率很低很低多道批处理系统主要优点:多道程序并发执行,共享计算机资源,资源利用率大幅度提升,CPU和其他资源保持“忙碌”状态,系统吞吐量增大。**主要缺点:**用户响应时间长,没有人机交互功能(用户提交作业之后只能等待计算原创 2020-11-28 19:50:37 · 211 阅读 · 0 评论 -
操作系统自学(一)操作系统的四个特性
同计算机网络一样,操作系统也是面试或者是考研必问的学科然后呢对于我也是 上课没听,到了考试然后就想着临时抱佛脚然后我们就开始吧操作系统特征并发并发是指在宏观上在一定时间内可以运行多个程序,并行是同一时刻运行多个指令并行需要硬件支持,如流水线或者是多处理器操作系统通过引入并发和并行使得程序可以并发运行共享共享是指系统的资源可以被多个并发程序使用有两种共享的方式互斥共享和同时共享互斥共享的资源称为临界资源,例如打印机等,在同一时间只允许一个进程访问,需要用同步机制来实现对临界资源的访问。原创 2020-11-28 19:18:42 · 693 阅读 · 1 评论