海康笔试题

news2025/4/4 3:30:44

1. 

2. 

        

        块设备:磁盘设备驱动、SD设备驱动

         字符设备:终端设备驱动

         网络设备:网络设备驱动

(1)linux操作系统驱动程序分为三大类:字符设备驱动、快设备驱动和网络设备驱动

(2)字符设备驱动例子

         1. LED

         2. IIC

         3. SPI

         4. 音频设备

         5. LCD

(2)块设备驱动的例子(存储器设备的驱动)

         EMMC、NAND、SD卡、U盘

(3)网络设备驱动

         USB WIFI (USB接口为字符设备驱动、能上网也属于网络设备驱动)

3. 

        32位系统上,每个linux进程的虚拟地址空间通常位4GB,因为32位地址空间的最大寻址能力位2^32字节,即4294987296字节,约等于4GB

4. 

        若干等待CPU运行的进程按次序链接起来的队列称为就绪队列

        就绪队列

(1)定义

        就绪队列是操作系统调度程序维护的一个列表,其中包含所有已经准备好并等待被分配到CPU上运行的进程。每个进程在就绪队列中等待的时间称为等待时间

(2)特点

        1. 进程状态

        就绪队列中的进程处于就绪状态,它们已经具备了运行的所有条件,只等待CPU资源的分配

        2. 调度

        操作系统的调度程序从就绪对=队列中选择一个进程,将CPU分配给该进程进行执行

        调度算法决定了从就绪队列中选择哪个进程

        3. 实现形式

        通常以链表、队列实现

4. 

        linux中的虚拟地址到物理地址转换工作是由 (硬件地址转换单元)完成的    

        MMU

        在 Linux 中,虚拟地址到物理地址的转换是由 内存管理单元(MMU, Memory Management Unit) 完成的。MMU 是硬件的一部分,它负责将进程的虚拟内存地址翻译成实际的物理内存地址。操作系统内核(例如 Linux 内核)为每个进程维护了页表(Page Table),这些页表存储了虚拟地址到物理地址的映射关系。MMU 会根据页表的内容进行地址转换,当进程访问内存时,MMU 会将虚拟地址转换为相应的物理地址,并访问该物理内存位置

5. c语言关键字

int        float        double        long        short        char        void        union        enum     

while        do        if        else        switch        case        for        break    continue    default        goto

register        extern        static        volatile        

auto        return               sizeof        const        signed        unsigned   

struct        typedef       

6.    

7.       

  嵌入式ARM架构嵌入式处理器的特点

(1)具有大量的寄存器和指令执行速度快

        1. 丰富的寄存器集

        ARM架构通常通常有一个相对较大的通用寄存器集(16个32位寄存器),

        2. 精简指令集(RISC)架构

        ARM处理器采用精简指令集计算(RISC)架构,指令集较为简单且固定长度,这使得指令的解码和执行可以更加快速和高效

(2)寻址方式简单,常用固定长度的指令格式

        1. ARM架构采用了一组简单而有效的寻址模式,使得指令可以高效访问内存和寄存器,简化了编译器的设计,提高了指令的执行效率

        2. 大多数ARM指令都是固定长度的(通常32位),这有助于简化指令解码和流水线处理过程

(3)同时支持大小端数据格式

        ARM架构可以配置为大端(Big-endian)或小端(Little-endian)模式,这使得ARM处理器在不同的系统和应用环境中具有更大的灵活性

(4)绝大多数操作都在寄存器中进行通过LOAD/STORE的体系结构在内存和寄存器之间传递数据

8. IPv4地址的每个部分必须是0到255之间的整数,因此 192.168.1.256 是一个无效的IP地址

9. 

(1)基于UDP协议的网络应用协议

        1. DNS(域名系统)

        2. DHCP(动态主机配置协议)

        3. TFTP(简单文件传输协议)

        4. SNMP(简单网络管理协议)

        5. SIP(会话初始协议)

        6. Syslog(使用UDP端口514)

(2)基于TCP协议的网络应用协议

        1. HTTP(超文本传输协议)

        2. HTTPS(安全超文本传输协议)

        3. FTP(文件传输协议)

        4. SMTP(简单邮件传输协议)

        4. SSH(安全外壳)

(3)支持UDP和TCP的协议

        1. DNS

        2. SIP

        3. Syslog

10. 

(1)PID(Process ID)

        PID用于唯一标识一个进程,在操作系统中,每个运行中的进程都会被分配一个唯一的PID

通过PID,操作系统能够管理和调度进程,如创建进程、终止进程、监视进程状态等

(2)TID(Thread ID)

        TID用于唯一标识一个线程,在多线程环境中,一个进程可以包含多个线程,每个线程都有一个唯一的TID。TID用于操作系统管理和调度线程,如创建线程、终止线程、监视线程状态等

(3)在一个进程内部,每个线程有一个TID,TID在进程内唯一,但在整个系统中,可能会存在多个进程中的线程拥有相同的TID

11. 

、(1)管道(Pipe)

        管道是一种用于进程间通信(IPC)的机制。它允许一个进程将数据写入管道,另一个进程从管道读取数据。管道可以是无名管道或命名管道

        无名管道(Anonymous Pipe):用于有亲缘关系的进程之间通信(如父子进程)。在Unix和Linux系统中使用pipe()系统调用创建

        命名管道(Named Pipe):可以在无亲缘关系的进程之间通信。在Unix和Linux系统中使用mkfifo()创建,在Windows系统中使用CreateNamedPipe()创建

        管道通常用于数据流的传递,并且是半双工的(数据只能单向流动)。通过管道可以实现简单的进程间通信,但不用于同步        

(2)套接字(Socket)

      套接字是网络通信的端点,用于在不同计算机之间进行数据传输。它提供了一种双向通信机制,可以基于不同的协议,如TCP和UDP  

        套接字用于网络通信,但不用于同步

(3)信号量(进线程都能用)

        信号量是一种同步机制,用于控制对共享资源的访问

        1. 计数信号量:允许多个线程访问一定数量的资源

        2. 二元信号量:类似于互斥锁,只允许一个线程访问资源

        信号量可以防止竞争条件(race condition),确保在多个线程或进程间的正确同步

(4)临界区

        临界区指代码中需要独占访问共享资源的部分。在多线程编程中,使用同步机制(如互斥锁)来保护临界区,以防止多个进程同时访问导致数据不一致

(5)总结

        同步:信号量、临界区(通过互斥锁)

        非同步:管道、套接字

12. 

        在操作系统中,库、调度、进程管理、内存管理都是必不可少的

操作系统的组成

(1)内核

        1. 进程管理

        2. 内存管理

        3. 设备驱动程序

        4. 文件系统

        5. 安全与权限问题

(2)用户界面

(3)系统调用接口

        系统调用接口提供了一组系统调用(API),供应用程序调用以访问操作系统的服务。系统调用是用户程序与内核进行交互的主要方式,常见的系统调用包括进程控制、文件操作、设备操作、通信等

(4)驱动程序

        驱动程序是操作系统的一部分,负责控制和操作具体硬件设备。它们提供标准化接口,使操作系统和应用程序能够与硬件设备进行通信和控制  

(5)系统服务

(6)库和工具

        1. 标准库

        2. 系统工具

(7)设备管理

(8)文件系统

13. 

        RARP、ARP、IP属于网络层协议

        TCP/IP模型各层的常用协议

1. 应用层

  • HTTP(HyperText Transfer Protocol):用于万维网上传输网页数据。
  • HTTPS(HTTP Secure):HTTP的加密版本,使用TLS/SSL加密数据。
  • FTP(File Transfer Protocol):用于在网络上进行文件传输。
  • SMTP(Simple Mail Transfer Protocol):用于发送电子邮件。
  • DNS(Domain Name System):将域名解析为IP地址。
  • SSH(Secure Shell):用于安全登录和其他安全的网络服务。

2. 传输层

  • TCP(Transmission Control Protocol):提供可靠的、有序的、错误检查的数据传输。通过三次握手建立连接,适用于需要高可靠性的应用。
  • UDP(User Datagram Protocol):提供无连接、不可靠的数据传输,速度快但不保证数据顺序和完整性,适用于对传输速度要求高但不要求可靠性的应用(如视频流、在线游戏)。

3. 网络层

  • IP(Internet Protocol):核心协议,负责地址分配和数据包路由。包括IPv4和IPv6两个版本。
  • ICMP(Internet Control Message Protocol):用于网络诊断和错误报告,如ping命令。
  • ARP(Address Resolution Protocol):将IP地址解析为物理MAC地址。
  • RARP(Reverse Address Resolution Protocol):将物理MAC地址解析为IP地址。
  • OSPF(Open Shortest Path First):一种内部网关协议,用于在自治系统内进行路由选择。
  • BGP(Border Gateway Protocol):一种外部网关协议,用于在不同自治系统之间进行路由选择。

4. 链路层

  • Ethernet(以太网):最广泛使用的局域网技术,定义了电缆类型、传输速度和数据帧格式。
  • PPP(Point-to-Point Protocol):用于通过串行连接(如电话线)传输数据。
  • HDLC(High-Level Data Link Control):用于点对点和点对多点通信中的数据链路层控制。
  • Wi-Fi(IEEE 802.11):无线局域网标准,定义了无线信号传输的方式和数据帧格式。
  • Token Ring:一种局域网技术,数据帧通过一个逻辑环传输。

14. 

        本题中memcpy定义有误,再就是copy_from_kernel传参缺失,以下是修改版本

void *memcpy(void *dest, const void *src, size_t n);
#define KSZIE 10244
char kbuf[KSZIE];

int copy_from_kernel(void *user_dest, const void *kernel_src, int maxlen)
{
	int len = 0;
	(char *)user_dest = kbuf;

	len = KSZIE < maxlen ? KSZIE : maxlen;
	memcpy(user_dest, kernel_src, len);

	return len;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1978685.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024 年华数杯全国大学生数学建模竞赛C 题 老外游中国 完整思路 源代码 模型结果(仅供学习)

最近&#xff0c;“city 不 city”这一网络流行语在外国网红的推动下备受关注。随着我国过境免签政策的落实&#xff0c;越来越多外国游客来到中国&#xff0c;通过网络平台展示他们在华旅行的见闻&#xff0c;这不仅推动了中国旅游业的发展&#xff0c;更是在国际舞台上展现了…

基于X86+FPGA助力实现电力系统的智能监测与高效管理

电力监控 信迈提供基于Intel平台、Xilinx平台、Rockchip平台、NXP平台、飞腾平台的Mini-ITX主板、Micro-ATX主板、ATX主板、嵌入式准系统/工业整机等计算机硬件。产品算力强大&#xff0c;支持高速存储&#xff0c;提供丰富串口、USB、LAN、PCIe扩展接口、显示接口等I/O接口&am…

【python】数据类型之列表类型(上)

本篇文章将讲解列表类型。 列表&#xff08;list&#xff09;&#xff0c;是一个有序且可变的容器&#xff0c;在里面可以存放多个不同类型的元素。 列表中的元素之间用逗号&#xff08;英文中的逗号&#xff09;相隔。 1、定义&#xff1a; 例如&#xff1a; user_list[]…

stl容器 vector的基本操作

目录 1.vector构造 1.1默认构造函数 1.2 fill 填充构造函数 ​编辑 1.3 范围构造函数&#xff08;Range Constructor&#xff09; 1.4拷贝构造函数 2.initializer_list初始化vector 3.迭代器 4.常用的几个成员 4.1 size()统计当前有效字符个数 4.2 capacity ve…

青甘环线游记|day(2)|西宁、青海湖

坐动车 早上7:30醒来&#xff0c;在8:00左右起床&#xff0c;下楼吃兰州拉面。面煮的很好吃&#xff0c;就是还是不是很适应。看到8元的牛肉面感觉很震惊&#xff0c;没想到是面8元&#xff0c;牛肉另加&#xff0c;10元。 坐上动车前往西宁&#xff0c;12点左右到了。虽然在…

PXE实现自动安装部署操作系统

PXE&#xff08;Preboot eXecution Environment&#xff09;是一种在计算机启动时使用网络接口从远程服务器获取操作系统安装和启动信息的技术。通过PXE&#xff0c;计算机可以从局域网中的PXE服务器上下载操作系统安装文件&#xff0c;并进行自动化的操作系统部署或故障排除。…

25考研数据结构复习·7.4B树和B+树7.5散列(Hash)表

目录 B树和B树 B树 m阶B树的核心特性 B树的插入 B树的删除 非终端结点关键字 终端结点关键字 低于下限 B树 散列&#xff08;Hash&#xff09;表 基本概念 散列函数的构造 &#x1f469;‍&#x1f4bb; 除留余数法 直接定址法 数字分析法 平方取中法 处理冲突…

动手学深度学习V2每日笔记(池化层)

本文主要参考沐神的视频教程 https://www.bilibili.com/video/BV1EV411j7nX/spm_id_from333.999.0.0&vd_sourcec7bfc6ce0ea0cbe43aa288ba2713e56d 文档教程 https://zh-v2.d2l.ai/ 本文的主要内容对沐神提供的代码中个人不太理解的内容进行笔记记录&#xff0c;内容不会特别…

Linux基础环境开发工具(二)

目录 一、前言二、make和makefile工具1.快速认识一下2.依赖关系和依赖方法3.执行原理 三、Git工具1.快速认识一下2.git的使用 四、gdb工具1.快速认识一下2、类比Windows使用 一、前言 在开发工具第一篇中我们介绍了yum&#xff0c;vim&#xff0c;gcc/g编译器这几种工具&#…

C++ 继承 派生类的拷贝构造

继承 派生类的拷贝构造构造顺序拷贝构造 引例1: 当子类,不自实现拷贝构造时,默认调用父类的拷贝构造引例2: 子类自实现拷贝构造,不做特殊处理时,只会调用父类的构造器.引例3: 显示的调用父类的拷贝构造器。案例: 内嵌函数的拷贝构造 引例1 :当内嵌子对象,子类不自实现拷贝构造时…

Netty二

Netty 问题分析 bootstrap serverBootstrap pipeline和channelPipeline EventLoopGroup和实现类NioEventLoopGroup

U2net论文复现-简单解读-以及奇奇怪怪的改进-测试roc以及pr

论文地址&#xff1a;U2net论文地址 显著性目标检测&#xff1a; Salient ObjectDetetion(SOD)显著性目标检测&#xff0c;就是要把图片中最显著的物体分割出来&#xff0c;所以是二分类任务&#xff0c;只需要背景和前景。 1、Introduce 1.1、目前存在的2个挑战&#xff1…

Day-11 员工管理案例 增删改查、配置文件

SpringBootWeb案例 前面我们已经实现了员工信息的条件分页查询以及删除操作。 关于员工管理的功能&#xff0c;还有两个需要实现&#xff1a; 新增员工修改员工 首先我们先完成"新增员工"的功能开发&#xff0c;再完成"修改员工"的功能开发。而在"新…

Midjourney、Sora和硅谷机密-《分析模式》漫谈15

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 “Analysis Patterns”的Preface&#xff08;前言&#xff09;有这么一句&#xff1a; Kent Beck, Ward Cunningham, and Jim Coplein encouraged me to get involved with the commu…

《Advanced RAG》-02-揭开 PDF 解析的神秘面纱

摘要 PDF 文件是非结构化文档的代表&#xff0c;但从 PDF 文档中提取信息是一个具有挑战性的过程。 PDF 文件由一系列指令组成&#xff0c;这些指令指示 PDF 阅读器或打印机在屏幕或纸张上显示符号的位置和方式。与 HTML 和 docx 等文件格式不同&#xff0c;后者使用标记来组织…

8月2日,贪心-买卖股票的最佳时期

大家好呀&#xff0c;今天我们看两道用贪心算法解的两道题&#xff0c;150道经典面试题中的买卖股票的最佳时期1和2。 1.买卖股票的最佳时期1 . - 力扣&#xff08;LeetCode&#xff09; 思路 对于这题&#xff0c;我们其实很容易想出暴力解&#xff0c;那就是从后往前找值&…

【文件系统】抽象磁盘的存储结构 CHS寻址法 | sector数组 | LAB数组

目录 1.为什么要抽象 2.逻辑抽象_版本1 2.1sector数组 ​2.2index转化CHS 3.逻辑抽象_版本2 3.1LBA数组 3.2LAB下标转化sector下标 文件其实就是在磁盘中占有几个扇区的问题❗文件是很多个sector的数组下标❗文件是有很多块构成的❗❗文件由很多扇区构成------>文件…

C语言刷题小记3

题目1 序列中删除指定数字 分析&#xff1a;本题要求我们来删除一个序列中指定的数字&#xff0c;这里大家要注意我们要删除的数字可能不止出现一次&#xff0c;所以我们需要用两个变量来进行处理&#xff0c;一个变量来遍历数组&#xff0c;一个变量来存储数组的位置&#xff…

H5 上使用腾讯位置服务选择收货信息

效果图 首先需要在腾讯位置服务上申请你自己的key&#xff0c;可参考地图选点组件 // 点击打开地图 backurl 是点击选中的位置点后&#xff0c;页面跳转至要返回的地址&#xff08;backurl&#xff09;&#xff0c;会将位置信息添加到回跳地址&#xff08;backurl&#xff0…

【威胁情报】新的 BingoMod Android 安卓恶意软件伪装成安全应用程序,清除数据

关注公众号网络研究观获取更多内容。 小心 BingoMod&#xff01;这种危险的 Android 恶意软件会窃取您的钱财、清除您的手机数据并控制您的设备。 了解如何保护自己免受这种阴险威胁。保持在线安全&#xff01; 计算机安全解决方案提供商 Cleafy 发现了一种狡猾的远程访问木…