Linux C 的进程调度
来源:互联网 发布:买淘宝号一个多少钱 编辑:程序博客网 时间:2024/05/29 08:43
进程调度
概念:按一定的算法,从一组待运行的进程中选出一个来占用CPU的运行。
调度方法: 抢占式 、 非抢占式
调度算法:1)先来先服务 2)短进程优先 3)高优先级优先 4)时间片轮转法
死键:多个进程因竞争资源而形成一种僵局,若无外力作用,这些进程将永远不能向前推进。
获取ID的头文件:#include <sys/types.h> 、<unistd.h>
pid_t.getpid(void) 获取本进程ID
pid_t. getppid(void) 获取父进程ID
进程的创建: 创建子进程 pid_t fork(void)
一次调用,返回两个进程,可能有三种返回值;
1)返回 失败 < 0
2)父进程 返回子进程ID
3)子 返回0
init---------始祖进程:所有进程的源头
fork与vfork的区别:
1)fork:子进程拷贝父进程的数据段或资源(一模一样), 调用的头文件 <unistd.h>
vfork:子进程与父进程共享数据段
2)fork:父、子进程的执行顺序不确定
vfork:子进程先运行,父进程后运行
exce函数族: #include <unistd.h>
1 int execl(const char *path, const char *arg1,..............)
参数: path:被执行程序名(包含完整的路径)
arg1......argn:被执行的程序所需的命令行参数,含程序名,以空指针(NULL)结束
2 int main(int argc, char **argv) .......命令行参数 sleep( );
exec用被执行的程序替换调用它的程序
区别:
fork:创建一个新的进程,产生一个新的PID
exec启动一个新的程序,替换原有的进程,因此进程的PID不会发生改变 ............俗称 借尸还魂
进程的等待: #include <sys/types.h> #include <sys/wait.h>
pid_t wait(int status)
功能: 阻塞该进程,直到其某个子进程退出。
- Linux C 的进程调度
- Linux C 的进程调度
- linux的进程调度
- linux 的进程调度原理
- linux的进程调度原理
- Linux的进程和进程调度
- Linux进程调度(1):CFS调度器的设计框架
- Linux进程调度(1):CFS调度器的设计框架
- Arm-linux的进程调度(1)
- Arm-linux的进程调度(2)
- 我画的Linux进程调度图
- 关于linux进程调度的公平性
- Linux内核2.6的进程调度
- Linux Kernel 2.6进程调度的分析
- Linux内核2.6的进程调度
- 基于Linux的进程调度模拟程序
- Linux中实时进程的调度
- Linux Kernel 2.6进程调度的分析
- 选择排序算法
- 使用mvc模型实现简易新闻客户端功能(本地)
- MUI框架 栅格化系统
- noip2013 火柴排队 线段树
- VIM插件: DELIMITMATE[符号自动补全]
- Linux C 的进程调度
- 预定义超全局数组$_POST
- python 入门学习之 python 入门指令
- CentOS yum安装mysql&&jdk&&tomcat
- 牛客网刷题之从上往下打印二叉树
- zabbix 监控zookeeper
- ubuntu 安装crossover
- 读深入理解Linux内核 (第8章 内存管理, 第一部分 --- 页的管理)
- 表达式语法分析——递归子程序法