操作系统基础
文章平均质量分 77
无
佬酒
较劲
展开
-
“锁”(操作系统)
前言系统中只有一台扫描仪R1和一台刻录机R2。有两个进程P1和P2,它们都准备将扫描的文档刻录到CD光盘上,进程P先请求扫描仪R1并获得成功,进程P2先请求CD刻录机R2也获得成功。后来P又请求CD刻录机,因它已被分配给了P2 而阻塞。P2 又请求扫描仪,也因被分配给了P2 而阻塞,此时两个进程都被阻塞,双方都希望对方能释放出自己所需要的资源,但它们谁都因不能获得自己所需的资源去继续运行,从而无法释放出自己占有的资源,并且一直处于这样的僵持状态而形成死锁。又如,哲学家进餐问题中,如果每一个哲学家因饥饿都原创 2022-04-22 00:25:42 · 1715 阅读 · 2 评论 -
使用C++实现银行家算法避免进程死锁
*最近事比较多 直接按书上来 **原创 2021-12-27 11:29:07 · 1460 阅读 · 0 评论 -
操作系统四种进程调度算法C/c++语言(先来先服务(FCFS)短作业优先算法(SJF)优先级调度算法(PSA)时间片轮转算法(RR))
四种算法介绍1. 先来先服务算法(FCFS)FCFS是最简单的调度算法,该算法既可用于作业调度,也可用于进程调度。当在作业调度中采用该算法时,系统将按照作业到达的先后次序来进行调度,或者说它是优先考虑在系统中等待时间最长的作业,而不管该作业所需执行时间的长短,从后备作业队列中选择几个最先进入该队列的作业,将它们调入内存,为它们分配资源和创建进程。然后把它放入就绪队列。当在进程调度中采用FCFS算法时,每次调度是从就绪的进程队列中选择一个最先进入该队列的进程,为之分配处理机,使之投入运行。该进程一直运行到原创 2021-11-20 23:01:36 · 14709 阅读 · 5 评论 -
操作系统动态分区分配方式C/C++语言(首次适应算法(FF)循环首次适应算法(NF)最best适应算法(BF)最坏适应算法(WF))
算法介绍一、动态分区分配算法为把一个新作业装入内存,须按照一定的分配算法, 从空闲分区表或空闲分区链中出一分区分配给该作业。由于内存分配算法对系统性能有很大的影响,故人们对它进行了较为广泛而深入的研究,于是产生了许多动态分区分配算法。传统的四种分配算法,它们都属于顺序式搜索算法。二、分区分配操作在动态分区存储管理方式中,主要的操作是分配内存和回收内存。1)分配内存系统应利用某种分配算法,从空闲分区链(表)中找到所需大小的分区。设请求的分区大小为u.size,表中每个空闲分区的大小可表示为m.si原创 2021-12-06 18:03:28 · 17922 阅读 · 12 评论