{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

windows最终会完全采用linux内核吗?

MRZYDMRZYD 回答0 收藏1
收藏问题

10条回答

call_me_R

call_me_R

回答于2022-06-27 16:51

Windows采用了微内核架构,在内核架构上比Linux先进,linux是内核就是个垃圾场,什么都往里放,就是折腾的人多了,加上开源搞得比较稳定而已。

现有Windows架构其实来源于windows NT,NT架构来源于DEC,是当年DEC的架构师跳槽到微软,组织人马开发的,大致50人的团队。团队中有一个人是女的,啥也不做,仅仅参与架构技术会议,记录了整个开发过程,写了一本书,叫windows NT技术内幕,我上研究生时候看的,二十年前了。NT有posix子系统,可以直接运行unix程序,只是后来开发不完整,没有需求,微软没有做为重点。NT最牛逼就是微内核系统和安全机制,后来为了性能,做了一些让步,显示子系统做进了内核。

评论0 赞同0
  •  加载中...
Bowman_han

Bowman_han

回答于2022-06-27 16:51

windows最终会完全采用linux内核吗?

Windows完全采用Linux内核不是打自己的脸吗,微软应该还没到以内核来换取自己在操作系统中的地位吧?

这个与微软Edge浏览器放弃自家内核转而使用谷歌Chromium内核的情况完全不是一个量级比较。再者就算微软将Windows分拆并入体验与设备部门和云与人工智能部门,成云服务中的一部分,让Windows退居二线而让云服务上位。但不可置喙Windows带来的业务营收依然还在较快增长,Windows操作系统作为微软摧城拔寨的排头兵不会让其日薄西山。

现在Window10系统内置了WSL(Windows Subsystem for Linux)环境,而且启用方法比早期简单很多。对于一般人来说这个功能可有可无,甚至算得上是一个多余的累赘。但是对于开发人员来说,算是一个Windows加Linux单系统的完美解决方案,再也不用安装双系统来回切换或者在虚拟机上跑Linux系统而带来不友好的用户体验。加之微软在Build2019上公布了命令行工具Windows Terminal,届时可以直接在windows上访问CMD.EXE、Windows Linux子系统和Power Shell等,开发者终于使用此工具可以简化工作,Wow Awesome!

你可以在Windows应用商店中直接下载相应的Linux发行版,例如Kali Linux、Ubuntu、Debian和Arch Linux等发行版,微软提供的Linux发行版还是比较丰富,也期待Cent OS早日出现。WSL环境可以说是附于内核之上的东西,也就是说微软的Windows系统并没有在内核上使用Linux而还是NT内核。但有人说Windows成了最大的Linux发行商,我只能有钱就是任性,同化能力也是超厉害。哎,早知现在何必当初。微软背负的历史负担在这WSL出现的那一刻又增加了。

题外之话,其实个人还是比较欣赏国内Linux发行版Deepin系统。加上国内软件厂商的大力支持,Deepin的应用商店提供了很多满足日常办公的软件和编程软件,对于开发人员来说也很友好。暂且不论这些软件的质量和更新速度,这份认真态度还是值得尊重的。当然对于动手能力强的人群应该不会依赖于应用商店,自己能从相应软件官网获取最新的安装包。个人觉得完全可以在Deepin上编程和日常办公,当然你就不能将其和CentOS、Arch这些发行版做专业级比较了,毕竟定位不同。

Windows借鉴了Unix很多优点,Mac OS属于Unix的直接衍生产品拥有纯正的血统,而Linux只是类UNIX。但是和Mac OS一样,Linux的终端和命令行能高效的完成工作,这也是很多人选择苹果MacBook系列或在Linux 上编程的主要原因吧。所以比较期待微软的命令行工具早日正式发行,然后配合WSL环境体验在Windows操作系统下是否也能真正达到苹果电脑的高效。


本文为字节跳动签约作者EmacserVimer悟空问答原创文章,未经允许转载、抄袭必究!

评论0 赞同0
  •  加载中...
awkj

awkj

回答于2022-06-27 16:51

微软不会将Windows内核改为Linux。

Windows使用WSL拥抱Linux的真实目的

WSL的推出不仅仅是让用户停留在Windows桌面系统上,WSL可以让用户永远不接触Linux桌面系统。这样的结果是不利于Linux桌面系统的成长,也会影响Linux的普及。

但这并不是说我们就要否定WSL并且拒绝使用它,实际上WSL还是很好用。WSL可以让Windows直接运行Linux环境,无需建立在虚拟机的开销之上,并且能和Windows完美互操作,省去Linux挂载本地Windows分区或目录的操作。

Windows拥有几乎已经封闭的庞大的生态系统

有人会说:Linux可以使用Wine运行Windows的应用程序,那么Windows内核改成Linux内核对微软来说就是一件很简单的事情。

但Wine只是一个类似虚拟机的模拟环境,通过模拟环境去运行程序,运行效率是极低的。绝大多数通过Wine安装的Windows软件都是不兼容的,甚至会影响Linux的运行和稳定性。

并不是更改内核那么简单。如上图,如果红色框是Windows内核改了,那么所有与内核相关的东西都需要进行不同程度的重写。还有一些核心库文件也需要重写,例如C标准库和DirectX。用Linux内核替代Windows内核是一项艰巨的任务,Window10的代码在2500万~6500万行,合理估计读完需要130年左右。

Linux内核和Windows内核是两个非常不同的东西,微软无法将精力放在不同的平台或操作系统上重新构建内核。这样会导致他们既有的收费业务和维持实际内核维护的人员停摆而导致商业活动停顿,这样他们不得不花费更多的资金和人力用于Linux的软件开发。

在过去的20多年里,绝大多数的软件都是基于Windows,这对Microsoft来说是一个惊人的成就。

微软之所以不能切换内核,是因为成千上万的软件是运行在Windows上,而且这些软件都不是为多个操作系统设计的。如果微软要更改内核,对软件开发者来说并不是一个很好的选择,人力成本和开发成本只会剧增,并且Linux桌面操作系统的许多问题只会被释放出来。

Windows并没有想象中那么糟糕

一些Linux用户会说:Windows从根本上来说是糟糕的,并且它是多么不安全。Linux是一种更加安全和可靠的操作系统。几乎每台服务器都基于Linux,它们不会崩溃,它们具有更高的安全性,并且它们可靠,不需要在每次对它们执行任何操作时,都需要重新启动它们。

以上仅仅只是从一个小的层面的假设。实际上超过80%用户在使用微软的Windows系统,因为它是一个很好的操作系统,我们需要回到现实。

在过去的20年中,内核(包括Linux)实际上并没有发生太大变化

Windows 7与Windows 10相比,只是外观有所不同,但还是有一些更改,比如:在Windows XP Service Pack 2中添加了UAC。从根本上说,内核几乎是一样的。同样Linux内核很多年已知的缺陷,到现在也并没有修补好。

大公司并没有真正进行创新,他们只是买了一些较小的公司来为他们做事,如果需要证明这一点,请查阅iPhone的故事。

有一句话说的很好,存在即合理。Linux不能干掉所有的事情。Windows、Linux两者的功能完全不同,不要认为Windows可以神奇地切换到Linux内核而没有巨大的投资或太多的回报。所以我们不要自欺欺人,而要说,Linux是Linux ,Windows是Windows。


以上个人浅见,欢迎批评指正。喜欢的可以关注我,谢谢!

认同我的看法的请点个赞再走,再次感谢!

评论0 赞同0
  •  加载中...
canopus4u

canopus4u

回答于2022-06-27 16:51

    我们可以发现,微软的win 10操作系统已经用了很多年了,一直没有win 11的消息,难道微软要放弃win内核,转战linux内核吗?


    微软win 10将支持linux命令行

    微软表示,win 10的升级包会加入运行Unix系统的Base Shell功能,并且win 10移动版可以直接运行安卓应用程序,安卓系统是基于linux内核的。


    根据微软的说法,win 10提供的linux命令行环境,并非重新编译或者移植后的版本(区别于Cygwin等类Unix环境),没有什么根本性的限制,可以允许大量的linux程序在win上运行。


    exFAT支持Linux内核

    exFAT是微软开发的文件系统,微软手握多项专利,为闪存而生,U盘、SD卡等存储设备,能够存4G以上的大文件,就要归功于exFAT。如果是linux,需要借助第三方工具才能访问exFAT分区,存在不稳定的因素。


    微软宣布在Linux内核中加入了exFAT存储,微软早些年已经加入了Linux基金会。这样exFAT将会同时支持win、linux、mac,三大系统之间大文件传输不再是苦恼,很多用户呼吁将NTFS也开放吧。


    总之,这些年来,微软一直走在开源的路上,2014年开源了net技术,2016年开源了powerShell,2019年4月visual Studio Code代码编辑器支持linxu,随后exFAT支持linux内核,微软在开源的路上也越走越远。

如果觉得对你有帮助,可以多多点赞哦,也可以随手点个关注哦,谢谢。

评论0 赞同0
  •  加载中...
Joonas

Joonas

回答于2022-06-27 16:51

说实话,微软的内核是微内核,在理论界中,这是比linux的宏内核还优秀,但我相信微软不仅仅基于理论考虑,而是基于win要广泛应用于各种终端,给用户尽可能大的扩展能力,又不影响系统内核去考虑的。用户在系统装好后还可以很容易的安装驱动就是一例证。而linux的设计哲学应该是性能,允许生产厂家在硬件出厂之前尽量调优,但不太允许终端用户任意扩展驱动之类的核心的组件。典型场景就是服务器。

评论0 赞同0
  •  加载中...
邹强

邹强

回答于2022-06-27 16:51

windows因为闭源,候补人才越来越少,但系统却越来越庞大,造成了微软内部技术人员学习成本高昂。而且随着时间推移,系统内核代码的逐渐堆积,资深技术人员的老去,能够统筹全局的人有可能在未来的某一天出现断代。

而Linux因为开源,使得除微软之外所有想学习操作系统原理的人,首选只能是Linux,现在在系统内核方面,几乎都是Linux人才。

在这种现状下,Windows逐渐靠近Linux是必然之选,甚至完全采用Linux内核也是有可能的。除非微软把windows系统开源,不过好像也晚了点,Linux已经树大根深,在内核方面,不论是在人才储备、学习资源、商用经验、还有系统变种上,都已经超出Windows太多了

评论0 赞同0
  •  加载中...
陆斌

陆斌

回答于2022-06-27 16:51

win的内核比Linux好多了,为毛要换,天天看网上喷win就以为它很差么,随着时间推移 设备种类增多,Linux内核最终会成为一个大肿瘤

评论0 赞同0
  •  加载中...
xiaotianyi

xiaotianyi

回答于2022-06-27 16:51

是否用Linux内核不是技术问题。用了Linux内核微软就是个普通的应用软件开发商了,降级了。

windows改用Linux内核,什么微内核,什么架构差异,都不是障碍,微内核也不都是优点,毛病也不少,否则linux早就改造为微内核了。

架构差异,都是分层设计的,差异部分对应的层补齐就没有差异了。总之,windows用linux内核对微软来说技术上很简单,早年间windows就有posix,只是没有坚持。既然原来就有那么说明内部的架构是可以与linux融合的,所以现在很轻松就出了个wsl,说轻松是和win10比,难产多年。


  • 首先,windows用Linux内核就要将图形界面放入内核,linux收不收先不说,windows要开源才行,那微软准备好了?
  • 其次,Linux内核整一个图像界面,那不就有事没事搞个蓝屏玩嘛,那还是linux吗,安全性呢?稳定性?全被windows给和谐了。

到现在很多开源的好东西,因为法律条款的问题就是不能进内核,比如源自Solaris的ZFS,那么微软的一个图形就能进得了内核?基本不可能。

那那那那就windows界面不进内核,那不就是现在Linux的各种桌面吗?gnome、KDE、xfce、DDE!这么老多呢,还缺个Windows? 一个deepin几十人,自备干粮,小米加步枪就搞出来个DDE,微软花那么多年,那么多钱搞个windows GUI,这脸打的,得多么疼啊。

所以,windows用linux内核的唯一可能性就是微软遇到生存危机,否则不会用。

评论0 赞同0
  •  加载中...
wqj97

wqj97

回答于2022-06-27 16:51

感谢您的阅读!

随着ucloud在笔记本上使用深度的Linux界面开始,微软确实可能感觉到了危险。所以,微软的windows会不会采用Linux内核呢?实际回答是不可能。

我们知道的Windows,它并不是一个纯粹的微内核架构;而Linux是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。当然,两者最大的区别,我认为收费就是其中之一,最大的区别。

而还有一个明显的区别就是安全性,因为linux是建立在了Unix上,它的安全性更强一些;而windows可能会出现隐藏文件,并且不像linux那样是字符界面,所以微软的安全性差一些?

那么,为什么我们觉得微软不可能将Windows改成linux呢?我的看法是:收费或者盈利。

我们知道windows中,很大一部分是微软提供的收费软件,而在Linux平台其中,很多都是开源软件,都是用户自己开发。

这里还有一点:微软的IOCP能够更好的发挥计算机的多核CPU的性能,让IO操作均衡的负载在不同CPU线程上,而Linux的epoll的表现就没有微软的出色。

评论0 赞同0
  •  加载中...
weij

weij

回答于2022-06-27 16:51

不会,其实其他答案说的对也不对,不管windows nt内核先进还是linux内核先进,更换内核的最重要一个因素就是成本因素,除非出现新一代架构的计算机,导致现有内核完全不够用,否则微软是绝对不会更换内核的。


有一门编程语言叫做java,现在使用非常广泛,目前java最新版应该是13,最新的长期支持版应该是11,然而你猜现在有多少人再用java5、java6。这还只是一门编程语言,你想想操作系统上各种依赖更加复杂。所以结论就是没必要。

评论0 赞同0
  •  加载中...

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<