linux内核服务,Linux 内核服务学习笔记

㈠ 内核简介          职责:

① 系统初始化:检查硬件资源并引导系统

② 进程调度:决定进程的启动及运行时间

③ 内存管理:为运行的进程分配内存

④ 安全:校验系统权限、selinux、iptables策略

⑤ 提供缓存

版本:

① 常规:一个或多个处理器,但RAM只能是4G或者小于4G

② PAE:多处理器,且可支持高达64G RAM

③ XEN:虚拟化所需

内核总是安装在/boot/vmlinuz-*

内核源码可到www.kernel.org网上下载

㈡ 内核模块          使用模块的几个理由:

① 减少内存使用:不需要的驱动程序不会占用内存

② 灵活性:模块可在系统安装后添加,这些模块通常被称为第三方驱动程序

③ 最大化运行时间:模块可在不重启的状态下无限次装载和卸载

在引导时需要的动态模块可用grub装入initrd(初始化内存盘),其他模块可在稍后根据需要装载

这些模块位于/lib/modules/$(uname -r)/目录下

内核模块工具:

--modprobe:可装载或者卸载模块

装载:[root@Think ~]# modprobe usb_storage

卸载:[root@Think ~]# modprobe -r usb_storage

模块只有在没有使用的前提下才可以被删除

--lsmod:列出所有已装载模块的列表、相应的大小及使用量

[root@Think ~]# lsmod

Module Size Used by

netloop 10817 0 [permanent]

netbk 80065 0 [permanent]

blktap 120485 2 [permanent]

blkbk 24289 0 [permanent]

ip6table_filter 6849 0

ip6_tables 18181 1 ip6table_filter

ipt_MASQUERADE 7617 3

iptable_nat 10949 1

--modinfo:显示任意可用模块的信息

[root@Think ~]# modinfo ext3

filename: /lib/modules/2.6.18-308.el5xen/kernel/fs/ext3/ext3.ko

license: GPL

description: Second Extended Filesystem with journaling extensions

author: Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others

srcversion: 26DC008FC415305C5F65313

depends: jbd

vermagic: 2.6.18-308.el5xen SMP mod_unload 686 REGPARM 4KSTACKS gcc-4.1

module_sig: 883f3504f232fc6dc995cc0b59af121112e44a0a0b5f8ae8f7e90b5a613c37cfc50808c464f9a6d0a0a86a45e9d5fe9b7f9f4ed65957f3ce291b12fd

--/etc/modprobe.conf 配置文件包含适用于装载在系统中的常用模块设置,需要时可另行添加

[root@Think ~]# cat /etc/modprobe.conf

alias eth0 vmxnet

alias scsi_hostadapter mptbase

alias scsi_hostadapter1 mptspi

alias scsi_hostadapter2 ata_piix

alias snd-card-0 snd-ens1371

options snd-card-0 index=0

options snd-ens1371 index=0

remove snd-ens1371 { /usr/sbin/alsactl store 0 >/dev/null 2>&1 || : ; }; /sbin/modprobe -r --ignore-remove snd-ens1371

㈢ 管理initrd image          initrd提供在引导初期要装载的模块

这些模块通常和存储设备及文件系统有关,但也支持其它特性和硬件外设

文件位于/boot/initrd-$(uname -r).img

有时会由于某种原因添加额外的模块:

mkinitrd --with=Module_name /boot/initrd-$(uname -r).img $(uname -r)

㈣ 通过/dev访问驱动程序          /dev目录下的文件可用来访问驱动程序

我们可以从这些文件读取或写入数据:

例如:

读取:cat /dev/ttyS0

写入:echo “message” > /dev/ttyS0

这些文件可分两类:

① 块设备:处理数据存储,使用缓冲

如:

/dev/hda :IDE硬盘

/dev/sda:SATA硬盘

② 字符设备:适用于数据流,不适用缓冲

最常用的字符设备是终端

[root@Think ~]# who am i

root pts/2 2012-12-31 20:42 (:0.0)

/dev/tty[0-6]:虚拟控制台

/dev/null

/dev/random

[root@Think boot]# ll /dev/null

crw-rw-rw- 1 root root 1, 3 12-31 14:03 /dev/null

“c”代表字符设备

“b”代表块设备

1,3:代表主号码为1,副号码为3

主号码确定访问哪个驱动程序

副号码可以让驱动程序区别相识的物理设备

㈤ 用udev管理/dev          Linux有个文化叫:设备即文件

udev可管理保存在/dev/目录下的文件

udev在插入或者拔出相应的设备时,可随时生成和删除文件

而且还允许系统管理员添加规则,以便修改/dev中默认的名称和权限,规则在/etc/udev/rules.d/目录下

㈥ 在/dev中添加文件          永久性:

① 先在/etc/udev/rules.d/中创建新文件

② 然后插入如下说明:

KERNEL=="sda",NAME="usbkey",SYMLINK="usbstorage"

这可令下次插入/dev/sda时生成一个名为usbkey的设备文件和一个名为usbstorage的符号链接

临时性:

mknod /dev/usbdevice  b 8 0

㈦ 用/proc进行内核配置          /proc是一个虚拟文件系统(文件没有保存到硬盘上,重新引导后修改会被重新初始化)

用来显示进程信息、内存资源、硬件设备等

使用strings命令浏览效果会比较好

一些有趣的/proc条目

只读:

/proc/:正在运行的进程的信息

/proc/cpuinfo:处理器信息

/proc/meminfo:主内存使用

/proc/swaps:交换分区使用

/proc/modules:动态装载的模块

/proc/mounts:挂载的文件系统

/proc/net:网络活性和配置

/proc/version: 内核版本

读写:

/proc/sys/kernel/hostname

/proc/sys/net/ipv4/ip_forward :IP转发(开或者关)

/proc/sys/vm/drop_caches:强制内核从缓存释放一些内存

/proc/sys/vm/swappiness:显示将内存转换到转换设备的积极程度

㈧ sysctl:浏览和设定内核参数          显示所有参数及其值

sysctl -a

临时设定:

sysctl -w net.ipv4.tcp_syncookies=1

永久性设定:

/etc/sysctl.conf添加参数

操作完成后:

sysctl -p

可使新的配置文件与内核同步

㈨ 一些练习          ① 关闭ping相应

[root@Think ~]# cat /proc/sys/net/ipv4/icmp_echo_ignore_all

0

[root@Think ~]# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

[root@Think ~]# cat /proc/sys/net/ipv4/icmp_echo_ignore_all

1

[root@Think ~]# ping 192.168.1.107

PING 192.168.1.107 (192.168.1.107) 56(84) bytes of data.

64 bytes from 192.168.1.107: icmp_seq=1 ttl=128 time=0.674 ms

64 bytes from 192.168.1.107: icmp_seq=2 ttl=128 time=0.598 ms

64 bytes from 192.168.1.107: icmp_seq=3 ttl=128 time=0.659 ms

--- 192.168.1.107 ping statistics ---

3 packets transmitted, 3 received, 0% packet loss, time 2001ms

rtt min/avg/max/mdev = 0.598/0.643/0.674/0.044 ms

但是:

C:\Users\asus>ping 192.168.1.115

正在 Ping 192.168.1.115 具有 32 字节的数据:

请求超时。

请求超时。

请求超时。

请求超时。

192.168.1.115 的 Ping 统计信息:

数据包: 已发送 = 4,已接收 = 0,丢失 = 4 (100% 丢失),

对/proc虚拟文件系统的改动是暂时的,如果你想永久性更该可参考上面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值