chapter5嵌入式操作系统Linux概述总结课件

上传人:文**** 文档编号:240607155 上传时间:2024-04-24 格式:PPTX 页数:56 大小:990.03KB
收藏 版权申诉 举报 下载
chapter5嵌入式操作系统Linux概述总结课件_第1页
第1页 / 共56页
chapter5嵌入式操作系统Linux概述总结课件_第2页
第2页 / 共56页
chapter5嵌入式操作系统Linux概述总结课件_第3页
第3页 / 共56页
资源描述:

《chapter5嵌入式操作系统Linux概述总结课件》由会员分享,可在线阅读,更多相关《chapter5嵌入式操作系统Linux概述总结课件(56页珍藏版)》请在装配图网上搜索。

1、第第5章章 嵌入式嵌入式Linux操作系统概述操作系统概述内容摘要内容摘要lLinux的诞生与发展lLinux的内核结构lLinux存储管理lLinux进程管理lLinux内核启动与初始化进程Linux的诞生与发展的诞生与发展lLinux的诞生与版本历史Linux的诞生Linux的版本发展历史Linux的应用领域lLinux在嵌入式领域的延伸Linux嵌入式系统开发平台嵌入式Linux系统开发模式嵌入式Linux面临的挑战嵌入式Linux的发展及应用前景Linux的诞生的诞生UNIX 操作系统是美国贝尔实验室于1969年夏在DEC PDP-7 小型计算机上开发的一个分时操作系统 Linux 操

2、作系统的诞生、发展和成长过程始终依赖着以下五个重要支柱:MINIX 系统是由 Andrew S.Tanenbaum(AST)1987 年开发的,主要用于学生学习操作系统原理GNU 计划旨在开发一个类似 Unix、并且是自由软件的完整操作系统:GNU 系统。POSIX可移植操作系统接口标准是由 IEEE 开发的,由 ISO/IEC 标准化的一簇标准。该标准是基于现有 的 UNIX 实践和经验,描述了操作系统的调用服务 接口,用于保证编制的应用程序可以在源代码一级 上在多种操作系统上移植运行。如果没有 Internet 网,那么 Linux 绝对不可 能发展到现在的水平。Linux的版本发展历史的

3、版本发展历史l从 Linux 诞生开始,Linux 内核就从来没有停止过升级,从0.02 版本到 1999年具有里程碑意义的2.2 版本,一直到我们现在看到的 2.6 版本。Linux 内核版本有两种:稳定版和开发版Linux内核的命名机制:num.num.num。第一个数字是主版本号第二个数字是次版本号第三个数字是修订版本号从未停止过升级Linux的应用领域的应用领域Linux服务器桌面系统嵌入式应用Linux嵌入式系统开发平台嵌入式系统开发平台系统软件平台系统硬件平台 嵌入式 Linux 系统需要下面三个基本元素:系统引导工具用于机器加电后的系统定位引导 Linux 微内核内存管理、程序管

4、理 初始化进程 但如果要它成为完整的操作系统并且继续保持小型化,还必须加上硬件驱动程序、硬件接口程序和应用程序组。选定硬件平台前,首先要确定系统的应用功能和所需要的速度,并制定好外接设备和接口标准。这样才能准确地定位所需要的硬件方案,得到性价比最高的系统。应用功能速度1外接设备接口标准2=性价比嵌入式嵌入式Linux开发模式开发模式建立交叉开发环境交叉编译和链接交叉调试系统测试嵌入式嵌入式Linux开发模式开发模式建立交叉开发环境建立交叉开发环境商商业类型型ARM Software Development ToolkitWindRiver TornadoMicrosoft Embedded交叉

5、开发环境GNU工具工具链交叉开发环境是指编译、链接和调试嵌入式应用软件的环境。它与运行嵌入式应用软件的环境有所不同,通常采用宿主机/目标机模式常用的交叉开发环境主要有开放和商业两种类型。开放的交叉开发环境的典型代表是GNU工具链开放类型嵌入式嵌入式Linux开发模式开发模式交叉编译和链接交叉编译和链接l在完成嵌入式软件的编码之后,就是进行编译和链接,以生成可执行代码。l由于开发过程大多是在Intel 公司x86 系列CPU 的通用计算机上进行的,而目标环境的处理器芯片却大多为ARM、MIPS、PowerPC、DragonBall 等系列的微处理器l这就要求在建立好的交叉开发环境中进行交叉编译和

6、链接。建立交叉开发环境建立交叉开发环境交叉编译和链接交叉编译和链接交叉调试交叉调试系统测试系统测试嵌入式嵌入式Linux开发模式开发模式交叉调试交叉调试硬件调试:硬件调试:如果不采用在线仿真器,可以让 CPU 直接在其内部实现调试功能,并通过在开发板上引出的调试端口,发送调试命令和接收调试信息,完成调试过程。软件调试:软件调试:在 Linux 内核中设置一个调试桩用作调试过程中和宿主机之间的通信服务器。然后在宿主机中通过调试器的串口与调试桩进行通信应用软件的调试:应用软件的调试:嵌入式上层应用软件的调试可以使用本地调试和远程调试两种方法。嵌入式嵌入式 Linux交叉调试交叉调试天嵌入式嵌入式L

7、inux开发模式开发模式系统测试系统测试 测试技术指的是软件测试的专门途径,以及能够更加有效地运用这些途径的特定方法。在嵌入式软件测试中,常常要在基于目标机的测试和基于宿主机的测试之间做出折衷。基于目标机的测试需要消耗较多的时间和经费,而基于宿主机的测试虽然代价较小,毕竟是在仿真环境中进行的。嵌入式软件测试中经常用到的测试工具:内存分析工具性能分析工具覆盖分析工具缺陷跟踪工具嵌入式嵌入式Linux面临的挑战面临的挑战Linux的实时扩充性改变Linux内核体系结构完善Linux的集成开发环境123Solution 扩展 Linux 的实时 性能n向外扩展n向上扩展Linux 的内核 体系采用的

8、是 Monolithic内核体系结构 Microkernel一个完整的嵌入式系统的集成开发环境一 般需要提供的工具是:n 编译/连接器n 内核调试/跟踪器n 集成图形界面开发平台 编辑器 调试器 软件仿真器 监视器整体集成开发环境还有待提高和完善嵌入式嵌入式Linux的发展及应用前景的发展及应用前景l由于 Linux 具有对各种设备的广泛支持性,因此,能方便地应用于机顶盒、IA 设备、PDA、掌上电脑、WAP 手机、寻呼机、车载盒以及工业控制等智能信息产品中。l与 PC 相比,手持设备、IA 设备以及信息家电的市场容量要高得多,而 Linux 嵌入式系统的强大的生命力和利用价值,使越来越多的企

9、业和高校表现出对它极大的研发热情。lLinux 嵌入式操作系统所具有的技术优势和独特的开发模式给业界以新异,有理由相信,它能成为Internet 时代嵌入式操作系统中的最强音。内容摘要内容摘要lLinux的诞生与发展lLinux的内核结构lLinux存储管理lLinux进程管理lLinux内核启动与初始化进程Linux内核结构内核结构lLinux内核概述Linux内核特点Linux2.6内核新特性Linux内核的组成l存储与进程管理存储管理进程调度l内核源代码目录结构Linux内核特点内核特点Linux内核编程容易可移植性可量测性模块化稳定性和可靠性安全性标准化和互用性完善的网络支持Linux

10、 内核既能支持 32 位体系结构 又能支持 64 位体系结构。Linux 内核全部源代码是遵守 GPL 软件许可的免费软件开发者可以免费得到社区的贡献、支持、检查代码和测试。驱动程 序可以免费发布给其他人,可以 静态编译进内核。以源码形式发布驱动程序,可以 不必为每一个内核版本和补丁版 本都提供二进制的程序Linux2.6内核新特性内核新特性Linux2.4Linux2.6新的调度器内核抢占新的线程模型文件系统声音总线电源管理网络用户界面层统一的设备模型 Linux内核的组成内核的组成进程调度程序(进程调度程序(SCHED)负责控制进程访CPU。保证进程能够公平地访问 CPU,同时保证内核可

11、以准时执行一些必需的硬件操作;内核管理程序(内核管理程序(MM)使多个进程可以安全地共 享机器的主存系统,并支持虚拟内存;虚拟文件系统(虚拟文件系统(VFS)通过提供一个所有设备 的公共文件接口,VFS 抽象了不同硬件设备的细 节。此外,VFS 支持与其他操作系统兼容的不同 的文件系统格式;网络接口(网络接口(NET)提供对许多建网标准和网络硬 件的访问;进程间通信(进程间通信(IPC)子系统为进程与进程之间的 通信提供了一些机制。这 5 部分之间是相互依赖的关系存储管理存储管理内存管理任务n屏蔽各种硬件的内存结构 并向上层返回统一的访问 界面页式存储管理机制n每个页面的大小随处理机芯片而异n

12、支持虚拟内存n 硬件无关部分n进程的映射和逻辑内存的对换n 硬件相关部分n为内存管理硬件提供了虚拟接口分类页表n每个进程保留一张页表,用于将本进程 空间中的虚拟地址变换成物理地址。进程调度进程调度当需要选择下一个进程运行时,由调度程序选择最值得运行的进程,依据每个进程的task_struct结构policypriorityrt-prioritycounter policy 是进程的调度策略是进程的调度策略 两类两类 Linux 进程:普通进程与实时进程进程:普通进程与实时进程 实时进程的优先级高于其他进程实时进程的优先级高于其他进程 priority 是调度管理器分配给进程的优先级是调度管理器

13、分配给进程的优先级 是进程允许运行的时间是进程允许运行的时间 rt_priority 用于实时进程间的选择用于实时进程间的选择 调度器使用这个域给每个实时进程一个相对优先级调度器使用这个域给每个实时进程一个相对优先级 可以通过系统调用来改变实时进程的优先级。可以通过系统调用来改变实时进程的优先级。l counter 是进程剩余的时间片是进程剩余的时间片内核源代码目录结构内核源代码目录结构documentationscriptslibnetfskernelipcdriversmminitincludearch内核源代码目录结构arch 目录包含了体系结构相关部分的内核代码include 目录包括

14、编译核心所需要的大部分头文件init 目录包含核心的初始化代码mm 此目录包含了所有的内存管理代码drivers 目录中是系统中所有的设备驱动程序ipc 此目录包含了 Linux 操作系统核心的进程间通讯代码这部分内容包括进程调度及创建和撤销进程的代码该目录下列出了 Linux 支持的所有文件系统这个目录是核心的网络部分代码lib 目录包含了核心的库代码scripts 目录下没有代码,包含用于配置核心的脚本文件documentation 目录是对每个目录作用的具体说明,起参考作用内容摘要内容摘要lLinux的诞生与发展lLinux的内核结构lLinux存储管理lLinux进程管理lLinux内

15、核启动与初始化进程Linux 存储管理存储管理 l 进程虚存空间的管理 l 虚存空间的映射和虚存区域的建立l Linux 的分页式存储管理 l 物理内存空间的管理l 内存的分配与释放 内存分配与释放的数据结构 内存分配函数 kmalloc()虚拟内存的申请和释放 进程虚存空间的管理进程虚存空间的管理n每一个进程,用一个 mm-struct 结构 体来定义它的虚存用户区。mm_struct 结构体首地址在任务结 构体 task-struct 成员项 mm 中:struct mm-struct*mm。Linux 的存储管理主要是管理进程虚拟内存的用户区nLinux 操作系统采用了请求式分页存储 管

16、理方法。系统为每个进程提供4GB 的虚拟内存空间。各个进程的虚拟内 存彼此独立。n进程运行时能访问的存储空间只是 它的虚拟内存空间。对当前该进程 而言只有属于它的虚拟内存是可见 的。mm_struct 结构定义在/include/linux/schedul.h 中进程虚存空间的管理进程虚存空间的管理struct mm_struct int count;pgd_t*pgd;unsigned long context;unsigned long start_code,end_code,start_data,end_data;unsigned long start_brk,brk,start_sta

17、ck,start_mmap;unsigned long arg_start,arg_end,env_start,env_end;unsigned long rss,total_vm,locked_vm;unsigned long def_flags;struct vm_area_struct*mmap;struct vm_area_struct*mmap_avl;struct semaphore mmap_sem;mm_struct 结构定义在/include/linux/schedul.h 中进程虚存空间的管理进程虚存空间的管理struct vm_area_struct struct mm_

18、struct*vm_mm;unsigned long vm_start;unsigned long vm_end;pgprot_t vm_page_prot;unsigned short vm_flags;short vm_avl_height;struct vm_area_struct*vm_avl_left;struct vm_area_struct*vm_avl_right;struct vm_area_struct*vm_next;struct vm_area_struct*vm_next_share;struct vm_area_struct*vm_prev_share;struct

19、 vm_operations_struct*vm_ops;unsigned long vm_offset;struct inode*vm_inode;unsigned long vm_pte;定义在/include/linux/mm.h 中每个虚拟区域用一个 vm-area-struct 结构体进行描述虚存空间的映射和虚存区域的建立虚存空间的映射和虚存区域的建立l虚拟存储技术用户的代码和数据(可执行映像)等并不是完整地装入物理内存,而是全部映射到虚拟内存空间。在进程需要访问内存时,在虚拟内存中“找到”要访问的程序代码和数据等lunsigned long do_mmap(struct file*

20、file,unsigned long addr,unsigned long len,unsigned long prot,unsigned long flags,unsigned long off)虚拟存储技术Linux 使用 do_mmap()函数完成可执行映像向虚存区域的映射Linux 的分页式存储管理的分页式存储管理页表是从线性地址向物理地址转换中不可缺少的数据结构,而且 它使用的频率较高。页表必须存放在物理存储器中。Linux 采用了三级页表结构,以利于节省物理内存。三级分页 管理把虚拟地址分成四个位段:页目录、页中间目录、页表、页内编址。系统设置三级页表系列n页目录 PGDn PaG

21、e Directoryn页中间目录 PMDn Page Middle Directoryn页表 PTEn Page TablE物理内存空间的管理物理内存空间的管理物理内存的页面管理 空闲页面的管理Buddy 算法 nLinux 对物理内存空间按 照分页方式进行管理,把 物理内存划分成大小相同 的物理页面。nLinux设置了一个 mem_map数组管理内存 页面。mem_map在系统 初始化时由free_area_init()函数创建,它存放在 物理内存的底部(低地址 部分)n内存空闲空间的管理采用 Buddy 算法nBuddy 算法是把内存中的所有页 面按照 2n划分,其中 n=05,对 一个

22、内存空间按 1 个页面、2 个页 面、4个页面、8 个页面、16 个页 面、32 个页面进行六次划分。n对于每种页面块按前后顺序两两结 合成一对Buddy“伙伴”。内存分配与释放的数据结构内存分配与释放的数据结构uLinux 中用于内存分配和释放的函数主要是 kmalloc()和 kfree(),它们用于分配和释放连续的内存空间blocksize表表page_descriptorsizes表表block_headern kmalloc()和()和 kfree()分配和释放内存是()分配和释放内存是 以块(以块(block)为单位进行的)为单位进行的n可以分配的空闲块的大小记录在可以分配的空闲块

23、的大小记录在 blocksize 表中,它是一个静态数组表中,它是一个静态数组n 加在页面块前部的信息头称为页描述符加在页面块前部的信息头称为页描述符n Linux 设置了设置了 sizes数组,对页面块进行描述数组,对页面块进行描述n 数组元素是数组元素是 size_descriptor 结构体结构体nblocksize与与 sizes元素数目相同,它们一一对应元素数目相同,它们一一对应n 由由 sizes管理的各个页面块中每个块的头部还有一管理的各个页面块中每个块的头部还有一 个对该块进行描述的块头个对该块进行描述的块头 block_header内存分配函数内存分配函数 kmalloc()

24、()void*kmalloc(size_t size,int priority)void kfree(void*_ptr)参数 size 是申请分配内存的大小priority 是申请优先级ptr 是 kmalloc分配的内存空间的首地址 GFP_KERNELGFP_ATOMIC GPF_DMA虚拟内存的申请和释放虚拟内存的申请和释放n在申请和释放较小且连续的内存空间时,使用 kmalloc()和kfree()n申请和释放较大的内存空间时,使用 vmalloc()和vfree()void*vmalloc(unsigned long size)void vfree(void*addr)用法和kma

25、lloc()和kfree()一样n由 vmalloc()申请的内 存空间在虚拟内存中是连 续的,它们映射到在物理 内存时,可以使用不连续 的物理页面,而且仅把当 前访问的部分放在物理页 面中n由 vmalloc()分配的虚 存空间称为虚拟内存块(虚存块)内容摘要内容摘要lLinux的诞生与发展lLinux的内核结构lLinux存储管理lLinux进程管理lLinux内核启动与初始化进程Linux进程管理进程管理lLinux进程管理介绍l进程与作业l启动进程手工启动调度启动进程的挂起及恢复 l进程管理Linux进程管理介绍进程管理介绍Linux 是一个多用户多任务的操作系统。指多个用户可以在同一

26、时间使用计算机系统多任务是指 Linux 可以同时执行几个任务n操作系统监控着一个等待执 行的任务队列,这些任务包 括u用户作业u操作系统任务u邮件u打印作业n操作系统根据每个任务的优 先级为每个任务分配合适的 时间片进程与作业进程与作业uLinux 系统上所有运行的东西都有可以看成进程u在自身的虚拟地址空间运行的一个单独的程序随时都可能发生变化的使用系统运行资源的动态的+程序+进程进程和作业的概念也有区别:u一个正在执行的进程称为一个作业u作业可以包含一个或多个进程,尤其是当使用了管道和重定向命令作业控制指的是控制正在运行的进程的行为。手工启动手工启动u启动一个进程有两个主要途径:l手工启动

27、l调度启动u由用户输入命令,直接启动一个进程便是手工启动。u手工启动进程又分为前台启动和后台启动u前台启动是手工启动 一个进程的最常用的 方式。一般用户键入 一个命令“ls l”,这就 已经启动了一个进程,而且是一个前台的进程u直接从后台手工启动 一个进程用得比较少一 些,除非是该进程甚为 耗时,且用户也不急着 需要结果的时候。调度启动调度启动u有时候需要对系统进行一些比较费时而且占用资源的维护工作,这些工作 适合在深夜进行,要使用自动启动进程的功能,就需要掌握以下几个启动 命令:at 命令cron 命令crontab 命令u用户使用 at 命令在指定时刻执行指定的命令序列。也就是说,该命令至

28、少需要指定一个命令、一个执 行时间才可以正常运行。u可以不断重复一些命令ucron 命令是不应该手工启动的ucrontab 命令用于安装、删除或者列出用于驱动 cron 后台进程的表格。u每个用户都可以有自己的 crontab 文件。进程的挂起与恢复进程的挂起与恢复u作业控制允许将进程挂起并可以在需要时恢复进程的 运行,被挂起的作业恢复后将从中止处开始继续运行。u只要在键盘上按【Ctrl+Z】,即可挂起当前的前台作 业。u使用 jobs 命令可以显示 Shell 的作业清单,包括具体 的作业、作业号以及作业当前所处的状态。u恢复进程执行时,有两种选择:u用 fg 命令将挂起的作业放回到前台执行

29、;u用 bg 命令将挂起的作业放到后台执行。进程管理进程管理 由于 Linux 是个多用户系统,同时也是一个多进程系统,经常需要对这些进程进行一些调配和管理,就要知道当前的进程情况。who命令w命令ps命令top命令kill命令u该命令主要用于查看当前线上的用户情况u可以显示出当前用户当前正在进行的工作u是非常强大的进程查看命令,可带多个选项utop 命令和 ps 命令的基本作用是相同的u该命令可以终止后台进程nohup命令u使进程在用户退出后仍继续执行内容摘要内容摘要lLinux的诞生与发展lLinux的内核结构lLinux存储管理lLinux进程管理lLinux内核启动与初始化进程Linu

30、x 内核启动和初始化进程内核启动和初始化进程 l开机自检l核心引导阶段bootsect阶段setup阶段head.S阶段main.c阶段linit 进程和 inittab 引导脚本 确定用户登录模式执行内容/etc/rc.d/rc.sysinit启动内核的外挂模块及各运行级的脚本开机自检开机自检在刚开机时,根据X86CUP的特性,代码段寄存器的值为全1,指令 计数器的值为全0,即CS=FFFF、IP=0000。这时CPU根据CS和IP 的值执行FFFF0H处的指令,FFFF0H处的指 令一般总是一个JMP指令,这个地址通常是ROM BIOS 的入口地址。接着,ROM BIOS 进行开机自检,如

31、检查内存,键盘等。在自检过 程中,ROM BIOS会在上位内存中进行扫描,看看是否存在合法的 设备控制卡ROM BIOS(如:SCSI卡上的ROM),如果有,就执行 其中的一些初始化代码。最后,ROM BIOS 读取磁盘上的第一个扇区并将这个扇区的内存装 入内存。核心引导阶段核心引导阶段u在Grub或者Lilo等引导程序成功完成引导Linux系统的任务之后,Linux就可从它们手中接管了CPU的控制权。在这个过程中主要用到该目录下的这几个文件:bootsect.S、setup.S以及compressed目录下head.S等。u首先要介绍一下,Linux的内核通常是压缩过后的,包括如上述提到的那

32、几个重要的汇编程序,它们都是在压缩内核vmlinuz中的。因为Linux中提供的内核包含了众多驱动和功能,因而比较大,所以采用压缩内核可以节省大量的空间。核心引导阶段核心引导阶段bootsect阶段阶段u当grub读入vmlinuz后,会根据bootsect,把它自身和setup程序段读到不大于0 x90000开始的内存里,然后grub会跳过bootsect那512bytes的程序段,直接运行setup里的第一条指令。就是说bzImage里bootsect的程序没有再被执行了,而bootsect.S在完成了指令搬移之后就退出了。之后执行权就转到了setup.S的程序中。内核启动过程核心引导阶段

33、核心引导阶段setup阶段阶段usetup.S的主要功能就是利用ROM BIOS中断读取机器系统数据,并将系统参数保存到0 x900000 x901FF开始的内存中位置。u此外,setup.S还将video.S中的代码包含进来,检测和设置显示器和显示模式。u最后,它还会设置CPU的控制寄存器CR0,从而进入32位保护模式运行,并跳转到绝对地址为0 x100000,同时执行startup_32。CPU0 x100000startup_32核心引导阶段核心引导阶段head.S阶段阶段u当运行到head.S时,系统已经运行在保护模式,而head.S完 成了一个重要任务就是将内核解压。就如本节前面提到

34、的,内核是通过压缩的方式放在内存中的,head.S通过调用 misc.c中定义的decompress_kernel()函数,将内核vmlinuz解 压到0X100000的。u接下来head.S程序完成寄存器、分页表的初始化工作,但要 注意的是,这个head.S程序与完成解压缩工作的head.S程序 是不同的,它在源代码中的位置是arch/i386/kernel/head.S程 序与完成解压缩工作的head.S程序是不同的u在完成了初始化之后,head.S就跳转到start_kernel()函数中 去了。核心引导阶段核心引导阶段main.c阶段阶段ustart_kernel()是“init/ma

35、in.c”中的定义的函数,start_kernel()调用了一系 列初始化函数,进行内核的初始化工作。要注意的是,在初始化之前系 统中断是被屏蔽的,另外内核也处于被锁定状态,以保证只有一个CPU 用于Linux系统的启动。在start_kernel()的最后,调用了init()函数u 输出 Linux 版本信息u 设置与体系结构相关的环境u 页表结构初始化u 使用“arch/alpha/kernel/entry.S”中 的入口点设置系统自陷入口u 使用 alpha_mv 结构和 entry.S 入口初 始化系统 IRQprintk(linux_banner)setup_arch()paging

36、_init()trap_init()Init_IRQ()init 进程和进程和 inittab 引导脚本引导脚本uinit 进程是系统所有进程的起点,内核在完成内核引导以后,即 在本线程(进程)空间内加载 init程序,它的进程号是 1。uinittab 是以行为单位的描述性(非执行性)文本,每一个指令行 都具有以下格式:id:runlevel:action:process。入口标识符运行级别运行级别具体的执行程序uid 一般要求 4 个字符以内,对于 getty 或其他 login 程序项,要求 id 与 tty 的编号相同,否则 getty程序将不能正常工作。urunlevel 是 ini

37、t 所处于的运行级别的标识,一般使用 06 以及 S 或 s。uinitdefault 是一个特殊的 action 值,用于标识缺省的启动级别 sysinit、boot、bootwait 等 action 将在系统启动时无条件运行,确定用户登录模式确定用户登录模式u在“/etc/inittab”中列出了登录模式,其中的单人维护模式是类似于 Windows中的“安全模式”,在这种情况下,系统不加载复杂的模式 从而使系统能够正常启动。其中本系统中默认的为5,也就是X-Windows多用户模式。单人维护模式多用户无网络模式文字界面多用户模式X-Windows多用户模式登录模式?执行内容执行内容/et

38、c/rc.d/rc.sysiniturc.sysinit 中最常见的动作就是:u激活交换分区u检查磁盘u加载硬件模块u如果没有其他 boot、bootwait 动作,u运行级别3 /etc/rc.d/rc 将会得到执行u命令行数3 /etc/rc.d/rc3.d/目录下的文件urc3.d 下的文件都是指向/etc/rc.d/init.d/目录下各个 Shell 脚本的符号连接。getty 和和 loginumingetty程序能打开终端,设置模式。同时它会显示一个文本登 录界面,这个界面就是经常看到的登录界面,在这个登录界面中 会提示用户名,而用户输入的用户名将作为参数传给 login 程序

39、来验证用户的身份。ulogin 程序在 getty 的同一个进程空间中运行,接受 getty 传来的 用户名参数作为登录的用户名。u当用户登录通过了这些检查后,login 将搜索/etc/passwd 文件 用于匹配密码、设置主目录和加载 shellu在设置好 shell 的 uid、gid,以及 TERM,PATH 等环境变量以 后,进程加载 shell,login 的任务也就完成了mingettyusername:passwd:login等待用户登录等待用户登录u系统初始化完毕后,INIT 为每一个虚拟控制台和终端启动一个GETTY进程。GETTY进程负责接受和检验用户的登录要求。u至此,

40、LINUX系统的启动工作全部完成。不同核心版本的LINUX 的启动过程有一定的差异,不同发行版本的LINUX 的启动也可能稍有不同,但基本过程是类似的。另外,在“BOOT:”后,利用“LINUX SINGLE”命令可以迫使LINUX进入单用户模式,除不要求用户登录和不启动虚拟终端以外,启动过程的其它部分也基本类似。p经常不断地学习,你就什么都知道。你知道得越多,你就越有力量pStudyConstantly,AndYouWillKnowEverything.TheMoreYouKnow,TheMorePowerfulYouWillBe写在最后谢谢大家荣幸这一路,与你同行ItS An Honor To Walk With You All The Way演讲人:XXXXXX 时 间:XX年XX月XX日

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!