免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1948 | 回复: 2

Kernel 会提供哪些服务,如何设定kernel [复制链接]

论坛徽章:
0
发表于 2010-03-23 17:38 |显示全部楼层
一、介绍kernel模块 (kernel 中包含哪些元件)

  1、Kernel 当中许多元件可以被组成动态载入的模式,这些元件就是kernel模块

  ·Kernel 模块是外挂在Kernel上的,这样可以增加Kernel的功能,但不会增加Kernel的大小,Kernel 模块有两个功能:

  (1)电脑周边设备的驱动程序;

  (2)提供一些额外的文件系统;

  ·在载入Kernel模块的时候,可以设定Kernel的模块;

  2、/lib/modules    Kernel模块的存放位置;

  3、如果要控制模块可以使用以下指令:

  lsmod     列出目前载入了哪些模块;

  modprobe     可以临时载入某个模块;

  语法:  modprobe   <械模块的名称>

  4、如果把一个没有经过Redhat签证的模块加入到kernel中,Redhat不会出任何的技术支持。

  二、介绍如何设定Kernel中的模块

  1、查看某个模块的信息及它的授权同意书是由谁签署的,可以使用下面的指令:

  格式:/sbin/modinfo  模块名称

  2、模块的设定:可以通过 /etc/modprobe.conf 这个文件来设定模块,可以设定以下选项:

  · aliases: 在预设情况下会记录网卡、声卡、USB控制器用的是哪些驱动程序;

  · 设定 Kernel 的参数

  · actions: 用来设定当模块被载入时,要执行哪些动作来设定这些装置;

  3、有些模块会呼叫其它的模块所提供的功能,来应用到自己的身上,这就是模块的相依性;

  · 模块的相依性会记录在 /lib/modules 目录中,每个模块所对应的子目录里面的 modules.dep 这个文件;

  · 可以使用 depmod 指令加上“-a” 的参数来查看所有模块的相依性;

  4、使用insmod指令可以用来载入某个模块,功能同modprobe相同,但modprobe载入模块时可以同时载入模块的相依性

  格式: insmod   模块名称   (用来载入指定的模块)

  rmmode   模块名称     (删除指定模块)

  三、介绍/proc虚拟目录

  1、/proc 并不存在硬盘中,而是一个虚拟目录,我们可以借着修改目录里面的文件来急时变更kernel的参数,/proc目录中包含了目前所使用的kernel的信息,通过这些文件可以查看目前系统的状况。

  2、如果列出/proc目录里的内容,会发现所有的文件的大小都是零,但是仍然可以使用 cat 、less、more 等指令查看这些文件;

  例如:cat /proc/cpuinfo  可以查看cpu目前的状态

  3、/proc目录中所包含的kernel信息,包括系统中的硬件设备,网络设定,正在执行中的程序及内存的使用状况等信息;

  4、/proc中也有一些子目录

  · /proc/scsi/ 子目录中,包含了SCSI设备的信息

  · /proc/sys/子目录中包含了 kernel 的参数;

  · /proc/<PID>/  PID会用数字的形式显示在屏幕上,这些子目录中包含了所有执行程序的信息;

  5、可以修改/proc/sys/子目录中的文件,来急时变更目前在正执行中的kernel的参数。举例如下图:





四、介绍为什么要通过sysctl 指令来设定 /proc/sys/子目录中的内容

  1、如果只是修改 /proc/sys/子目录中的文件,这只是暂时修改了正在执行中的kernel的参数,确无法将修改保存起来,当关机或重启后所有的修改就将丢失。

  2、如果使用sysctl指令来修改设定,才可以将设定保存起来,当重新开机后这些修改仍然生效,使用 sysctl 指令所修改的设定会写入到 /etc/sysctl.conf  这个文件中;

  sysctl –p    可以查看sysctl.conf 文件中的内容

  3、在开机的时,会执行rc.sysinit这个登录脚夫本,而 rc.sysinit 这个脚本文件会去调用sysctl.conf这个文件,并执行 /etc/sysctl.conf 这个文件中的设定。

  五、介绍如何检测及显示系统中的硬件设备

  1、当系统开机时,会看到kernel的引导信息,由于这些信息停留在屏幕上的时间非常短,所以系统会通过 klogd 的服务来把这个信息写入到 ring buffer 缓冲区中,可以使用 dmesg 指令来查看缓冲区里的内容,但 ring buffer 的空间是有限的,当被写满后会把这些信息写入 /var/log/dmesg 文件中,这样可以防止旧的信息被覆盖掉,所以可以通过 /var/log/dmesg 这个文件中的内容来查看kernel的信息。如下图说明:


  2、kudzu 指令

  可以用来维护系统中,已经检测到的硬件设备资料,当系统侦测到一个新的设备或某个设备被移除时,kudzu会自动设定我们的系统,或引导管理者设定这个设备,并把检测到的设备写入到 /etc/sysconfig/hwconf 文件中,kudzu 会使用 /usr/share/hwdata 这个资料库文件中的硬件资料来侦测目前系统中的硬件设备;之后,系统会把侦测到的设备的详细信息存放到/proc 目录中。

  3、hwbrowser 指令

  可以打开图形界面的显示工具,有些类似于windows下的设备管理器,可以查看系统安装了哪些硬件设备。

  六、介绍系统中的PCI总线和ISA总线

  1、PCI总线是X86的主机中主要的插槽

  ·/sbin/lspci 这个指令可以查看目前有哪些设备插在PCI插槽中;

  ·/proc/bus/pci 这些PCI设备的信息存储在这个目录中;

  2、大部分ISA的设备都支持了PnP(即插即用功能),如果系统中侦测到了ISA的设备,会将这些设备的信息存在 /proc/isapnp/ 目录中;

  七、介绍Kernel所支持的其它可热插拔的总线

  1、USB和IEEE1394

  · 当系统侦测到有设备被插入USB或IEEE1394接口时,会自动启动 /sbin/hotplug 这个程式,并从 /etc/hotplug 子目录中载入这个设备所适用的驱动程序;然后将这个设备的信息写入到 /proc/bus 子目录中;

  ·/sbin/lsusb 指令,可以列出目前有哪些设备插在了USB插槽中;

  ·RHEL4版本,会自动挂载USB设备,可以通过/dev/usb/子目录中,所对应的装置名称,来存取这个USB设备中的内容;

  2、PCMCIA 是另一种常见的可热插拔的总线

  ·当系统侦测到有设备被插到 PCMCIA 插槽中时,会自动启动 /sbin/cardmgr 这个服务,从 /etc/pcmcia/ 子目录中载入适当的模块;并把这个设备的信息写入到 /proc/bus/pccard/ 子目录中;

  ·/sbin/cardctl 指令,可以控制PCMCIA的设备,这个指令可以监控PCMCIA插槽的状态;

  八、介绍系统的监控及控制所有执行程序

  1、top(文件模式下,预设每5秒更新一次显示的内容),gnome-system-monitor(图形模式下) 这两个指令来显示进程的状态;例如:可查看CPU,内存,硬盘的的使用状况;

  2、vmstat (文字模式下)指令:可用来显示虚拟内存的使用情况;其中(us指user space用户空间),(sy指system call系统调查用),(id指idle空闲),(wa 指 waiting等待)

  3、free 指令:也可显示虚拟记忆体的使用状况,显示的信息没有 vmstat 显示的完整,但可同时可以看到实体内存的使用情况;

  4、renice 指令:可以用来调整某个进程的优先权;NICE标谁输入输出控制执行程序;

   nice 指令  renice 指令  
目标  应用程序  进程  
命令格式  nice –n <nice值><应用程式>  renice <nice值><PID进程号>

  5、kill 指令:可以把一个系统信息传送给一个指定的进程;

  例:kill –l 可列出每一种系统信息怕代码;

  例如:强制执行的代码是 9;如果想要强制停止某个进程,就可以使用下面的指令:

  kill –9 PID(要结束的程序的进程号)   就可以强制停止这个进程号所对应的程序了;


                  浦华众诚培训网技术学院 转载

论坛徽章:
0
发表于 2010-03-23 22:18 |显示全部楼层
linux新鲜的东西总是出的很慢

论坛徽章:
0
发表于 2010-04-01 16:31 |显示全部楼层
不是穿衣 赶时髦  要这么新鲜干吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP