自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(21)
  • 收藏
  • 关注

转载 df

struct super_block { struct list_head s_list; /* 指向超级块链表的指针 */ dev_t s_dev; /* 设备标识符 */ unsigned char

2011-10-13 10:50:38 705

原创 进程地址空间(笔记)

当给用户态进程分配内存时:进程对动态内存的请求被认为是不紧迫的。因此,一般来说,内核总是尽量推迟给用户态进程分配动态内存。由于用户进程是不可信任的,因此,内核必须能随时准备捕获用户态进程引起的所有寻址错误。当用户态进程请求动态内存时,并没有获得请求的页框,而仅仅获得对

2011-09-05 20:39:40 366

原创 扩展一个数字的位表示

intfunc1(unsigned word){ return (int)((word > 24);}intfunc2(unsigned word){ return ((int)word > 24;}wfunc1(w)f

2011-08-30 15:17:42 773

原创 进程调度(笔记)

调度策略决定什么时候以怎么样的方式选择一个新的进程运行的这组规则就是所谓的进程调度。linux调度基于分时(time sharing)技术,多个进程以“时间多路复用”方式运行。CPU的时间被分成片,给每个可运行进程分配一片。分时依赖于定时中断。li

2011-08-23 14:30:31 517

原创 定时测量(笔记)

linux内核必须完成两种主要的定时测量:保存当前的时间和日期,以便能通过time, ftime和gettimeofday系统调用把他们返回给用户程序维持定时器,告诉内核或用户程序,某一时间间隔已经过去了。定时测量是由基于固定频率振荡器和计数器的几个硬件电路完成的。

2011-08-21 15:32:16 1382

原创 内核同步(笔记)

内核如何为不同的请求提供服务内核看作是必须满足两种不同请求的侍者:一种来自顾客,一种来自数量有限的老板,策略如下:老板提出请求时,如果侍者空闲,则侍者开始为老板服务如果老板提出请求时侍者正为顾客服务,那么侍者停止为老板服务,开始为老板服务如果一个老板提出请

2011-08-17 10:09:57 588

原创 cscope使用

在一个目录下创建cscope.out添加到$CSCOPE_DB.vimrc中判断如果有$CSCOPE_DB则添加cscope add $CSCOPE_DB

2011-08-16 16:28:39 247

原创 第6章 结构(笔记)

结构是一个或多个变量的集合。ANSI标准在结构方面最主要的变化是定义了结构的赋值操作---结构可以拷贝、赋值、传递给函数,函数也可以返回结构类型的返回值。6.1 结构的基本知识struct后面的名字是可选的,称为结构标记,结构标记用于结构命名。

2011-08-16 16:27:39 233

原创 第5章 指针和数组(笔记)

指针和数组之间的关系十分密切。ANSI C使用类型void *(指向void指针)代替char *作为通用指针的类型。5.1 指针与地址地址运算符&只能用于内存中的对象,即变量与数组元素。不能作用于表达式、常量或register类型的变量。一元运算符*是间

2011-08-16 16:27:11 304

原创 第4章 函数与程序结构(笔记)

c语言在设计中考虑函数的高效性与易用性。一个程序可以保存在一个或多个源文件中,各个文件可以单独编译,并可以和库中已编译过的函数一起加载。ANSI标准对C语言所做的最明显的修改是函数声明与函数定义两方面 。4.1 函数的基本知识如果函数定义中省略了返

2011-08-16 16:26:06 237

原创 第3章控制流(笔记)

3.1语句与程序块在C语言中,;分号是语句结束符,用一对花括号{ }把一组声明和语句构成复合语句(也叫程序块),右花括号用于结束程序块,其后不需要分号。3.2 if-else语句else是可选的。if语句只是简单测试表达式一般用if

2011-08-16 16:25:21 211

原创 第2章 类型、运算符与表达式(笔记)

浮点运算可以单精度进行,还可以高精度long double进行。字符串常量可以在编译时连接。Const常量类型,值不能修改。变量名第一个字符必须是字母,下划线“_”被看做是字母,库例程的名字通常以下划线开头,因此变量名不要以下划线开头。变量名使用小

2011-08-16 16:24:34 300

原创 第1章 导言(笔记)

1.1入门编写程序,编译,加载,运行,输出。一个c语言程序,无论其大小如何,都是由函数和变量组成的。每个程序都必须在某个位置包含一个main函数。函数之间进行数据交换的一种方法是调用函数向被调用函数提供一个值(成为参数)列表,用双引号括起来

2011-08-16 16:23:54 255

转载 could not find filesystem '/dev/root'

A:是由于无法加载磁盘硬件的模块驱动。解决方式主要是通过make menuconfig中加载sata sici的devices设备模块驱动。常用的驱动模块如下:insmod /lib/uhci-hcd.ko insmod /libohci-hcd.ko insmo

2011-08-15 17:31:51 1591

转载 NFS

NFS server可以看作是一个FILE SERVER,它可以让你的PC通过网络将远端得NFS SERVER共享出来的档案MOUNT到自己的系统中,在CLIENT看来使用NFS的远端文件就象是在使用本地文件一样。NFS协议从诞生到现在为止,已经有多个版本,如NFS V2

2011-08-15 17:30:04 325

原创 git使用

git log -p -1git mv from to直接把文件换掉git commit -a不用自己手动更新在库中暂存的文件git log --pretty="oneline/short/full/fuller"git log --pretty=format:"

2011-08-15 17:29:09 261

转载 状态和控制寄存器

状态和控制寄存器是由标志寄存器EFLAGS、指令指针EIP和4个控制寄存器组成。1.指令指针寄存器和标志寄存器指令指针寄存器EIP中存放下一条将要执行指令的偏移量(offset ),这个偏移量是相对于目前正在运行的代码段寄存器CS而言的。偏移量加上当前代码段的

2011-08-15 11:26:27 4839

原创 中断和异常(笔记

中断通常被定义为一个事件,该事件改变处理器执行的指令顺序。中断通常分为同步中断和异步中断:同步中断时当指令执行时由CPU控制单元产生的,只有在一条指令终止执行后CPU才会发生中断。(称为异常)异步中断时由其他硬件设备依照CPU始终信号随机产生的。(称为中断)中断时

2011-08-14 15:50:52 2193

原创 linux内核提取的链表操作函数

#include #include struct list_head { struct list_head *next, *prev;};struct node{ int value; char name[10]; struct list_head list

2011-08-12 11:45:41 400

原创 进程(笔记)

进程、轻量级进程和线程进程是程序执行的一个实例。从内核观点看,进程的目的就是担当分配系统资源的实体。尽管父子进程共享含有程序代码的页,但是各自有自有独立的数据拷贝,所以子进程对一个内存单元的修改对父进程是不可见的。linux使用轻量级进程LWP对多线程应用程序提供更好

2011-08-12 09:48:39 444

原创 一 内存寻址(笔记)

当使用80x86微处理器时,必须区分三种不同的地址:逻辑地址(logical address)指定一个操作数或一条指令的地址。每个逻辑地址,都由一个段和偏移量组成,偏移量指明了段开始的地方到实际地址之间的距离。线性地址(linear addres)也称为虚

2011-08-11 16:29:28 438

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除