深入理解Linux内核-进程调度
2015-07-29 09:10
609 查看
1、什么时候进行进程切换
进程地址空间:
调度策略目标:1、进程响应尽量快;2、后台作业吞吐量尽量高;3、尽可能避免进程饥饿;4、低优先级和高优先级进程需要尽量调和。 调度策略:决定什么时候选择什么进程运行的规则。基于分时技术。调度程序跟踪进程,动态调整优先级 进程分三类:1、交互进程;2、批处理进程;3、实时进程; 抢占无需等待当前进程的时间片片结束 时间片:应该大于进程切换花费的时间,越大,CPU利用率越高。但是太大又会导致进程看起来不是并发的。 进程动态优先级:进程的动态优先级,是在静态优先级的基础上,根据它的平均睡眠时间,调整它的优先级,睡眠时间长,提高它的优先级;反之,降低优先级 公式 动态优先级 = max(100, min(静态优先级 - bonus +5, 139) 其中bonus 与平均睡眠时间成正比,范围是0~10。 活动进程:没有用完时间片的进程,运行运行 过期进程:用完了时间片的进程,被禁止运行,直到所有的活动进程都过期 另外:活动的批处理进程总是会变为过期进程,活动的交互进程通常仍然是活动进程,它会被调度程序重新填充时间片。 实时进程:与实时优先级相关(1~99),实时进程总是活动进程 两种创建新进程的方式:1、fork:创建当前进程的副本;2、exec:将新进程加载到当前进程的内存中执行。 内核支持的程序执行形式: 1、Unix进程,也叫做重量级进程;本质上进程可以由N个线程组成,这些线程共享数据和资源。 2、线程,也叫做轻量级进程 命名空间: 1、包含N个PID的集合
进程地址空间:
1、每个进程使用独立的虚拟地址空间 2、虚拟地址空间都是一样都大小,不考虑可用物理内存的大小 3、使用页表为物理地址分配虚拟地址 4、两个进程的虚拟地址页可以映射到同一个物理地址页帧,即共享内存 页:虚拟地址空间中的页 页帧:物理内存页 页表:将虚拟地址空间映射到物理地址空间的数据结构。
相关文章推荐
- 创建目录、删除、拷贝命令使用方法
- CentOS 6.3下Samba服务器的安装与配置
- linux定时任务的设置crontab
- linux kenrel 基本组成部分——中断(一)
- Linux提示no crontab for root的解决办法
- 如何申请linux kernel 的maillist
- centos/redhat中文支持安装
- Ubuntu 15.04 编译UE4 for Linux版
- Discuz!安装之Linux
- CentOS 7 下使用 Firewall
- linux查看和关闭后台执行程序
- linux下解压iso文件
- linux下解压iso文件
- 如何通过Linux命令行使用和运行PHP脚本
- Linux install Mysql server
- 把握linux内核设计思想(五):下半部机制之工作队列及几种机制的选择
- 使用 Xmanager 远程连接到 CentOS 7
- linux中没有dos2UNIX或者UNIX2dos命令怎么解决办法
- 把握linux内核设计思想(四):下半部机制之tasklet
- 难道Linux入门很难吗?