文档详情

第2章 嵌入式Linux内核文件系统与存储(模板).ppt

发布:2017-11-16约1.65万字共65页下载文档
文本预览下载声明
- 操作系统包括五个方面的管理功能:进程与处理机管理、存储管理、设备管理、文件管理与用户管理。 操作系统具有四个共同特征:并发性(concurrence)、共享性(sharing)、虚拟性(virtual)和不确定性(asynchronism)。 -- 并发是指两个或者多个事件在同一时间间隔之内发生; -- 共享指系统中的资源能够供多个用户(用户程序)共同使用; -- 虚拟指通过某种技术把一个物理上的实体映射为若干个逻辑上的对应; -- 不确定性指内存中的多个进程均按照各自独立的方式执行,其执行速度由于受到操作系统的自动控制,因此是无法预知的。 本章主要介绍了三个部分,分别是嵌入式linux内核、引导系统介绍和文件系统等相关内容。在内核部分详细介绍了Linux操作系统内核定制、裁剪和添加;引导部分则介绍了嵌入式BootLoader技术;最后的文件系统部分详细介绍了文件系统的构建。章节的最后部分将构建Floppylinux作为一个综合应用实验,试图让读者更加深入理解上述3块内容。 1. 请简述操作系统的结构。 2. 请简述操作系统的特点并举例说明。 3. 请列举出Linux内核源码的所有文件夹,并且说明每个文件夹的意义。 4. 请列举出Linux有关内核镜像的三种编译方法,并陈述每个方法的特点。 5. 请简述Linux引导系统过的两种操作模式并分别说明。 6. 请列举出根文件系统的所有目录,并且分别说明每个文件夹的含义。 7. 请阐述Linux内核编译的选项和BusyBox编译选项之间的区别。 8. 请完成本章的综合实验FloppyLinux。 9. 请尝试完成基于U盘的Linux系统。 Linux内核启动简析(汇编部分) 第一段代码位于 arch/arm/boot/compressed/start.S: start: …………………………………… 1: mov r7, r1 @保存machine id mov r8, r2 @保存参数地址 …………………………………… mrs r2, cpsr @确定不是在USER模式下 tst r2, #3 bne not_angel …………………………………… not_angel: mrs r2, cpsr @强制转换到SVC模式 orr r2, r2, #0xc0 msr cpsr_c, r2 Linux内核启动简析(汇编部分) Bss段清零: not_relocated: mov r0, #0 1: str r0, [r2], #4 @R2,BSS开始 str r0, [r2], #4 str r0, [r2], #4 str r0, [r2], #4 cmp r2, r3 @R3,BSS结束 blo 1b Linux内核启动简析(汇编部分) 跳转到C语言实现的解压内核代码: . mov r5, r2 246 mov r0, r5 mov r3, r7 bl decompress_kernel 实现代码在arch/arm/boot/compressed/misc.c中 Linux内核启动简析(汇编部分) 解压代码: ulg decompress_kernel(ulg output_start, ulg free_mem_ptr_p, ulg free_mem_ptr_end_p, int arch_id) { output_data = (uch *)output_start; free_mem_ptr = free_mem_ptr_p; free_mem_ptr_end = free_mem_ptr_end_p; __machine_arch_type = arch_id; arch_decomp_setup(); makecrc(); putstr(Uncompressing Linux...); gunzip(); putstr( done, booting the kernel.\n); return output_ptr; } Linux内核启动简析(汇编部分) call_kernel: bl cache_clean_flush @清除cache bl cache_off @关闭cache mov r0, #0 mov r1, r7 @machine ID mov r2, r8 @参数地址 mov pc, r4 跳转到arch/arm/kernel/head.S中 Linux内核启动简析(汇编部分) arch/arm/kernel/h
显示全部
相似文档