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

windows的句柄和linux的fd对比

以下是不严谨的对比表格:

特性 Linux 文件描述符 (FD) Windows 句柄 (Handle)
资源覆盖范围 主要集中在 I/O 相关资源
(文件、目录、设备、管道、套接字等)
覆盖所有内核对象
(I/O 资源 + 进程、线程、同步对象、内存、窗口、注册表等)
抽象层次 较高层次的 I/O 抽象。 较低层次的内核对象抽象。
操作接口 非常统一。open, read, write, close 等函数适用于大多数 FD。 非常分散。不同类型的句柄有各自专属的操作函数(如 ReadFile 用于文件,WaitForSingleObject 用于同步对象,SendMessage 用于窗口)。
设计哲学体现 “一切皆文件” - 将所有 I/O 统一看待。 “面向对象的内核” - 将所有系统资源都视为可被操作的对象。

以下是修正后的版本:

修正后的总结性对比表格

特性 Linux 文件描述符 (FD) Windows 句柄 (Handle)
资源覆盖范围 主要集中在可进行 I/O 操作的资源上
(文件、目录、设备、管道、套接字等)
覆盖所有由 NT 内核对象管理器管理的内核对象
(文件、事件、互斥体、进程、线程、内存段等)。
不包括 USER/GDI 对象(如窗口 HWND、画笔 HPEN)和注册表键(HKEY)等。
抽象粒度 统一的 I/O 流抽象
将各种不同的物理资源抽象为统一的字节流或数据报接口。
类型化的对象抽象
为每种内核资源提供一个明确的、独立的对象类型,强调对象的特定语义和行为。
操作接口 基础 I/O 接口高度统一
open, read, write, close 等函数适用于绝大多数 FD。
但高级或特定功能仍需专用接口(如 ioctl, sendmsg, epoll_ctl)。
接口按对象类型严格分离
每种类型的句柄都有其专属的操作函数集(如文件用 ReadFile/WriteFile,同步对象用 WaitForSingleObject),强调类型安全。
设计哲学体现 统一 I/O 模型
(常被社区概括为“一切皆文件”,其核心是用统一的接口处理所有 I/O)。
基于对象管理器的类型化资源模型
(常被社区概括为“一切皆对象”,其核心是用对象来封装和管理所有内核资源)。
http://www.jsqmd.com/news/47090/

相关文章:

  • 20251117~20251123NOIP模拟赛
  • 谁又不是一边破碎一边前行
  • Java的第一个程序
  • 题解:qoj14419 Maximum Segment Sum
  • 20232310 2025-2026-1 《网络与系统攻防技术》实验七实验报告
  • 完整教程:基于Python楼王争霸劳动竞赛数据处理分析
  • 46
  • 2025.11.21博客
  • html导出pdf
  • 【第7章 I/O编程与异常】为什么句柄看起来像指针却不是指针?
  • SQL 基础语法
  • 实用指南:暖手宝方案开发,暖手宝MCU控制方案开发设计
  • NVM 与 单节点下PM2进程守护 安装配置以及使用教程完整指南(含 Node.js 环境搭建)
  • 北大六院的诊断
  • Pycharm远程连接服务器项目 - 实践
  • django项目前端模版文件,在pycahrm无法使用ctrl+alt+l格式化代码的解决办法
  • 北大六院后看又相
  • TPAMI 2025 | 从分离到融合:新一代3D场景技术建立双重能力提升!
  • 详细介绍:后端开发常用Linux命令
  • QT:Qt5.14向文档输出表格--编译异常信息
  • 《程序员修炼之道》阅读笔记5
  • java面向对象知识补充
  • 卷积神经网络的引入3 —— MLP 与 CNN 在更大数据集上的性能对比实验
  • 全网都在找的Nano Banana Pro API 来了!便宜稳定0.15/张
  • 通过DataReader获取sql查询的字段元数据信息
  • 2025.11.21 - A
  • 2025年新版ADB工具箱下载+驱动+ADB指令集+fastboot刷机ROOT程序
  • P7960 [NOIP2021] 报数__洛谷题解
  • 与括号序列相关的 DP 笔记
  • 【251121】CF2171 Div.3 vp 总结