
OS
加油开心
你好呀
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
fork的综合应用
//总的来说分为3步 //第一步确定需要创建多少个进程 //第二步根据第一步需要的进程数开始新建进程 //第三步打印进程的 ID //第四步可选 //记住一下是针对进程,不是线程 //所以就不存在thread #include<stdio.h> #include<sys/types.h> #include<unistd.h> #include<s...原创 2019-11-19 14:00:34 · 153 阅读 · 0 评论 -
进程的创建
//输出结果不唯一 //因为fork创建进程所需的时间多出产生一个字符的时间 #include<stdio.h> int main() { int p1,p2; //调用fork创建子进程 //返回不同的数字表示创建的成功与否 if(p1 = fork()) { putchar('b'); } else { if(p2 = fork()) { putc...原创 2019-11-19 13:59:46 · 107 阅读 · 1 评论 -
进程的控制
#include<stdio.h> int main() { int p1,p2; if(p1 = fork()) { lockf(1,1,0); putchar('b'); lockf(1,1,0); } else { if(p2 = fork()) { lockf(1,1,0); putchar('c'); lockf(1,1,0)...原创 2019-11-19 13:59:19 · 210 阅读 · 0 评论 -
选择空闲区的策略
一、首次适应算法(First Fit): 该算法从空闲分区链首开始查找,直至找到一个能满足其大小要求的空闲分区为止 然后再按照作业的大小,从该分区中划出一块内存分配给请求者,余下的空闲分区仍留在空闲分区 特点: 该算法倾向于使用内存中低地址部分的空闲区,在高地址部分的空闲区很少被利用 从而保留了高地址部分的大空闲区。显然为以后到达的大作业分配大的内存空间创造了条件 缺点:低地址部分不断被划...原创 2019-10-28 23:52:11 · 794 阅读 · 0 评论 -
存储器管理
存储器:Cache 主存 磁盘 Cache:高速缓存,速度快,断电消失 内存:中等速度,断电消失 磁盘:低速,断电保存 ///////////////////////////////////////// 内存可以分为:系统区和用户区 系统区就是存放操作系统 /////////////////////////////////////// 内存扩充:扩充内存容量,将内存和外存结合起来一...原创 2019-10-28 23:43:55 · 138 阅读 · 0 评论 -
信号量
信号量(Semaphore),有时被称为信号灯,是在多线程环境下使用的一种设施是可以用来保证两个或多个关键 代码段不被并发调用。在进入一个关键代码段之前,线程必须获取一个信号量;一旦该关键代码段完成了,那 么该线程必须释放信号量。其它想进入该关键代码段的线程必须等待直到第一个线程释放信号量。 ////////////////////////////// 信号量又存在着两种操作,分别为V操作与P...原创 2019-10-13 02:01:25 · 112 阅读 · 0 评论 -
信号量习题
1.设有n个进程共享一个互斥段,对于如下两种情况使用信号量,信号量的值应该怎样变化 (1)如果每次只允许一个进程进入互斥段 (2)如果每次最多允许m个进程(m<n)同时进入互斥段 (1) 信号量的初值是1,变化量范围是1,0,-1,-2,1-n (2) 信号量的初值是m,变化量范围是m,m-1,m-2,m-n 2.桌子上有一个盘子,每次只能放一个水果,爸爸专门向里面放苹果,妈妈专门向里面...原创 2019-10-13 02:00:37 · 5052 阅读 · 0 评论