操作系统
文章平均质量分 69
Mr-X~
持续学习,不断进步!
展开
-
吸烟者问题
文章目录吸烟者问题问题描述问题分析如何实现吸烟者问题问题描述假设一个系统有三个抽烟者进程和一个供应者进程,每个抽烟者不停地卷烟并抽掉它,但是要卷起并抽掉一支烟,抽烟者需要三种材料:烟草、纸和胶水。三个抽烟者中,第一个拥有烟草、第二个拥有纸、第三个拥有胶水。供应者进程无限地提供三种材料,供应者每次将两种材料放桌子上,拥有剩下哪种材料的抽烟者卷一根烟并抽掉它,并给供应者进程一个信号告诉完成了,供应者就会放另外两种材料在桌上,这个过程一直重复(让三个抽烟者轮流地抽烟)问题分析该问题本质上是“可生产多原创 2021-06-24 21:48:10 · 114 阅读 · 0 评论 -
多生产者-多消费者问题
文章目录多生产者-多消费者问题多生产者-多消费者的问题描述多生产者-多消费者的问题分析多生产者-多消费者的实现知识回顾与重要考点多生产者-多消费者问题多生产者-多消费者的问题描述多生产者-多消费者的问题分析在临界区前后分别PV进行互斥操作,分析所有的同步关系,在前操作后操作对应的位置处加上V,P操作多生产者-多消费者的实现把苹果放入盘子里和把橘子放入盘子里是互斥的,因此往盘子里放东西的时候,需要加一个PV对来控制进程访问这个盘子(临界资源)是互斥的,也即是在往盘子里放东西这个操作的前后加上P原创 2021-06-24 18:52:41 · 603 阅读 · 1 评论 -
生产者-消费者问题
文章目录生产者-消费者问题问题分析不能改变相邻P、V操作的顺序知识回顾与重要考点生产者-消费者问题问题分析系统中有一组生产者进程和一组消费者进程,生产者进程每次生产一个产品放入缓冲区,消费者进程每次从缓冲区中取出一个产品并使用。(注:这里的“产品”理解为某种数据)生产者、消费者共享一个初始为空,大小为n的缓冲区。只有缓冲区没满时,生产者才能把产品放入缓冲区,否则必须等待。只有缓冲区不空时,消费者才能从中取出产品,否则必须等待。缓冲区是临界资源,各进程必须互斥地访问。如何实现:semaph原创 2021-06-24 17:36:50 · 1026 阅读 · 1 评论 -
信号量机制实现进程互斥、同步、前驱关系
文章目录信号量机制实现进程互斥、同步、前驱关系知识总览图信号量机制实现进程互斥信号量机制实现进程同步信号量机制实现前驱关系信号量机制实现进程互斥、同步、前驱关系知识总览图信号量机制实现进程互斥信号量机制实现进程同步题目同步要求:要求线程P2的代码4要执行在线程P1的代码2的后面,如下图:分析如下图:“前操作”指的就是代码2,“后操作”指的就是代码4上图中的目的是要实现同步,要让代码4执行在代码2的前面,假如刚开始执行的是线程P1,那么等到代码2执行之后,会执行V(S)操作,这原创 2021-06-21 22:23:56 · 805 阅读 · 1 评论 -
信号量机制
文章目录信号量机制知识总览图引子信号量机制定义信号量机制--整型信号量信号量机制--记录型信号量信号量机制知识总览图引子信号量机制定义P就相当于wait就相当于wait(S),意思是进入区的检查和上锁原语操作;V就相当于signal就相当于signal(S),意思是退出区的解锁原语操作;信号量机制–整型信号量首先要知道什么叫做"忙等"和"让权等待"?忙等待:如果进程不能访问临界区,那么此进程会一直占用CPU,一直申请进入临界区操作,直到申请成功。让权等待:如果进程不能访问临界原创 2021-06-21 19:45:19 · 2094 阅读 · 0 评论 -
进程互斥硬件实现方法
进程互斥硬件实现方法中断屏蔽方法利用“开/关中断指令”实现(与原语的实现思想相同,即在某进程开始访问临界区到结束访问为止都不允许被中断,也就不能发生进程切换,因此也不可能发生两个同时访问临界区的情况)TestAndSet指令Swap指令...原创 2021-06-21 11:58:25 · 140 阅读 · 1 评论 -
进程互斥的软件实现方法
文章目录进程互斥的软件实现方法单标志法双标志先检查法双标志后检查法Peterson算法进程互斥的软件实现方法单标志法单标志法的缺点:turn表示当前允许进入临界区的进程号,而只有当前允许进入临界区的进程在访问了临界区之后,才会修改turn的值。也就是说,对于临界区的访问,一定是按P0->P1->P0->P1->…这样轮流访问。这种必须“轮流访问”带来的问题是,如果此时允许进入临界区的进程是P0,而P0一直不访问临界区,那么虽然此时临界区空闲,但是并不允许P1访问。因此,单标志原创 2021-06-21 11:09:35 · 404 阅读 · 0 评论 -
进程同步、进程互斥
文章目录进程同步、进程互斥知识总览图什么是进程同步?什么是进程互斥?进程同步、进程互斥知识总览图什么是进程同步?可以简单的理解成,异步性不能保证进程的执行顺序,但是同步性可以保证进程的执行顺序。再看另一个例子:进程通信–管道通信读进程和写进程并发地运行,由于并发必然导致异步性,因此“写数据”和“读数据”两个操作执行的先后顺序是不确定的。而实际应用中,又必须按照“写数据–>读数据”的顺序来执行的。如何解决这种异步问题,就是“进程同步”所讨论的内容。同步亦称直接制约关系,它是指为完原创 2021-06-20 13:09:15 · 2101 阅读 · 0 评论 -
调度算法:时间片轮转、优先级、多级反馈队列
文章目录调度算法:时间片轮转、优先级、多级反馈队列知识总览图时间片轮转调度算法(RR,Round-Robin)时间片大小为2时间片大小为5优先级调度算法思考多级反馈队列调度算法调度算法:时间片轮转、优先级、多级反馈队列知识总览图注:比起早期的批处理操作系统来说,由于计算机造价大幅降低,因此之后出现交互式操作系统(包括分时操作系统、实时操作系统等)更注重系统的响应时间、公平性、平衡性等指标。而这几种算法恰好也能较好地满足交互式系统的需求。因此这三种算法适合用于交互式系统。(比如UNIX使用的就是多级反原创 2021-06-20 11:25:49 · 2007 阅读 · 1 评论 -
FCFS、SJF、HRRN调度算法
文章目录FCFS、SJF、HRRN调度算法知识总览图先来先服务(FCFS,First Come First Serve)短作业优先(SJF,Shortest Job First)对FCFS和SJF两种算法的思考高响应比优先算法(HRRN,Highest Response Ratio Next)FCFS、SJF、HRRN调度算法知识总览图什么叫做饥饿?就是进程一直不被CPU处理。FCFS算法不会导致饥饿是因为,它的所有的进程按到来的时间先后顺序依次执行,所以每个进程都会被执行到。SJF/SPF算法会导原创 2021-06-19 22:37:33 · 14068 阅读 · 4 评论 -
调度算法的评价指标
文章目录调度算法的评价指标知识总览图CPU利用率系统吞吐量周转时间等待时间响应时间调度算法的评价指标知识总览图CPU利用率系统吞吐量周转时间一个有味道的例子:排队上厕所。有的人A上厕所需要1分钟,有的人B上厕所需要10分钟,如果你要让那个需要1分钟的人,等在那个需要10分钟的人后面,这样的安排给用户的体验会很差;如果你要让那个需要10分钟的人,等在那个需要1分钟的人后面,这样的安排给用户的体验会很好。下面的带权周转时间就是按照上面的思想设计的。所以带权周转时间其实你可以理解成是,如何给原创 2021-06-19 19:28:30 · 1111 阅读 · 0 评论 -
进程调度的时机、切换与过程、方式
文章目录进程调度的时机、切换与过程、方式知识总览图进程调度的时机进程的调度方式进程的切换与过程进程调度的时机、切换与过程、方式知识总览图进程调度的时机进程调度(低级调度),就是按照某种算法从就绪队列中选择一个进程为其分配处理机。例题临界资源:一个时间段内只允许一个进程使用的资源。各进程需要互斥地访问临界资源。临界区:访问临界资源的那段代码。内核程序临界区一般是用来访问某种内核数据结构的,比如进程的就绪队列(由各就绪进程的PCB组成)如果还没退出内核程序临界区(还没解锁)就进行进原创 2021-06-19 18:41:48 · 1525 阅读 · 1 评论 -
处理机调度的概念、层次
文章目录处理机调度的概念、层次知识总览图调度的基本概念调度的三个层次--高级调度调度的三个层次--中级调度补充知识:进程的挂起态与七状态模型调度的三个层次--低级调度三层调度的联系、对比处理机调度的概念、层次知识总览图调度的基本概念当有一堆任务要处理,但由于资源有限,这些事情没办法同时处理。这就需要确定某种规划来决定处理这些任务的顺序,这就是“调度”研究的问题。在多道程序系统中,进程的数量往往是多于处理机的个数的,这样不可能同时并行地处理各个进程。处理机调度,就是从就绪队列中按照一定的算法选择原创 2021-06-19 12:26:45 · 1850 阅读 · 1 评论 -
线程概念和多线程模型
文章目录线程概念和多线程模型知识总览图什么是线程?为什么引入线程?引入线程机制后,有什么变化?线程的属性线程的实现方式多线程模型线程概念和多线程模型知识总览图什么是线程?为什么引入线程?在没有进入进程之前,系统中各个程序只能串行执行,比如QQ音乐和QQ是不能同时运行的;但是在引入进程之后,各个程序是可以并发执行的,QQ音乐和QQ是可以同时运行的;什么是线程?线程存在于进程中,一个进程有多个线程,进程之间是可以并发的,线程之间也是可以并发的,在没有引入线程之前,进程是资源分配和CPU调度的原创 2021-06-19 10:55:29 · 805 阅读 · 1 评论 -
进程通信__
文章目录进程通信__知识总览图什么是进程通信?进程通信--通过共享存储实现进程通信进程通信--通过管道通信实现进程通信进程通信--通过消息传递实现进程通信进程通信__知识总览图什么是进程通信?顾名思义,进程通信就是指进程之间的信息交换。为了保证安全性,一个进程是不能够直接访问另一个进程的地址空间的,如下图:但是进程之间的信息交换又是必须要实现的,你比如说你想要把手机图库里面的照片微信分享给小伙伴,这个时候图库相关进程和微信相关进程之间就必须要信息交换。所以下面有几种可以进行进程通信的方式。原创 2021-06-18 19:31:35 · 468 阅读 · 0 评论 -
操作系统中的进程控制
文章目录操作系统中的进程控制知识总览图什么是进程控制?如何实现进程控制?操作系统中的进程控制知识总览图什么是进程控制?进程控制的主要功能是对系统中的所有进程实施有效的管理,它具有创建新进程、撤销已有进程、实现进程状态转换等功能。简化理解:反正进程控制就是要实现进程状态转换,如下图:如何实现进程控制?用原语实现进程控制。原语的特点是执行期间不允许中断,只能一起呵成。这种不可被中断的操作即原子操作。原语采用“关中断指令”和“开中断指令”实现,当关中断指令执行之后,原语代码是不能被外部中断信号干原创 2021-06-18 18:45:03 · 753 阅读 · 2 评论 -
进程的状态与转换
文章目录进程的状态与转换知识总览图进程的几种状态进程状态的转换进程的状态与转换知识总览图进程的几种状态进程是程序的一次执行。在这个执行过程中,有时进程正在被CPU处理,有时又需要等待CPU服务,可见,进程的状态是会有各种变化。为了方便对各个进程的管理,操作系统需要将进程合理地划分为几种状态。进程的三种基本状态,如下图:注意:单核CPU处理机环境下,每一时刻最多只有一个进程处于运行态。而双核环境下可以同时有两个进程处于运行态。就绪态:进程已经拥有了除处理机CPU之外所有需要的资源,一旦获原创 2021-06-18 17:45:47 · 1031 阅读 · 1 评论 -
进程的定义、组成、组织方式、特征
文章目录进程的定义、组成、组织方式、特征知识预览进程的定义进程的组成进程的组织进程的特征进程的定义、组成、组织方式、特征知识预览进程的定义进程定义:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。程序:就是一个指令序列,早期的计算机只支持单道程序,对于这个单道程序在运行的时候,CPU、内存、I/O设备这一切都属于这个单道程序。后来人们引入了多道程序技术,如下图:内存中同时放入多道程序,为了方便操作系统管理,完成各程序并发执行,引入了进程、进程实体的概念。程序原创 2021-06-18 12:45:01 · 1609 阅读 · 0 评论 -
系统调用的理解
文章目录系统调用什么是系统调用系统调用的分类系统调用与库函数的区别系统调用什么是系统调用什么是系统调用?答:操作系统的接口函数是连接应用软件与操作系统的中间桥梁,系统调用其实就是操作系统提供给应用程序的接口函数,应用程序可以通过这些接口函数来让操作系统执行相关的操作,从而获得操作系统的服务。系统调用的分类系统调用(按功能分类):1.设备管理:完成设备的 请求/释放/启动 等功能2.文件管理:完成文件的 读/写/创建/删除 等功能3.进程控制:完成进程的 创建/撤销/阻塞/原创 2021-06-18 10:59:56 · 2227 阅读 · 2 评论 -
中断和异常
文章目录中断和异常中断机制的诞生中断机制的概念和作用中断的分类和异常外中断的处理过程中断和异常中断机制的诞生早期的计算机是用打孔纸带作为输入输出的,每次只能有一道程序运行,CPU的利用率非常低,为了解决这个问题,人们发明了操作系统(作为计算机的管理者),引入中断机制,实现了多道程序并发执行。中断机制的概念和作用中断的本质:只要发生中断,就意味着需要操作系统介入,开展管理工作。举个例子:现在有A,B,C三道程序并发运行,刚开始程序A在用户态的状态下运行,运行了一段时间之后,CPU可能会收原创 2021-06-18 09:56:21 · 389 阅读 · 1 评论 -
操作系统的运行机制与体系结构
文章目录操作系统的运行机制与体系结构操作系统的运行机制操作系统的内核操作系统的体系结构操作系统的运行机制与体系结构总知识预览,如下图:操作系统的运行机制什么是指令?简单来说,“指令”就是处理器(CPU)能识别、执行的最基本的命令,指令其实也就是JVM中的字节码指令,可以让CPU直接识别。指令和我们平时所说的代码有什么区别?一条高级语言的代码,一般都对应着多条指令,如下图:上图中的一条高级语言的代码,对应着三条指令。特权指令和非特权指令影响不太大的指令被我们称作是非特权原创 2021-06-17 21:55:35 · 384 阅读 · 1 评论 -
操作系统的发展与分类
文章目录操作系统的发展与分类手工操作阶段单道批处理系统多道批处理系统分时操作系统实时操作系统操作系统的发展与分类先对要讲的各个阶段有个大体的认识,要注意各自的优点以及不足,上一个阶段的不足一定是下一个阶段发展的动力。手工操作阶段在这个阶段,程序员需要先把一个带有孔的纸带手工的放到输入输出设备当中,纸带上的孔代表的是二进制的输入文件,然后计算机的主机会通过纸带上的输入信息进行计算,计算完毕之后,通过在纸带上打孔的形式进行输出,所以这个阶段有个问题,就是CPU利用不充分,因为CPU要等人工装入纸带之后原创 2021-06-17 18:22:23 · 519 阅读 · 4 评论 -
操作系统的特征
文章目录操作系统的特征操作系统的并发性操作系统的共享性操作系统的虚拟性操作系统的异步性操作系统的特征操作系统的特征主要有四个,并发、共享、虚拟、异步,其中并发和共享是两个最基本的特征,二者互为存在条件。操作系统的并发性并发:指两个或多个事件在同一时间间隔内发生,这些事件宏观上是同时发生的,但微观上是交替发生的。并行:值两个或多个时间在同一时刻发生。操作系统的并发性指计算机系统中同时存在着多个运行着的程序。一个单核处理机(CPU)同一时刻只能执行一个程序,因此操作系统会负责协调多个程序交替执行原创 2021-06-17 15:16:50 · 4335 阅读 · 3 评论 -
操作系统的概念,功能和目标
文章目录操作系统的概念,功能和目标操作系统的概念操作系统的功能和目标操作系统作为系统资源的管理者需要提供什么样的功能,目标是什么操作系统作为用户与计算机硬件之间的接口需要提供什么功能,它的目标是什么操作系统作为最接近硬件的层次需要提供的功能操作系统的概念,功能和目标操作系统的概念大家熟悉的操作系统:Windows操作系统,IOS操作系统,Android操作系统,Linux操作系统操作系统其实就是为了方便用户操作计算机的,你比如在最原始的时候,那个时候没有图形可视化界面,如果你想要删除一个文件,你必原创 2021-06-17 12:47:56 · 2599 阅读 · 5 评论