内核相关知识点

内核知识点

Linux内核官网: www.kernel.org

上图2.6.17中:

2:主版本号

6:次版本号,此版本号为奇数,表示测试版 ;为偶数,表示稳定版

17:修订号

分成了两个分支,测试版(增加一些新的功能)和稳定版(修复一些bug)

用户空间访问和监控内核的方式:

1、/proc目录

    /proc/sys目录下大多数是可读写的

2、/sys目录

设定内核参数的方法:

1、echo value > /proc/sys/somfile

echo 1 > /proc/sys/net/ipv4/ip_forward  开启路由转发的功能

2、sysctl 命令

sysctl -w kernel.hostname = "magadu.com"

sysctl -w vm.drop_caches = 1

重启后会失效,因为修改是保存在内存中的,所以能立即生效,但不会永久有效

永久有效:

vim /etc/sysctl.conf

sysctl -p    #通知内核,立即生效

sysctl -a   #显示所有内核参数及其值

内核模块管理

lsmod:列出当前内核装载的内核模块

modprobe MODE_NAME        装载模块

modprobe -r MODE_NAME     卸载模块

modinfo MODE_NAME           查看模块的具体信息

 

insmod /path/to/MODE_NAME 必须带有模块路径

rmmod MODE_NAME

lsmod | grep floppy 过滤装载模块

depmod     生成模块间的依赖关系

内核模块间存在依赖关系

内核模块和内核的版本必须完全一致

内核中的功能除了核心功能外,在编译时,大多功能都有三种选择:

1.不使用此功能

2.编译成内核模块

3.编译进内核

手动编译内核

首先准备编译工具和编译环境

1、下载内核(下载地址:www.kernel.org)

tar xf linux-2.6. 28.10.tar.gz -C /usr/src 解压内核源码,通常放在/usr/src目录下

ln -sv linux-2.6. 28.10 linux

cd linux

ls

2、make menuconfig   #打开文本菜单,窗口不能太小,否则会报错.编译完成后会生成.config隐藏文件

解决方法:

 yum install -y ncurses-devel 

进入到该图形界面后,进行内核配置。配置时,大部分都是使用其默认选项,小部分才根据需要进行选择。

其中,每一个配置选项有三种选择,它们的含义如下:

<*>或[*]:表示将该功能编译进内核

[ ]:表示不将该功能编译进内核

[M]:表示将该功能编译成在需要时动态插入到内核的模块

用户根据需要进行配置。
3、编译内核

make 

编译时为了加快编译速度,可以使用make -j#

用make -j带一个参数,可以把项目在进行并行编译,比如在一台双核的机器上,完全可以用make -j4,让make最多允许4个编译命令同时执行,这样可以更有效的利用CPU资源。在多核CPU上,适当的进行并行编译还是可以明显提高编译速度的。但并行的任务不宜太多,一般是以CPU的核心数目的两倍为宜。

make modules_install  #编译模块

make install

在编译时,会存在很多问题,可复制已经编译好的文件,再执行make menuconfig

cp /boot/config-2.6.32-431.el6.x86_64 /usr/src/linux/.config

make menuconfig

make

make modules_install

make install

二次编译时清理:

make clean 清理此前编译好的模块

make mrproper 会把.config也清理掉,如果需要,请备份配置文件.config

参考文档:https://blog.csdn.net/a_little_a_day/article/details/78251928

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux操作系统是一种自由、开放源代码的操作系统,广泛应用于服务器、嵌入式系统和个人电脑等领域。以下是几个与Linux操作系统相关知识点: 1. Linux内核:Linux操作系统的核心是Linux内核,由Linus Torvalds开发。内核负责管理计算机硬件资源,如处理器、内存和设备驱动程序。它提供了系统调用接口,为上层应用程序提供了访问硬件和操作系统功能的方式。 2. 发行版(Distribution):Linux操作系统有很多不同的发行版可供选择,如Ubuntu、Debian和Red Hat等。每个发行版都包含了Linux内核,以及一些额外的软件包、工具和图形界面,以方便用户使用和管理操作系统。 3. 命令行界面和图形界面:Linux操作系统可以通过命令行界面(CLI)或图形界面(GUI)进行操作。命令行界面提供了更高级的控制和灵活性,而图形界面则更为直观和易于使用。 4. 文件系统:Linux操作系统使用一种称为虚拟文件系统(VFS)的抽象层,用于统一管理各种类型的文件系统。常用的文件系统包括Ext4、XFS和Btrfs等。 5. 用户和权限管理:Linux操作系统基于多用户和多任务的设计理念。每个用户都有自己的账户和权限,可以限制不同用户对文件和系统资源的访问。 6. 软件包管理:Linux操作系统使用软件包管理器来管理安装、升级和删除软件。常见的软件包管理工具有APT、YUM和Pacman等。 7. 网络和安全性:Linux操作系统内置了丰富的网络功能和安全机制。它支持各种网络协议和服务,如TCP/IP、HTTP和SSH等。此外,Linux还有强大的安全功能,如访问控制列表(ACL)和SELinux(安全增强型Linux)等。 总之,Linux操作系统广泛应用于各个领域,拥有强大的性能、灵活性和安全性。了解和熟悉Linux操作系统的相关知识对于从事系统管理、开发和网络工作的人员来说,具有重要的意义。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值