自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 C++操作系统之银行家算法

第三点:当首次算法执行完后,能得出安全序列,能首次Request资源时用的资源表是初始化的资源表这是要理清楚的,后面Request申请的则用上一次的资源申请表所以要考虑好资源表的保存以及复用,还有要做好Allocation,Need,Available的保存,复用以及还原,要做还原这个在下一点讲。主要考虑进程能不能正常分配的问题,即剩余资源该先分配谁,分配了后能不能让它执行完,执行完返回的资源又该继续分给谁的问题,最后看能不能所有进程都分配到资源执行完。执行完了会有安全序列。

2023-05-07 21:37:18 719 2

原创 C++操作系统之高响应比(HRRN)算法(非抢占式)

第二:考虑的是当前时间片有多少进程进来先按上述的排序方式来排序,然后进来的进程要考虑等待时间,即每个进程结束后,当前的时间片内到达的进程都要对这个时间计算等待时间,然后再按优先级进行排序。是一个比较复杂的多排序问题。第一:初始化时,进程到达的时间要排序,此时排序要考虑的是进程的到达时间以及服务时间,同时间下服务时间越短的则优先级越高,分母越小得数越大嘛,小学知识。每个进程都进行优先级的计算,计算公式为(等待时间+当前进程所需的服务时间)/当前进程所需的服务时间。计算出的结果则为优先权。

2023-05-07 21:21:22 675 1

原创 C++操作系统之高优先级调度(HPF)算法(非抢占式)

第二:时间片记录问题,当前时间有没有进程进来,进来的要进行优先权的排序,只要在这个时间片内能到达的,则证明可以跑,那么就按最高优先级的排序,让高优先级的先执行即可。按优先级进行排序,优先级越高的则优先执行,前提条件是到达时间要对,没到达的不考虑。第一:排序问题,即初始化的时候按到达时间以及优先权来排序。

2023-05-07 21:13:48 829

原创 C++操作系统之短作业优先(SJF)算法(非抢占式)

第二点就是搞定好时间片记录与进程到达的情况,要考虑当前时间多少个进程进来了,这时候进程到达的则按服务时间排序即可。见名思意,就是谁所需的服务时间最短就先服务谁,前提是进程有到达的情况下,没到达肯定不可能执行啦。有两点:第一点是排序问题,初始化时进程需要按两点排序那就是按到达时间以及服务时间排序。

2023-05-07 21:08:16 788

原创 C++操作系统之最坏适应(WF)算法

空闲区容量从大到小排序,每次有申请区的某一块成功申请到内存,就重新排序一次。分两个区一个空闲区一个申请区。

2023-05-07 20:59:28 431

原创 C++操作系统之最佳适应(BF)算法

每次都把申请区做一次排序,排序的方式是按容量从小到大进行排序。当有申请区的某一块成功申请到了内存就重新排序一次。分两个区,一个申请区一个内存区。

2023-05-07 20:57:39 266

原创 C++操作系统之循环首次适应(NF)算法

申请区的下一块是申请区上一块在空闲区结束的位置开始查找。分两个区,一个空闲区,一个申请区。

2023-05-07 20:53:41 386 1

原创 C++操作系统之首次适应(FF)算法

设立两个分区,一个空闲分区即已准备好的内存块,一个申请区即需要分配的块内存。每一块要分配的内存块都要从空闲分区的第一块开始查找。

2023-05-07 20:51:03 202 2

原创 FCFS先来先服务算法C++

FCFS简单的讲就是先到达的先服务,比如A进程3秒到达,B进程2秒到达的话,那么就让B一直执行到满足它所需的服务时间。它是非抢占式的。**

2023-05-02 16:17:40 1113

原创 操作系统高优先级调度算法C++

3.中间还有个小坑要注意的是拿数据,如果用迭代器去拿数据,是没办法较好的返回数据,会出现死循环的情况,可能也是测试的时候把后续代码给关闭了导致的,所以为了方便的管理数据这里再vector容器的遍历里用at()的方法调用,能较好的返回数据,避免去考虑数据类型是否需要转化等。1.首先要了解它的工作方式,进程都到达,那么首先考虑的是到达的时间再考虑优先级,当优先级高的肯定先执行,但是不可能出现进程还没到就执行的状况,所以代码要考虑这个点,保证进程执行是对的之后再考虑优先级。

2023-04-10 17:27:03 536

原创 static在类中的应用C++

static也就是静态的意思,在类中静态的操作有两个一个是对成员变量以及成员函数,只需要在原有状态上加个static。比如int a 改成static int a就变为静态成员变量了。重点:静态成员变量:1. 所有对象共享同一份数据2. 在编译阶段分配好内存3. 类内声明类外初始化。静态成员函数:1. 所有对象共享同一份数据2. 静态成员函数只能访问静态成员变量首先我们来讨论静态成员变量!思路!:1. 记住!静态成员变量一定是类外初始化的!2. 成员变量的访问有两种!一种是通过对象

2021-11-22 00:16:48 232

原创 友元类C++

讲一讲友元类,友元类跟派生(继承)其实还是有点像的,但是对于权限问题就有偏差了。先讲友元类吧,友元类顾名思义,也就是好朋友意思,那我好朋友之间是可以分享秘密啊什么的,所以友元类可以起到一个访问私有属性的,在一般情况下私有属性只能被类本身自己访问的,但是为了程序的灵活啊我们就来个好朋友把它秘密给问出来!友元类的关键字:friend友元类分三种使用方式!第一种:全局函数做友元类第二种:类做友元第三种:成员函数做友元看图!大概的结构!来 直接上代码!直接对比看一下就行 思路就在图上**有个注意

2021-11-14 23:06:00 825 1

原创 C++类与对象

写一篇基础文章讲一下类与对象这个东西,比较深的概念就不讲了。 类顾名思义 也就是某种具有相同特点的东西的集合,比如车类身上含有轮胎,座位,发动机等,这些东西的集合构成了一个车类,在这里我以学生作为开端,后面会讲解到继承,多态等先基础开始。首先!看图!private是完全私有的,只有自己可以访问,派生类和外部都不可以访问protected是受保护的,只有派生类可以访问,外部不能访问public权限是最大的,可以内部调用,实例调用等。这个详细就不说了,可以去参考课本讲解 大概都差不多。然后我们

2021-11-13 18:03:55 563

原创 哈夫曼树C++

哈夫曼树也叫最优二叉树,也是搜索二叉树,也是完全二叉树,最优二叉树也就是WPL值最小,二叉搜索树满足权值左边小右边大的规则。要笔记的可以私信下面直接讲解代码首先 老规矩写个结构体!思路:1.录入结点,并且录入结点权值 所以定义一个字符类型和int weight2.哈夫曼树是通过两个最小值组合称为双亲结点然后再构成一棵二叉树所以会有双亲结点跟左右结点并且为 int类型。在这里说明一下为什么是int 类型的左右结点还有parent结点,因为由**左结点最小值+右结点最小值=新的父节点值typed

2021-11-11 23:19:42 4396

原创 双向链表C++

双向链表,顾名思义,一条可双向进行的就叫双向链表。那怎么搞?也就是有前驱跟后继,有些时候有人不明白什么是前驱跟后继啊,浅显的讲讲,前驱就是当前结点指向上一个结点的箭头,那么上一个结点就是当前结点的前驱,后继就是当前结点的前一个结点,从上一个结点指向当前结点就叫后继,也就是说上个结点作为头,那当前结点作为尾,头的后继不就是尾嘛。然后有头尾指针,双向嘛。头指针运动,尾指针也运动,所以这里要多存个尾指针。那说了这么多,先来构造给双向链表吧。定义结构体老掉牙的东西了思路!:1.刚前面说了有前驱跟后继,那么

2021-11-06 18:12:08 3347 2

原创 顺序表的基本操作C++

讲一讲顺序表吧首先定义结构体老套路了顺序表比较特别首先要分配好内存空间,给够空间,不够以后再来说要么扩容,扩容是倍增的扩容一会开小灶来讲就不放到主运行里了**typedef int Elemtype;**讲一下这个,可能比较多人不太理解这什么意思,其实也是单纯的定义一个类型变量罢了(typedef的用法),只是这个名字改了一下,对于以后对程序的维护方便点而已,就是把int这个整型变量改名为Elemtype,以后要改类型就直接在int那里改成float,double,bool之类,比较方便;#incl

2021-11-05 22:49:27 2338 9

原创 单链表的基本操作C++

在这里插入代码片@TOC欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式

2021-11-05 21:29:27 7620

原创 c++写九九陈法表,除法表,加法以及减法表

利用c++写九九乘法表,除法表,加法表(随便写的有待提升)陈法表#include<iostream>using namespace std;void main(){ int i, j; for (i = 1; i <= 9; i++) { for (j = 1; j <= i; j++) cout << i << "*" << j << "=" << i * j << " "; co

2021-03-19 19:18:09 1394 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除