linux 源码学习计划
准备条件:必要的内核;必要的文档;必要的机器(虚拟机也可)。
第一周:
1.linux和unix相比有哪些特点?
2.内核编程和用户空间编程相比有哪些不同之处?
3.自己编译一下内核,你编译成功了么?如果不成功,有什么问题?使用你新编译的内核, 能顺利启动么?有什么问题?
4.linux内核源代码树中你能找到sg设备驱动是在那个文件中实现的么?sg是什么含意?
5.清楚地了解一下内核中源代码树的结构。
第二周:
主要是lkd中文版第一版第二章(英文第二版版第三章)的内容,比较重要。
1.和进程管理相关的内核文件都有哪些?找出来大致浏览一下.
2.什么是进程和线程?在Linux中有什么独特的地方?
3.什么是进程描述符?怎样得到当前进程的进程描述符?进程的内核栈有多大?
4.进程的状态都有哪些?在什么情况下发生转化?
5.Linux中所有进程之间的关系是怎么样的?
6.用户线程和内核线程的区别和联系?
7.Linux是怎样创建进程和线程的?
8.Linux怎样终结进程?
9.对照相应的内核源代码文件,分析一下问题3、5、6、7。
第三周
1.进程调度最基本的原理是什么?
2.列举出几个I/O消耗性和处理器消耗型的进程。
3.Linux都采用了哪些调度的算法?详细解释一下这些算法。
4.进程什么时间进入运行态?什么时间进入休眠(阻塞)状态?
5.了解进程抢占的算法;
6.讨论一下Linux进程调度的实时性怎么样,还有哪些需要提高的地方?
7.自己查找进程调度的相关文件,分析为题3-6。
第四周
1、什么是系统调用?
2、为什么需要系统调用?
3、实现系统调用相关的代码
相关文档:
假如有以下的路由表:
10.101.184.32 * 255.255.255.224 U 0 0 0 eth0
10.101.186.0&nb ......
linux下的文件结构,看看每个文件夹都是干吗用的
/bin 二进制可执行命令
/dev 设备特殊文件
/etc 系统管理和配置文件
/etc/rc.d 启动的配置文件和脚本
/home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示
/lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件
/ ......
环境说明
呼叫中心服务器
系统:Centos5
IP:192.168.1.146
http网站跟目录/var/www/html/
我的电脑
系统:windows XP
IP: 192.168.4.98
共享目录:D:\bgcrm (一个php的网站)
bgcrm的网站 ......
1. 去http://java.sun.com/j2se/1.4.2/download.html 下载一个Linux Platform的JDK,建议下载RPM自解压格式的(RPM in self-extracting file,j2sdk-1_4_2_06-linux-i586-rpm.bin);
2. 上载到Linux服务器上,在shell下执行命令:
[root@LinuxServer rpm]# chmod 755 j2s ......
/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置.
/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时, ......