网站大量收购闲置独家精品文档,联系QQ:2885784924

chapter5嵌入式操作系统Linux概述.ppt

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

* GFP_KERNEL:当前申请进程暂时被挂起而等待换页; GPF_ATOMIC:该函数不允许推迟,而立即返回 0 值; GPF_DMA:表示申请的内存用于 DMA 传送。 内存分配与释放的数据结构 Linux 中用于内存分配和释放的函数主要是 kmalloc()和 kfree(),它们用于分配和释放连续的内存空间 blocksize表 page_descriptor sizes表 block_header kmalloc()和 kfree()分配和释放内存是 以块(block)为单位进行的 可以分配的空闲块的大小记录在 blocksize 表中,它是一个静态数组 加在页面块前部的信息头称为页描述符 Linux 设置了 sizes[]数组,对页面块进行描述 数组元素是 size_descriptor 结构体 blocksize[]与 sizes[]元素数目相同,它们一一对应 由 sizes[]管理的各个页面块中每个块的头部还有一 个对该块进行描述的块头 block_header 内存分配函数 kmalloc() void *kmalloc(size_t size, int priority)void kfree(void *__ptr) 参数 size 是申请 分配内存的大小 priority 是申 请优先级 ptr 是 kmalloc分配 的内存空间的首地址 GFP_KERNEL GFP_ATOMIC GPF_DMA 虚拟内存的申请和释放 在申请和释放较小且连续的内存空间时,使用 kmalloc()和kfree() 申请和释放较大的内存空间时,使用 vmalloc()和vfree() void * vmalloc(unsigned long size) void vfree(void * addr) 用法和kmalloc()和kfree()一样 由 vmalloc()申请的内 存空间在虚拟内存中是连 续的,它们映射到在物理 内存时,可以使用不连续 的物理页面,而且仅把当 前访问的部分放在物理页 面中 由 vmalloc()分配的虚 存空间称为虚拟内存块(虚存块) 内容摘要 Linux的诞生与发展 Linux的内核结构 Linux存储管理 Linux进程管理 Linux内核启动与初始化进程 Linux进程管理 Linux进程管理介绍 进程与作业 启动进程 手工启动 调度启动 进程的挂起及恢复 进程管理 Linux进程管理介绍 Linux 是一个多用户多任务的操作系统。 指多个用户可以在同一时间使用计算机系统 多任务是指 Linux 可以同时执行几个任务 操作系统监控着一个等待执 行的任务队列,这些任务包 括 用户作业 操作系统任务 邮件 打印作业 操作系统根据每个任务的优 先级为每个任务分配合适的 时间片 进程与作业  Linux 系统上所有运行的东西都有可以看成进程  在自身的虚拟地址空间运行的一个单独的程序 随时都可能 发生变化的 使用系统 运行资源的 动态的 + + 程序 + 进程 进程和作业的概念也有区别: 一个正在执行的进程称为一个作业 作业可以包含一个或多个进程,尤其是当使用了管道和重定向命令 作业控制指的是控制正在运行的进程的行为。 手工启动 启动一个进程有两个主要途径: 手工启动 调度启动 由用户输入命令,直接启动一个进程便是手工启动。 手工启动进程又分为前台启动和后台启动 前台启动是手工启动 一个进程的最常用的 方式。一般用户键入 一个命令“ls –l”,这就 已经启动了一个进程, 而且是一个前台的进程 直接从后台手工启动 一个进程用得比较少一 些,除非是该进程甚为 耗时,且用户也不急着 需要结果的时候。 调度启动 有时候需要对系统进行一些比较费时而且占用资源的维护工作,这些工作 适合在深夜进行,要使用自动启动进程的功能,就需要掌握以下几个启动 命令: at 命令 cron 命令 crontab 命令 用户使用 at 命令在指定时刻执行指定的命令序列。 也就是说,该命令至少需要指定一个命令、一个执 行时间才可以正常运行。 可以不断重复一些命令 cron 命令是不应该手工启动的 crontab 命令用于安装、删除或者列出用于驱动 cron 后台进程的表格。 每个用户都可以有自己的 crontab 文件。 进程的挂起与恢复 作业控制允许将进程挂起并可以在需要时恢复进程的 运行,被挂起的作业恢复后将从中止处开始继续运行。 只要在键盘上按【Ctrl+Z】,即可挂起当前的前台作 业。 使用 jobs 命令可以显示 Shell 的作业清单,包括具体 的作业、作业号

文档评论(0)

2232文档 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档