嵌入式软件面试-linux-中高级问题
- Linux系统启动过程:
- BIOS自检并加载引导程序。
- 引导程序(如GRUB)加载Linux内核到内存。
- 内核初始化硬件,加载驱动,建立内存管理。
- 加载
init进程(PID为1),通常是systemd或SysVinit。 init进程启动其他系统服务和守护进程。- 加载登录shell,用户登录,系统就绪。
- NAND Flash和NOR Flash的区别及坏块自检:
- NAND Flash:写入和擦除速度快,容量大,但需要专门的读取和写入接口。自检坏块通常通过厂家提供的特定命令或机制完成。
- NOR Flash:可以像内存一样直接寻址,但写入和擦除速度较慢。坏块检测通常在出厂时完成,使用时会避开这些坏块。
- 线程和进程的差别:
- 进程是资源分配的基本单位,拥有独立的地址空间。
- 线程是CPU调度的基本单位,共享进程的资源(如地址空间)。
- 线程间通信更快,但同步和互斥更复杂;进程间通信相对较慢,但隔离性更好。
- 进程间通信方法:
- 包括管道、消息队列、共享内存、信号量、套接字等。
- 评价:不同方法各有优缺点,需根据应用需求选择。
- 多路IO中select的实现方法和评价:
- select通过监视文件描述符集合来实现多路IO。
- 评价:select在文件描述符较多时性能下降,因为需要遍历整个集合。
- epoll与select的差别和评价:
- epoll使用事件驱动机制,只需关注活跃的文件描述符。
- 评价:epoll在大量文件描述符时性能优于select,但实现更复杂。
- Makefile编写:
- 定义变量、目标、依赖关系和规则。
- 使用命令来编译、链接源文件。
- 可以包含条件判断、循环等控制结构。
- gcc编译过程:
- 预处理(处理#include和宏定义)。
- 编译(将预处理后的文件转换成汇编代码)。
- 汇编(将汇编代码转换成机器代码)。
- 链接(将多个目标文件和其他库文件链接成可执行文件)。
- gdb调试方法:
- 设置断点、单步执行、查看变量值、调用栈等。
- 使用gdb的命令行接口进行调试。
- trace跟踪:
- 使用如strace、ltrace等工具进行系统调用或库函数调用的跟踪。
- 跟踪可以帮助定位性能瓶颈或错误。
- TCP和UDP差别:
- TCP:面向连接,可靠传输,有流量控制和拥塞控制,适合大数据量传输。
- UDP:无连接,不可靠传输,开销小,适合实时性要求高的应用。
- TCP的三挥手和四次挥手:
- 三挥手是建立连接的过程:SYN-SYNACK-ACK。
- 四次挥手是断开连接的过程:FIN-ACK-FIN-ACK。
- 项目开发中的困难及解决方法:
- 困难可能包括代码调试、性能优化、团队协作等。
- 解决方法包括使用调试工具、性能分析工具,加强团队沟通和协作等。
- 解决Linux系统开发中的段错误:
- 使用gdb进行调试,查看崩溃时的堆栈信息。
- 检查指针操作是否正确,是否访问了未初始化的指针或越界访问。
- 使用编译器的内存检查选项,如gcc的
-g -o0和-fsanitize=address。
相关文章:
嵌入式软件面试-linux-中高级问题
Linux系统启动过程: BIOS自检并加载引导程序。引导程序(如GRUB)加载Linux内核到内存。内核初始化硬件,加载驱动,建立内存管理。加载init进程(PID为1),通常是systemd或SysVinit。init…...
css禁用元素指针事件,鼠标穿透,点击下层元素,用`pointer-events:none;`
pointer-events: 对鼠标事件的反应 MDN pointer-events 英文 https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events 菜鸟教程 CSS pointer-events 属性 https://www.runoob.com/cssref/css3-pr-pointer-events.html 常用取值 auto 和 none pointer-events: aut…...
Eureka的介绍和作用,以及搭建
一、Eureka的介绍和作用 Eureka是Netflix开源的一种服务发现和注册工具,它为分布式系统中的服务提供了可靠的服务发现和故障转移能力。Eureka是Netflix的微服务架构的关键组件之一,它能够实时地监测和管理服务实例的状态和可用性。 在Eureka架构中&…...
shell和linux的关系
Shell 和 Linux 之间存在密切的关系,但它们并不是同一个东西。让我们分别了解一下它们: Linux: Linux 是一个自由和开放源代码的类UNIX操作系统。 Linux 的内核由林纳斯托瓦兹(Linus Torvalds)于1991年首次发布&…...
数据在内存的存储
整数在内存中的存储 我们来回顾一下,整数在计算机是以补码的形式进行存储的,整数分为正整数和负整数,正整数的原码、反码和补码是一样的,负整数的原码、反码和补码略有不同(反码是原码除符号位,其他位按位取…...
JavaScript之ES中的类继承与Promise
类 ES5中的类及继承 //人function Person(name,age){this.name name;this.age age;}Person.prototype.eat function () {console.log(this.name "eat");}//程序员,继承,人function Programmer(name,age,language){//构造函数继承Person.…...
浅析多模态大模型技术路线梳理
前段时间 ChatGPT 进行了一轮重大更新:多模态上线,能说话,会看图!微软发了一篇长达 166 页的 GPT-4V 测评论文,一时间又带起了一阵多模态的热议,随后像是 LLaVA-1.5、CogVLM、MiniGPT-5 等研究工作紧随其后…...
使用 Amazon SageMaker 微调 Llama 2 模型
本篇文章主要介绍如何使用 Amazon SageMaker 进行 Llama 2 模型微调的示例。 这个示例主要包括: Llama 2 总体介绍Llama 2 微调介绍Llama 2 环境设置Llama 2 微调训练 前言 随着生成式 AI 的热度逐渐升高,国内外各种基座大语言竞相出炉,在其基础上衍生出…...
牛客小白月赛86(D剪纸游戏)
题目链接:D-剪纸游戏_牛客小白月赛86 (nowcoder.com) 题目描述: 输入描述: 输入第一行包含两个空格分隔的整数分别代表 n 和 m。 接下来输入 n行,每行包含 m 个字符,代表残缺纸张。 保证: 1≤n,m≤10001 字符仅有 . 和 * 两种字符…...
MySQL的基础操作与管理
一.MySQL数据库基本操作知识: 1.SQL语句: 关系型数据库,都是使用SQL语句来管理数据库中的数据。 SQL,即结构化查询语言(Structured Query Language) 。 SQL语句用于维护管理数据库,包括数据查询、数据更新、访问控…...
Pytorch 中的forward 函数内部原理
PyTorch中的forward函数是nn.Module类的一部分,它定义了模型的前向传播规则。当你创建一个继承自nn.Module的类时,你实际上是在定义网络的结构。forward函数是这个结构中最关键的部分,因为它指定了数据如何通过网络流动。 单独设计 forward …...
四、C语言中的数组:如何输入与输出二维数组(数组,完)
本章的学习内容如下 四、C语言中的数组:数组的创建与初始化四、C语言中的数组:数组的输入与元素个数C语言—第6次作业—十道代码题掌握一维数组四、C语言中的数组:二维数组 1.二维数组的输入与输出 当我们输入一维数组时需要一个循环来遍历…...
基于python+vue智慧农业小程序flask-django-php-nodejs
传统智慧农业采取了人工的管理方法,但这种管理方法存在着许多弊端,比如效率低下、安全性低以及信息传输的不准确等,同时由于智慧农业中会形成众多的个人文档和信息系统数据,通过人工方法对知识科普、土壤信息、水质信息、购物商城…...
好用的GPTs:指定主题搜索、爬虫、数据清洗、数据分析自动化
好用的GPTs:指定主题搜索、爬虫、数据清洗、数据分析自动化 Scholar:搜索 YOLO小目标医学方面最新论文Scraper:爬虫自动化数据清洗数据分析 点击 Explore GPTs: Scholar:搜索 YOLO小目标医学方面最新论文 搜索 Scho…...
使用Qt自带windeployqt打包QML的exe
1.在开始菜单输入CMD找到对应的Qt开发版本,我的是Qt5.15.2(MinGW 8.1.0 64-bit)。 2.在控制台输入如下字符串,格式为 windeployqt exe绝对路径 --qmldir 工程的绝对路径 如下是我的打包代码。 我需要打包的exe的绝对路径 D:\Prj\Code\Demo\QML\Ana…...
C代码快速傅里叶变换-分类和推理-常微分和偏微分方程
要点 C代码例程函数计算实现: 线性代数方程解:全旋转高斯-乔丹消元,LU分解前向替换和后向替换,对角矩阵处理,任意矩阵奇异值分解,稀疏线性系统循环三对角系统解,将矩阵从完整存储模式转换为行索…...
计算机组成原理 双端口存储器原理实验
一、实验目的 1、了解双端口静态随机存储器IDT7132的工作特性及使用方法 2、了解半导体存储器怎样存储和读出数据 3、了解双端口存储器怎样并行读写,产生冲突的情况如何 二、实验任务 (1)按图7所示,将有关控制信号和和二进制开关对应接好,…...
[音视频学习笔记]六、自制音视频播放器Part1 -新版本ffmpeg,Qt +VS2022,都什么年代了还在写传统播放器?
前言 参考了雷神的自制播放器项目,100行代码实现最简单的基于FFMPEGSDL的视频播放器(SDL1.x) 不过老版本的代码参考意义不大了,我现在准备使用Qt VS2022 FFmpeg59重写这部分代码,具体的代码仓库如下: …...
GPT-5可能会在今年夏天作为对ChatGPT的“实质性改进”而到来
每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...
官宣|阿里巴巴捐赠的 Flink CDC 项目正式加入 Apache 基金会
摘要:本文整理自阿里云开源大数据平台徐榜江 (雪尽),关于阿里巴巴捐赠的 Flink CDC 项目正式加入 Apache 基金会,内容主要分为以下四部分: 1、Flink CDC 新仓库,新流程 2、Flink CDC 新定位,新玩法 3、Flin…...
多模态RAG:让AI看懂图也能读懂话
不只是文字,还能“看图说话” 你有没有想过,AI不仅能读文字,还能看图、听声音,甚至把它们串起来理解?这背后就有“多模态RAG”的功劳。传统RAG(检索增强生成)主要处理文本——你问一个问题&…...
低查重黑科技!AI教材生成工具,快速编写高质量教材不再愁!
教材修改与AI工具的引入 教材的初步草稿终于完成,但在修改和优化的过程中,真是让人感到“疲惫不堪”!通读全文,寻找逻辑上的漏洞和知识点的失误,确实耗费时间。调整一个章节的框架,往往会影响到后面的多个…...
全球数据库各个细分领域的TOP1产品
文章目录一、关系型数据库(RDBMS)领域二、NoSQL数据库领域三、云原生数据库领域四、向量数据库(AI时代新兴)领域五、时间序列数据库领域六、NewSQL数据库领域七、数据仓库/OLAP领域八、嵌入式关系型数据库领域九、国产数据库市场格局十、发展趋势与洞察十一、数据库选型建议十二…...
NotoCJK:为Android设备带来专业级中文显示体验
NotoCJK:为Android设备带来专业级中文显示体验 【免费下载链接】notocjk NotoSansCJK & NotoSerifCJK full weight patch for Android devices. 项目地址: https://gitcode.com/gh_mirrors/no/notocjk 想要让你的Android手机或平板拥有更美观、更专业的中…...
AI智能体视觉检测系统(TVA)工作原理系列(四)
TVA核心算法解析(1)——Transformer架构与全局注意力机制作为AI智能体视觉检测系统(TVA)的“核心大脑”,算法是决定其检测精度、速度和智能性的关键,而Transformer架构则是TVA算法的底层基础——与传统机器…...
为什么有些论文答辩特别轻松,老师不敢卡?
很多人参加完答辩,心里都会冒出一个疑问:同样是答辩,为什么有的人上台之后特别顺? 陈述完,老师点点头,简单问两句,提几条小修改,基本就过去了。整个过程看起来很轻松,甚至…...
从KITTI到SemanticKITTI:手把手教你用Python玩转这个LiDAR语义分割数据集
从KITTI到SemanticKITTI:Python实战LiDAR语义分割全流程指南 当Velodyne HDL-64E激光雷达以10Hz频率旋转时,每秒产生的约10万个三维点云数据究竟蕴含怎样的语义信息?这正是SemanticKITTI数据集要解决的核心问题。作为KITTI数据集的重要扩展&a…...
如何在普通电脑上运行专业AI绘画:FLUX.1-dev FP8量化模型完整指南
如何在普通电脑上运行专业AI绘画:FLUX.1-dev FP8量化模型完整指南 【免费下载链接】flux1-dev 项目地址: https://ai.gitcode.com/hf_mirrors/Comfy-Org/flux1-dev 想要在普通电脑上体验专业级AI绘画创作吗?FLUX.1-dev FP8量化模型正是为你量身打…...
MedGemma Medical Vision Lab镜像免配置:Docker一键运行+Web界面自动加载MedGemma权重
MedGemma Medical Vision Lab镜像免配置:Docker一键运行Web界面自动加载MedGemma权重 想快速体验一个能看懂X光片、CT影像的AI助手吗?今天介绍的MedGemma Medical Vision Lab,让你无需任何复杂的模型下载和配置,就能在本地运行一…...
SBTI(Silly Big Personality Test)
SBTI 傻大人格测试,性格测评,这是个数学游戏。因为我们知道了题库,算法,结果,想要什么结果就什么结果。 题库: 计分 结论 性格测评2026 复杂指标测算:诚信评级评价;还有教育方面教育…...
