求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
 
 
 
开班计划 | 技术学院 | 管理学院 | 嵌入式学院 | 机械 | 军工学院 | 定向培养 | 专家指导 | 角色培养  
 电话 English
成功案例   品质保证
 
成功案例
知名某轨 “ReWorks中
塞默菲舍 《嵌入式软件架构设
某水声通 嵌入式Linux应
广汽研究 ARM处理器体系架
联合汽微 嵌入式软件架构设计
某全球知 Linux内核和系
广汽研究 嵌入式软件架构设计

相关课程  
UML +RoseRealtime+嵌入式
C++嵌入式系统开发
嵌入式白盒测试
手机软件测试
嵌入式软件测试
嵌入式操作系统VxWorks
 
全部课程 >嵌入式开发  
Linux内核进程、内存和I/O
923 次浏览  56 次
宋老师
知名嵌入式系统专家,2008~2009年度十大畅销书、十大原创图书《Linux设备驱动开发详解》作者
 
时间地点: 北京、上海、深圳根据报名开班
课程费用:5000元/人 
报公开课  
企业内训:可以根据企业需求,定制内训,详见 内训学习手册


认证方式: 培训前了解能力模型。 培训后进行能力评测:
  • 在线考试
  • 能力分析,给出学习建议
  • 合格者颁发证书,作为职业技能资格证明

        课程是打下内核、驱动和系统编程基础的课程,它主要讲解 Linux 内核最核心的进程调度、内存管理和 I/O 模型,打通开发过程中对 Linux 系统知识的要求。

    培训目标:
  • 进程生命周期
  • 进程的创建、退出和睡眠
  • 调度算法
  • 多核调度、 cgroup 、实时性
  • 硬件原理和分页管理
  • 内存的动态申请和释放
  • 进程的内存消耗和泄漏
  • 内存与 I/O 的交换
  • 其他工程问题以及调优
  • Linux I/O 和网络模型
  • 典型文件系统
  • IO 调度器
  • 培训对象:Linux开发者(熟练地使用Linux,在Linux上从事开发)
    学员基础:了解Linux开发知识,具备一定的Linux开发经验
    授课方式:定制课程 + 案例讲解 + 小组讨论,60%案例讲解,40%实践演练
    培训内容:2天

    第一章 进程
    • 进程生命周期
      • Linux 进程生命周期 ( 就绪、运行、睡眠、停止、僵死 )
      • 僵尸是个什么鬼?
      • 停止状态与作业控制, cpulimit
      • 内存泄漏的真实含义
      • task_struct 以及 task_struct 之间的关系
      • 初见 fork 和僵尸
    • 进程的创建、退出和睡眠
      • fork 、 vfork 、 clone
      • 写时拷贝技术
      • Linux 线程的实现本质
      • 进程 0 和进程 1
      • 进程的睡眠和等待队列
      • 孤儿进程的托孤, SUBREAPER
    • 调度算法
      • CPU/IO 消耗型进程
      • 吞吐率 vs. 响应
      • SCHED_FIFO 、 SCHED_RR
      • SCHED_NORMAL 和 CFS
      • nice 、 renice
      • chrt
    • 多核调度、 cgroup 、实时性
      • 多核下负载均衡
      • 中断负载均衡、 RPS 软中断负载均衡
      • cgroups 和 CPU 资源分群分配
      • Android 和 NEON 对 cgroups 的采用
      • Linux 为什么不是硬实时的
      • preempt-rt 对 Linux 实时性的改造
    第二章 内存
    • 硬件原理和分页管理
      • CPU 寻址内存,虚拟地址、物理地址
      • MMU 以及 RWX 权限、 kernel 和 user 模式权限
      • 内存的 zone: DMA 、 Normal 和 HIGHMEM
      • Linux 内存管理 Buddy 算法
      • 连续内存分配器 (CMA)
    • 内存的动态申请和释放
      • slab 、 kmalloc/kfree 、 /proc/slabinfo 和 slabtop
      • 用户空间 malloc/free 与内核之间的关系
      • mallopt
      • vmalloc
      • 内存耗尽( OOM )、 oom_score 和 oom_adj
      • Android 进程生命周期与 OOM
    • 进程的内存消耗和泄漏
      • 进程的 VMA 。
      • 进程内存消耗的 4 个概念: vss 、 rss 、 pss 和 uss
      • page fault 的几种可能性, major 和 minor
      • 应用内存泄漏的界定方法
      • 应用内存泄漏的检测方法: valgrind 和 addresssanitizer
    • 内存与 I/O 的交换
      • page cache
      • free 命令的详细解释
      • read 、 write 和 mmap
      • file-backed 的页面和匿名页
      • swap 以及 zRAM
      • 页面回收和 LRU 原因;
    • 其他工程问题以及调优
      • DMA 和 cache 一致性
      • 内存的 cgroup
      • 性能方面的调优: page in/out, swapin/out
      • Dirty ratio 的一些设置
      • Swappiness
    第三章I/O
    • Linux I/O 和网络模型
      • 阻塞
      • 非阻塞
      • 多路复用
      • Signal IO
      • 异步 IO
      • Libevent
    • 典型文件系统
      • VFS
      • EXT2/3/4 的 layout
      • 文件系统的日志与掉电保护
    • IO 调度器
      • Linux block IO 流程
      • IO 调度和 CFQ 调度算法
      • ionice
      • cgroup 与 IO
       
    923 次浏览  56 次
    其他人还看了课程
    Linux内核进程、内存和I/O  923 次浏览
    嵌入式Linux 内核原理与系统搭建  754 次浏览
    Linux BSP和驱动深入剖析  820 次浏览
    ARM处理器体系架构与编程  1438 次浏览
    FPGA应用设计初级  651 次浏览
    定制内训
    最新活动计划
    QT应用开发 11-21[线上]
    C++高级编程 11-27[北京]
    LLM大模型应用与项目构建 12-26[特惠]
    UML和EA进行系统分析设计 12-20[线上]
    数据建模方法与工具 12-3[北京]
    SysML建模专家 1-16[北京]