Linux内核介绍

——————/1
内核开发方向:①文件系统(并行、集群、分布式)②内核虚拟化,云计算③网络协议,防火墙

——————/2
Linux is a unix clone,but it is not unix
AIX系统IBM用
苹果系统UNIX发展而来
2.6.0:主版本号、次版本号(偶数稳定)、patch版本
www.linuxsir.org //org非盈利性组织

——————/3
who
打补丁:cd linux-2.6.38; for i in `ls ../xen/`; do patch –p1 <../xen/”$i”;done

rpm –ivh kernel.src.rpm
rpmbuild –bp kernel.spec
rpmbuild –ba kernel.spec

——————/4
root@lyl:/sys/block/sda/queue# cat scheduler
noop [deadline] cfq //支持三种算法,目前所用deadline
arch/x86/crypto //加密
netlink是一种Linux特有的socket,用于实现用户进程与内核进程间通信,是网络应用程序与内核进程通信的常用接口
Netperf是一种网络性能测试工具,主要针对基于TCP或UDP的传输
——/
root@lyl:/home# free –m
total used free
Mem: 2005 1237 767
Swap: 3058 0 3058
root@lyl:/home# swapoff -a
root@lyl:/home# free –m
Swap: 0 0 0
root@lyl:/home# swapon –a
——/
make menuconfig
make –jN
make
make modules
make modules_install
make install

——————/5
the kernel is coded by GNU C
Linux内核介绍_第1张图片
需打上实时性补丁,才…
printk("HZ = %d\n",HZ);

——————/6
#!/bin/bash
for names in $(cat /proc/modules | awk '{print $1;}')
do 
	echo -ne "$names\t     \t"
    modinfo $names | grep  license
done
作用:打印所有模块及其license行
——/
static int __init myingben_init(void)
{
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)
    struct new_utsname *utsname = &system_utsname;
#else
    struct new_utsname *utsname = &init_uts_ns.name; //全变,init_uts_ns符合被抛出
#endif
    printk
        ("sysname    = %s\n"
         "nodename   = %s\n"
         "release    = %s\n"
         "version    = %s\n"
         "machine    = %s\n"
         "domainname = %s\n",
         utsname->sysname, utsname->nodename, utsname->release,
         utsname->version, utsname->machine, utsname->domainname);
    return 0;
}


你可能感兴趣的:(英本教育)