linux内核配置和编译摘要.ppt

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
电子系统设计 B T R 嵌入式微处理器及应用 许 参 10-537 xs2015@Linux Kernel架构 黄松青 操作系统(OS)的概念 一个系统管理程序,管理计算机的资源,给用户一个使用这些资源的平台 一个服务程序,操作系统都是为用户应用程序服务的,服务的方式是通过系统调用 system call Linux是一个多任务,跨平台的现代操作系统 为什么要有操作系统 多任务的要求 统一的服务接口,合理使用资源,如内存 管理并发时对资源使用冲突 减少开发的难度 安全性的要求 网络(TCP/IP)的使用 GUI的使用要求 应用程序移植性的要求 用户操作的方便性 操作系统的组成 进程管理模块 内存管理模块 文件系统管理模块 设备管理模块 异常和中断管理模块 网络协议模块 … … 进程管理 进程(process)的概念 系统的第一个进程Init 用户进程如何运行和退出 记录进程的信息,进程控制块 PCB 系统调度,不同的系统有不同的策略 用户进程进入系统的唯一途径, system call 内存管理 内存是系统资源的一种 内存的分类 SRAM, SDRAM, FB, Registers, 外设片上内存 物理内存的管理 虚拟内存的管理,内核空间与用户空间 内核与用户内存的分配 内存碎片的产生和避免 文件系统管理 永久性存储设备,disk, flash, sd, cf 分区、格式化及文件 一个简单的文件系统的例子 系统看存储地址是线性 进程看待文件的统一化和抽象化 设备管理 HAL层的概念, 开放性的理念 设备的驱动 系统要记录和管理设备的存在 安全使用设备 设备是一种特殊的文件 进程如何使用设备,open/close, read/write, ioctl Linux kernel历史 1991年由当时的芬兰学生linus torvalds编写并以GNU GPL的方式发布到Internet上,称为0.11版 1994年,出1.0.0版本 1996年,出2.0版本 1999年,出2.2版本 2001年,出2.4版本 2003年,出2.6版本,至今都稳定在该版本 Linux kernel的特点 类Unix,遵循POSIX标准 支持很多的体系结构,如X86,Arm,Mips等等,有极强的平台可伸缩性 Open Source(GNU GPL) 单内核,开放可扩展 真正的多任务多用户 具有强大的网络功能 ,尤其对Tcp/ip支持 开发功能强,开发环境免费 设备独立性, 系统把所有外部设备统一当作成文件来看待及操作 可靠的系统安全 … … Linux系统软件层次结构 Linux中处理器的运行 Linux Kernel初始化完毕后,程序运行在以下的上下文空间中: 1)运行于用户空间,执行用户程序 2)运行于内核空间,处于当前进程的 上下文 3)运行于中断,处于中断上下文,与进程无关,因为中断的不可预知 fread()文件的执行举例 用户进程在用户空间,使用C库fread()读文件 Fread()调用read()系统调用,进入系统空间,执行系统代码 系统根据文件对存储设备进行数据请求,在数据没准备就绪是让出CPU使其他进程运行。 存储设备数据准备就绪,向CPU发出中断请求,CPU响应进入中断上下文,并唤醒该文件的读进程 在某时刻,读文件的进程再次运行,取到数据,返回用户空间 获取Linux内核源代码 从官方网站获取:,主要 是X86平台的版本 以BSP包的方式获取,主要在嵌入式的平台上用的方式 补丁,从版本2.6.20升级到2.6.21 #cd 到2.6.20 linux 目录 #patch –p1 patch-2.6.21 Linux 2.6内核源码目录结构 Linux 2.6内核配置与编译 交叉编译器: 运行在一种体系的CPU(通常是X86)的编译器,对其编译的程序产生另外一种体系(如ARM/MIPS)的指令的编译器叫交叉编译器 安装ARM交叉编译器 #tar xzvf crass-3.3.2.tgz 把解开的目录的bin/目录的绝对路径增加到环境变量$PATH中 Linux 2.6内核配置与编译 安装ARM Linux 2.6源码包 #tar xzvf gec_linux-.tgz Linux 2.6内核配置与编译 内核配置系统: 配置命令 #make config(基于文本的最为传统的配置界面,不推荐使用) #make menuconfig(基于

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档