要撕是吧,谁怕谁啊。
首先,你得搞清楚,驱动是干什么的。连这个都不懂敢开炮,丢大人了吧。驱动上连系统,下连硬件。跟硬件和系统都相关。Linux上的驱动,到Windows上没法用,反之亦然。所以,即便parallel有驱动、Linux有驱动,到了Linux子系统里,也照样挂。因为Linux子系统并不是个完整的Linux,尤其是和硬件打交道部分,是通过直接调用Windows Kernel做的,接口和Linux自己的完全不同。
这就否定了用现有驱动的可能。
其次,你得搞清楚,Linux子系统的来源。Linux子系统用的是picoprocess,这是公开资料就能查到的,再进一步查出处,就能找到
Drawbridge - Microsoft Research。这是个轻量级虚拟化的解决方案,在Windows上虚拟Windows。如果你看了他的paper
https://www. microsoft.com/en-us/res earch/wp-content/uploads/2016/02/asplos2011-drawbridge.pdf,就会知道里面有提到的该方案的限制,不能接触硬件。后来在2012年,我就负责给Drawbridge做GPU加速的部分。我一个人完成了Drawbridge的D3D9和D3D11驱动(为什么没有D3D10?因为我懒)。前后两套完全不同的方案,对KMD和UMD有不同的取舍。分别适用于不同的情况。对,我一个人完成的。
再接下来,Techfest上演示了这个demo,很多人表示感兴趣,也有人问了能不能跑CUDA。我现场分析了跑CUDA的可行性和难点。但没有继续往下做。几天后,有个保密项目的人跟我有些接触,问我能不能支持OpenGLES,我说给我一两个月。3月份的Techfest,4月中旬我就第一次让OpenGLES驱动跑起来一些游戏了。印象深刻的是5月中旬的一天,从早上7点开始,一直写到晚上9点,完成了Android驱动的最后一块拼图,终于能完整地运行Android桌面,并在里面做所有的操作。之后那个项目就叫Project Astoria,大家基本都知道是怎么回事了。用的也是我的驱动。甚至,到了Redmond之后,我还对那个驱动做了一次完全的改动,基本没有一行跟以前一样了。为的是在超低端平台上(WP,说的就是你)也能跑的流畅。仍然是我一个人完成的。(有个有意思的小故事。他们之前在WP上跑的时候都是黑屏的。因为保密需要没告诉还在MSRA的我。而我到Redmond第一天,下午3点多入职培训完正式上班才知道这事,下班前已经定位原因,第二天中午就修好了。老板的老板跟我老板说,where didi you find him? you got the right guy!)
之后Project Astoria被暂停,原班人马和原版代码调去加强Linux的部分,成了现在的Linux子系统。
少年,你对力量一无所知。
凑个热闹,有些项目,一个人能写出来的,一百个人还真未必可以。
因为有技术门槛。
假设满分100分,那么按照正态分布,普通程序员就是在40-60之间,高手在60-70之间,能够给写大型驱动的高端团队,平均分也许可以到75分逼近80分。
然后,如果来了一个85分的项目,你说是平均分75-80分的百人团队写得好呢,还是一个水平在90-95分的人适合呢?
对了,也许有人会说,难道不可以让一个85-90的人带领这个团队,自然可以碾压那个90-95分的人了。
嗯,如果是比如给新出的nVidia显卡写win10驱动,可以这么做。然而目前遇到的情况是在win10的linux子系统写显卡驱动,这是从未有过的技术模式。
这种情况下,那个85-90的人是会写的,可以直接下手,那个90-95的大牛是已经有了成体系的思路,可以直接写出beta版,测试一轮就上线的。
而那群75-80的,则是只看到了门槛,对门槛里面有什么都一无所知的。
这样的团队,即使让85-90的人带领,依然得从头开始技术攻关。
冒昧问一句,题主也许连windows的驱动体系和linux差距有多大都不知道吧?连子系统和虚拟机的差距有多大都不知道吧?大概连win32和posix都是子系统都不知道吧?大概不会浅薄到以为那个驱动就是类似虚拟机的调用转发吧?
——————————————
补充说明
答主对驱动编程方面是个外行,也是个对力量一无所知并瑟瑟发抖的少年。但我知道如何尊重强者。
答主现在做的工作中,开发人员根据业务领域不同被划分成了几个小组,每个小组人员根据业务压力,从个位数到十数人不等。但不变的是,小组的领导,工作能力基本可以等同于所有组员的总和。
本人不才,是其中一个小组的组长。目前并行开展3个内容相似的项目,开发完毕待测试的一个,测试完毕待甲方使用反馈并进行修改的两个,甲方试用完毕并回归完毕然后验收完毕正处于维护阶段的一个。
目前我的组员投入在那三个并行开展的项目中,其他工作则由我全部负责,包括除测试外的所有文档工作,同时我在那三个项目中仍然作为主力参与开发。
我的组员里,有一半人工作年限和我仿佛。
这还只是国内一家普通的软件企业。
我能做的事,在我的组员眼里是可以触及的仰望,我和我的组员的差距,也就一个职位。
而龚大,是在微软研究院任职的强者。他和我的差距,比我和我的组员大了不知道多少倍。他能做的事,在我看来仿若天方夜谭。
所以,请学会尊重。你可以对力量一无所知,但这不代表你就有资格质疑。初生牛犊不畏虎,并不是褒奖。