论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
主机系统
›
linux
›
类Unix环境在Windows上的演进史
类Unix环境在Windows上的演进史
用户云卷云舒
金牌会员
|
2024-11-3 08:33:48
|
显示全部楼层
|
阅读模式
楼主
主题
905
|
帖子
905
|
积分
2715
自从以Unix为底子的操作系统被发明以来,尝试在Windows环境中模拟Unix操作的工具就一直存在。这种需求源于许多原因,包罗Unix对脚本和命令行工具的强盛支持,以及Unix和Linux系统在科学、工程和其他技术范畴的广泛使用。下面就让我们一起探讨下在Windows上模拟Unix环境的演进史。
标题模拟Unix环境
最初,对于在Windows上运行Unix程序的需求,主要通过一些简单的实用程序和工具来满足,比如Cygwin。Cygwin是一款提供了大量GNU和开源工具的软件集合,它可以在Windows上创建一个类Unix环境,让开辟者可以在这个环境中使用类似于Linux的命令行接口。在Cygwin中,我们乃至可以使用类似在Linux上的包管理工具apt。Cygwin不但支持许多Linux的命令行工具,如bash、ls、grep等,通过使用Cygwin/X,乃至图形应用也可以移植到Windows环境中。目前Windows上的X Server如Xming等就是基于Cygwin/X开辟的。
Cygwin通过在运行时动态转换POSIX系统调用来实现这个目标,它提供了一个Cygwin.dll文件,这个文件对POSIX系统调用举行了实现。基于Cygwin的GNU编译环境提供了对POSIX系统非常好的兼容性。但由于有了这个POSIX系统调用的转换层,编译出来的代码服从上有肯定的损失。为了弥补这个问题,开源社区又推出了一个简化版的GNU编译环境MinGW。MinGW,全称为Minimalist GNU for Windows。MinGW的目标不是提供一个完整的类Unix环境,而是直接在Windows环境下使用GCC编译器。因此,MinGW编译出来的效果是原生的Windows应用程序,它们直接使用Win32 API,不需要任何的运行时库。
由于MinGW只是一个GNU编译环境,作为补充在其底子上又开辟了一个Unix风格的小型shell环境MSYS(Minimal SYStem)。MSYS的目标是提供一个足够的环境,使得用户可以在Windows平台上运行configure脚本和生成Makefile,从而可以使用GNU工具链举行软件的编译和安装。MSYS并不包罗所有的Unix工具和库,它的目标并不是提供一个完整的Unix环境。MinGW和MSYS是在32位处理器下开辟的。随着处理器从32位过分到64位,两个新的开源项目Mingw-w64和MSYS2提供了64位的GNU开辟环境。
与Cygwin和MinGW发布的同一时期,微软也推出了类似的贸易软件包Windows Services for Unix (SFU) 1.0。SFU使用的是与Cygwin类似的商用产品MKS Toolkit。这是微软为Windows NT系列操作系统开辟的一个软件包,它提供了一个环境,使得在Windows平台上运行编译为UNIX系统(如Solaris、HP-UX、AIX)的应用程序成为可能。
真正的Unix环境
只管Cygwin等工具在Windows环境中提供了使用开源工具的可能性,但并不能提供完全的Unix体验。
在1999年,Softway Systems开辟了一个叫Interix的Windows子系统。它可以说是一个真正的Unix环境。Interix为POSIX应用程序提供了一个在Windows NT上运行的环境,包罗了对原生Unix系统调用的支持。微软在1999年收购了Softway Systems,并将Interix作为Windows Services for UNIX(SFU)3. 0的一部分发布。SFU3.0提供了一套完整的Unix环境,包罗KornShell、C Shell、Perl、Vi、EMACS、awk、sed以及各种Unix命令行工具。
在Windows Vista发布时,SFU被重定名为Subsystem for UNIX-based Applications(SUA),并作为Windows的一部分发布。SUA提供了一个更为轻量级的办理方案,它只包罗了一个POSIX兼容的环境和C运行时库,而Unix工具和shell则需要另外安装。
然而,只管SFU3.5和SUA包罗了大量的功能并提供了一个真正的Unix环境,但由于其性能和兼容性问题,并未能在用户中取得广泛的成功。
与Linux共存期间的到来
总结了SFU/SUA的开辟经验,微软发现应用程序的兼容性是POSIX子系统可否成功的关键因素。
为了办理应用兼容性问题,微软推出了在架构上与SFU/SUA非常类似的Windows Subsystem for Linux(WSL)。
WSL是一种在Windows 10和Windows Server 2019上运行Linux二进制可实行文件(ELF格式)的兼容层。它不需要重启就可以在Windows上运行Linux,而且能够在Windows和Linux之间举行无缝的文件共享。WSL的推出为在Windows上运行Linux应用程序提供了一个更高效和方便的办理方案。
由于WSL1还是对系统调用的转换,以是还是有一些兼容性问题。比如无法在WSL1中使用FUSE等。到了WSL 2,通过使用轻量级的虚拟机技术,微软进一步进步了兼容性和性能,并引入了完整的Linux内核,使得与真实Linux环境的兼容性大大进步。这使得开辟者可以在Windows呆板上使用完全一样的工作流程和工具来举行Linux开辟。
从Windows中类Unix环境的演进过程中,可以看到微软与Linux从对立走向互助的过程。Microsoft逐步将Windows打造成了一个对开辟者友爱且功能丰富的平台,它不仅支持传统的Windows应用程序,还能够无缝地运行和集成类Unix环境和工具。这种演变反映了Microsoft对开放源代码和跨平台开辟趋势的相应,以及对满足现代开辟者需求的承诺。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
用户云卷云舒
金牌会员
这个人很懒什么都没写!
楼主热帖
更新:)
更新:)
期末作业C#实现学生宿舍管理系统 ...
Nginx 配置和性能调优
揭秘爆款的小程序,为何一黑到底 ...
北京动点元宇宙外包团队:微软入局工业 ...
IOS开发
Postgres14.4(Docker安装)
《HarmonyOS开发 – OpenHarmony开发笔 ...
SmartIDE v0.1.16 已经发布 - 支持阿里 ...
标签云
存储
挺好的
服务器
快速回复
返回顶部
返回列表