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

linux 内核构成

      和其他操作系统一样,Linux包含进程调度与进程间通信(IPC)、内存管理(MMU)、虚拟文件系统(VFS)、网络接口等,下图给出了Linux的组成及其关系:
Linux内核源代码包括多个目录:
  (1)arch:包括硬件特定的内核代码,如arm、mips、i386等;
  (2)drivers:包含硬件驱动代码,如char、cdrom、scsi、mtd等;
  (3)include:通用头文件及针对不同平台特定的头文件,如asm-i386、asm-arm等;
  (4)init:内核初始化代码;
  (5)ipc:进程间通信代码;
  (6)kernel:内核核心代码;
  (7)mm:内存管理代码;
  (8)net:与网络协议栈相关的代码,如ipv4、ipv6、ethernet等;
  (9)fs:文件系统相关代码,如nfs、vfat等;
  (10)lib:库文件,与平台无关的strlen、strcpy等,如在string.c中包含:
char * strcpy(char * dest,const char *src)
{
    char *tmp = dest;
  
    while ((*dest++ = *src++) != '')
       /* nothing */;
    return tmp;
}
       (11)Documentation:文档。
   在Linux内核的实现中,有一些数据结构使用非常频繁,对研读内核的人来说至为关键,它们是:
   1.task_struct
    Linux内核利用task_struct数据结构代表一个进程,用task_struct指针形成一个task数组。当建立新进程的时候,Linux为新的进程分配一个task_struct结构,然后将指针保存在task数组中。调度程序维护current指针,它指向当前正在运行的进程。
    2.mm_struct
    每个进程的虚拟内存由mm_struct结构代表。该结构中包含了一组指向vm-area_struct结构的指针,vm-area_struct结构描述了虚拟内存的一个区域。


相关文档:

linux ulimit 问题

       最近在维护论坛,论坛的构建是linux  nginx+php5.3+mysql5.1。最近一段时间老是出现问题,刚开始由于php版本以及设置的问题还有以前老版本留下的问题,使得论坛老被挂马,找了一个星期的问题,各处都补漏了一下的!php也升级了一下!
       ......

Linux from Scratch

1. Download all packet and patchs    Done
2. To be involved in the mail list
3. Check Host Requirements                    Done
还学习了 cut 显示某行的指定field ,head 显示前几行,readlin ......

完全用 GNU/Linux 工作


[精华] 完全用 GNU/Linux 工作
http://www.chinaunix.net 作者:enfuzion  发表于:2005-12-08 16:05:56
【发表评论】【查看原文】【Linux讨论区】【关闭】
转自http://www.chinaunix.net/jh/4/16102.html
完全用 GNU/Linux 工作
— 摈弃 Windows 低效率的工作方式,发掘&n ......

Linux设备模型

看LDD3中设备模型一章,觉得思维有些混乱。这里从整体的角度来理理思路。
本文从四个方面来总结一些内容:
1.底层数据结构:kobject,kset.
2.linux设备模型层次关系:bus_type,device,device_driver.
3.集成:PCI设备驱动模型实例及设备,设备驱动注册源码的简单分析.
4.面向对象的思想在linux设备模型中的应用分析.
......

mknod利用udev、sys动态创建linux设备结点(转载)


在Linux 2.6内核中,devfs被认为是过时的方法,并最终被抛弃,udev取代了它。Devfs的一个很重要的特点就是可以动态创建设备结点。那我们现在如何通过udev和sys文件系统动态创建设备结点呢?
用udev在/dev/下动态生成设备文件,这样用户就不用手工调用mknod了。
利用的kernel API:   
  &nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号