操作系统
啊啊啊啊啊啊啊阿
hello world
展开
-
管程
管程主要是用来解决信号量,希望统一临界区,共享数据可以用。有以下四个特点:1.只允许一个进程在管程中活动;2.管程的互斥是管程自身的特性,比信号量机制更加安全,使用起来更方便;3.实现复杂;4.通过四个函数方式访问。 管程的一般结构: struct Monitor { 管程内部的变量说明; condition 条件变量列表; define 函数或方法; us原创 2016-10-09 22:34:44 · 405 阅读 · 0 评论 -
操作系统实验之进程管理
实验内容: 创建新的进程;查看运行的进程;换出某个进程;杀死运行进程以及进程之间的通信 下面是代码:#include "conio.h" #include "stdio.h" #include "stdlib.h" struct PCB { int pid; int priority; //优先级 int size; //大小 int message; //消息原创 2016-10-10 22:22:56 · 739 阅读 · 0 评论 -
小车循迹原理
DF2 为红外发射管(淡蓝色),DS2为红外接收管(黑色),DF2发射红外光经过反射后到达DS2接收端,反射信号强度不同,LM339的五脚会输出一个变化的电压量,当LM339的“+”输入端小于“-”端时,输出端输出饱和,输出低电平,通过调节RP2的值来改变门限电平值的大小来改变 检测距离。 R4正反馈: 当输入电压在门限电压就会有相应的抖动,这时候引入正反馈电路,加入R4电阻。当输出状态一旦转原创 2016-10-11 21:03:35 · 7517 阅读 · 0 评论 -
P,V操作
原语:不可中断的指令或函数 P操作:P操作是原语操作,其内部过程表示为:void P(Semaphore s) { s--; if(s < 0) { wait(s);//进程调用wait进行自我封锁,转入等待状态 } }P操作的含义是将信号量s减去1,如果这时s V操作:也是原语操作,表示为:void V(Semaphore s) {原创 2016-10-03 23:13:49 · 363 阅读 · 0 评论 -
优先读者的读者/写者问题的算法设计
首先该问题必须满足下列四个要求: 读者可以共享 写者互斥 除非有一个写者在访问共享数据集,其他情况下,读者不等待 写者执行写操作前,应该让所有读者和写者退出 对于写者来说,只要设置一个写者与写者之间、读者与写者之间共享的一个信号量w即可,w=1;对于读者,需要特殊处理,要求对读者进行计数,因为,读者对文件是共享的,对于第一个读者,需要对数据集“加锁”,防止写者对数据集进行访问,而原创 2016-10-04 22:00:35 · 1310 阅读 · 0 评论 -
操作系统实验2
#include #include struct node { int pid;//进程id号 int prio;//进程优先级 int runtime;//进程运行的时间 int alltime;//进程还需运行的时间 char state;//进程的状态 运行r,就绪j,阻塞b。 struc原创 2016-12-04 22:55:45 · 383 阅读 · 0 评论 -
操作系统课设——页面置换算法的模拟
本课设主要实现FIFO算法和LRU算法,虽然实现了功能,但是个人感觉代码可以优化,而且采用的主存块数是3,如果主存块数修改了,那么代码也需要修改,这是我课设不足之处,望大神来指教! 下面是我的代码#include #include #define PAGE_NUM 3 //主存块数 #define SERIAL_NUM 12 //访问序列的次数 int serial[SERI原创 2016-12-24 22:58:28 · 2397 阅读 · 0 评论