linux启动简要描述

来源:互联网 发布:泰国免税店mac口红价格 编辑:程序博客网 时间:2024/06/05 20:54

从linux启动开始,我们可以去查看linux0.11版的代码

 1、开始bootsect.s,这个目的是引导程序,从主引导扇区的引导程序开始,到真实寻址转换位保护模式寻址,然后将内核代码加载到内存固定区域,进行内存分页寻址模式设置。

 2、boot引导结束,将执行权交给内核中的main.c函数。

       他利用setup.s函数获取系统全局参数,根文件设备号等。

       他见一个内存文件系统,即虚拟文件系统ramdisk。

      加载根文件系统(initrd)到ramdisk。

      完成所有设备的初始化,然后kernel照着initrd中的init一步一步地加载驱动。在initrd文件中所放入的模块,必须是与操作系统同一版本kernel所编译的模块。

3、切入image所指示的硬盘中实体操作系统rescue mode是直接通过kernel加载initrd进入单纯的内存开机的虚拟操作系统)。

4、init进程,在切入到用户操作系统之后,首先执行linux的init进程(pid=1), init进程再去加载/etc/rc.d/init.d/functions从而启动服务。

     init进程完成了对应用程序的各项配置(进程ID、执行时机、命令、终端、下一个执行的进程等),并最终依据配置执行了应用程序。

     配置文件inittab里有着对应用程序的详细配置,配置C库:首先我们创建lib目录,这个目录将用来存放C库的文件:mkdir CCJ/lib 。进入你存放C库文件的目录下,将C库文件复制到CCJ/lib目录下:cp *.so* /CCJ/lib -d。




原创粉丝点击