大家好,又见面了,我是你们的朋友全栈君。...银行家算法需求:
一个程序对资源的最大需求量不超过系统的最大资源
程序可以分多次申请资源,但是申请资源的总量不能超过最大需求量
当系统现有资源不能满足程序的需求时,可以推迟分配资源,但是总能满足程序对资源的需求...当程序获得了全部的资源后,要在有限的时间内归还资源
系统的安全/不安全状态:
在程序申请资源时,当系统的拥有的资源不能满足程序剩余所需的全部资源时,则处于不安全状态
C代码实现:
头文件的导入和预定义..., char ** argv)
{
if(argc < 2)
{
perror("parameter error");
exit(1);
}
//使用mmap的文件映射来实现父进程和子进程的共享内存...,本来还希望实现打印进程资源需求表,但是似乎需要再创建一个共享内存进行链表操作,比较懒就没有实现
在打印过程中是否存在一个进程还未打印结束出现另一个进程抢占打印造成两个进程的输出内容错乱的风险?