前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >服务器为什么用 Linux?

服务器为什么用 Linux?

原创
作者头像
知忆
修改2021-06-04 10:18:47
3K0
修改2021-06-04 10:18:47
举报
文章被收录于专栏:linux百科小宇宙

前段时间开发游戏服务器模拟玩家行为的压力测试工具,网络框架用netty, 运行的机器是4核8G的云服务器,win server 2012 和 centos7都有。

每台服务器开5000个玩家,每个玩家每秒发送1条消息。linux服务器下一切正常,运行良好。win server就有一定数量的消息发不出去。而linux server下这个压测工具是和其他服务共同运行的,而windows server是只运行这个压测软件。

所以在我看,java在 windows server 下的运行效果不如linux。当然这并不是说windows server技术不如linux,也许java在linux下有特殊优化,也许netty在linux下有特殊优化。然而正因为这种流行的软件对待linux的态度要好于windows server,才导致用linux的工程师越来越多,用windows server的工程师越来越少,然后形成各种连锁反应,导致windows server的表现越来越不如linux server。

就像前几年的windows phone操作系统,要说操作系统本身差吧,其实并不差,至少体验比安卓好,但是就是不如安卓用的人多,这不是纯技术原因造成的。windows server不如linux差不多也是这么回事。

网友回答:

首要还是成本比较低。

因为开源,服务器端用得人多,所以上面资源也越来越多。

并且,linux对Docker的支持比较好,这一点在当下特别重要。

网友回答:

中高端的企业级服务器没有图形卡,没有显示器接口,只有个串行口。

网友回答:

知乎软吹比较多,动辄拿正版收费说事。实际上这些人里面真的从事运维和服务端开发的人屈指可数。却也敢对服务器大放厥词。

操作系统领域是有马太效应的,而操作系统又分为桌面端(用户端)和服务器端。桌面端毫无疑问是windows占领的,所以聚集效应非常明显,生态繁荣会吸引更多的开发者和用户,更多用户和开发者的进驻催生更多软件,繁荣生态。这其中臭打游戏的功不可没,我之前用一些技术手段挖掘了一下,知乎许多软吹多半也是游戏玩家,为屁股发声本身无可厚非,但是通过踩踏linux来捧windows的操作确实令人捧腹,毕竟从我角度来看,这些软吹开发者除了顶尖几个活跃在知乎的,其他都是给那几个顶流大V捧臭脚的,技术方面可谓菜得抠脚。

从当前中国所处的环境来说,面对美国的技术封锁也让linux有了更多的现实含义,鄙人目前就职于国内某云厂商,手上刚好有个国家某重点工程项目,不仅仅是操作系统要逐步更换成linux就连cpu也会更换成国产的arm,虽然适配工作繁冗复杂,二次开发深度定制不可避免,头发加速掉落,但是我可以很负责任地说,这个工程的推进速度正在加速。windows根本就不在一开始的考虑范围之内。

服务端操作系统抢夺的是开发者而不是普通用户和臭打游戏的。它开源,它可以不受任何国家政府机构的控制,它的每条血管和每根骨头都暴露在每个想摸清楚他运行规律的人的面前。好,你(包括很多软吹)可能会问,那linux也不是国产的呀,这就回到刚才说的马太效应上面了。linux天生就是服务运维和开发人员的。这也就形成了程序员之间的马太效应,正是这种效应,让linux上面诞生了非常多服务于开发编程的工具,让程序员(仅指服务端程序员)可以专注编程而不是沉迷于“搞环境”这种破事上面。也正是这种效应催生了docker和k8s这种毁天灭地的大杀器,然后把我们生生拽进了云时代,让windows在这个领域根本没有招架之力。(当然软吹可以说k8s可以纳管windows容器,我就懒得跟你争辩这种无聊的问题了,精力有限,李姐万岁)

所以基于以上两点,你清楚为什么至少在国内服务器要用linux了吗?linux是真的优秀吗?在我看很多地方设计的不如unix,至少不少人神吹的epoll就设计的不如kq,也不如windows的iocp,当然这都不重要了。

网友回答:

什么是Linux呢?

Liunx的官方定义:“Linux是一种UNIX操作系统的克隆,它(的内核)由Linux Torvalds以及网络上组织松散的黑客队伍一起从零开始编写而成。LINUX的目标是保持和POSIX的兼容。”众所周知,Linux是一种开放源代码的操作系统,由于它的自由开放性和技术先进性,顺应了广大软件开发商及用户日益高涨的对信息系统知情权的要求,从而迅速赢得了普遍的支持和认同,并得以迅速传播。

  目前,全球已有800万Linux用户,29%的互联网服务器都已经采用了Linux系统,随着互联网的迅猛发展,Linux以其具备自主开发和高效灵活的特点成为全球增长最快的操作系统之一,业内人士称Linux是软件市场最具潜力的操作系统。Linux已经在众多领域实现应用,尤其是嵌入系统地完美优势体现,更为Linux虚拟主机增加无限潜力价值,Linux的虚拟主机的需求也火热增长。

  使用Linux虚拟主机,适应最新的技术潮流,与国际顺利接轨,可以无限拓宽自己的发展前景。Linux是一个可独立运行的POSIX兼容操作系统,它也包含了SYS V和BSD的功能。它完全是独立发展的,其中没有包含任何有版权问题的代码Linux可以在符合GNU Public License的情况下自由传播。那么Linux 有什么优点呢?简单的说,Linux具有以下主要特性:

1.开放性 开放性是指系统遵循世界标准规范,特别是遵循开放系统互联(OSI)国际标准。凡遵循国际标准所开发的硬件和软件,都能彼此兼容,可方便地实现互连。

2.多用户 多用户是指系统资源可以被不同用户各自拥有使用,即每个用户对自己的资源(例如:文件、设备)有特定的权限,互不影响。Linux和Unix都具有多用户的特性。

3.多任务 多任务是现代计算机的最主要的一个特点。它是指计算机同时执行多个程序,而且各个程序的运行互相独立。Linux系统调度每一个进程,平等地访问微处理器。由于CPU的处理速度非常快,其结果是,启动的应用程序看起来好像在并行运行。事实上,从处理器执行一个应用程序中的一组指令到Linux调度微处理器再次运行这个程序之间只有很短的时间延迟,用户是感觉不出来的。

4.良好的用户界面 Linux向用户提供了两种界面:用户界面和系统调用。Linux的传统用户界面是基于文本的命令行界面,即shell,它既可以联机使用,又可存在文件上脱机使用。shell有很强的程序设计能力,用户可方便地用它编制程序,从而为用户扩充系统功能提供了更高级的手段。可编程Shell是指将多条命令组合在一起,形成一个 Shell程序,这个程序可以单独运行,也可以与其他程序同时运行。 系统调用给用户提供编程时使用的界面。用户可以在编程时直接使用系统提供的系统调用命令。系统通过这个界面为用户程序提供低级、高效率的服务。Linux还为用户提供了图形用户界面。它利用鼠标、菜单、窗口、滚动条等设施,给用户呈现一个直观、易操作、交互性强的友好的图形化界面。

5.设备独立性 设备独立性是指操作系统把所有外部设备统一当作成文件来看待,只要安装它们的驱动程序,任何用户都可以象使用文件一样,操纵、使用这些设备,而不必知道它们的具体存在形式。 具有设备独立性的操作系统,通过把每一个外围设备看作一个独立文件来简化增加新设备的工作。当需要增加新设备时、系统管理员就在内核中增加必要的连接。这种连接(也称作设备驱动程序)保证每次调用设备提供服务时,内核以相同的方式来处理它们。当新的及更好的外设被开发并交付给用户时,操作允许在这些设备连接到内核后,就能不受限制地立即访问它们。设备独立性的关键在于内核的适应能力。其他操作系统只允许一定数量或一定种类的外部设备连接。而设备独立性的操作系统能够容纳任意种类及任意数量的设备,因为每一个设备都是通过其与内核的专用连接独立进行访问。 Linux是具有设备独立性的操作系统,它的内核具有高度适应能力,随着更多的程序员加入Linux编程,会有更多硬件设备加入到各种linux内核和发行版本中。另外,由于用户可以免费得到Linux的内核源代码,因此,用户可以修改内核源代码,以便适应新增加的外部设备。

6.提供了丰富的网络功能 完善的内置网络是Linux的一大特点。Linux在通信和网络功能方面优于其他操作系统。其他操作系统不包含如此紧密地和内核结合在一起的连接网络的能力,也没有内置这些联网特性的灵活性。而Linux为用户提供了完善的、强大的网络功能。 支持Internet是其网络功能之一。Linux免费提供了大量支持Internet的软件,Internet是在Unix领域中建立并繁荣起来的,在这方面使用Linux是相当方便的,用户能用Linux与世界上的其他人通过Internet网络进行通信。 文件传输是其网络功能之二。用户能通过一些linux命令完成内部信息或文件的传输。 远程访问是其网络功能之三。Linux不仅允许进行文件和程序的传输,它还为系统管理员和技术人员提供了访问其他系统的窗口。通过这种远程访问的功能,一位技术人员能够有效地为多个系统服务,即使那些系统位于相距很远的地方。

7.可靠的系统安全 Linux采取了许多安全技术措施,包括对读、写进行权限控制、带保护的子系统、审计跟踪、核心授权等,这为网络多用户环境中的用户提供了必要的安全保障。

8.良好的可移植性 可移植性是指将操作系统从一个平台转移到另一个平台使它仍然能按其自身的方式运行的能力。 Linux是一种可移植的操作系统,能够在从微型计算机到大型计算机的任何环境中和任何平台上运行。可移植性为运行Linux的不同计算机平台与其他任何机器进行准确而有效的通信提供了手段,不需要另外增加特殊的和昂贵的通信接口。 我们为什么要用Linux? Linux是"免费"的,上面又有那么多"免费"的软件,为什么不用? Windows实在太不稳定了,受不了,换个平台吧。 想学习UNIX,可是钱包里的钞票不多,先从Linux开始吧。 想学习操作系统,哪里有开放源代码的OS?而且还要很活跃,有前途的。 基于Linux的并行计算,不但费用低廉,而且功能强大,有潜力,重要的是有源代码。 想成为一名Hacker(当然是网侠一类),Linux当然是最好的工具之一。 Linux潜在的商业价值不可限量,性能相当地好,稳定性也很好,用其替换商业操作系统真是明智的选择。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
轻量应用服务器
轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、Web应用、小程序/小游戏、游戏服、电商应用、云盘/图床和开发测试环境,相比普通云服务器更加简单易用且更贴近应用,以套餐形式整体售卖云资源并提供高带宽流量包,将热门软件打包实现一键构建应用,提供极简上云体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档