蒋豆芽的面试题专栏(24/嵌入式基础)

  1. 请说说CPU的两种体系结构,有什么区别⭐⭐⭐⭐⭐

  2. 说说ROM和RAM的区别⭐⭐⭐⭐⭐

  3. 说说你了解有哪些存储器类型⭐⭐⭐⭐⭐

  4. 说说你了解有哪些嵌入式操作系统,各自有什么特点?⭐⭐⭐

  5. 什么是DMA⭐⭐⭐⭐⭐

  6. FreeRTOS、uCOS的区别⭐⭐⭐⭐

  7. 说说Linux proc下面有什么文件⭐⭐⭐

img
  • 本专栏适合于C/C++已经入门的学生或人士,有一定的编程基础。
  • 本专栏适合于互联网C++软件开发、嵌入式软件求职的学生或人士。
  • 本专栏针对面试题答案进行了优化,尽量做到好记、言简意赅。这才是一份面试题总结的正确打开方式。这样才方便背诵
  • 针对于非科班同学,建议学习本人专刊文章《蒋豆芽的秋招打怪之旅》,该专刊文章对每一个知识点进行了详细解析。
  • 如专栏内容有错漏,欢迎在评论区指出或私聊我更改,一起学习,共同进步。
  • 相信大家都有着高尚的灵魂,请尊重我的知识产权,未经允许严禁各类机构和个人转载、传阅本专栏的内容。
img
  1. 请说说CPU的两种体系结构,有什么区别⭐⭐⭐⭐⭐

    图片说明
    左图是冯·诺依曼结构,右图是哈佛结构

    计算机系统可以分为冯·诺依曼结构哈佛结构

    冯·诺依曼结构具有公用的数据存储空间和程序存储空间,它们共享存储器总线,这也是以往设计时常用的方式。

    哈佛结构则具有分离的数据和程序空间以及分离的访问总结。哈佛结构在指令执行时,取指取数可以并行,因此具有更高的执行效率。

  2. 说说ROM和RAM的区别⭐⭐⭐⭐⭐

    存储器类型 简介 作用
    ROM 只读存储器(Read-Only Memory) 是一种只能读出事先所存数据的固态半导体存储器。其特性是一旦储存资料就无法再将之改变或删除。
    RAM 随机存取存储器(random access memory)又称作“随机存储器” 是与CPU直接交换数据的内部存储器,也叫主存(内存)。它可以随时读写,而且速度很快。
  3. 说说你了解有哪些存储器类型⭐⭐⭐⭐⭐

    存储器类型 简介 作用
    ROM 只读存储器(Read-Only Memory) 是一种只能读出事先所存数据的固态半导体存储器。其特性是一旦储存资料就无法再将之改变或删除。
    RAM 随机存取存储器(random access memory)又称作“随机存储器” 是与CPU直接交换数据的内部存储器,也叫主存(内存)。它可以随时读写,而且速度很快。
    SRAM 静态随机存取存储器(Static Random-Access Memory) 随机存取存储器的一种。所谓的“静态”,是指这种存储器只要保持通电,里面储存的数据就可以恒常保持。然而,当电力供应停止时,SRAM储存的数据还是会消失。
    DRAM 动态随机存取存储器(DRAM) DRAM里面所储存的数据就需要周期性地更新。要刷新充电一次,否则内部的数据即会消失。
    EPROM (Erasable Programmable ROM),可擦除可编程ROM 芯片通过紫外线可重复擦除和写入,解决了PROM芯片只能写入一次的弊端。EPROM芯片在写入资料后,还要以不透光的贴纸或胶布把窗口封住,以免受到周围的紫外线照射而使资料受损。使用并不方便。
    PSRAM 全称Pseudo static random access memory。指的是伪静态随机存储器。 内部的内存颗粒跟SDRAM的颗粒相似,但外部的接口跟SDRAM不同,不需要SDRAM那样复杂的控制器和刷新机制,PSRAM的接口跟SRAM的接口是一样的。PSRAM 内部自带刷新机制。
    EEPROM (electrically erasable, programmable, read-only )是一种电可擦除可编程只读存储器 其内容在掉电的时候也不会丢失。在平常情况下,EEPROM与EPROM一样是只读的,需要写入时,在指定的引脚加 上一个高电压即可写入或擦除,而且其擦除的速度极快
    Flash 非易失闪存技术 它的主要特点是在不加电的情况下能长期保持存储的信息。就其本质而言,Flash Memory属于EEPROM(电擦除可编程只读存储器)类型。它既有ROM的特点,又有很高的存取速度,而且易于擦除和重写,功耗很小。
    NOR Flash - NOR Flash的特点是芯片内执行(XIP, eXecute In Place),这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。NOR Flash的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。
    NAND Flash - NAND Flash结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用NAND Flash的困难在于flash的管理需要特殊的系统接口。
  4. 说说你了解有哪些嵌入式操作系统,各自有什么特点?⭐⭐⭐

    1. 嵌入式Linux

      嵌入式Linux(Embedded Linux)是标准Linux经过小型化裁剪处理之后的专用Linux操作系统,能够固化于容量只有几KB或者几MB的存储器芯片或者单片机中,适合于特定嵌入式应用场合。目前已经开发成功的嵌入式系统中,大约一半的系统使用嵌入式Linux。

    2. VxWorks

      VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),VxWorks具有以下优点。

      (1)实时性好。

      (2)可靠性高

      (3)集成开发环境完备

      但是,由于VxWorks源码不公开,它部分功能的更新(如网络功能模块)滞后。VxWorks的开发和使用都需要交高额的专利费,这就大大增加了用户开发的成本。

    3. QNX

      QNX独特的微内核和消息传递结构使其运行和开发时非常方便。QNX具有非常好的伸缩性,用户可以把应用程序代码和QNX内核直接编译在一起,使之为简单的嵌入式应用生成单一的映像。

    4. Windows CE

      Windows CE是微软公司开发的一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统。Windows CE的图形用户界面相当出色,Windows CE具有模块化、结构化、基于Win32应用程序接口以及与处理器无关等特点。

    5. Palm OS

      Palm OS在PDA领域有着很大的用户群,一度占领PDA操作系统90%以上市场份额。Plam OS明显的特点是精简,它的内核只有几千个字节,同时用户也可以方便地开发、定制,具有较强的可操作性。

    6. uC/OS

      源代码公开,代码结构清晰、明了,注释详尽,组织有条理,可移植性好,可裁剪,系统短小精悍,是研究和学习实时操作系统的首选,但在工程应用领域使用较少。

  5. 什么是DMA⭐⭐⭐⭐⭐

    DMA是指外部设备不通过CPU而直接与系统内存交换数据的接口技术。这样数据的传送速度就取决于存储器和外设的工作速度。DMA的出现就是为了解决批量数据的输入/输出问题。DMA的一个周期是指存储周期。

  6. FreeRTOS、uCOS的区别⭐⭐⭐⭐

    1. 内核ROM和耗费RAM都比uCOS 小,特别是RAM。 这在单片机里面是稀缺资源,uCOS至少要5K以上, 而freeOS用2~3K也可以跑的很好。
    2. freeRTOS 可以用协程(Co-routine),减少RAM消耗(共用STACK)。uCOS只能用任务(TASK,每个任务有一个独立的STACK)。
    3. freeRTOS 可以有优先度一样的任务,这些任务是按时间片来轮流处理,uCOSII 每个任务都只有一个独一无二的优先级。因此,理论上讲,freeRTOS 可以管理超过64个任务,而uCOS只能管理64个。
    4. freeRTOS 是在商业上免费应用。uCOS在商业上的应用是要付钱的。

    freeRTOS 不如uCOS的地方

    1. 比uSOS简单,任务间通讯freeRTOS只支持Queque, Semaphores, Mutex。 uCOS除这些外,还支持Flag, MailBox.
    2. uCOS的支持比freeRTOS 多。除操作系统外,freeRTOS只支持TCPIP, uCOS则有大量外延支持,比如FS, USB, GUI, CAN等的支持
  7. 说说Linux proc下面有什么文件⭐⭐⭐

    /proc/cmdline文件:这个文件给出了内核启动的命令行。它和用于进程的cmdline项非常相似。

    /proc/cpuinfo文件:这个文件提供了有关系统CPU的多种信息。这些信息是从内核里对CPU的测试代码中得到的。

    /proc/devices文件:这个文件列出字符和块设备的主设备号,以及分配到这些设备号的设备名称。

    /proc/dma文件:这个文件列出由驱动程序保留的DMA通道和保留它们的驱动程序名称。

    /proc/interrupts文件:这个文件的每一行都有一个保留的中断。

    /proc/ioports文件:这个文件列出了诸如磁盘驱动器,以太网卡和声卡设备等多种设备驱动程序登记的许多I/O端口范围。

    /proc/kcore文件:这个文件是系统的物理内存以core文件格式保存的文件。

豆芽点评

这些题有的不是五颗星,熟悉就行。

- 本专栏适合于C/C++已经入门的学生或人士,有一定的编程基础。 - 本专栏特点: 本专刊囊括了C语言、C++、操作系统、计算机网络、嵌入式、算法与数据结构、数据库等一系列知识点,总结出了高频面试考点(附有答案)共计309道,事半功倍,为大家春秋招助力。 - 本专栏内容分为七章:共计309道高频面试题(附有答案)

全部评论
我将所有题目都汇总到了一篇文章中,这样方便大家学习。https://blog.nowcoder.net/n/ee923114ff7b4df980e99747493ed054
点赞 回复 分享
发布于 2021-03-23 13:22
针对于非科班和基础不太好的同学,建议学习本人专刊文章《蒋豆芽的秋招打怪之旅》,该专刊文章对每一个知识点进行了详细解析。本专刊采用讲故事的形式为大家串联、呈现每一个知识点,做到有趣有干货、通俗易懂,春秋招本是痛苦难捱的过程,我希望通过自己讲故事能缓解大家的压力与焦虑,并将知识轻松学到手。网址:https://www.nowcoder.com/tutorial/10078/index 适合C++软件开发和嵌入式软件开发的同学们
点赞 回复 分享
发布于 2021-04-01 21:02

相关推荐

评论
3
5
分享
牛客网
牛客企业服务