中标麒麟Linux服务器操作系统培训系列
中标麒麟Linux操作系统内核简介
技术创新,变革未来
本章目标
•了解Linux系统内核的概念和作用;
•了解和掌握查看内核信息和修改内核参数的方法;
•了解Linux内核与内核模块的关系;
•了解和掌握Linux内核模块的管理和操作方法;
•了解内核的升级与编译;
Linux系统内核的概念和作用
• 内核构成了 Linux 操作系统的核心部分
• 内核的职责:
–系统初始化:检测硬件资源并引导系统
–进程调度:决定进程的启劢和运行时间
– 内存管理:为运行的进程分配内存
–安全:经常校验文件系统权限、SELinux 环境和防火
墙规则
–提供缓冲和缓存以提高硬件的访问速度
–采用标准网络协议和文件系统格式
查看内核信息和修改内核参数
•中标麒麟Linux服务器操作系统中的内核来源:
–Open Source Kernel + Patches = NeoKylinServer
Kernel;
–因内核不同导致支持的内存不同
•各种内核和相关版本的具体信息:
–各版本的release-notes;
–各版本的kernel-doc ;
•/usr/share/doc/kernel-/Documentation
系统中内核信息的查看
•# uname -r 获得当前正在使用的内核;
•# uname -a 获得当前正在使用的内核和系统架构;
•# cat /proc/version 查看内核版本
•# cat /etc/neokylin-release 获得系统的版本号
•# cat /etc/issue.net
•# ls /boot/vmlinuz*
系统中各种系统信息的获取
•和系统内核运行相关的信息和常用文件;
–/proc/cpuinfo 处理器信息
–/proc/meminfo 系统内存使用 (free ,vmstat)
–/proc/partition 内存识别的块设备
–/proc/filesystem 被支持的文件系统
–/proc/mounts 挂载的文件系统
–/proc/modules 劢态装载模块
–/proc/swaps 系统内存使用 (free ,vmstat)
–/proc/pidN
•和系统设备文件、模块相关的信息和常用文件;
–/sys/block/* /sys/bus/* /sys/class/* /sys/modules/*
常用内核参数的查看以及参数传递方法
•获取系统可调整的所有内核参数:
–# sysctl -a /etc/sysctl.conf
•直接定义修改sysctl参数:
–# sysctl -p 修改完/etc/sysctl.conf中执行以生效;
–# sysctl -w 直接应用修改;
•临时修改系统内核参数:
–# echo “something” > /proc/xxx
–# echo “something” > /sys/xxx
•在系统启劢的时候追加参数:
–在grub-shell中使用e编辑或修改/boot/grub.conf文件;
–启劢参数和sysctl可调参数参见:
•/usr/share/doc/kernel-doc-ver/Doc*/kernel-parameters
Linux内核与内核模块的关系
• 内核模块的基本概念:
– 内核模块是内核的一套功能或者组成部分之一;
–与内核不同的是可以根据需要加载和卸载;
–模块化的设计主要为了使内核小巧易用;
–一些外部设备的驱劢通常被编译到模块中并在启劢中
根据需要加载;
• 内核模块的存在方式:
–每个模块的代码都保存在单独的目标文件中,扩展名
为.ko;
–整个模块集中于/lib/modules/kernelversion/中,多版
本模块可共存