嵌入式面试3

1.线程与进程的区别和联系? 线程是否具有相同的堆栈? dll是否有独立的堆栈?

进程是死的,只是一些资源的集合,真正的程序执行都是线程来完成的,程序启动的时候操作系统就帮你创建了一个主线程。

每个线程有自己的堆栈。

DLL中有没有独立的堆栈,这个问题不好回答。因为DLL中的代码是被某些线程所执行,只有线程拥有堆栈,如果DLL中的代码是EXE中的线程所调用,那么这个时候是不是说这个DLL没有自己独立的堆栈?如果DLL中的代码是由DLL自己创建的线程所执行,那么是不是说DLL有独立的堆栈?

以上讲的是堆栈,如果对于堆来说,每个DLL有自己的堆,所以如果是从DLL中动态分配的内存,最好是从DLL中删除,如果你从DLL中分配内存,然后在EXE中,或者另外一个DLL中删除,很有可能导致程序崩溃

权重:较低

  1. Linux驱动的基本结构
    驱动位于OS之下,为OS提供硬件操作(当然驱动也有可能不是针对硬件的)的逻辑和底层抽象的封装,所以他要上下兼顾,上边必须符合OS的驱动调用接口,下边要处理好硬件的操作。
    Linux比较特殊,把所有的设备都抽象成了文件,这样的话操作接口会比较统一,并且给开发也带来了很大的方便。Linux下设备文件有三种:字符设备、块设备、网络设备。
    权重:高

====

  1. NorFlash和NandFlash 的基本区别

闪存芯片读写的基本单位不同。应用程序对NOR芯片操作以"字"为基本单位。应用程序对NAND芯片操作是以"块"为基本单位。

2)NOR闪存是随机存储介质,用于数据量较小的场合;NAND闪存是连续存储介质,适合存放大的数据。

嵌入式系统中经常将NOR芯片做启动芯片使用,而直接将NAND芯片做启动芯片比较难。

在处理小数据量的I/O操作的时候的速度要快与NAND的速度。

5)NAND闪存的容量比较大,目前最大容量己经达到 8G字节。

6)NOR闪存的可靠性要高于NAND闪存

7)NAND Flash一般地址线和数据线共用,对读写速度有一定影响;而NOR Flash闪存数据线和地址线分开,所以相对而言读写速度快一些。

权重:高

===

8、PCI总线的含义是什么?PCI总线的主要特点是什么?

权重:较低

====

10、串行通信与同步通信异同,特点,比较。

权重:较低

====

11、RS232c高电平脉冲对应的TTL逻辑是?(负逻辑?)

权重:较低

====

1、Linux系统下.ko是什么文件?.so是什么文件?

答:.ko是可动态安装卸载的驱动文件;.so是动态链接库,类似于Windows的.dll。

相关推荐
Lee川1 小时前
从异步迷雾到优雅流程:JavaScript异步编程与内存管理的现代化之旅
javascript·面试
晴殇i3 小时前
揭秘JavaScript中那些“不冒泡”的DOM事件
前端·javascript·面试
孟陬3 小时前
国外技术周刊 #1:Paul Graham 重新分享最受欢迎的文章《创作者的品味》、本周被划线最多 YouTube《如何在 19 分钟内学会 AI》、为何我不
java·前端·后端
想用offer打牌3 小时前
一站式了解四种限流算法
java·后端·go
绝无仅有3 小时前
Redis过期删除与内存淘汰策略详解
后端·面试·架构
绝无仅有3 小时前
Redis大Key问题排查与解决方案全解析
后端·面试·架构
华仔啊4 小时前
Java 开发千万别给布尔变量加 is 前缀!很容易背锅
java
AAA梅狸猫4 小时前
Looper.loop() 循环机制
面试
AAA梅狸猫4 小时前
Handler基本概念
面试