嵌入式面试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。

相关推荐
麦兜*3 小时前
Spring Boot 整合量子密钥分发(QKD)实验方案
java·jvm·spring boot·后端·spring·spring cloud·maven
码破苍穹ovo4 小时前
堆----1.数组中的第K个最大元素
java·数据结构·算法·排序算法
2301_793086874 小时前
JVM 01 运行区域
java·开发语言
崎岖Qiu4 小时前
【JVM篇13】:兼顾吞吐量和低停顿的G1垃圾回收器
java·jvm·后端·面试
久念祈4 小时前
C++ - 仿 RabbitMQ 实现消息队列--服务端核心模块实现(五)
java·rabbitmq·java-rabbitmq
张人玉5 小时前
WinForm之ListBox 控件
服务器·windows·microsoft
程序视点5 小时前
Windows桌面美化神器MyDockFinder:让你的电脑瞬间拥有macOS风格界面
windows·macos·mac
拾光拾趣录6 小时前
ES6到HTTPS全链路连环拷问,99%人第3题就翻车?
前端·面试
超级晒盐人7 小时前
用落霞归雁的思维框架推导少林寺用什么数据库?
java·python·系统架构·学习方法·教育电商
岁忧7 小时前
(LeetCode 面试经典 150 题) 138. 随机链表的复制 (哈希表)
java·c++·leetcode·链表·面试·go