作者richliu (皮皮)
看板Soft_Job
标题Re: [心得] 微软的driver架构 = BullShit
时间Fri Aug 28 12:04:13 2009
※ 引述《darthv (闲谈莫论国事)》之铭言:
: → iincho:Windows source code请找WRK.NT4也有流出版..XD 08/28 10:33
: → iincho:K一轮看下来很多不懂的东西会豁然开朗... 08/28 10:33
: → iincho:不过新的OS大部分的RD都是用WinDBG加上组语硬挖出来.... 08/28 10:34
: → iincho:我个人是觉得Mini driver是正确的方向,不知道Linux为什麽 08/28 10:35
: → iincho:这方面还是很原始,结果大部分的RD都在做重复的工作..zzz 08/28 10:35
Just For Fun.
一堆人在拿 Linux 恶搞.
Linux driver 并不是大部份的 RD 在做重复的工作
其实很多时候只要改底层就好了.
有时候 Linux driver 并没有处理的这麽好的时候,
大概就是要大改一下, 再怎麽样都有路可以绕.
拿个最近在做的例子, Linux AHCI 的 driver 是挂在 PCI stack 上.
如果我在 embedded system 上, 这只 driver 就要改一下,
麻烦一点就去修原来的 ahci.c , 懒一点就 copy ahci.c myahci.c
再改一下就可以了.
Linux driver 的 RD 应该不会做重复的工作, 出问题的时候都会
追到上层去. 大概了解原理. 有些东西也会去抄其他的 driver .
很多 Linux 的 RD 应该做的是整合, 像是系统厂, 虽然都是用 Open source
但是还是常常在造轮子, 很多系统厂连自己的轮子都造不好.
这些 RD 才是做重复的工作....
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.22.92
1F:推 darthv:本来都是在套范本填function的人,给他一张空白画纸也是 08/28 15:30
2F:→ darthv:画不出来的 08/28 15:30
3F:→ darthv:有人拿linux架出google, 做grid, 开发android 08/28 15:31
4F:→ darthv:有人嫌没范本可套,呵 08/28 15:31
5F:→ iincho:光追这些东西就是额外的成本不是? 平台要推当然要搞无脑化 08/28 16:14
6F:→ iincho:我的看法是高手的事留给高手, 混饭吃的就给混饭吃的... 08/28 16:14
重点在於, 谁要赚钱
平台都给 M$ 吃去了, 当然是 M$ 赚...
追 code 又不用高手, 找几个混饭吃的就可以整一些东西出来.
但是想要整出 Andoid 这样还是要功夫的.
7F:→ iincho:常用的功能统一给做OS的包掉不见得是坏事,这样HIV可以专心 08/28 16:16
8F:→ iincho:搞其他东西,像是多媒体的部分Windows优势就很明显... 08/28 16:16
9F:→ iincho:Linux有没有,有,但是和Windows是不是同一等级的东西? 08/28 16:17
10F:→ iincho:多头马车的问题在Linux的底层部分算是还好,上层AP可以说 08/28 16:18
11F:→ iincho:更是一团混乱,光在那边打patch就消耗掉不少开发能量 08/28 16:19
这就是互补.
像networking, Windows 在这边根本没有市场.
NAS storage 应该也是, 目前都是 Linux 的天下. 不管是 Linux or embedded system
我比较简单的分, 目前是这样
有 GUI 的, Windows 乐胜, 没有 GUI 的 Unix* 乐胜
(我不能将 BSD/Solaris 放一边)
AP 就没有办法比较了. 毕竟太大太广了.
12F:→ iincho:主要的问题应该是embedded system的硬体规格不像PC那样统一 08/28 16:20
13F:→ iincho:需要大量的客制化,所以才会觉得什麽都自己来就好 08/28 16:21
14F:→ iincho:不过在桌面端的东西我宁可花少一点时间搞这些东西... 08/28 16:21
其实是 Embedded System 有太多 Bug 要用很奇特的的方式去 hacking
要不然几千万就放水流了.
※ 编辑: richliu 来自: 140.113.22.92 (08/28 16:25)
15F:推 darthv:有盲点,就算完wince/winmobile那一路的 08/28 17:32
16F:→ darthv:硬体不照微软的建议你还是得自己改bsp.跟linux一样的省不了 08/28 17:33
17F:→ iincho:啊我都说不搞embedde system了... 08/28 17:37
18F:→ iincho:搞embeddes sytem用WinCE自找麻烦...zzz 08/28 17:38
19F:→ darthv:pc的话,早就都被微软绑标了.千篇一律的硬体套千篇一律的 08/28 17:45
20F:→ darthv:windows再加上填空题的driver/ap. 好写,利润有限. 08/28 17:45
21F:→ darthv:大部分的利润让微软/INTEL拿去,理所当然.因为人家做比较难 08/28 17:45
22F:→ darthv:的事. 08/28 17:45
23F:→ darthv:所谓的Linux的问题,比较像是自由软体的特性.套句Unix界的话 08/28 17:46
24F:→ darthv:it is not a bug, it is a feature. 08/28 17:46
25F:→ darthv:Unix界不少初学者难用到掉渣的特性是老手的好用功能 08/28 17:47
26F:→ darthv:不用钱+开放原码+功能还算强可以让有心耕耘的人留住利润 08/28 17:49
27F:→ darthv:当然对於台湾那些赚加工费用的业者来说没样板可套很痛苦啦 08/28 17:50
28F:推 darthv:要有mini-driver类似的东西得等高手们达成共识吧 (笑) 08/28 17:52
29F:推 bondalin:科科...看得出来unix为何还不能普及的原因XD 08/28 22:21
30F:→ bondalin: unix-like 08/28 22:21
31F:→ NotOnSale:原PO和以上二位都是高手啊....! 08/28 22:35
32F:推 bondalin:楼上应该是说我楼上两位喔,小弟是低手,连千篇一律driver 08/28 22:46
33F:→ bondalin:都还在入门... 08/28 22:46
34F:→ darthv:你好像误会了喔,不是说有人有心故意把linux弄得很难学 08/29 00:21
35F:→ darthv:是说新架构(譬如mini-driver)需要自由软体工作者去达成共识 08/29 00:22
36F:→ darthv:自由软体界相当民主,要有大一统的东西需要时间 08/29 00:23
37F:推 meltice:因为*nix认为每个使用者都是高手 08/31 16:18