当前位置: 首页 > 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.rkmt.cn/news/56807.html

相关文章:

  • 【第7章 I/O编程与异常】为什么句柄看起来像指针却不是指针?
  • SQL 基础语法
  • 北大六院后看又相
  • 详细介绍:后端开发常用Linux命令
  • 团队作业 3 - 教学课件和班级管理系统 需求改进 系统设计 - WAR
  • win11下载安装python,命令提示符输入python,打开Microsoft store界面,解决方案
  • 全网都在找的Nano Banana Pro API 来了!便宜稳定0.15/张
  • 通过DataReader获取sql查询的字段元数据信息
  • The 5W2H Problem-Solving Method
  • 重组生长因子全面解析:从结构功能到科研应用指南
  • STM32系统时钟与SysTick定时器
  • 【Linux】教你在 Linux 上搭建 Web 服务器,步骤清晰无门槛 - 详解
  • 【第7章 I/O编程与异常】\r\n 和 \n\r是一回事吗?
  • 2025-11-21
  • Gephi如何支持MySQL数据的复杂查询
  • Fisrt Blog
  • c语言和python如何解决文本文件中“不同平台换行符不兼容”问题
  • 完整教程:政务系统信创改造中,金仓日志如何满足等保2.0三级审计要求
  • 如何使用IDM嗅探视频并下载?
  • java数据结构--LinkedList与链表 - 教程
  • Record-X
  • macos: 景观类动态的壁纸和屏保保存在哪里
  • nju实验二 译码器和编码器
  • 第四十六篇
  • 2025年送礼水果排行榜权威推荐,拉吾尤摩赣南脐橙荣登榜首
  • AI救星!8个写毕业论文的实用AI工具大揭秘
  • 数据血缘图在数据错误追溯中的应用指南
  • CSS基础语法 - 指南
  • 「Temp」目录
  • 高中学习机五大品牌终极横评:优缺点一览,找到最适合你的那一款!