内核介绍及内核编译

内核:模块化设计 最核心的功能    内核和内核模块组成
 
lsmod 查看已加载的内核模块(重要)
modprobe 模块 会自动加载模块   /etc/modprobe.d/ 下的所有文件
     -r 卸载模块   modeprobe -r floppy 卸载 floppy
装载卸载模块: insmod 不同是跟加路径
               rmmod -f 强行卸载 rmmod floppy
depmod 生成模块依赖关系的列表
 
内核组件 /boot/vmlinuz- 版本  
 /boot/initrd- 版本 .img
/lib/modules/ 版本
modeinfo ipv6 显示 ipv6 的模块信息 modeinfo 显示所有已加载的模块信息
 
命令所用到的库文件
ldd 加命令   可以查看命令用到的库文件   ldd /bin/ls
 
mkinitrd  创建 initrd 文件   一个脚本
1. mkinitrd /boot/initrd-$(uname -r).img $(uname -r) 命令替换 $ `` 反斜杠
 
2. mkinitrd --with=scsi_mod /boot/initrd-$(uname -r).img $(uname -r)
内核:
微内核:稳定 Windows Solaris
单内核: Linux 内核所需要的功能都做进内核 , 缺点:有一功能损坏会造成很大的难题
所以模块化 动态装载和卸载
模块: /lib/modules/ 对应的版本目录
 
 kernel 功能:
底层的系统初始化
进程调度: cpu 的多路复用 时钟中断等
内存管理:物理内存 ,线性内存(虚拟内存),最复杂的功能
安全性:加密 解密
提供缓冲和缓存以加速硬件的访问速度
提供标准的网络协议和文件系统格式
kernel-doc 介绍的 kernel 文档 软件
内核组件:
kernel initrd ram disk ), 模块 /lib/modules/
内核监控:
   进程:
   内存: free -b -k -m 制定显示大小
   磁盘:
 
默认可能没装   yum install x86info
  x86info -a 显示所有   显示 cpu 的详细信息
           -c 看缓存 二级缓存越大 cpu 运行越快
配置内核:
sysctl -w 可以修改值   临时生效 定义到 etc 下的 sysctl.conf 会永久生效要重启
   不重启可以 systrl -p 重新读取配置文件
       -a 显示系统应经定制的值 可以修改其值
          net.ipv4.ip_forward
 
查看内核版本: uname -r
查看 cpu 信息: cat /proc/cpuinfo
查看 pci 设备信息: lspci
查看 usb 信息: lsusb
显示系统硬件信息: hal
显示所有的硬件信息: hal-device
显示系统运行时间: uptime
查看系统文本负载: tload
                gnome-system-monitor 图形界面的
查看系统内存信息: vmstat
查看进程运行时的内存使用空间: pamp 2598(pid)
报告 cpu 的统计信息: iostat  安装 sysstat
                    iostat -d 2 2s 信息
生成报告信息文件: sosreport
dmidecode 查看
 
虚拟文件系统: /proc
 
dev 设备:
udev 动态设备管理
/dev/md0 1  RAID
不存在的设备:通过软件生成
/dev/null
/dev/zero 设备填充 0 数据全部抹掉
/dev/urandom  软随机数设备   随机数不能重复利用 熵池
内核编译 :
1 、准备编译环境
       yum groupinstall "Development Tools" "Development Libraries" -y
2 、准备好内核源码包
       解压缩       tar jxvf kernel-  -C /usr/src
       连接到 linux   cd /usr/src
                     ln -sv linux- 2.6.30 .10/ linux
3 、开始编译 ( 以模板编译 )
      1) 先配置内核 编译成模块 M 或直接做进内核 Y 不开启此功能 N
          # cd /usr/src/linux
          # make menuconfig
          # ls -a 会生成 .config 文件
          # 使用模版编译
           # rm -rf .config
          # cp /boot/config- 2.6.18 -164.el5  ./.config
           # make menuconfig
添加版本后缀
          #vim .config
              CONFIG_LOCALVERSON="-jing"           
          # make  开始编译
          # make install
         会在 /etc/grub.conf 生成一个内核新项
 
    

你可能感兴趣的:(职场,内核,编译,休闲,内核介绍)