![](https://img-blog.csdnimg.cn/2019092715111047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
操作系统
供学习和复习操作系统使用
许你常欢
纸上得来终觉浅,绝知此事要躬行
展开
-
操作系统快速复习(死锁)
按照惯例,先通过知识架构图认识本小节内容,对学习本小节起个提纲作用:一、死锁概念1.1 死锁定义多个进程因竞争资源而造成的一种僵局(相互等待)若无外力作用,这些进程都将无法向前推进例如:某计算机系统中只有一台打印机和一.台输入设备,进程P1 正占用输入设备,同时又提出使用打印机的请求,但此时打印机正被进程P2所占用,而P2在未释放打印机之前,又提出请求使用正被P1 占用的输入设备。这样,两个进程相互无休止地等待下去,均无法继续执行,此时两个进程陷入死锁状态。1.2 死锁产生的原因系统原创 2020-06-25 23:33:28 · 1137 阅读 · 0 评论 -
桌子上有一个盘子,每次只能向其中放入一个水果。爸爸专向盘子中放苹果,妈妈专向盘子中放橘子,儿子专等吃盘子中的橘子,女儿专等吃盘子中的苹果。只有盘子为空时,爸爸或妈妈才可向盘子中放一个水果,仅当盘子中
问题描述: 桌子上有一一个盘子,每次只能向其中放入一个水果。爸爸专向盘子中放苹果,妈妈专向盘子中放橘子,儿子专等吃盘子中的橘子,女儿专等吃盘子中的苹果。只有盘子为空时,爸爸或妈妈才可向盘子中放一个水果;仅当盘子中有自己需要的水果时,儿子或女儿可以从盘子中取出。问题分析:关系分析。 这里的关系要稍复杂一些。 由每次只能向其中放入一只水果可知, 爸爸和妈妈是互斥关系。爸爸和女儿、妈妈和儿子是同步关系,而且这两对进程必须连起来,儿子和女儿之间没有互斥和同步关系,因为他们是选择条件执行,不可能并原创 2020-06-25 22:47:29 · 29273 阅读 · 8 评论 -
操作系统快速复习(进程同步)
还是按照惯例,先总览本小节的知识结构。一、进程同步基本概念1.1 进程同步(直接制约关系)并发带来了异步性,有时需要进程同步解决异步问题有的进程之间需要相互配合的完成工作,个进程的工作推进需要遵循一定的先后顺序为完成某种任务而建立的两个或多个进程,这些进程因为需要在某些位置上协调他们的工作次序而等待、传递信息所产生的制约关系。1.2 进程互斥(间接制约关系)临界资源一次仅运行一个进程使用的资源。四个部分:(1)进入区 为了进入临界区使用临界资源,在进入区检查,设置正在访问原创 2020-06-25 22:37:10 · 691 阅读 · 0 评论 -
操作系统快速复习(处理机调度)
在学习操作系统处理机调度的时候,书上有些内容确实看不懂,而且枯燥无趣,王道操作系统还不错,我是通过这个来学习的,顺便将其精华部分做了一些小结。首先大致了解下处理机调度:调度层次,调度原因,调度方式以及典型的调度算法,下面就展开叙述。一、处理机调度基本概念从就绪队列中按照一定的算法选择一个进程并将处理机分配给它运行,以实现进程并发地执行。二、调度层次2.1 作业调度(高级调度) 长程调度每个作业只调入一次、调出一次执行频率低外存 --> 内存(面向作业)2.2 内存调度(中级调度)原创 2020-06-23 21:34:19 · 853 阅读 · 0 评论 -
操作系统快速复习(进程和线程)
先来个思维导图,喜欢文字的读者可以看博客,也对思维导图进行了一些补充,结合起来可以快速复习操作系统概述这一章节。一、进程【动态的】1.1 概念进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位1.2 程序顺序执行的特征封闭性程序在封闭的环境下运行,即程序运行时独占全机资源,资源的状态(除初始状态外)只有本程序才能改变它,程序一旦开始执行,其执行结果不受外界因素影响顺序性处理机严格按照程序所规定的顺序执行。可再现性程序运行环境和初始条件相同,不论怎样,可获得原创 2020-06-22 23:15:10 · 273 阅读 · 0 评论 -
操作系统快速复习(计算机系统概述、发展分类、体系结构)
先来个思维导图,喜欢文字的读者可以看博客,也对思维导图进行了一些补充,结合起来可以快速复习操作系统概述这一章节。操作系统1.1 概论1.1.1 OS概念(定义)OS是指控制和管理整个计算机系统的硬件与软件资源,合理的组织、调度计算机的工作与资源分配,进而为用户和其他软件提供方便接口与环境的程序集合。是计算机系统中最基本的系统软件。1.1.2 操作系统的特征并发(最重要、其他特征的前提)两个或多个事件在同一时间间隔内发生共享系统中的资源可供内存中多个并发执行的进原创 2020-06-19 22:40:35 · 416 阅读 · 0 评论 -
短进程(作业)优先调度算法对五个进程进行调度。(C/C++)
实验描述: 用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理解。设计简单的进程PCB 结构,完成进程信息记录;设计一个有 N个进程并发执行的进程调度程序(以下三选一)(1)编写并调试一个模拟的进程调度程序,采用“最高优先数优先”调度算法对五个进程进行调度。(2)编写并调试一个模拟的进程调度程序,采用“轮转法”调度算法对五个进程进行调度。 轮转法可以是简单轮转法、可变时间片轮转法,或多队列轮转法。(3)编写并调试一个模拟的进程调度程序,采用“短进程优先”调度算法对五个进程原创 2020-06-18 17:31:36 · 16268 阅读 · 4 评论 -
桌上有一空盘,最多允许存放一个水果。爸爸可向盘中放一个苹果或放一个桔子,儿子专等吃盘中的桔子,女儿专等吃苹果。 试用P、V操作实现爸爸、儿子、女儿三个并发进程的同步。
问题描述:桌上有一空盘,最多允许存放一个水果。爸爸可向盘中放一个苹果或放一个桔子,儿子专等吃盘中的桔子,女儿专等吃苹果。 试用P、V操作实现爸爸、儿子、女儿三个并发进程的同步。问题分析及思路:本题是生产者消费者的变形,不能用一个信号量解决问题。在本题中,爸爸、儿子、女儿共用一个盘子,且盘中一次只能放一个水果。当盘子为空时,爸爸可将一个水果放入盘中,若放入采盘中的是苹果,则允许女儿吃,儿子必须等待。若放入盘中的是桔子,则允许儿子吃,女儿必须等待。那么盘子就是一个缓冲区(单缓冲),同一时刻,只能有一个人原创 2020-06-16 22:05:48 · 24308 阅读 · 4 评论 -
编写Windows下父亲儿子女儿放取水果进程同步的演示程序。(C/C++)
问题描述:桌上有一空盘,最多允许存放一个水果。爸爸可向盘中放一个苹果或放一个桔子,儿子专等吃盘中的桔子,女儿专等吃苹果。 试用P、V操作实现爸爸、儿子、女儿三个并发进程的同步。问题分析及思路:本题是生产者消费者的变形,不能用一个信号量解决问题。在本题中,爸爸、儿子、女儿共用一个盘子,且盘中一次只能放一个水果。当盘子为空时,爸爸可将一个水果放入盘中,若放入采盘中的是苹果,则允许女儿吃,儿子必须等待。若放入盘中的是桔子,则允许儿子吃,女儿必须等待。那么盘子就是一个缓冲区(单缓冲),同一时刻,只能有一个人原创 2020-06-16 21:57:20 · 4866 阅读 · 0 评论