linux驱动开发面试题(linux驱动开发薪水)

linux驱动开发面试题(linux驱动开发薪水)记住 22 两级分段两级权限 例如是 32 位的机器 从内存空间看 顶层 1G 是内核的 底 3G 是应用的 从权限看 内核是 0 级特权 应用是 3 级特权 系统调用 proc linux 提供给应用层访问内核包括设备驱动 进程管理 内核参数的接口 例如字符设备驱动

大家好,我是讯享网,很高兴认识大家。



记住“22”,两级分段两级权限。

例如是32位的机器,从内存空间看:顶层1G是内核的,底3G是应用的;从权限看:内核是0级特权,应用是3级特权。

系统调用。proc。

linux提供给应用层访问内核包括设备驱动、进程管理、内核参数的接口,例如字符设备驱动,对上层是统一的接口,对底层则由具体驱动实现。其本质是“门机制”,利用机器指令进入更高的特权空间(内核态)。

对一个已创建的普通文件,要先谈open过程:vfs,fs,cache,通用块,IO调度,块驱动,物理块,从而拿到fops给到文件描述符,之后read就和底层读写相关起来了。

1.数据流2.系统接口(块有两套接口)

字符设备:串口、键鼠、摄像头

块设备:sd卡,u盘


讯享网

CTUFRC

CPU---->>TIM---->>UART/FLASH/DRAM---->>relocate_code---->>command

UMMISMB

uboot通过theKernel启动---->>Machine---->>MMU---->>Init---->>Setup---->>Mount---->>Busybox

完全公平/多级反馈队列/基于优先级

优先级:很好理解。缺点:调度是遍历的,饥饿现象

多级反馈队列:超过一定时间下放到低优先级队列。特点:bitmap

完全公平:红黑树动态调整优先级(计算虚拟时间)

cdev_init(cdev,fops)---->>register_chrdev(设备号,设备节点,fops)

mknod/启动脚本+mdev -s

内存,ioremap,中断,定时器,工作队列等等要释放

将文件fd内容映射到进程虚拟内存进行读写,不必经过read/write

void* mmap ( void * addr , size_t len , int prot , int flags ,int fd , off_t offset )

当内核出错时(比如访问非法地址)打印出来的信息被称为 Oops 信息。

(未完待续)

小讯
上一篇 2025-05-15 10:00
下一篇 2025-06-07 10:38

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/147257.html