Linux内核代码常见符合汇总

Linux内核代码常见符合汇总

内核代码符号

简写全称中文名称含义
BSPbootstrap processor启动cpu内核启动cpu
APsapplication processors从属cpu启动过程除BSP之外的cpu

Linux内核module_param的使用

  • 在加载模块时可以给指定的变量赋值
  • module_param(name, type, perm)
    • name: 变量名称
    • type:变量类型
    • perm:变量在sysfs中的权限

Linux内核开发中EXPORT_SYMBOL的使用方法

  • 将symbol(函数或者变量)导出到内核空间,使得内核中的所有代码都可以使用
  • EXPORT_SYMBOL(symbol)
    • symbol:变量或者函数

Linux 内核工作队列之work_struct 学习总结

  • 在worker thread中会对非空的工作队列进行工作队列的出队操作,并运行work绑定的函数;
  • it schedules a task to run at a later time;

内核文件系统

linux sysfs文件系统

  • linux内核开始使用sysfs文件系统,它的作用是将设备和驱动程序的信息导出到用户空间,方便了用户读取设备信息,同时支持修改和调整;
  • sysfs是一个系统在启动时构建在内存中虚拟文件系统,一般被挂载在/sys目录下,既然是存储在内存中,自然掉电不保存,不能存储用户数据;
  • Kobject是将Bus,Class,Device,Driver的设备模型的共同功能的抽象;Kset可以看成Kobject的集合,也可以当做Kobject来使用;

Linux内核开发:创建proc文件并与用户空间接口

  • Proc是用于与内核内部数据结构接口的伪文件系统。作为用户,您可以使用proc文件进行系统诊断-CPU,内存,中断等。您还可以配置许多参数,例如调度程序参数,内核对象,内存等;
  • 使用proc_create()注册接口;

系统知识

Linux cpu_hotplug

内核中的CPU热插拔

  • cpu的逻辑上线以及下线是分阶段的,在不同的阶段可以设置不同的回调函数;

Linux cpu hotplug

  • Linux内核会创建虚拟总线cpu_subsys,每个CPU注册的时候,都会挂载在该总线上,CPU的online和offline的操作,最终会回调到该总线上的函数;
  • 通过echo 0 > /sys/devices/system/cpu/cpu1/online和echo 1 > /sys/devices/system/cpu/cpu1/online来控制CPU的热插拔;

Linux内核基础–事件通知链(notifier chain)

  • 通知链只能用在各个子系统之间,而不能在内核和用户空间进行事件的通知;
  • 事件通知链表是一个事件处理函数的列表,每个通知链都与某个或某些事件有关,当特定的事件发生时,就调用相应的事件通知链中的回调函数,进行相应的处理;
  • 注册通知链,使用通知链,触发事件调用通知链函数;
  • 回调函数根据case选择的事件去调用不同流程;而唤醒函数根据event可以唤醒不同的通知链;

linux调度子系统9 - 进程的创建与唤醒

  • wake_list的使用

Kernel Profiling

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值