一、调度策略
传统上把进程分类为“I/O受限”或“CPU受限”,另一种分类法为:交互式进程、批处理进程、实时进程。
二、调度算法
1、普通进程的调度
内核使用从100(最高优先级)到139(最低优先级)的数表示普通进程的静态优先级。
(1)基本时间片
2)动态优先级和平均睡眠时间
bonus是范围从0~10的值,值小于5表示降低动态优先级以示...
分类:
系统相关 时间:
2015-05-11 10:58:36
阅读次数:
236
钱自强 +原创作品转载请注明出处+《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 1. 作业目录 这里从第二周才开始追课程,所以缺少第一周的 第二周 内核进程调度 第三周 内核调试 第四周 利用嵌入式汇编调...
分类:
系统相关 时间:
2015-05-04 23:29:21
阅读次数:
167
陈铁+原创作品转载请注明出处+《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000对于现代操作系统,多任务是必备的,在linux系统下,进程会不断的被内核调度,从X进程切换为Y进程,以实现用户所见到的多任务状态,下面我们就看一看这样的过程,分析..
分类:
系统相关 时间:
2015-04-22 02:09:44
阅读次数:
241
引言:
在Linux的内核的五大组成模块中,进程管理模块时非常重要的一部分,它虽然不像内存管理、虚拟文件系统等模块那样复杂,也不像进程间通信模块那样条理化,但作为五大内核模块之一,进程管理对我们理解内核的运作、对于我们以后的编程非常重要。同时,作为五大组成模块中的核心模块,它与其他四个模块都有联系。下面就对进程模块进行想写的介绍,首先要了解进程及其相关的概念。其次介...
分类:
系统相关 时间:
2015-04-21 13:04:30
阅读次数:
153
http://blog.csdn.net/yusiguyuan/article/details/12154823在《linux内核设计与实现》中第三章讲解了进程管理,在关于进程和线程的概念之间的区别还是由点模糊。书中说道: 进程就是处于执行期的程序。但进程并不仅仅局限于一段可执行程序代码。通常进程还...
分类:
编程语言 时间:
2015-04-13 01:38:12
阅读次数:
189
1.task_struct数据结构分析 对于linux而言,每个进程都有一个进程控制PCB(process control block)来保存每个进程的相关信息。其中task_struct则是PCB的具体的数据结构通过内核代码可以发现,内核当中定义一个task_struct的结构体用来保存进程的相....
分类:
系统相关 时间:
2015-04-12 17:26:39
阅读次数:
197
作者:吴乐 山东师范大学《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000一、实验过程1.打开gdb,设置断点2.跟踪到do_fork处3.跟踪到copy_process断点处。4.跟踪到ret_from_fork子进程...
分类:
系统相关 时间:
2015-04-08 23:06:50
阅读次数:
365
操作系统为了实现支持多任务处理的需要,一般都会支持多进程的机制,所以进程的的切换是内核当中一个非常重要的功能模块,其它几个功能模块主要有处理器管理内存管理磁盘管理输入输出管理进程管理本次实验主要是模拟了内核中的进程切换机制,以便加深对内核进程切换的理解。其中本次实验主要涉及以下三个代码文件。mypc...
分类:
系统相关 时间:
2015-03-15 18:18:27
阅读次数:
183
理解进程控制的原理对于理解和修改fio project非常的重要。"fio is an I/O tool meant to be used both for benchmark and stress/hardware verification."...
分类:
编程语言 时间:
2015-03-08 23:07:46
阅读次数:
484
linux3.5内核中为所有进程(包括内核进程和用户进程)分配8k或4k的内核栈(可以在内核编译的时候选择),在模块代码中分配的栈内存就是在内核栈中,写模块代码如果要在堆中分配内存,则要使用kmalloc或vmalloc来分配,这是后话。 内核栈的栈底存放这thread_info, 通过获取...
分类:
系统相关 时间:
2015-01-12 20:58:48
阅读次数:
205