- 博客(7)
- 收藏
- 关注
转载 Linux Kernel 2.6进程调度的分析
第一章 Kernel 2.4存在的不足 根据对2.4进程调度的分析,我们总结出看出2.4内核总的特点就是: 内核调度简单有效 内核不可抢占 但是经过对2.4内核的分析,我们也明显看到了它的缺点: 1.调度算法复杂度是O(n),与系统负荷关系较大。而且调度算法在设计上也有缺陷 ,比如: (1) 2.4进程调度只设置了一个进程就绪队列,这样有的进程用完了自
2015-11-30 15:30:40 1121
原创 进程的调度
调度算法所考虑的几方面: (1)公平:保证每个进程得到合理的CPU时间。 (2)高效:使CPU保持忙碌的状态,即总有进程在CPU上运行 (3)响应时间:是交互用户的响应时间尽可能短。 (4)周转时间:使批量用户等待输出的时间尽可能短。 (5)吞吐量:使单位时间处理的进程尽可能多。 很显然,我们并不能让五个目标同时达到最好,所以,不同的操作系统会在这几个方面有所权衡。以此确定自己满意的调
2015-11-30 15:26:11 312
原创 进程状态
操作系统为了对进程进行管理,就必须对每个进程在其生命周期内涉及的所有事情进行全面的描述,而所有这些信息在内核中可以用一个结构体来描述———linux中把对进程的描述结构叫做task_struct。传统上,这样的数据结构叫做进程控制块PCB。Linux中PCB是一个庞大的结构体。(具体包含什么可上网自行查询) 在进程的整个生命周期中,系统(也就是内核)总是同过PCB对进程进行控制的,也就是说,系统
2015-11-29 15:28:11 600
原创 初识内核模块编译
1.用make编译,编译代码如下 obj-m := filename.o CURRENT_PATH := $(shell pwd) LINUX_KERNEL := $(shell uname -r) LINUX_KERNEL_PATH := /usr/src/kernels/$(LINUX_KERNEL) all: make -C $(LINUX_KERNEL_PATH)
2015-11-20 16:58:00 379 1
转载 TCP的那些事
TCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面。所以学习TCP本身是个比较痛苦的过程,但对于学习的过程却能让人有很多收获。关于TCP这个协议的细节,我还是推荐你去看W.Richard Stevens的《TCP/IP 详解 卷1:协议》(当然,你也可以去读一下RFC793以及后面N多的RFC)。另外,本文我会使用英文术语,这样方便你通过这些英文关键词来查找相
2015-11-18 19:39:56 373
原创 二叉树的递归遍历
#include #include struct TreeNode; typedef struct TreeNode *Position; typedef struct TreeNode *SearchTree; SearchTree Insert(int x, SearchTree T); struct TreeNode //结点声明 { int
2015-11-04 15:15:59 312
原创 马踏棋盘
#include #include #include #define N 24 //棋盘大小 int path[N][N]; //保存棋盘先后顺序的数组 struct seat //保存二维数组位置的结构体(坐标x,y) { int x; int y; }; struct seat
2015-11-04 15:07:24 113
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人