windows, linux 各自的优缺点 (或者说特点?)

一:  程序异常接管

    windows 核心编程中,  作者指出windows 是在系统层面接管异常的. 也就是说可以将异常调试发送到系统中的任何想要调试的程序.  目前linux 没有此功能, 估计应该是版本众多, 外加此功能并不重要, 所以并未支持, linux 是进程接收异常. 并处理. 

 

二: IOCP

  IOCP 是真正的完全的异步. EPOLL 不是, IOCP有两个优点, 一:免去轮询, 二: 省去拷贝. 此两点epoll不具备, unix类系统目前并未实现真正的异步, 虽然提出过 reactor 与 proactor 编程 模型, 但并不真正支持. 

  目前开源的跨平台网络库, libuv, aiso 都是仿 IOCP.  (PS:  iocp 诞生于上世纪90年代, 比 epoll , kqueue 还要早, 并非部分人所说的, 后发先至; 而是先发先至)

 

三: 缓存预投递 (此点 与 上一点 关联):

    WINDOWS 在文件系统和网络系统中都支持了缓存预投递, 无论是否全异步(event 可以算半异步);  类 unix 系统 至今不支持预投递, 原因何在?  难道是因为专利?

 

四: 符号定位

定位上, windows 采用二层链表的模式, 定位符号需要指定模块, 首层链表为模块,  模块下面的链表为符号链表;  正常而言, 程序是不存在不需要指定模块句柄 的情况的, 所以定位符号这块, Windows 的效率高于 linux; linux 整个程序的符号都存在于一个链表中, 只能 next, next;  这在桌面系统上是不可取的.  在服务器系统当中,  本人也不推荐这种方式;  虽然缺点不明显.  (不修改是为了兼容还是因为专利?)

 

五: windows 在应用层, 开发各种各样的 集成库 框架, 导致同时兼容的框架太多; 桌面版程序又多,  CPU 大多功能较差, 所以在一定程度上影响系统的运行效率 的同时, 给许多人的体验也不是很好;  

     所以我换了新电脑?

 

六: 兼容性

     windows (API 及 APP 支持)  兼容性太强, 许多 XP 运行的程序现在还能在 WIN10 正常运行;  过分的兼容导致接口不断增加, 一定程序上影响了系统的运行效率.  这算优点还是缺点? 

     PS: 说到这里我想起了 windows 10, 说实话, 这系统实在是太臃肿了. windows 7 仍然是我的最受.

     linux 的开发惯例是 仅支持小版本兼容; (这是服务器开发模式, 桌面版不能用?)

 

七:  文件格式

     文件的图标 显示上, windows 采用通过文件扩展名的方式, 一方面可以让用户方便的隐藏自己的文件(改后缀格式), 一方面读取文件索引块, 即可显示文件类型. 效率很高;

     linux 采用读取文件内容(头部)的方式为主, 文件扩展名为辅的方式 , 来判断文件格式, 并显示文件格式对应的图标;  (主和辅 有没有写错?)

     毫无疑问 这是一个愚蠢的做法; 这导致磁盘随机读写次数增加很多; 拖累系统运行效率;  

     如果 linux 不做桌面, 这个问题可以忽略; 服务器系统 还有几个 需要桌面的; 需要桌面的, 也是偶尔用一下, 影响可以忽略.

     至于 windows 的 资源管理器 文件显示较慢 是因为他添加了许多 桌面 HOOK 支持, 以及 overlay 的图标查询. 这属于功能支持, 另当别论.   

   

八: 开发工具 

      VS 太臃肿了, 这真是一个缺点; 所以我安装了 VS 用来做编译, 但从来没用它做过编辑;   MFC, ATL, WTL 之类的开发库 也被我弃用, 也没用过 .net 还有 WPF 框架.

     据说 .net 是一门优秀的语言, 不过我没有学习过. 主要是因为我的开发方向用不到 .net.

     我的编辑工具是 qt creator,  一个跨平台的工具, 在 linux 服务器的开发中, 我也是用 creator 来管理项目的, 感觉很方便.  

 

九: WINDOWS 对开发的支持 很强大, 许多功能系统都提供了内置的 API 或 组件, 对应功能 在 linux 桌面版上 全都需要自己开发; 所以 linux 上我都是开发相对简单的程序; 

      不想陷入造轮子的泥潭中;  对于产品的回复也很简单, 三个字, 干不了 或 不支持.  否则 请给我 一年时间; (这他妈是三个字)

 

以上纯为个人见解, 由于知识所限,  出现错误也难免.  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值