前端进阶之旅前端进阶之旅
  • 基础篇HTML/CSS/JS 打底
  • 进阶篇原理与工程化
  • 高频篇面试最常问的那批
  • 精选篇按模块收敛的总结
  • 手写篇常考代码手写实现
  • 面经篇真实面试问题复盘
  • AI 篇NEWAI 时代的前端考点
  • 历年面经NEW按年份追踪真实考点
  • 每日一题每天一道,攒手感
  • 专项自测100 题快速查漏
  • 小程序题库小程序专项刷题
  • 算法题库NEW在线编码即时判题
  • 知识卡片NEW碎片时间过考点
  • 面试题大全常见问题解析
  • AI 答疑NEW随时提问,即时解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • AI 定制路线NEW按你的简历现排
  • AI 知识地图NEW串起全站知识点
  • 原理篇React / Vue 源码拆解
  • HTTP从报文一路讲到 HTTPS
  • 浏览器渲染、事件循环、进程
  • 计算机基础Linux、网络、操作系统
  • 设计模式23 种模式怎么用
  • Node学习指南从环境搭建到服务端
  • NPM工作流script、依赖与发布
  • Docker容器化部署上手
  • Canvas图形与动画实战
  • 前端系统进阶学习大型项目工程化
  • 前端综合文章长期沉淀的实践文
  • 思维导图知识点全景图
  • 学习路线按图索骥不跑偏
  • AI 热点NEWAI 每日动态
  • 公众号动态公众号历史文章
  • 博客动态站长的技术博客
  • 开发者导航常用工具与文档站
  • 基础篇HTML/CSS/JS 打底
  • 进阶篇原理与工程化
  • 高频篇面试最常问的那批
  • 精选篇按模块收敛的总结
  • 手写篇常考代码手写实现
  • 面经篇真实面试问题复盘
  • AI 篇NEWAI 时代的前端考点
  • 历年面经NEW按年份追踪真实考点
  • 每日一题每天一道,攒手感
  • 专项自测100 题快速查漏
  • 小程序题库小程序专项刷题
  • 算法题库NEW在线编码即时判题
  • 知识卡片NEW碎片时间过考点
  • 面试题大全常见问题解析
  • AI 答疑NEW随时提问,即时解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • AI 定制路线NEW按你的简历现排
  • AI 知识地图NEW串起全站知识点
  • 原理篇React / Vue 源码拆解
  • HTTP从报文一路讲到 HTTPS
  • 浏览器渲染、事件循环、进程
  • 计算机基础Linux、网络、操作系统
  • 设计模式23 种模式怎么用
  • Node学习指南从环境搭建到服务端
  • NPM工作流script、依赖与发布
  • Docker容器化部署上手
  • Canvas图形与动画实战
  • 前端系统进阶学习大型项目工程化
  • 前端综合文章长期沉淀的实践文
  • 思维导图知识点全景图
  • 学习路线按图索骥不跑偏
  • AI 热点NEWAI 每日动态
  • 公众号动态公众号历史文章
  • 博客动态站长的技术博客
  • 开发者导航常用工具与文档站
首页程序员面试题库文件与 I/O专题面试题
面试知识索引 · 分类、标签与搜索

文件与 I/O专题面试题,46 道完整答案

文件与 I/O专题面试题第 1 页,显示第 1–46 题,共找到 46 道完整解析,可继续按分类、标签与关键词缩小范围。

46筛选结果
52技术分类
178检索标签
1索引分页
按分类建立知识面,再用标签和搜索定位问题

每页只渲染 50 道题。分类与标签分页可抓取,自由搜索结果不会制造无限 SEO 页面。

快速定位

分类、标签与关键词搜索

清除全部筛选
题库检索
技术分类52 个
全部分类5000AI Agent511浏览器301JavaScript285React281AI 开发262CSS240Node.js217TypeScript206Vue180前端工程化138React Native135
查看全部 52 个分类
操作系统135数据库134Docker95计算机网络94API 设计90Kubernetes90HTML89Redis89全栈开发88分布式系统88系统设计86HTTP85Next.js60Angular58Linux53Nuxt51PostgreSQL46可观测性46设计模式46小程序45身份与权限45无障碍44MongoDB43PWA43Web 安全43Git42前端测试42前端性能41WebAssembly40测试40AI 工程37SvelteKit37Go35前端数据管理30React Router29AI 全栈28Svelte27算法12Java10数据结构5前端手写题3
热门标签178 个
全部标签文件与 I/O46并发编程448缓存355性能优化340安全336异步编程292类型系统215构建工具211容器化184流处理177表单157SQL148HTTP141路由140离线应用121
查看其余 163 个标签
网络协议111测试109数据库事务95实时通信92Web 可访问性90动画79可观测性77Agent 记忆75向量检索66工具调用66LangGraph59Prompt56任务规划53排障与运维53数据库索引52浏览器自动化51Flexbox50值与类型50GraphQL49事务与并发49构建与镜像49DNS 与 TLS48工程协作与交付48AI 评测47CSS Grid47Express 服务47MCP47副作用与同步47向量与嵌入47文件与多媒体47流与二进制47传输与协议46列表与性能46可维护代码46响应式原理46容器运行46指标日志追踪46数据建模与运维46表单与输入46MCP 协议45RAG45Vite 与模块构建45Webpack45内存与虚拟化45原生集成45多 Agent45工作负载与发布45应用与性能45数据处理45模块与工具链45组件与模板45缓存与数据结构45网络与运维45评估与调试45身份认证与授权45运行时与开发45Web 系统方案44一致性与容错44侦听与生命周期44分布式使用44原生组件与交互44可访问交互44消息与异步处理44渲染与调度44索引与执行计划44组件设计44缓存与代理44进程与并发44层叠与选择器43攻击面与防御43文档数据库43权限与安全43离线与渐进增强43语义与文档43请求与通信 API43Worker 与线程协作42事件系统42存储与离线数据42服务架构42服务端与流式渲染42服务端工程42泛型设计42版本控制42类型收窄42类型运算42组件与端到端42编码与执行42进程与线程42DOM 与文档操作41Flex 布局41HTTP 语义41NestJS 架构41REST 与接口契约41SQL 查询41加载与交互性能41动画与视觉41类型工程41记忆与状态41运行时与调度41Agent 架构40WebAssembly 集成40单元与集成测试40多 Agent 协作40工作流编排40模块与语言机制40浏览器与 UI 自动化40生产运行40函数与作用域39响应式设计39性能与并发39类型系统基础39Grid 布局38数组与集合38盒模型与排版38Hooks 与复用37应用开发37推理与成本37状态共享37知识库数据37模型与应用评测36对象与原型35状态与渲染35语言与并发35异步与 Promise34Effect32RAG 检索31React 性能31响应式与性能31微调与数据31TanStack Query30全栈边界30数据与缓存30大模型基础29路由与数据流29事件循环28流式交互28提示与上下文设计27数据与服务端27组件与依赖注入27组件与响应式27多模态应用24应用与渲染24Hydration22沙箱安全22状态管理18算法18CI/CD13语言与运行时10React Server Components6搜索与排序4实用函数实现3链表栈队列3图算法2字符串算法2树与遍历2索引与高级结构2Kubernetes1作用域与函数1动态规划1异步与浏览器1手写与交互性能1数组与双指针1相等比较1
当前页01 / 1

正在显示第 1–46 题

操作系统46
第 1 页

本页面试问题

按稳定语义路径排序

  1. 0001
    操作系统文件与 I/O

    阻塞模式下对空管道 read 的行为是什么,何时返回 0?

    围绕“阻塞模式下对空管道 read 的行为是什么,何时返回 0”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须区分无数据阻塞与所有写端关闭返回 EOF 两种结果。

    核心关键词管道 read 阻塞 EOF 写端关闭
    #文件与 I/O
  2. 0002
    操作系统文件与 I/O

    多线程程序里 close 一个描述符后立刻被重用会导致什么竞态?

    围绕“多线程程序里 close 一个描述符后立刻被重用会导致什么竞态”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释 fd 立即回收导致的 ABA 式误用及 EINTR 后是否重试 close 的争议。

    核心关键词close fd 复用 竞态 多线程
    #文件与 I/O#并发编程
  3. 0003
    操作系统文件与 I/O

    copy_file_range 相比 read+write 循环拷贝文件快在哪里,有何限制?

    围绕“copy_file_range 相比 read+write 循环拷贝文件快在哪里,有何限制”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明全程在内核完成且文件系统可优化为 reflink 共享块,并指出跨文件系统退化。

    核心关键词copy_file_range 服务端拷贝 reflink
    #文件与 I/O
  4. 0004
    操作系统文件与 I/O

    dup 与 dup2 复制文件描述符后,新旧描述符共享哪些状态?

    围绕“dup 与 dup2 复制文件描述符后,新旧描述符共享哪些状态”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确共享的是 open file description(偏移、状态标志)而非描述符本身。

    核心关键词dup dup2 共享文件偏移 open file description
    #文件与 I/O
  5. 0005
    操作系统文件与 I/O

    系统调用被信号打断返回 EINTR,哪些调用能自动重启哪些不能?

    围绕“系统调用被信号打断返回 EINTR,哪些调用能自动重启哪些不能”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释慢设备调用的中断语义与 SA_RESTART 覆盖范围,并指出 select 等超时调用不重启的影响。

    核心关键词EINTR 慢系统调用 SA_RESTART 自动重启
    #文件与 I/O#表单
  6. 0006
    操作系统文件与 I/O

    epoll 的水平触发与边缘触发在编程要求上的关键差别是什么?

    围绕“epoll 的水平触发与边缘触发在编程要求上的关键差别是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出 ET 只通知一次故必须非阻塞并读到 EAGAIN,LT 可惰性处理。

    核心关键词epoll ET LT 区别 边缘触发 EAGAIN
    #文件与 I/O
  7. 0007
    操作系统文件与 I/O

    为什么加入 epoll 的监听 socket 通常要设为非阻塞并循环 accept?

    围绕“为什么加入 epoll 的监听 socket 通常要设为非阻塞并循环 accept”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明边缘触发下一次性排空待 accept 队列,否则连接滞留。

    核心关键词epoll accept 非阻塞 循环 accept ET
    #文件与 I/O
  8. 0008
    操作系统文件与 I/O

    多个线程同时 epoll_wait 同一个 epoll 实例为什么会产生惊群,如何处理?

    围绕“多个线程同时 epoll_wait 同一个 epoll 实例为什么会产生惊群,如何处理”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释同一事件唤醒所有等待者的问题及 EPOLLEXCLUSIVE/每线程独立实例两种方案。

    核心关键词epoll 惊群 多线程 EPOLLEXCLUSIVE
    #文件与 I/O#并发编程
  9. 0009
    操作系统文件与 I/O

    eventfd 和 timerfd 为什么经常出现在 epoll 程序里,它们解决了什么?

    围绕“eventfd 和 timerfd 为什么经常出现在 epoll 程序里,它们解决了什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明将线程间通知与定时器统一为 fd 以纳入单事件循环。

    核心关键词eventfd timerfd epoll 线程唤醒 定时
    #文件与 I/O#事件循环#并发编程
  10. 0010
    操作系统文件与 I/O

    posix_fadvise 的 SEQUENTIAL 与 DONTNEED 提示分别如何改变内核预读与缓存行为?

    围绕“posix_fadvise 的 SEQUENTIAL 与 DONTNEED 提示分别如何改变内核预读与缓存行为”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须区分加大预读窗口与释放已用缓存两类提示及其对全表扫描类负载的价值。

    核心关键词posix_fadvise 预读 丢弃缓存 顺序扫描
    #文件与 I/O#缓存
  11. 0011
    操作系统文件与 I/O

    用 fallocate 预分配文件空间相比写零填充有什么优势?

    围绕“用 fallocate 预分配文件空间相比写零填充有什么优势”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明一次性分配连续块、避免运行时元数据开销与碎片,适用于日志与数据库文件。

    核心关键词fallocate 预分配 避免碎片 数据库
    #文件与 I/O#可观测性
  12. 0012
    操作系统文件与 I/O

    线上进程文件描述符持续上涨,如何定位是哪里泄漏的?

    围绕“线上进程文件描述符持续上涨,如何定位是哪里泄漏的”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出 /proc/PID/fd 与 lsof 观察增长类型的诊断路径,并区分管道、socket 与文件泄漏。

    核心关键词文件描述符泄漏 排查 /proc/pid/fd lsof
    #文件与 I/O#并发编程
  13. 0013
    操作系统文件与 I/O

    进程能打开多少个文件描述符受什么限制,调优时应改哪个值?

    围绕“进程能打开多少个文件描述符受什么限制,调优时应改哪个值”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须区分 RLIMIT_NOFILE、/proc/sys/fs/file-max 和 nr_open 三层限制。

    核心关键词ulimit nofile rlimit 文件描述符上限
    #文件与 I/O#并发编程
  14. 0014
    操作系统文件与 I/O

    Linux 中文件描述符在进程内核结构里是如何管理的?

    围绕“Linux 中文件描述符在进程内核结构里是如何管理的”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 fd 是每进程 fdtable 的索引而非全局编号,以及打开文件表项共享的含义。

    核心关键词Linux 文件描述符表 files_struct
    #文件与 I/O#并发编程
  15. 0015
    操作系统文件与 I/O

    为什么 printf 未换行就 fork 会让子进程重复输出同一段内容?

    围绕“为什么 printf 未换行就 fork 会让子进程重复输出同一段内容”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须归因于用户态 stdio 缓冲随进程复制而内核文件表无此问题。

    核心关键词fork printf 重复输出 用户态缓冲区
    #文件与 I/O#并发编程
  16. 0016
    操作系统文件与 I/O

    数据库类程序该用 fsync 还是 fdatasync,为什么 fsync 是性能杀手?

    围绕“数据库类程序该用 fsync 还是 fdatasync,为什么 fsync 是性能杀手”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须区分是否同步元数据以及等待磁盘确认的开销。

    核心关键词fsync fdatasync 区别 性能 持久化
    #文件与 I/O#异步编程#性能优化
  17. 0017
    操作系统文件与 I/O

    硬链接与符号链接在 inode 层面的本质区别是什么,为什么硬链接不能跨文件系统?

    围绕“硬链接与符号链接在 inode 层面的本质区别是什么,为什么硬链接不能跨文件系统”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须从 inode 号共享与路径字符串两种机制解释,并说明 inode 号仅在单文件系统内唯一。

    核心关键词硬链接 软链接 inode 区别 跨文件系统
    #文件与 I/O
  18. 0018
    操作系统文件与 I/O

    ext 文件系统的 inode 中保存了哪些元数据,又不保存什么?

    围绕“ext 文件系统的 inode 中保存了哪些元数据,又不保存什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出 inode 存权限、时间戳、块指针而不存文件名,文件名在目录项里。

    核心关键词inode 元数据 不含文件名
    #文件与 I/O#安全
  19. 0019
    操作系统文件与 I/O

    io_uring 相比 epoll + 线程池做磁盘异步 I/O 解决了什么核心问题?

    围绕“io_uring 相比 epoll + 线程池做磁盘异步 I/O 解决了什么核心问题”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明提交/完成双环形队列减少系统调用与拷贝、支持真正的文件异步。

    核心关键词io_uring 共享环形队列 系统调用次数 异步IO
    #文件与 I/O#异步编程#并发编程
  20. 0020
    操作系统文件与 I/O

    用 lseek 跳过一段再写会形成稀疏文件,它如何影响磁盘占用与读取结果?

    围绕“用 lseek 跳过一段再写会形成稀疏文件,它如何影响磁盘占用与读取结果”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明空洞不落盘、读为零以及 du 与 ls 大小差异。

    核心关键词lseek 稀疏文件 空洞 磁盘占用
    #文件与 I/O
  21. 0021
    操作系统文件与 I/O

    同一文件描述符上混用 fwrite 和 write 为什么可能乱序?

    围绕“同一文件描述符上混用 fwrite 和 write 为什么可能乱序”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须指出两层缓冲(用户态与内核)各自排队导致顺序错位及 fflush 的作用。

    核心关键词混用 stdio 与系统调用 缓冲 乱序
    #文件与 I/O
  22. 0022
    操作系统文件与 I/O

    访问 mmap 区域时收到 SIGBUS 通常是什么文件操作导致的?

    围绕“访问 mmap 区域时收到 SIGBUS 通常是什么文件操作导致的”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明映射后文件被截断导致缺页无法映射的机理及防护思路。

    核心关键词mmap SIGBUS truncate 文件截断
    #文件与 I/O
  23. 0023
    操作系统文件与 I/O

    mmap 与 read/write 读写文件的性能与语义差异体现在哪里?

    围绕“mmap 与 read/write 读写文件的性能与语义差异体现在哪里”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须比较拷贝次数、缺页开销与页对齐粒度,并说明 mmap 不天然更快。

    核心关键词mmap 与 read 区别 零拷贝 缺页
    #文件与 I/O#性能优化
  24. 0024
    操作系统文件与 I/O

    msync 与 madvise 在 mmap 文件使用中分别解决什么问题?

    围绕“msync 与 madvise 在 mmap 文件使用中分别解决什么问题”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须区分强制回写与访问模式提示两类职责。

    核心关键词msync madvise mmap 脏页回写 预读
    #文件与 I/O
  25. 0025
    操作系统文件与 I/O

    对普通磁盘文件设置 O_NONBLOCK 为什么基本无效?

    围绕“对普通磁盘文件设置 O_NONBLOCK 为什么基本无效”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须指出非阻塞语义只作用于管道、socket、设备等,磁盘 IO 仍可能阻塞,从而引出 AIO/io_uring 但不展开。

    核心关键词O_NONBLOCK 普通文件 无效 磁盘 IO 阻塞
    #文件与 I/O
  26. 0026
    操作系统文件与 I/O

    非阻塞 fd 上 read 返回 EAGAIN 后正确的事件循环写法是什么?

    围绕“非阻塞 fd 上 read 返回 EAGAIN 后正确的事件循环写法是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 EAGAIN 表示暂无可读而非错误,以及边缘触发下必须读到 EAGAIN 为止。

    核心关键词O_NONBLOCK EAGAIN 非阻塞 循环读取
    #文件与 I/O#事件循环
  27. 0027
    操作系统文件与 I/O

    为什么新建文件描述符推荐加 O_CLOEXEC,它解决了哪类问题?

    围绕“为什么新建文件描述符推荐加 O_CLOEXEC,它解决了哪类问题”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 exec 时自动关闭避免子进程持有无关 fd,以及 open 与 fcntl 两步设置的竞态。

    核心关键词O_CLOEXEC exec 文件描述符泄漏
    #文件与 I/O#并发编程
  28. 0028
    操作系统文件与 I/O

    使用 O_DIRECT 绕过页缓存时对缓冲区和偏移有什么约束,适合什么场景?

    围绕“使用 O_DIRECT 绕过页缓存时对缓冲区和偏移有什么约束,适合什么场景”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出内存地址、长度、偏移的对齐要求及数据库自管缓存的典型动机。

    核心关键词O_DIRECT 对齐 绕过页缓存 应用场景
    #文件与 I/O#缓存
  29. 0029
    操作系统文件与 I/O

    Linux 页缓存如何让普通 read/write 变快,又带来什么内存统计上的误解?

    围绕“Linux 页缓存如何让普通 read/write 变快,又带来什么内存统计上的误解”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明页缓存是内核透明缓存且可被回收,解释 free 输出中 available 的含义。

    核心关键词page cache 页缓存 buff/cache free 内存
    #文件与 I/O#缓存
  30. 0030
    操作系统文件与 I/O

    poll 相比 select 改进了什么,又保留了什么共同缺陷?

    围绕“poll 相比 select 改进了什么,又保留了什么共同缺陷”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 pollfd 数组解除数量限制但仍需线性遍历。

    核心关键词poll select 区别 共同缺陷 O(n)
    #文件与 I/O#表单
  31. 0031
    操作系统文件与 I/O

    向管道并发写入时,多大以内的写能保证原子性?

    围绕“向管道并发写入时,多大以内的写能保证原子性”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出 PIPE_BUF 界限及其对日志交织问题的影响。

    核心关键词PIPE_BUF 管道写原子性
    #文件与 I/O#并发编程#可观测性
  32. 0032
    操作系统文件与 I/O

    为什么「写临时文件 + fsync + rename」是安全的文件更新模式,还缺哪一步?

    围绕“为什么「写临时文件 + fsync + rename」是安全的文件更新模式,还缺哪一步”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 rename 原子性,并指出还需 fsync 目录保证目录项持久。

    核心关键词rename 原子替换 崩溃一致性 fsync 目录
    #文件与 I/O
  33. 0033
    操作系统文件与 I/O

    select 在高并发下的三个主要瓶颈是什么?

    围绕“select 在高并发下的三个主要瓶颈是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须列出 fd 数量上限、每次重置集合、内核到用户态线性扫描。

    核心关键词select FD_SETSIZE 1024 遍历 性能瓶颈
    #文件与 I/O#性能优化#表单
  34. 0034
    操作系统文件与 I/O

    inotify 监控大量目录时会遇到什么实际限制,如何应对?

    围绕“inotify 监控大量目录时会遇到什么实际限制,如何应对”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须指出每 watch 占内核内存且受 max_user_watches 限制,大目录树应改用 fanotify 或轮询。

    核心关键词inotify 监控目录 watch 上限 max_user_watches
    #文件与 I/O
  35. 0035
    操作系统文件与 I/O

    sendfile 如何减少静态文件服务的 CPU 开销,它省掉了哪次拷贝?

    围绕“sendfile 如何减少静态文件服务的 CPU 开销,它省掉了哪次拷贝”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出省去内核到用户态的一次拷贝与两次上下文切换中的数据搬运。

    核心关键词sendfile 零拷贝 静态文件服务
    #文件与 I/O
  36. 0036
    操作系统文件与 I/O

    为什么启用 TLS 后 sendfile 零拷贝通常失效,内核有什么补救机制?

    围绕“为什么启用 TLS 后 sendfile 零拷贝通常失效,内核有什么补救机制”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释用户态加密要求数据进用户态,并引出 kTLS 使加密在内核完成。

    核心关键词sendfile TLS kTLS 零拷贝 失效
    #文件与 I/O#网络协议
  37. 0037
    操作系统文件与 I/O

    Shell 重定向和守护进程关闭 0/1/2 的实现依赖 dup2 的什么性质?

    围绕“Shell 重定向和守护进程关闭 0/1/2 的实现依赖 dup2 的什么性质”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 dup2 能原子地指定目标 fd 从而替换标准流。

    核心关键词dup2 标准输出重定向 实现原理
    #文件与 I/O#并发编程
  38. 0038
    操作系统文件与 I/O

    read/write 返回值小于请求长度一定是错误吗,正确处理姿势是什么?

    围绕“read/write 返回值小于请求长度一定是错误吗,正确处理姿势是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明短读写在管道、socket、信号中断下正常出现并给出循环重试模式。

    核心关键词read write 短读 短写 部分读写
    #文件与 I/O
  39. 0039
    操作系统文件与 I/O

    为什么高并发服务用 epoll 而不是信号驱动 I/O(O_ASYNC/SIGIO)?

    围绕“为什么高并发服务用 epoll 而不是信号驱动 I/O(O_ASYNC/SIGIO)”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须指出信号携带信息少、处理函数受限、队列溢出丢失事件。

    核心关键词信号驱动IO SIGIO epoll 对比
    #文件与 I/O#异步编程#并发编程
  40. 0040
    操作系统文件与 I/O

    splice 和 tee 借助管道缓冲实现了怎样的零拷贝转发?

    围绕“splice 和 tee 借助管道缓冲实现了怎样的零拷贝转发”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明数据以内核管道页为中转在用户态不落地,可用于代理转发。

    核心关键词splice tee 管道 零拷贝 转发
    #文件与 I/O
  41. 0041
    操作系统文件与 I/O

    Linux 文件的 atime、mtime、ctime 分别因什么操作改变?

    围绕“Linux 文件的 atime、mtime、ctime 分别因什么操作改变”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须区分内容修改、元数据修改与读取三者,并提 relatime 的折中。

    核心关键词atime mtime ctime 区别 修改时间
    #文件与 I/O
  42. 0042
    操作系统文件与 I/O

    C 标准库的 stdout 在终端和重定向到文件时缓冲策略为何不同?

    围绕“C 标准库的 stdout 在终端和重定向到文件时缓冲策略为何不同”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释 isatty 驱动的行缓冲与全缓冲切换及 setvbuf 控制。

    核心关键词stdio 行缓冲 全缓冲 stdout 重定向
    #文件与 I/O
  43. 0043
    操作系统文件与 I/O

    sync_file_range 为什么适合写前日志(WAL)这类需要细粒度回写的场景?

    围绕“sync_file_range 为什么适合写前日志(WAL)这类需要细粒度回写的场景”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明可按字节范围启动回写而不必等待完成,比 fsync 粒度细。

    核心关键词sync_file_range 异步回写 WAL 细粒度
    #文件与 I/O#异步编程#可观测性
  44. 0044
    操作系统文件与 I/O

    删除一个仍被进程打开的文件,磁盘空间何时真正释放?

    围绕“删除一个仍被进程打开的文件,磁盘空间何时真正释放”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须用 inode 的链接计数与打开计数解释空间延迟释放,并指出这在日志清理中的实战后果。

    核心关键词unlink 打开文件 磁盘空间 inode 引用计数
    #文件与 I/O#并发编程#可观测性
  45. 0045
    操作系统文件与 I/O

    write 返回成功后,数据到达磁盘的顺序和时机由什么决定?

    围绕“write 返回成功后,数据到达磁盘的顺序和时机由什么决定”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 write 只保证进页缓存、由 flusher 线程异步写回,及掉电风险。

    核心关键词write 写回 dirty page 回写 落盘时机
    #文件与 I/O#异步编程#缓存
  46. 0046
    操作系统文件与 I/O

    进程写文件偶尔卡顿数秒,为什么可能是内核写回限流而非磁盘坏了?

    围绕“进程写文件偶尔卡顿数秒,为什么可能是内核写回限流而非磁盘坏了”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释 dirty_ratio/dirty_bytes 触发同步写回导致写阻塞,并给出观察 dirty 计数的路径。

    核心关键词写回限流 dirty_ratio 写卡顿 诊断
    #文件与 I/O#并发编程
上一页
1
下一页
前端进阶之旅本地 Markdown 维护 · 服务端分页 · 完整内容对用户与搜索引擎一致