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

Linux协议栈源码分析读书笔记(一)

   今天读了本书的第一章.这一章初步介绍了Linux内核的总体布局,也就是总体上来看有哪些模块组成.从上到下主要是:glidc->系统调用->(VFS,Schedular,Soft ISR,ISR,FILE Sytem,Task Manager,Memory Manager,IP Stack)括号里面的各个模块都是并列存在的.目前对于这其中的许多名词我还不熟悉,不禁感到惭愧,要学习的东西实在有许多,自己浪费了不少时间....按作者说的,这本书主要讲的是IP Stack的信息流程.读者可以在宏观上了解IP协议族的各个协议间的消息是如何流动的.
   第一章一开始就讲了微内核和大内核的区别,并在最后现在的OS大多不是一单一的某一种,通常都是两种都有涉及.因为各自有各自的好处:微内核的内核的实现更加高效,便于移值,方面系统其他各个模块间的通信.大内核的主要特点就是,它在执行的时候在内存中是一个大的二进制的映像,各个模块在运行的时候都要加载到内存中去,能够充分的利用硬件.
  这一章另外还讲解了几个在协议栈中用的很多的数据结构,主要是链表和Hash链表.看到这部分的时候我深深的感觉到数据结构非常的重要,并接要学活了,不能走教条主义道路!比如说Linux的链表的实现就相当的漂亮.它不是像大多教科书的说的那样,在链表的节点中存放data.而是让含有数据的结构中包含一个链表节点.这样更灵活.可以看的出来Linux源代码中许多地方都利用了C语言的灵活性,和GCC编译器的特性,如typeof等.(^_^看来C语言要加强了下了,我还很嫩..)其中链表的这种实现机制的关键是list_entry宏.list_entry(ptr,type,memeber),
ptr是指向含有真实数据的结构中strcut list head成员的指针.type是struct list head的类型.member是该成员的变量名.
list_entry( ptr, type , member);
#define list_entry(ptr, type, member) container_of(ptr, type, member)
#define container_of(ptr, type, member) ({\
const typeof( ((type*)0)->member) *mptr = (ptr);\
(type *)( (char *) mptr-offsetof(type,member) );})
#define offsetof(TYPE,MEMBER)( (size_t) &((TYPE *)0)\
->MEMBER)


相关文档:

Linux 平台下 MYSQL安装 启动 mysql命令

MYSQL安装
//解压编译安装
# tar xzvf mysql-5.0.27.tar.gz
# cd mysql-5.0.27
# ./configure -prefix=/home/redadmin/mysql
# make
# make install
# cd /home/redadmin/mysql/
# cp share/mysql/my-medium.cnf ./
# mv my-medium.cnf my.cnf
// my.conf文件修改
# vi my.cnf
修改前:
port  &nb ......

用Linux下Perl脚本连接SQLServer

准备工作:
  用到的perl 扩展组件(modules)在上篇贴出.( win32::odbc 模块
)下载组件后按照Readme文件安装倒响应目录.配置好相应的odbc数据源.
  
  程序实现:
  使用
  use
Win32::ODBC;
  
  语句包含应使用的模块是win32::odbc,写出数据库
连接字符串
  
  $DSN = "DSN =
My DSN ......

Linux内核DRM实现分析——基于i915

1  接口
     我们先看看i915_drv.c里面申明的driver变量:
static struct drm_driver driver = {
 /* don't use mtrr's here, the Xserver or user space app should
  * deal with them for intel hardware.
  */
 .driver_features =
     DRI ......

linux学习笔记06

(AIX命令)iostat命令主要通过观察物理磁盘的活跃时间以及他们的平均传输速度,监控系统输入/输出设备负载.
iostat [间隔时间] [打印次数]
exp: iostat 5 2
ps命令是UNIX系统中最常见的命令,它主要显示系统中关于进程的统计和状态信息,如进程ID,I/O行为以及CPU利用率等.
显示10个消耗CPU最多的进程:
ps aux |sort ......

linux学习笔记05

显示当前系统内存容量:
free -m
uname显示系统信息:
-a :所有系统相关信息
-s :系统核心名称
-r :核心版本
-p :cpu类型
-r :硬件平台
将当前所有联机和监听数据列出来:
netstat -a
列出所有进程打开的套接字文件:
lsof -u db2inst1 -a -U 或 lsof -u db2inst1 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号