61嵌入式inx操作系统的组成与版本.ppt

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
61嵌入式inx操作系统的组成与版本

* 消息队列相关函数 创建一个新消息或访问存在的消息队列 int msgget(key_t key, int oflag); 放置消息于队列中 Int msgsnd(int msqid,const void *ptr,size_t length, int flag) 从消息队列中读出一个消息 msgrcv(int msqid,void *ptr,size_t length,long type,int flag) 从队列中删除消息 int msgctl(int msqid, int cmd, struct msqid_ds *buff) * 内存管理 (Memory Management ) 允许多个进程安全的共享主内存区域。 Linux的内存管理支持虚拟内存,即在计算机中运行的程序,其代码,数据,堆栈的总量可以超过实际内存的大小,操作系统只是把当前使用的程序块保留在内存中,其余的程序块则保留在磁盘中。必要时,操作系统负责在磁盘和内存间交换程序块。 内存管理从逻辑上分为硬件无关部分和硬件有关部分。硬件无关部分提供了进程的映射和逻辑内存的对换;硬件相关的部分为内存管理硬件提供了虚拟接口。 * 虚拟文件系统(Virtual File System,VFS)隐藏了各种硬件的具体细节,为所有的设备提供了统一的接口,VFS提供了多达数十种不同的文件系统。虚拟文件系统可以分为逻辑文件系统和设备驱动程序。逻辑文件系统指Linux所支持的文件系统,如ext2,fat等,设备驱动程序指为每一种硬件控制器所编写的设备驱动程序模块。 网络接口(NET)提供了对各种网络标准的存取和各种网络硬件的支持。网络接口可分为网络协议和网络驱动程序。网络协议部分负责实现每一种可能的网络传输协议。网络设备驱动程序负责与硬件设备通讯,每一种可能的硬件设备都有相应的设备驱动程序。 * 内核代码结构 Linux的源代码一般在/usr/src/Linux-*.*.*(*.*.*代表内核版本,如2.4.20) 代码分布如下 /arch:包含所有硬件结构特定的内核代码。如i386、ARM等 * /drivers:包含内核中所有的设备驱动程序。如USB、串口等; /fs:包含所有的文件系统代码。如jffs2、ext2、ntfs等; /include:包含建立内核代码时所需的大部分库文件。如asm-arm是arm平台所需的库文件; /init:包含内核的初始化代码,内核从此处工作; /ipc:包含了核心进程间的通讯代码; /kernel:包含了内核管理的核心代码; /mm:包含了所有的内存管理代码; /net:包含了核心的网络部分代码,如:ipv4、ipv6等; * * Documentation 保存着详细的说明文档 Scripts 主要在配置内核时用到,存放了配置内核的一些脚本文件,比如make menuconfig命令等。 * Linux启动 pc机上linux的启动 在x86体系中,cpu上电后在存储位置0xffff0处开始执行程序代码,这个地址通常是ROM-BIOS中的地址。 BIOS 硬件检测,资源分配。 将MBR中的boot loader加载到RAM中,然后将控制权交给RAM内的boot loader。 MBR :Main Boot Record 主引导记录 位于MBR的boot loader 将内核映像从硬盘中加载到RAM中,然后跳到内核的入口点,即开始启动操作系统。 常用的如:lilo grub等 LILO(LInux LOader)和 GNU GRUB(GRand Unified Boot loader). * BIOS GRUB/LILO Kernel boot start_kernel () init rc.sysinit rc mingetty login() shell 进入linux操作系统中 完成外设及其驱动程序的加载和初始化 激活交换分区,检查磁盘,加载硬件模块 不同的启动参数,实现不同的启动设置 用户登录 power 执行配置文件 You can use LINUX * 启动参数 嵌入式系统中的Boot loader 系统上电后,在0x0000初开始执行代码。 常用的启动代码如:vivi、 blob等 主要功能: 自引导 下载 嵌入式linux启动 内核 根文件系统 0x0000 bootloader * 嵌入式linux bootloader Boot loader的结构 stage1(汇编语言实现) stage2(c语言实现) 硬件设备 初始化 准备RAM,将stage2 部分拷贝到RAM中 设置堆栈,跳转到 stage2的入口点 硬件设备 初始化 监测系统 内存映射 将kernel映像和根 文

您可能关注的文档

文档评论(0)

beoes + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档