嵌入式软件工程师面试题目整理(五)

这篇博客整理了嵌入式软件工程师面试中关于Linux内核、中断处理、内存管理、设备驱动等方面的重点问题,包括内核空间与用户空间的区别、中断的响应执行流程、同步机制、设备文件创建、原子操作、驱动模块加载与卸载、设备驱动模型等知识点。
摘要由CSDN通过智能技术生成

嵌入式软件工程师面试题目整理(五)

linux中内核空间及用户空间的区别

  见Linux部分

用户空间与内核通信方式有哪些

  见Linux部分

linux中内存划分及如何使用?虚拟地址及物理地址的概念及彼此之间的转化,高端内存概念

  答:以32位机器为例,cpu最大寻址范围为4G,Linux系统将4G虚拟地址空间划分为高1G,低3G,低3G虚拟空间属于用户空间,都是经过映射的线性地址,供用户进程空间使用,高1G并非都是像用户空间一样都是映射过的线性空间,Linux系统将高1G划分为三部分,DMA区,常规区,高端内存,其中0-896都是映射过的线性空间,剩下的896-1024即高端内存,这段高端内存都是未经过映射的虚拟地址,Linux系统利用这些有限的虚拟地址,临时动态的映射到大于896M的物理空间地址,实现了利用有限的虚拟地址访问到物理内存的所有地址。malloc用于用户空间进程申请内存空间,kmallc和vmalloc在内核空间使用,kmalloc申请到的内存空间,是线性连续的,可以用于dma。vmalloc申请的内存是逻辑连续

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式与Linux那些事

您的鼓励将使我写出更好的文章

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值