linux
文章平均质量分 51
xyz-x
学无止境
展开
-
操作系统中常用到的进程调度算法
一、先来先服务最简单的调度算法是先来先服务(FCFS),也称为先进先出(First-In-First-Out,FIFO)或严格排队方案。当每个进程就绪后,它加入就绪队列。当前正在运行的进程停止执行时,选择在就绪队列中存在时间最长的进程运行。二、轮转法这是一种基于时钟的抢占策略,以一个周期性间隔产生时钟中断,当中断发生时,当前正在运行的进程被置于就绪队列中,然后基于FCFS策略选择下一个原创 2016-06-05 21:46:10 · 3119 阅读 · 0 评论 -
没有被调用的函数其代码为什么会被执行?
现象首先我们运行下面一段代码:从以上程序中我们可以知道,main函数调用函数fun1,函数fun1和main函数都没有调用函数fun,因此,我们认为函数fun中的"fun is run.."和 "you are done.."都不会被打印。且main函数中的打印语句“begin run..”和“main: you should run here”都应该被打印让我们来原创 2016-06-10 19:48:08 · 6381 阅读 · 1 评论 -
task_struct结构体(PCB)描述
task_struct结构描述在linux 中每一个进程都由task_struct 数据结构来定义. task_struct就是我们通常所说的PCB.她是对进程控制的唯一手段也是最有效的手段. 当我们调用fork() 时, 系统会为我们产生一个task_struct结构。然后从父进程,那里继承一些数据, 并把新的进程插入到进程树中, 以待进行进程管理。因此了解task_struct的结构对于我转载 2016-06-05 22:16:05 · 1870 阅读 · 0 评论 -
子进程的个数
分析这段代码:分析fork() n次子进程的个数为?如下图可知,子进程的个数为2^n - 1如下图:fork()产生进程的过程就像一颗二叉树,一棵树中只有一个父进程,其他都是子进程原创 2016-07-29 23:36:05 · 978 阅读 · 0 评论