计算机操作系统
cyiya
这个作者很懒,什么都没留下…
展开
-
银行家算法
银行家+安全性算法原创 2017-09-17 09:17:07 · 443 阅读 · 0 评论 -
进程与线程
进程是表示资源分配的基本单位,又是调度运行的基本单位。 线程是进程中执行运算的最小单位,亦即执行处理机调度的基本单位。 进程就是一个应用程序在处理机上的一次执行过程,它是一个动态的概念,而线程是进程中的一部分,进程包含多个线程在运行。 进程和线程的关系 (1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。线程是操作系统可识别的最小执行和调度单位。 ...原创 2018-04-08 21:06:55 · 227 阅读 · 0 评论 -
模拟进程队列管理——按照优先级入列
void rank_out(node *head)/*模拟按优先数大小进程分级出队的过程*/{ int count=1; node *p; p=head; while(p) { printf("\n第%d个出队进程为:%d\n\n",count,p->priority); printf("key=%d,priority=%d,message=%s\n",p->key,p->priority,原创 2017-09-11 22:01:58 · 758 阅读 · 0 评论 -
模拟进程队列管理——按照优先级出列
typedef struct table{ int key;/*进程ID号*/ int priority;/*优先数值*/ char message[10];/*进程说明信息*/ struct table *next;}原创 2017-09-11 21:58:11 · 976 阅读 · 0 评论 -
模拟进程队列管理——进程入队
1.动态地输入进程队列,如1,3,4,2 2.入队进程x(若有x,则提示已存在) 3.进程入队(放置在队列尾巴):1,3,4,2,x原创 2017-09-11 21:45:17 · 1879 阅读 · 0 评论 -
模拟进程管理——进程出队
1.动态地输入进程队列,如1,3,4,2 2.出队方式 3.队首进程出队 4.队中进程出队(选定进程) 5.队尾进程出队 6.根据进程id选择一个进程出列(若不存在该进程,则提示不存在)原创 2017-09-11 21:49:52 · 1027 阅读 · 1 评论 -
操作系统——模拟时间片轮转调度算法
按照时间片轮转调度进程| 动态地输入进程(key,run_time,message),按照输入次序建立就绪队列l 输入CPU运行的单位时间片(cpu_base_time)l 按照时间片轮转方式模拟进程逐个被调度并执行单位时间片(运行结束进程结束,否则修改进程运行时间run_time,将该进程放置在就绪队列尾巴)。 (1)假设系统有5个进程,每个进程用一个进程控制块PCB来代表,PCB的格式如右图所原创 2017-09-11 14:48:43 · 5333 阅读 · 0 评论 -
操作系统——模拟内存回收算法
#include <malloc.h> #include <stdio.h> #include <string.h> #define NULL 0 typedef struct table { int address; /*存储分区起始地址*/ int length; /*存储分区长度*/ int flag; /*存储分区标原创 2017-09-10 21:15:16 · 1164 阅读 · 0 评论 -
FIFO页面置换算法
算法思想:a[0]始终存放最先进入内存的页面。 页面置换过程:①每次置换出a[0] 页面; ②将之后的页面a[1…M-1]全部前移一位; ③将新页面插入到a[M-1]位置。*/ bool found(int x,int a[M]) /* 以下函数判断第i 个页面是否在内存#define M 3 /*M 为系统分配给作业的主存页面数*/原创 2017-09-17 09:41:27 · 1627 阅读 · 1 评论 -
模拟最短寻道时间优先SSTF算法
选择这样的进程,其要求访问的磁道与当前磁头所在的磁道距离最近,以使每次的寻道时间最短#include <malloc.h> #include<stdio.h> #include<math.h> #include <limits.h> typedef struct track{ int column; struct track *next; }node; int loc原创 2017-09-17 09:39:25 · 2052 阅读 · 0 评论 -
LRU最近最久未使用页面置换算法
置换策略:选择最近最久未使用的页面予以淘汰,系统在每个页面设置一个访问字段, 用以记录这个页面自上次被访问以来所经历的时间T,当要淘汰一个页面时,选择T最大的页面。算法思想:a[0]始终存放最近最久未使用的页面,a[M-1]存放最近刚被使用的页面。(1)当待访问页面 b[i]在内存数组 a 中下标 k 时,处理过程: ①将页面 a[k+1]…a[M-1]全部前移一位; ②将页面 b[i]放置在原创 2017-09-17 09:32:46 · 2804 阅读 · 0 评论 -
SCAN扫描算法
该算法不仅考虑到欲访问的磁道与当前磁道的距离,更优先考虑的是磁道的当前移动方向原创 2017-09-17 09:36:19 · 9812 阅读 · 1 评论 -
最佳适应(BestFit)算法
基本思想:BF的空闲分区表(或空闲分区链)按空闲分区大小的升序方式组织。分配时,按空闲分区表(或空闲分区链)的先后次序,从头查找,找到符合要求的第一个分区。就说明它是最适合的。大的空闲分区可以被保留下来原创 2017-09-17 09:28:22 · 17177 阅读 · 0 评论 -
首次适应(FirstFit)算法(空闲区地址递增)
基本思想:要求空闲区按地址递增的次序排列。当进行内存分配时,从空闲区表头开始顺序查找,直到找到第一个能滿足其大小要求的空闲区为止。分一块给请求者,余下部分仍留在空闲区中。原创 2017-09-17 09:23:15 · 10609 阅读 · 0 评论 -
操作系统知识点总结
进程与线程的区别1.进程是系统进行资源分配的基本单位,有独立的内存地址空间;线程是CPU调度的基本单位,没有单独的地址空间,有独立的栈,局部变量,寄存器,程序计数器等。2.创建进程开销大,包括创建虚拟地址空间等需要大量系统资源;创建线程开销小,基本上只有一个内核对象和一个堆栈。3.一个进程无法直接访问另一个进程的资源;同一个进程内的多个线程共享进程的资源。4.进程切换开销大(涉...原创 2018-06-19 21:36:51 · 242 阅读 · 0 评论