![](https://img-blog.csdnimg.cn/20200402084231925.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
操作系统
文章平均质量分 82
无
码的艺术家
软件开发工程师 | C/C++、Python、JavaScript | 工业领域、量化、区块链、AI |
展开
-
【学习笔记】windows 下的 shared memory(共享内存)原理与实践
共享内存是一种进程间的通信机制(其他的通信机制还有管道,消息队列等)。进程之间通过访问一块共享的空间,来进行数据的通信(交换)。具体来讲,就是将一份物理内存映射到不同进程各自的虚拟地址空间,这样每个进程都可以读写这片物理内存。共享内存是速度最快的一种进程间通信(IPC)方式,它直接对内存进行存取,比操作系统提供的读写系统服务更快。由上面的描述我们发现,当多个进程对同一片空间进行读写时必然会出现同步的问题,所以一般共享内存会和信号量或者锁机制一同使用,保证数据的完整性。原创 2022-09-05 15:11:34 · 8488 阅读 · 5 评论 -
【学习笔记】内存的连续分配管理方式
因为每个进程都是“量体裁衣”式的进行分区分配,所以不存在内部碎片,但是很可能存在外部碎片,假如当前剩余的空闲分区是 2MB,而要装入的进程最小都是 3MB,那么这个空闲分区(在没有进程换出的情况下),就一直无法使用,称之为外部碎片。比如我们最开始讲的单一连续分配,因为整个用户区都只分配一个进程,而进程大小可能远远小于用户区大小,这时空闲的用户区又不能提供给其他进程使用,我们就可以称这些空闲用户区是内部碎片。如下图,有 4 个进程的大小依次是 20MB,14MB,18MB,8MB。原创 2022-09-02 15:31:57 · 1249 阅读 · 0 评论 -
The following packages have unmet dependencies: libappstream3 ... 报错
记一次报错的经历这仅是我的一次修复问题的经历,相同的报错不一样是同样的原因在使用 ubuntu 的时候,输入命令 sudo apt upgrade 或者 sudo apt-get upgrade 报错如下,且 ubuntu 桌面右上角出现红圈白杠的提示。noname@noname-MRC-WX0:~$ sudo apt upgradeReading package lists... DoneBuilding dependency tree Reading state inform原创 2021-12-03 15:25:32 · 1389 阅读 · 0 评论 -
考研复试面试问答--操作系统篇
计算机体系概述操作系统是什么操作系统是计算机资源的管理者,包括了,处理机,内存,文件和设备管理操作系统的特征拟步享发(虚拟,异步,共享,并发)管态和目态的区别管态可以执行特权指令目态可以执行非特权指令通过系统调用,或者中断的方式实现切换并发和并行的区别并发是同一个时间间隔执行多个事件并行是同一个时刻执行多个事件微内核和大内核大内核是把操作系统主要的功能放入核心态中微内核是把操作系统的基本功能放入核心态中进程管理进程的概念动态运行的程序,是原创 2021-03-27 20:10:38 · 407 阅读 · 0 评论 -
极简学习信号量
参考《王道-操纵系统》概述信号量机制用于解决同步和互斥的问题,它通过两个原语 wait 和 signal 实现,也可以表示为 p,v。其中 wait 是申请资源,signal 是释放资源。整型信号量整型信号量是将信号量定义为整型 Swait(S){// 如果资源数小于 0 则陷入忙等 while(S<=0); S=S-1;}signal(S){ S=S+1;}...原创 2019-12-12 14:38:54 · 151 阅读 · 0 评论 -
操作系统--磁盘调度题目
【题目来源-2010 408 真题】假设 计 算机系统采用CSCAN(循环扫描)磁盘调度策略 。使 用2KB的内存空间记录16384个磁盘的 空闲 状态 。(1)请说明在上述条件 下 如何进行磁盘 空闲 状态的管理。(2)设某单面磁盘的旋转速度为每分钟6000转 , 每个磁道有100个扇区,相 邻 磁道间的平均移动的时间为1ms 。 若在某时刻,磁头位于100号磁道处,并沿着磁道号增大的方向...原创 2019-10-22 17:05:12 · 13327 阅读 · 12 评论 -
操作系统中的多级间址计算题
我们直接上题目。【2010 考研 408 统考真题】设文件索引结点中有 7 个地址项,其中 4 个地址项是直接地址索引,2 个地址项是一级间接地址索引,1 个地址项是二级间接地址索引,每个地址项大小为 4B,若磁盘索引块和磁盘数据块大小均为 256B,则可表示的单个文件的最大长度?【解答】为了便于理解我们先把图画上...原创 2019-08-15 16:24:15 · 3066 阅读 · 6 评论 -
非连续分配管理方式
本篇博文为当初考研时做的笔记,整个文章架构以当时考研时参考的书籍来完成的,现在回顾的时候发现写得并不“有机”,完全机械,不能读懂,但是对应试非常有用。如果你想对分页,分段,虚拟内存这些知识点有宏观且易懂的了解,推荐《程序员的修养–链接,装载与库》和《深入计算机系统》这两本书,阅读相关章节即可。相比于连续分配管理方式,非连续允许一个程序分散装入不相邻的内存区域,这就好像把人体给肢解了一样。当然这不算完,分散的程序要构成有机体程序那么就要通过索引的方式再连接起来。原创 2019-08-07 22:44:55 · 706 阅读 · 0 评论 -
常见的进程调度算法
轮转调度算法适用场景分时系统基本原理根据 先来先服务策略 ,形成就绪队列。分配时间片。关键时间片的分配长度是关键,如果分配太短则切换频繁。如果太长,就退化成了先来先服务算法。优先级调度算法前言相对于轮转片算法,轮转片是默认了所有进程的优先级一样,而优先级算法根据进程的优先级进行 CPU 的分配优先级类型静态优先级在创建的时候就确定了优先数动态优先级随等待时间增长而优先...原创 2018-12-04 18:47:42 · 480 阅读 · 0 评论 -
常见的磁盘调度算法
更新 2019-8-10:增加了 LOOK 调度算法和添加了一些小的知识点。原创 2018-10-31 22:40:24 · 9365 阅读 · 0 评论 -
页面置换算法
最佳置换算法和先进先出置换算法先介绍的这两种算法都是极端的算法。最佳置换算法是一种理想条件的算法(现实生活不可能出现),主要是用作衡量其他算法的优劣。而先进先出算法是最直观的算法。最佳置换算法最佳置换算法的原理是:在置换点,未来最长时间不在访问的页面被置换出去。前三个物理块被装满的时候,从第四个物理块开始就要使用置换算法了。我们看到第三个物理块是(7,0,1),第四个需要被换入的是 2...原创 2018-10-20 18:26:44 · 2236 阅读 · 0 评论 -
实时调度算法
必要的名词解释开始截止时间:某个任务必须在某个时间之前开始执行实时调度算法的分类根据实时任务性质分类硬实时调度算法:即任务必须在确定的时间内完成软实时调度算法:即大部分任务必须在确定的时间内完成根据调度方式分类关于抢占式和非抢占式的定义这里不讲解非抢占式抢占式最早截止时间优先算法EDF(Earliest DeadLine First)这个算法的含义就是,谁完成任务...原创 2018-09-29 15:32:35 · 13199 阅读 · 0 评论 -
银行家算法
前言操作系统在解决死锁问题的时候,有四个大的方向,分别是预防死锁,避免死锁,检测死锁和解除死锁。而今天要讲的银行家算法是著名的避免死锁算法的代表。安全状态避免死锁的定义:在资源动态分配的过程中,防止系统进入不安全状态。由定义可知道,要想实现避免死锁,那么就必须让进城资源分配处于安全状态,所谓安全状态就是系统能按照某种进城推进顺序(安全序列)进行。上面的定义可能比较抽象,下面用一个实例来...原创 2018-10-04 10:56:12 · 25726 阅读 · 6 评论 -
基于顺序搜索的动态分区算法
首次适应算法(first fit ,ff)要求空闲链递增的方式链接工作方式从链首开始查找,直到找到一个大小能满足要求的空闲分区为止特点优先利用内存中低地址部分高地址空闲区大,可以给大程序使用低地址不断被分割,形成碎片每次从低地址查找,开销大循环首次适应算法(next fit,nf)解决问题为了解决 ff 算法的缺点特点从上一次找到的空闲分区的下一个空闲分区开始查找...原创 2018-10-11 16:13:51 · 2065 阅读 · 0 评论 -
常见的作业调度算法
PS:该博文所有的图片均来自课堂授课的 PPT 截图。感谢老师提供的 PPT 。写在前面评价作业调度算法的优劣,通常看平均周转时间和带权周转时间周转时间 = 作业完成时间 - 作业到达时间平均周转时间 = (作业完成时间 - 作业到达时间)/ 作业数量带权周转时间 = 作业周转时间 / 作业服务时间先来先服务算法顾名思义,先来先服务算法就是先来的作业先调度运行,后来的后运行。和队...原创 2018-09-26 20:51:39 · 14521 阅读 · 4 评论