![](https://img-blog.csdnimg.cn/20201020135005937.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
操作系统
文章平均质量分 66
根据期末考试和考研的要求系统的学习操作系统,包括基本概念和运算。
硕子鸽
这个作者很懒,什么都没留下…
展开
-
进程同步习题——棋子问题
生产围棋的工人不小心把相等数量的黑子和白子混装载一个箱子里,现要用自动分拣系统把黑子和白子分开,该系统由两个并发执行的进程组成,功能如下:(1)进程 A 专门拣黑子,进程 B 专门拣白子;(2)每个进程每次只拣一子,当一个进程在拣子时不允许另一个进程去拣子;当一个进程拣一子后,必须让另一进程去拣一子。请回答:这两个并发进程之间的关系是同步还是互斥 ;用 wait、signal 操作管理时,写出所定义的信号量和初值;根据定义的信号量,在下列空白处填入应执行的 wait、signal 操作,以原创 2021-01-17 18:46:34 · 3463 阅读 · 2 评论 -
【操作系统】文件管理
设文件 F1 的当前引用级数值为 1 ,先建立文件 F1 的符号链接(软链接)文件 F2 ,再建立文件 F1 的硬链接文件 F3,然后删除文件 F1,此时文件 F2 和文件 F3 的引用计数值分别是(1,1)。原创 2021-01-17 12:37:27 · 6072 阅读 · 5 评论 -
【操作系统】内存管理
介绍内存管理中重要的知识点基本分页存储管理方式、请求分页存储管理方式、段页式管理方式;以及页面置换算法,中间穿插着系统方便读者理解。原创 2020-12-19 19:39:13 · 1669 阅读 · 1 评论 -
死锁习题——银行家算法讲解
非剥夺资源的竞争和进程的不恰当推进顺序会导致死锁。有 3 种方式可以解决死锁问题:预防死锁;避免死锁;死锁的检测和解除;今天要讲的银行家算法就属于死锁避免。一、银行家算法银行家算法是最著名的死锁避免算法。1、数据结构描述可用资源向量:Available,是一个数组,表示现在系统中总共还有多少可用的资源。例如:A B C 的 Available 是 [1,2,3]表示现在系统中还有 A 类资源 1 个,B 类资源 2 个,C 类资源 3 个。最大需求: Max,是一个矩阵,表原创 2020-11-26 08:10:44 · 33710 阅读 · 22 评论 -
【操作系统】生产者消费者问题讲解
生产者消费者问题是经典的进程同步问题,也是考试最常考的问题。之前讲过了使用信号量机制实现进程控制,请确保已经掌握了相关知识:信号量机制实现进程控制 。问题描述——生产者消费者问题系统中有一组生产者进程和一组消费者进程,生产者进程每次生产一个产品放入缓冲区,消费者每次从缓冲区中取出一个产品并使用。生产者、消费者共享一个初始为空、大小为 n 的缓冲区。分析:只有缓冲区没满时,生产者才能把产品放入缓冲区,否则必须等待;只有缓冲区不为空时,消费者才能从中取出产品,否则必须等待;缓冲区是临界资源原创 2020-11-22 19:39:12 · 8427 阅读 · 3 评论 -
信号量机制实现进程控制
一、信号量机制实现进程互斥我们将一次仅允许一个进程访问的资源称为临界资源,而临界区是指访问临界资源的那段代码。通常将互斥信号量设置为 mutex ,初始值为 1。为什么初始值设置为 1 呢?因为数值表示访问临界资源的进程数量,作为进程互斥,同时就只能有一个进程访问临界资源,所以是 1 。对于不同的临界资源,需要设置不同的互斥信号量。这里来看一段代码:semaphore mutex = 1; // 初始化信号量P1(){ ... P(mutex); //使用临界资源前需要加锁 临界原创 2020-11-20 21:41:25 · 1563 阅读 · 0 评论 -
处理机调度及常用的几个调度算法
调度的基本概念当有一堆任务要处理,但由于资源有限,这些事情没法同时处理。这就需要确定某种规则来决定处理这些任务的顺序,这就是 “调度” 研究的问题。调度分为 3 个层级:作业调度:创建新的进程;内存调度:恢复旧的进程;进程调度:选择就绪进程;其中频率最高的进程调度是我们要重点研究的。进程调度的时机、方式进程调度就是按照某种规则,从就绪队列中选择一个进程为其分配处理机。那什么时候需要进行进程调度呢?有些时候是不能进行进程调度的:中断的时候;进程在操作系统内核程序临界区中,但是原创 2020-10-31 09:49:12 · 2865 阅读 · 1 评论 -
线程的基本概念
线程的特点和属性有的进程需要同时做很多事,传统的进程只能串行地执行程序,所以引入了线程来增加并发度。可以把线程理解为轻量级进程,线程是一个基本的 CPU 执行单元,也是程序执行流的最小单位。线程的实现方式用户级线程:线程切换在 用户态 下即可完成。就是从用户的视角可以看到的线程。内核级线程:线程切换在 核心态 下才能完成。操作系统只看得见内核级线程,因此只有内核级线程才是处理机分配的单位。多线程模型多对一一对一多对多...原创 2020-10-25 13:56:45 · 273 阅读 · 0 评论 -
进程的基本概念
定义在引入多道程序之后,计算机可以同时处理多个程序,那么问题来了,那么多个程序,操作系统要怎么才能找到各程序的存放位置呢?于是就引入了一个概念:PCBPCB 就是进程控制块,它用来描述进程的各种信息。进程实体由 PCB、程序段、数据段组成。我们所说的创建一个进程其实就是创建一个 PCB。PCB 是进程存在的唯一标志。注意进程和进程实体的区别:进程是程序的一次执行过程,是动态的,而进程实体是静态的。进程标识符 PID 是进程创建时系统自动分配的唯一 ID。和进程管理相关的信息都保存在 PC原创 2020-10-25 13:32:11 · 671 阅读 · 2 评论 -
操作系统的运行环境
运行机制对于 CPU 来说,有两种指令,一种是 特权指令 ,另一种是 非特权指令 ,前者的操作通常比较危险,如清空内存等。那么 CPU 是如何判断当前能否执行特权指令的呢?这就要看处理器的状态了,有两种:用户态(目态):此时 CPU 只能执行非特权指令;核心态(管态):可以执行特权指令。两种程序:内核程序:运行在核心态;应用程序:运行在用户态;操作系统的内核内核包括:时钟管理:实现计时功能;中断处理;原语:一种特殊的程序,是最接近硬件的部分,具有原子性。中断和异常原创 2020-10-21 18:19:16 · 398 阅读 · 0 评论