当前位置: 首页 > news >正文

C/C++ 面试复习笔记(5)

1.用户态和内核态切换的开销来自哪里?如何减少这种开销?

主要开销:

上下文保存与恢复:需保存/恢复寄存器、堆栈等状态(约数百CPU周期)。

CPU 模式切换:从用户态到内核态的权限检查及模式切换。

缓存失效:TLB(页表缓存)和CPU数据缓存可能因内核代码执行而失效。

内核代码执行:内核处理系统调用的逻辑耗时(如文件I/O、网络协议栈)。

优化方法:

批量处理:合并多次系统调用为单次(如readv/writev矢量I/O)。

零拷贝技术:减少数据在内核与用户态间的拷贝(如sendfile())。

用户态驱动:绕过内核直接操作硬件(如DPDK网络包处理)。

异步I/O:使用epoll或io_uring减少阻塞等待。

2.硬链接(Hard Link)和软链接(Symbolic Link)的区别是什么?

3.如何查找系统中所有大于100MB的日志文件(.log)并删除?

find / -type f -name "*.log" -size +100M -exec rm {} \;

解释:

/ :从根目录开始搜索

-type f :仅搜索文件

-size +100M :大小超过 100MB

-exec rm {} \; :对匹配文件执行 rm命令

4.i节点(Inode)中存储了哪些关键信息?为什么i节点不包含文件名?

i 节点存储的关键信息:

文件类型(普通文件、目录、符号链接等)。

文件权限(读、写、执行权限)。

文件所有者(UID)和所属组(GID)。

文件大小(字节数)。

时间戳(创建时间、最后访问时间、最后修改时间)。

指向数据块的指针(直接指针、间接指针等)。

硬链接计数(引用该i节点的目录项数量)。

不包含文件名:文件名存储在目录项(Dentry)中,而非i节点。

这种设计允许多个文件名 (硬链接)指向同一个i节点,实现文件共享。

5.文件表项(File Table Entry)和 V 节点(Vnode)分别存储什么信息?它们的核心区别是什么?

6.什么是文件空洞(File Hole)?它的主要特征是什么?文件空洞在哪些实际场景中被广泛应用?举例说明。

定义: 文件空洞是文件中未被显式写入数据的区域,逻辑上存在(文件大小包含这部分),但物理上不占用磁盘空间。

特征:

逻辑大小 > 物理大小:通过ls -l显示的文件大小大于du命令显示的磁盘占用。

读取时返回零:访问空洞区域时,系统返回零值字节(但实际未存储)。

节省磁盘空间:文件系统仅分配实际写入数据的块,跳过空洞。

实际场景:

虚拟机磁盘映像: 虚拟机(如QEMU的qcow2格式)使用空洞表示未分配空间,避免占用宿主机实际存储。

数据库预分配文件: 数据库(如MySQL)预分配大文件用于存储数据,初期仅使用部分空间,其余为空洞。

日志文件滚动: 应用预先创建大日志文件,逐步写入数据,避免频繁扩容操作。

科学计算数据存储: 存储稀疏矩阵或大量默认值的数据集时,通过空洞节省空间。

http://www.xdnf.cn/news/949645.html

相关文章:

  • nuclio的配置文件yaml和docker compose的yaml的区别
  • 依赖注入(Dependency Injection)
  • 关于YOLOV5—Mosaic数据增强
  • 电源滤波器:不起眼却如何保障电子设备电源?
  • 1091 Acute Stroke (30)
  • 2025年全国I卷数学压轴题解答
  • 大模型链路调试平台之LangSmith实战指南
  • Web 架构之 API 安全防护:防刷、防爬、防泄漏
  • SpringBoot整合SSM
  • React中子传父组件通信操作指南
  • 使用VBA嵌套字典快速转换BOM表格
  • 鸢尾花分类(KNN)
  • 【AI News | 20250609】每日AI进展
  • 测试微信模版消息推送
  • 开源:FTP同步工具
  • 【粤语克隆】粤语声音,一秒克隆:如何用AI为岭南文化按下快进键
  • composer init
  • LeetCode - 647. 回文子串
  • 具身智能之人形机器人核心零部件介绍
  • 教程:PyCharm 中搭建多级隔离的 Poetry 环境(从 Anaconda 到项目专属.venv)
  • 重启Eureka集群中的节点,对已经注册的服务有什么影响
  • 深入理解JavaScript设计模式之单例模式
  • AirPosture | 通过 AirPods 矫正坐姿
  • 安科瑞户储ADL200N-CT:即插即用破解家庭光伏安装困局
  • HBase学习:通俗易懂的实例解析
  • K8S认证|CKS题库+答案| 10. Trivy 扫描镜像安全漏洞
  • Java中HashMap底层原理深度解析:从数据结构到红黑树优化
  • 人工智能 - 在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型
  • Excel处理控件Aspose.Cells教程:在Excel 文件中创建、操作和渲染时间线
  • 国内外UI自动化测试工具全景分析:国产创新与国际领先工具对比