手把手教你做北邮操作系统小学期实验一——Linux启动过程优化2

接上一章 手把手教你做北邮操作系统小学期实验一——Linux启动过程优化1

5.实验步骤:

内核态启动优化

一、多个init函数比较
  1. 在/usr/src/linux-2.4目录下,能得到Linux源代码(内核开发包)。
    这里写图片描述

  2. 修改linux/init/main.c,在所有的需要检测的代码段添加条件编译TIME_TEST常量。测试的代码段包括console_init(),vfs_caches_init,和pci_init()等等。
    源代码(原代码)
    这里写图片描述

添加#define TIME_TEST
这里写图片描述

添加

#ifdef  TIME_TEST  #include <linux/time.h> 
struct timeval gettime_before, gettime_after; #endif
//gettime_before函数调用前时间和gettime_after调用后时间

这里写图片描述

在380多行添加
do_gettimeofday(&gettime_before);
do_gettimeofday(&gettime_after);和一个打印时间的函数
//添加在console_init();函数的前后
这里写图片描述

在420多行添加
do_gettimeofday(&gettime_before);
do_gettimeofday(&gettime_after);和一个打印时间的函数
//添加在vfs_caches_init();函数的前后
这里写图片描述

在510多行添加
do_gettimeofday(&gettime_before);
do_gettimeofday(&gettime_after);和一个打印时间的函数
//添加在pci_init();函数的前后
这里写图片描述

添加do_initcalls()函数里的,注意do_initcalls()函数前后不添加,而是在代码里添加,在460多行左右
这里写图片描述

在rest_init()函数里
do_gettimeofday(&gettime_before);
do_gettimeofday(&gettime_after);和一个打印时间的函数这和之前的样。
同理可得。

  1. 修改完以后,编译内核。make mrproper清除源码树
    这里写图片描述

  2. make oldconfig生成现有.config文件
    这里写图片描述

  3. make menuconfig配置内核(需要安装ncurses-devel,安装ncurses-devel又需要安装yum,有的电脑需要安装,有的不需要安装)可以在网上找一个ncurses的tar.gz的包
    我找的是ncurses-5.7.tar.gz
    首先

tar -zxvf ncurses-5.7.tar.gz//解压
cd ncurses-5.7
./configure
make
make install //对它进行编译

然后 make menuconfig
这里写图片描述

  1. make dep//生成依赖关系
    这里写图片描述

  2. make bzImage //编译内核

这里写图片描述

  1. make modules//编译模块
    这里写图片描述

  2. make modules_install//安装模块
    这里写图片描述

  3. make install//安装内核
    这里写图片描述

离胜利不远了。

  1. init 6//重启 选那个2.4.20-8custom
    这里写图片描述
    这里写图片描述
    这里写图片描述

由上图可以知道console_init()函数花费:156 mircosecond
这里写图片描述

vfs_caches_init()函数花费:156 mircosecond
这里写图片描述

pci_init()函数花费:79878 mircosecond
这里写图片描述

do_initcalls()函数花费:4 second -550203 mircosecond//记得do_initcalls()用到函数的地址费时最多的那一个,但是开机画面显示的是一部分,可以等一下用代码查看。
rest_init()函数花费:71 mircosecond
这里写图片描述

dmesg | grep “second”
这里写图片描述
这里写图片描述
这里写图片描述

这里写图片描述

综上所述,c036e138花费4 second -550203 mircosecond,用System.map查看c036e138是initcall_ide_init

下一章 手把手教你做北邮操作系统小学期实验一——Linux启动过程优化3

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
构建自己的Linux系统是一项有趣和有挑战性的任务。下面是一个简单的手把手教程,帮助你构建自己的Linux系统,并将其整理成PDF格式。 步骤一:准备工作 首先,你需要准备将要构建Linux系统的计算机。确保计算机具备足够的计算资源,并且有足够的存储空间来存放操作系统。 步骤二:选择合适的Linux发行版 选择适合你需求的Linux发行版。你可以选择像Ubuntu、CentOS或者Arch Linux这样的流行发行版,也可以选择构建自己的自定义发行版。 步骤三:下载Linux发行版的源代码 前往所选择的发行版官方网站,下载源代码。这些源代码通常以tar包的形式提供。 步骤四:解压源代码 使用适当的解压工具解压源代码。你将得到一个包含源代码树的文件夹。 步骤五:配置和编译源代码 根据不同的发行版,有不同的配置和编译选项。查看源代码中的README文件以获取更多信息。通常,你需要运行"./configure"命令生成Makefile,然后运行"make"命令来编译源代码。 步骤六:安装编译后的文件 完成编译后,你可以通过运行"make install"命令将编译的文件安装到系统中。确保你有足够的权限来执行此操作。 步骤七:配置你的系统 完成安装后,你需要配置你的系统。这可能包括设置网络、安装和配置软件包、配置用户帐户等等。根据你的需求和偏好进行配置。 步骤八:测试和优化 在配置完成后,你应该进行测试以确保系统正常运行。测试网络连接、软件包安装等功能。根据需要进行优化,以提高系统的性能和稳定性。 步骤九:整理PDF文档 将你的构建过程整理成PDF文档,可以使用文档编辑工具,如Microsoft Word或Google Docs,将需要的内容整理成适合打印或分享的PDF格式。 完成以上步骤,你将成功构建自己的Linux系统,并将其整理成PDF格式。记得保存你的PDF文档,以备将来参考或与他人分享。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值