操作系统
文章平均质量分 63
Handsome Wong
这个人很帅,什么都没有留下
展开
-
操作系统学习笔记
进程:程序的一次执行,有唯一的PID操作系统会记录PID,进程所属用户ID,还要记录给进程分配了哪些资源,进程的运行情况等信息,这些信息都被保存在一个数据结构PCB中,即进程控制块中。pcb:是进程存在的唯一标志,当进程被创建的时候,操作系统为其创建PCB,结束时收回。进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。动态性是进程的最基本的特征进程的组织:进程控制:实现进程的状态转换进程控制的过程需要一气呵成(原语,使用开中断,关中断,为特权指令)在进程切换时现在PC原创 2022-05-09 22:14:27 · 409 阅读 · 0 评论 -
死锁复习提纲-操作系统学习
死锁死锁的基本概念产生死锁的条件互斥条件每个资源要么被分配给了1个进程,要么空闲占有及等待(部分分配)条件已经得到了资源的进程要申请新的资源不可剥夺条件已经分配给一个进程的资源不能被剥夺,只能由占有者显式释放环路等待条件存在由2个或多个进程组成的一条环路,该环路中的每个进程都在等待相邻进程占有的资源死锁的检测与恢复检测方法每种资源只有1个借助于资源分配图每种资源有多个的话何时检测每当有资源请求时周期性检测每当CPU的使用率降到某一阈值时。死锁检测会占用大量的原创 2020-12-09 18:37:36 · 74 阅读 · 0 评论 -
生产者消费者问题C++实现
生产者消费者问题C++实现2020/10/11 11:23问题设计C/C++程序(可以嵌入汇编语言),以忙等待方式实现信号量及其P、V操作。利用你实现的信号量,实现生产者-消费者问题。给出实现方法、主要源代码和测试结果。代码# include<iostream># include<thread># include<vector># include<mutex># include<condition_variable># inc原创 2020-10-11 11:25:33 · 3729 阅读 · 0 评论 -
吸烟者问题
吸烟者问题2020/10/08 20:09问题吸烟者问题。三个吸烟者在一个房间内,还有一个香烟供应者。为了制造并抽掉香烟,每个吸烟者需要三样东西:烟草、纸和火柴,供应者有丰富货物提供。三个吸烟者中,第一个有自己的烟草,第二个有自己的纸,第三个有自己的火柴。供应者随机地将两样不同的东西放在桌子上,允许一个吸烟者进行对健康不利的吸烟。当吸烟者完成吸烟后唤醒供应者,供应者再随机地把两样不同的东西放在桌子上,唤醒一个吸烟者。试用信号量的P、V操作设计该问题的同步算法,给出所用共享变量(如果需要)和原创 2020-10-08 20:10:13 · 1440 阅读 · 0 评论 -
面包师问题
面包师问题2020/10/8 16:02//伪代码semaphore mutex_c=1;//互斥区号semaphore mutex_s=1;//互斥叫号semaphore customers = 0;//顾客数semaphore salesmans = n;//销售人员数int count_c=0;//顾客取号int count_s=0;//销售人员叫号int N;//销售人员个数salesman(){ while(true) { //确定有顾客才要叫号 P原创 2020-10-08 16:08:37 · 1477 阅读 · 8 评论 -
三个进程互斥使用缓存区问题
三个进程互斥问题//伪代码semaphore F = 1;//实现对缓冲区的互斥访问int odd_num = 0;//奇数个数int even_num = 0;//偶数个数int N;//缓冲区单元数P1(){ while(1) { if(odd_num+even_num<N)//当缓冲区内有空单元 { P(F);//加锁 produce(); if (num_is_odd)//该数是奇数 { odd_num++;//奇数个数加1 }原创 2020-10-07 19:58:11 · 7774 阅读 · 6 评论 -
读者写者问题
操作系统读者写者问题2020年10月7日 hansen_wong//读者写者问题伪代码//信号量定义int count=0;//对读进程进行计数semaphore F = 1;//实现对文件的互斥访问semaphore W = 1;//实现写者优先semaphore mutex = 1;//实现对count的互斥访问writer(){ while(1) { P(W);//当有写者想要访问时加锁,防止不断出现新的读者导致一直阻塞等待 P(F);//加锁,保证文件互原创 2020-10-07 19:24:09 · 772 阅读 · 0 评论