嵌入式操o作系统原理.pptVIP

  • 4
  • 0
  • 约4.26千字
  • 约 42页
  • 2016-11-29 发布于湖南
  • 举报
嵌入式操o作系统原理

嵌入式Linux内核调试 Printk() Oops消息 /proc文件系统 Kgdb 追踪工具(strace,ltt,gprof,gcov,memwatch) Linux调试工具 Linux系统察看和调参 /proc文件系统 用户空间工具: 内存工具:MEMWATCH 和 YAMD strace GNU 调试器(gdb) 内核工具: 内核源代码级调试器(kgdb) 内建内核调试器(kdb) Oops /proc文件系统 /proc内存文件系统,记录系统相关信息 可以直接使用cat得到相关信息 也可以编程通过文件方式得到相关信息 通过/proc获取进程信息 找到相关进程号 找到相关/proc子目录 获取特定参数 通过/proc获取硬件信息 找到相关硬件标识 在/proc中找到相关硬件目录 查找特定硬件信息 通过/proc获取内核信息 内核信息一般存放于/proc/sys 可以读取相关内核信息 也可以修改内核参数来对内核调优 修改内核一定要慎重! /proc获取文件系统信息 获取文件系统信息 获取分区信息 获取文件锁定信息 /proc获取系统状态信息 获取系统时间 谢谢大家 问题 建议 反馈 后续 资源 嵌入式操作系统原理 嵌入式LINUX操作系统开发 体系结构概览 进程与调度管理 内存管理 文件系统 系统调用 体系结构概览 体系结构概览 内核的功能 进程控制(process management) 内存管理(Memory management) 文件系统管理(Filesystem management) 设备驱动程序(Device control) 网络(Networking) 内核层次 内核在系统中的位置 用户进程 系统调用接口 内核 硬件 什么是Linux内核? 从程序员的角度 从用户的角度 系统调用 内核提供的一套C语言函数库称为系统调用 应用程序使用系统调用完成编程任务 系统调用分类 进程管理 进程间通信(IPC) 文件系统管理 网络编程(Socket) Linux结构 Linux进程管理 Linux是一个多任务多用户操作系统 一个任务(task)就是一个进程(process) 每一个进程都具有一定的功能和权限,它们都运行在各自独立的虚拟地址空间。 在Linux中,进程是系统资源分配的基本单位,也是使用CPU运行的基本调度单位。 Linux进程概述 程序映像 存放在磁盘上的可执行文件的代码和数据的集合称为可执行映象(Executable Image),即程序 当一个程序(可执行映象)装入系统中运行时,它就形成了一个进程 进程映像 进程是由正文段(text)、用户数据段(user segment)和系统数据段(system segment)组成的一个动态实体。 正文段中存放着进程要执行的指令代码,具有只读的属性, 用户数据段是进程在运行过程中处理数据的集合,它们是进程直接进行操作的所有数据, 以及进程使用的进程堆栈。 系统数据段存放着进程的控制信息。其中包括进程控制块PCB。 进程控制块PCB 进程控制块PCB是名字为task_struct的数据结构,称为任务结构体 任务结构体中容纳了一个进程的所有信息,是系统对进程进行管理和控制的有效手段,是系统实现进程调度的主要依据 当一个进程被创建时,系统就为该进程建立一个task_struct任务结构体。当进程运行结束时,系统撤消该进程的任务结构体 Linux在内存空间中开辟了一个专门的区域存放所有进程的任务结构体,在操作系统的内核空间设置了一个task数组,该数组的每一个元素是一个指向任务结构体的指针,所以task数组又称为task向量。 进程的任务结构体是进程存在的唯一标志,调度程序维护current指针,它指向当前正在运行的进程。 Linux调度分析 Linux进程的状态变化 进程状态 运行态:进程正在使用CPU运行的状态。处于运行态的进程又称为当前进程(current process) 可运行态:进程已分配到除CPU外所需要的其它资源,等待系统把CPU分配给它之后即可投入运行 等待态:又称睡眠态,它是进程正在等待某个事件或某个资源时所处的状态。 等待态进一步分为可中断的等待态和不可中断的等待态。处于可中断等待态的进程可以由信号(signal)解除其等待态。处于不可中断等待态的进程,一般是直接或间接等待硬件条件。 它只能用特定的方式来解除,例如使用唤醒函数wake_up()等 暂停态:进程需要接受某种特殊处理而暂时停止运行所处的状态。通常进程在接受到外部进程的某个信号进入暂停态,例如,正在接受调试的进程就处于这种状态。 僵死态:进程的运行已经结束,但它的任务结构体仍在系统中。 核心态和用户态 Linux的进程处理机上运行时,处理

文档评论(0)

1亿VIP精品文档

相关文档