易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux 内核编程学习


Linux 
内核编程学习
常常有人问:我想学习内核,需要什么基础吗?Linus Torvalds
本人是这样回答的:你必须使用过
Linux
。 这个
……
还是有点太泛了吧,我想下面几个基础可能还是需要的,尽管不一定必需:
1, 关于操作系统理论的最初级的知识。不需要通读并理解《操作系统概念》《现代操作系统》等巨著,但总要知道分时(
time-shared
)和实时(
real-time
)的区别是什么,进程是个什么东西,
CPU
和系统总线、内存的关系(很粗略即可),等等。
2, 关于
C
语言。不需要已经很精通
C
语言,只要能熟练编写
C
程序,能看懂链表、散列表等数据结构的
C
实现,用过
gcc
编译器,就可以了。当然,如果已经精通
C
语言显然是大占便宜的。
3, 关于
CPU
的知识。这块儿可以在学习内核过程中补,但这样的话你就需要看讲解很详细的书,比方后面将会提到的《情景分析》。你是否熟悉
Intel 80386 CPU
?尝试着回答这几个问题来判断一下:
1
)说出
80386
的中断门和陷阱门的区别;
2
)说出保护模式与实模式的区别;
3
)多处理器机器上,普通的读


-
写回一块内存这样的动作,为什么需要特殊的手段来保护。等等。讲解基于其它
CPU

Linux
内核的书,目前好象只有一本
《IA-64 Linux 
内核设计与实现》

─也还是
Intel
的,其它都是讲解基于
IA32
的。
以上算是知识方面吧,如果还要再补充一条,我想就是:动手编译过内核。
好了,我们接下来走。好多人装上Linux
之后,第一件事找到内核源码所在的路径,打开一个
C
程序文件,开始哗哗哗翻页,看看大名鼎鼎的
Linux
内核代 码到底长啥模样
──
然后关闭。这是可理解的,但却不是学习的方法。刚开始,必须从读书入手。至少要对内核有一个
Overview
之后,才有可能带着问题去 试图阅读源代码本身。下面就讲一下我读过的几本书:
1, 《
Linux
内核设计与实现》,英文名
Linux Kernel Development
(所以有人叫它
LKD
),机械工业出版社,¥
35, 
美国
Robert Love
著,陈莉君译者。 评说:
此书是当今首屈一指的入门最佳图书。作者是为2.6
内核加入了抢占的人,对调度部分非常精通,而调度是整个系统的核心,因此本书是很权威的。这本书讲解浅 显易懂,全书没有列举一条汇编语句,但是给出


相关文档:

linux下的umask( )函数、setsid( )函数

       umask()函数:此函数的主要作用是在创建文件时设置或者屏蔽掉文件的一些权限。一般与open()函数配合使用。open函数原型:
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
int open( const char * pathname, int flags);
int open( const char ......

linux 基本命令

使用TAB键
用鼠标拷贝和粘贴提高操作速度     左键拖动---拷贝    中键点击---粘贴
1、mkdir 建立新目录名    加“." 在目录名前为隐藏目录(ls -a可查看)
     rm -rf 目录名   删除目录及子目录  rm -- -ee删除-ee文件  或者 rm "文件名"

2、m ......

linux在线安装gcc


Fedora 8.0(linux)用RPM安装gcc
前一阵装了一个Fedora 8.0,居然将gcc选项没选,现在想在Linux环境下调试c程序,只有再安装gcc编译器。在Fedora 8.0安装的源文件中,找到Package文件夹,里面安装gcc编译器的文件,Fedora 8.0的gcc 是version 4.12 (20070925)。
安装顺序:
(1)rpm  -ivh  kernheaders-2.6 ......

发布文件到linux的apache服务器

发布文件到linux的apache服务器:
1. 添加映射到httpd文件
(1)打开httpd.conf文件
 vi /etc/httpd/conf/httpd.conf
(2)添加以下内容到httpd.conf文件
Alias /shop/ "/usr/local/tomcat-6.0.16/webapps/ShoppingSearch/images/"
<Directory "/usr/local/tomcat-6.0.16/webapps/ShoppingSea ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号