- 博客(19)
- 收藏
- 关注
原创 【操作系统】信号量机制实现进程互斥
系统中的某些资源是必须互斥访问的,而访问这种系统资源的那段代码称作临界区。肌肉需要互斥访问,说明同一时刻只能有一个进程进入临界区。
2024-04-01 12:16:38
304
4
原创 【操作系统】千字解析信号量
信号量机制是一种用于控制多进程或者多线程并发访问共享资源的同步机制。信号量实质上是一个整型计数器,通常用于表示可用资源的数量或许可证的数量,类似于一个整型的全局变量。不同于一般的整型变量,对信号量的操作只有两个:P操作和V操作P操作即wait操作,为进程申请一个资源S,S相应的信号量的值减一。若此时没有资源S可以给该进程使用,则进程阻塞等待。V操作即signal操作,释放一个资源S,S相应的信号量的值加一。若此时有进程正在等待资源S,则唤醒该进程。
2024-04-01 11:15:43
387
1
原创 【操作系统】三千字解析银行家算法例题
(5,3,2)>(0,1,1),给P3,P3用完还给OS,OS有(5,3,2)+(2,1,1)=(7,4,3);(10,5,5)>(4,3,1),给P4,P4用完还OS,OS有(10,5,5)+(0,0,2)=(10,5,7),与题干所给值相等,计算正确,存在安全序列{P1,P3,P0,P2,P4},系统安全。分析:(3,3,,2)
2024-03-31 23:40:23
2309
5
原创 【操作系统】进程的描述
定义:PCB的全程是进程控制块,是操作系统核心为每个进程专门定义的数据结构。作用:系统通过PCB感知进程的存在,PCB是进程存在于系统中的唯一标志实现间断性运行方式,保留阻塞进程的CPU现场信息以便再次调度执行该进程提供进程管理所需信息。操作系统根据PCB实现对进程的控制和管理提供进程调度所需信息实现与其他进程的同步与通信存储信息:进程标识符(外部标识符和内部标识符PID,每个进程的PID唯一)处理机状态进程调度信息进程控制信息参考资料:《计算机操作系统(第四版)》汤小丹。
2024-03-07 17:49:59
307
原创 【操作系统】操作系统的种类和发展历程
程序员将事先已穿孔的纸带装入输入机,再启动它们将纸带上的程序和数据输入计算机,最后启动计算机运行。程序运行完毕并取走计算结果后,下一个用户上机。
2024-02-23 21:10:39
422
原创 【数据结构】无向图基本操作:手动输入邻接矩阵;文件读取邻接矩阵;手动输入邻接表
图的相关概念和术语如下:图:由顶点的有穷非空集合与边的集合组成。表示由顶点集合和边集合组成的无向图。顶点(Vertex):图中的一个节点。边(Edge):连接两个顶点的线段。无向图(Undirected Graph):边没有方向的图。有向图(Directed Graph):边有方向的图。加权图(Weighted Graph):边带有权值的图。多重图(Multigraph):两个顶点之间可以有多条边的图。度(Degree):与一个顶点相连的边的条数。
2023-11-16 21:45:20
1039
1
原创 【数据结构】链式二叉树的基本操作:定义、遍历访问、创建、输出、总结点数、叶子结点数、深度、镜像
二叉树的存储表示有顺序和链式两种。顺序存储通过数组实现,常用于存储完全二叉树,因为可以通过存储顺序比较直观看出结点在完全树中的位置。并且,完全二叉树在操作过程中,大小和形态不发生剧烈变化。编号(下标)从0开始,编号顺序为层序遍历。在本节中,进行的工作是将二叉树这一非线性的结构以一定的顺序(前序,中序,后序,或者直接是顺序表)排成线性结构。
2023-11-04 21:02:23
298
1
原创 【数据结构】详解用C语言回溯法实现迷宫的递归求解
迷宫问题是一个比较复杂的问题,但也是可以掌握的。它通常出现在数据结构的栈部分。然而,在用栈求解前,我们最好先用传统的递归方法编写一遍,再用栈改写优化。本文全篇参考殷人昆版《数据结构》,感谢高手推荐这本好书。欢迎评论区指正。
2023-10-24 14:26:33
1276
原创 【数据结构】顺序栈的基本操作:出栈、入栈、取栈顶元素、输出所有栈中元素、括号匹配题目
栈是限定仅在表位进行插入或删除操作的线性表。栈的表尾称为栈顶,表头称为栈底。不含元素的栈称为空栈。左图为栈的示意图,右图为用铁路调度表示栈。如下是入栈至栈满再进行出栈的过程示意图。值得注意的是,栈满后,top指针指向的不是顶端元素,而是顶端的下一个位置。
2023-10-19 21:08:17
12433
5
原创 【数据结构日常作业】单链表2
主函数中实现下列操作,绿色部分要求用函数实现。尾插法创建单链表计算单链表的长度输入要查找的值e,调用按值查找单链表函数,输出它的位序(可能多个)输入要删除的值e,按值删除函数,输出更新后的链表(可能多个)单链表的就地逆置(不另外开辟存储空间)
2023-10-07 23:52:31
84
1
原创 【数据结构日常作业】单链表1
主函数中实现下列操作(蓝色部分用函数实现)头插法创建n个随机元素的单链表输出单链表按位序查找单链表插入函数按位序删除函数创建有序单链表合并有序单链表。
2023-10-07 22:53:31
89
1
原创 【数据结构】顺序表合并
上一篇写顺序表的在这里【数据结构】顺序表最全基本操作_Granitte的博客-CSDN博客else处原文写的是if(*pb
2023-10-04 21:45:32
329
原创 【数据结构】单链表基本操作:查找、插入、删除、创建
链表由结点组成,结点由数据域和指针域组成。其中,数据域存放的就是数据元素,指针域存放下一个结点的地址。数据元素可以只有一个,也可以有多个不同类型的数据元素,甚至是数组。下图和代码来自《C Primer Plus》,该链表每个节结点同时含char类型和int类型。在上述表示中,头指针存储第一个结构的地址。头指针指向链表中的第一项。在上述的表示方式中,结构体的名字是struct film,每次使用该类型的指针,都要写全这个名字。在这里,L是单链表的名字,p是一个同类型指针,但还未定义它指向谁。
2023-10-03 23:15:05
3194
5
空空如也
MATLAB有限差分法解一维边值问题
2024-05-22
MATLAB实现区间[a,b]上的Gauss-Legendre积分
2024-04-30
进程同步互斥算法中违背空闲则如的问题
2024-04-06
进程同步的Dekker算法初版改进为什么违背忙则等待和空闲则入?
2024-04-05
MATLAB雅克比迭代次数
2024-04-02
MATLAB怎么通过柱坐标变换画开口是圆形的旋转抛物面?
2024-03-28
matlab如何自行编写矩阵上下翻转的函数?
2024-03-21
操作系统相关算法中while();的含义
2024-03-19
C语言快速排序函数纠错
2023-12-05
C语言错误unknown characteristic 0xaa
2023-12-04
C语言两个栈模拟一个队列
2023-12-01
C语言用栈实现无向图邻接矩阵广度优先遍历
2023-11-29
C语言有向图队列辅助拓扑排序函数修改
2023-11-24
无向图邻接表深度优先函数修改
2023-11-23
从文件读取无向图邻接表函数更正
2023-11-22
C语言无向图邻接表运行错误
2023-11-15
C语言从文件读取无向图邻接矩阵
2023-11-10
C语言for循环条件含义问题
2023-11-09
C语言哈夫曼编码打印结果只有一位数
2023-11-07
visual stdio编译器实现哈夫曼编码时拷贝字符函数报错
2023-11-05
C语言利用栈实现括号匹配时,连续执行出现异常:不进入循环
2023-10-19
C语言p, q两指针,语句q=p的含义是什么?
2023-10-05
C语言实现单链表操作
2023-10-05
关于for循环条件的问题
2023-09-25
while循环中的++j和j++区别
2023-09-19
C++顺序表删除操作错误
2023-09-17
C++错误:表达式必须包含指向对象的指针类型,但它具有类型int
2023-09-17
C++实现顺序表随机初始化
2023-09-06
C语言平均成绩排序问题
2023-05-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人