linux启动过程分析及dns服务器毕业论文设计.doc
《linux启动过程分析及dns服务器毕业论文设计.doc》由会员分享,可在线阅读,更多相关《linux启动过程分析及dns服务器毕业论文设计.doc(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Linux启动过程分析长沙师范学校电子信息工程 系 计算机应用(嵌入式) 专业 09 级毕业论文(设计)题目: Linux启动过程分析及DNS服务器 姓名 盛郎平 学号 2009540830138 指导教师(签名)2011年 10 月 13 日引 言Linux 最初是由瑞典赫尔辛基大学的学生 Linus Torvalds在1991 年开发出来的,之后在 GNU的支持下,Linux 获得了巨大的发展。1个嵌入式 Linux 系统从软件角度看可以分为4个部分:引导加载程序bootloader),Linux 内核,文件系统,应用程序。其中 bootloader是系统启动或复位以后执行的第1段代码,它
2、主要用来初始化处理器及外设,然后调用 Linux 内核。Linux 内核在完成系统的初始化之后需要挂载某个文件系统做为根文件系统(Root Filesystem)。根文件系统是 Linux 系统的核心组成部分,它可以做为Linux 系统中文件和数据的存储区域。应用程序可以说是嵌入式系统的“灵魂”,它所实现的功能通常就是设计该嵌入式系统所要达到的目标。如果没有应用程序的支持,任何硬件上设计精良的嵌入式系统都没有实用意义。从以上分析我们可以看出 bootloader 和 Linux 内核在嵌入式系统中的关系和作用。bootloader在运行过程中虽然具有初始化系统和执行用户输入的命令等作用,但它最
3、根本的 功能就是为了启动 Linux 内核。在嵌入式系统开发的过程中,很大1部分精力都是花在 bootloader 和 Linux 内核的开发或移植上。如果能清楚的了解 bootloader 执行流程和 Linux 的启动过程,将有助于明确开发过程中所需的工作,从而加速嵌入式系统的开发过程。而这正是本文的所要研究的内容。目 录第一章 绪论31.1 Linux 操作系统31.1.1 Linux 操作系统的历史31.1.2 Linux 操作系统的特点41.1.3 嵌入式LINUX的应用52.1Linux 的安装5第二章 Bootloader72.1 Bootloader的概念和作用72.2 Boo
4、tloader的执行过程82.3 bootloader必须具备的功能8第三章 Linux内核的启动过程103.1 Linux内核入口103.2 start_kernel函数113.3 结论11第四章 Shell124.1 Shell124.2 常用Shell命令14第五章 总结19第一章 绪论1.1 Linux 操作系统1.1.1 Linux 操作系统的历史Linux 操作系统刚开始时并没有被称作Linux,Linus 给他的操作系统取名为FREAX,其英文含义是怪诞的、怪物、异想天开等意思。在他将新的操作系统上载到ftp,funet。fi服务器上时,管理员Ari Lemke很不喜欢这个名称。
5、他认为既然是Linus 的操作系统就取其谐音Linux 作为该操作系统的目录吧,于是Linux 这个名称就开始流传下来。在Linus 的自传Just for Fun一书中,Linus 解释说:坦白地说,我从来没有想到过要用Linux 这个名称发布这个操作系统,因为这个名字有些太自负了。而我为最终发布版准备的是什么名字呢Freax。实际上内核代码中某些早期的Makefile - 用于描述如何编译源代码的文件 - 文件中就已经包含有Freax这个名字了,大约存在了半年左右。但其实这也没什么关系,在当时还不需要一个名字,因为我还没有向任何人发布过内核代码。而Ari Lemke,他坚持要用自己的方式将
6、内核代码放到ftp 站点上,并且非常不喜欢Freax 这个名字。他坚持要用现在这个名字(Linux),我承认当时我并没有跟他多争论。但这都是他取的名字。所以我可以光明正大地说我并不自负,或者部分坦白地说我并没有本位主义思想。但我想好吧,这也是个好名字,而且以后为这事我总能说服别人,就像我现在做的这样。1.1.2 Linux 操作系统的特点嵌入式LINUX操作系统的概念以应用为中心,以计算机技术为基础,软件、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗要求严格的专用计算机系统,称为嵌入式系统。一个最小的嵌入式系统的基本组成为: 一个用作引导的可用设施(工具); 一个具备内存管理,进程
7、管理和定时器服务的LINUX微内核; 一个初始进程; 硬件的驱动程序; 一个或几个应用进程以提供必要的应用功效。1.1.3 嵌入式LINUX的应用嵌入式系统的涵盖面是非常广泛的,其中,家电市场包括机顶盒、数字电视、可视电话、家庭网络等信息家电;工业市场包括工业控制设备、仪器;商用市场包括掌上电脑、瘦客户机、POS终端等;通信市场包括WAP手机、无线PDA等。目前被广泛看好的是信息家电市场,国内有很多开发厂商正加大投入、开发和研制新的产品,嵌入式LINUX将是他们首选的操作系统。2.1 Linux 的安装安装Linux有二种方式:硬盘直接安装和虚拟机安装。一、 硬盘直接安装把硬盘中的一部分空间开
8、辟出来,专门用来安装Linux,通过制作一个双启动菜单,在开机时由用户选择进入Windows系统或者Linux系统。二、 虚拟机安装在Windows系统中安装一个专门的“虚拟机”软件,这个软件负责在Windows系统之上运行另一个操作系统,可以是另一个Windows,或者是Linux等任何操作系统。常用的虚拟机软件有VMware和Virtual PC,运行时相当于生成了一台没有安装任何软件的“祼机”,这台“祼机”可以看作是一台独立的、功能完全的计算机,成为虚拟机,它与安装“虚拟机”软件的计算机没有任何耦合关系,运行虚拟机的真实的PC称为宿主机,甚至能够把虚拟机和宿主机搭建成一个网络。通常,可以
9、利用“虚拟机”软件来安装体验新的操作系统,面对原有的Windows系统没有任何影响,当不需要这个虚拟机时,只要从硬盘上把虚拟机的镜像文件删掉即可。安装好VMware软件后,首先要建立一个新的虚拟机,为这个新的虚拟机指定将来要安装的操作系统、规划内存和硬盘容量、设置网络连接方式、指定虚拟机文件的存放路径等,其中比较重要的是VMware网络配置,共4种方式。如果用户拥有多个IP,适合选择侨接方式,给虚拟机分配一个对立的IP,此虚拟机就相当于网络上的一台独立计算机,与宿主机在网络上的物理地位相同;如果只有一个IP可用,则可选择网络地址转换(Network Address Translation,NA
10、T)方式,虚拟机和宿主机共用一个IP;Host only方式可以使虚拟机和宿主机二者构成一个网络,实现数据传输;custom方式不大常用,在此不作介绍。虚拟机软件配置完成后,可以接着利用物理光驱或者光盘镜像为这个虚拟机安装一个Linux操作系统。第二章 Bootloader2.1 Bootloader的概念和作用Bootloader是嵌入式系统的引导加载程序,它是系统上电后运行的第一段程序,其作用类似于 PC 机上的 BIOS。在完成对系统的初始化任务之后,它会将非易失性存储器(通常是 Flash或 DOC 等)中的Linux 内核拷贝到 RAM 中去,然后跳转到内核的第一条指令处继续执行,从
11、而启动 Linux 内核。由此可见,bootloader 和 Linux 内核有着密不可分的联系,要想清楚的了解 Linux内核的启动过程,我们必须先得认识 bootloader的执行过程,这样才能对嵌入式系统的整个启过程有清晰的掌握。2.2 Bootloader的执行过程不同的处理器上电或复位后执行的第一条指令地址并不相同,对于 ARM 处理器来说,该地址为 0x00000000。对于一般的嵌入式系统,通常把 Flash 等非易失性存储器映射到这个地址处,而 bootloader就位于该存储器的最前端,所以系统上电或复位后执行的第一段程序便是 bootloader。而因为存储 bootloa
12、der的存储器不同,bootloader的执行过程也并不相同。2.3 bootloader必须具备的功能1) 初始化 RAM 因为 Linux 内核一般都会在 RAM 中运行,所以在调用 Linux 内核之前 bootloader 必须设置和初始化 RAM,为调用 Linux内核做好准备。初始化 RAM 的任务包括设置 CPU 的控制寄存器参数,以便能正常使用 RAM 以及检测RAM 大小等。 2) 初始化串口串口在 Linux 的启动过程中有着非常重要的作用,它是 Linux内核和用户交互的方式之一。Linux 在启动过程中可以将信息通过串口输出,这样便可清楚的了解 Linux 的启动过程。
13、虽然它并不是 bootloader 必须要完成的工作,但是通过串口输出信息是调试 bootloader 和Linux 内核的强有力的工具,所以一般的 bootloader 都会在执行过程中初始化一个串口做为调试端口。 3) 检测处理器类型 Bootloader在调用 Linux内核前必须检测系统的处理器类型,并将其保存到某个常量中提供给 Linux 内核。Linux 内核在启动过程中会根据该处理器类型调用相应的初始化程序。 4) 设置 Linux启动参数 Bootloader在执行过程中必须设置和初始化 Linux 的内核启动参数。目前传递启动参数主要采用两种方式:即通过 struct par
14、am_struct 和struct tag(标记列表,tagged list)两种结构传递。5) 调用 Linux内核映像 Bootloader完成的最后一项工作便是调用 Linux内核。如果 Linux 内核存放在 Flash 中,并且可直接在上面运行(这里的 Flash 指 Nor Flash),那么可直接跳转到内核中去执行。但由于在 Flash 中执行代码会有种种限制,而且速度也远不及 RAM 快,所以一般的嵌入式系统都是将 Linux内核拷贝到 RAM 中,然后跳转到 RAM 中去执行。不论哪种情况,在跳到 Linux 内核执行之前 CUP的寄存器必须满足以下条件:r00,r1处理器类
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 启动 过程 分析 dns 服务器 毕业论文 设计
限制150内