操作系统基础解析:Windows和Linux 到底有何不同?

操作系统基础解析:Windows和Linux 到底有何不同?

  • 最近更新2020年04月14日

操作系统基础解析:Windows和Linux 到底有何不同?

计算机操作系统是基础软件,分为闭源和开源两类。

广义的操作系统包括:计算机(PC、工作站、服务器)系统、移动端系统(例如鸿蒙)、嵌入式系统 等。本文只涉及计算机操作系统。
计算机操作系统的功能角色:作为用户和计算机硬件资源之间的交互,管理调度硬件资源,为应用 软件提供运行环境。操作系统属于基础软件,是系统级程序的汇集,为用户屏蔽底层硬件复杂度, 并提供编程接口和操作入口。操作系统控制处理器(CPU)调度系统资源,控制应用程序执行的时机, 决定各个程序分配的处理器时间(CPU time)。操作系统需要兼容底层硬件和应用软件,才能实现计算机的功能。
操作系统基础解析:Windows和Linux 到底有何不同?
根据核心代码是否向开放,操作系统可划分为两类:开源系统、闭源系统。
 1. 闭源操作系统:代码不开放,以微软 Windows 系统为代表
 
微软公司内部的研发团队开发 Windows 操作系统,并开发配套的应用软件,比如 Office。在生态 建设方面,Intel 和 Windows 长期合作形成 Wintel 体系,在 PC 端市占率全球领先
操作系统基础解析:Windows和Linux 到底有何不同?
Windows 系统的访问分为 User mode(用户模式)和 Kernel mode(内核模式)。用户级的应用程序在 用户模式中运行,而系统级的程序在内核模式中运行。内核模式允许访问所有的系统内存和 CPU 指令。Windows 系统从最早期的 16 位、32 位到现在流行的 64 位,系统版本从最初的 Windows 1.0 到 Windows 95、Windows 98、Windows 2000、Windows 2003、Windows XP、Windows Vista、Windows 7、Windows 8、Windows 8.1、Windows 10 和 Windows Server 服务器企业级 操作系统,不断持续更新。
Windows 系统最大的优势在于图形界面,使得普通用户操作起来非常便利。相比大部分 Linux 系 统,windows 的常用软件安装和系统设置不需要以命令行的方式去输入系统指令,只需要点击“按 钮”即可完成。如今,绝大多数常见软件、专用软件和底层硬件都支持 Windows 操作系统,形成 了 Window 强大的生态整体。
2. 开源操作系统:代码免费开放,以 Linux 操作系统为代表
 
Linux kernel(内核)由 Linus Torvalds 在 1991 年发布,代码免费公开,由全球开发者共同贡献, 已成为影响最广泛的开源软件项目。以 Linux 内核为基础,不同的开发团体(开源社区、企业、个 人等)对内核代码进行一定的修改和补充,加入 GUI(图形界面)、应用等部分,形成了相应的 Linux 操作系统发行版。
Linux 系统版本之间存在衍生关系,由此形成 RedHat、Slackware、Debian 等几大家族,各家族 内部又衍生出一些著名版本,如 Ubuntu、SUSE、CentOS、Red Hat Enterprise Linux、Fedora 等。
操作系统基础解析:Windows和Linux 到底有何不同?
Linux kernel 是开源项目,由全球范围的开发者(企业、团体、独立开发者)共同贡献源代码。Linux 的官方组织是 Linux 基金会,作为非盈利的联盟,协调和推动 Linux 系统的发展,以及宣传、保护 和规范 Linux。Linux 基金会由开源码发展实验室(Open Source Development Labs,OSDL)与自 由标准组织(Free Standards Group ,FSG) 于 2007 年联合成立。
操作系统基础解析:Windows和Linux 到底有何不同?
开源社区是 Linux 系统的创新源泉和主要的开发场所。Linux 操作系统发行版分为社区版本和商 业版本。社区版本数量较多,其开发和维护的主体是开源社区。少数的商业版本(比如红帽企业版) 则是在社区版本的基础上,进一步优化而来。整体来看,无论是否涉及商业活动,开源社区是 Linux 发行版的创新来源和主要的开发场所。而成熟的开源社区通常由相应的开源基金会(或者项目委员 会)进行管理。开源基金会为开发社区制定了规则,进行资源管理,负责可能的商务对接,以及保 护社区的健康运转。社区的开源基金会(委员会)一般由开源贡献方进行赞助和决策支持。
操作系统基础解析:Windows和Linux 到底有何不同?
许多开源社区背后都有一个主导企业,为社区提供资金和研究支撑,甚至直接委派员工参与开源 项目。例如,Fedora 社区的核心开发者中 1/3 是红帽的正式雇员。通过资助和维护开源社区的方 式,企业可以发挥研究力量的“杠杆”作用,通过向社区输入自有的研究资源,吸引更多的外部贡 献者参与进来,扩大创意来源;另一方面,开源社区版本也成为企业扩大技术影响力的重要途径。
Linux 操作系统由 4 部分组成:kernel、shell、文件系统、应用程序。Kernel(内核)是操作系统的 核心,不同于 windows 的内核,Linux 的内核不仅实现了进程调度、内存管理、中断处理、异常陷 阱处理,而且还实现了进程管理、进程通信机制、虚拟内存管理、文件系统驱动和 USB、网络、声 音等各类设备驱动子系统,决定了整个系统的性能和稳定性。而 shell 是系统的用户界面,提供用 户与内核交互的接口,接收用户输入的命令并送入内核去执行。
操作系统基础解析:Windows和Linux 到底有何不同?
Linux 操作系统主要的优势领域是服务器和嵌入式。据 Linux 基金会统计,全球 90%的公有云平 台采用了 Linux 系统,99%的超算和 62%的嵌入式设备也都是基于 Linux。亚马逊 AWS、微软 Azure、微软 Azure、谷歌云平台和阿里云等主流云服务商,都提供了 Linux 系统方案。全球公有 云平台运行的所有应用,超过 54%是运行在 Linux 虚拟机上。甚至微软 Azure 的近 30%的虚拟机 也是基于 Linux。根据 IDC 在 2017 年的统计数据,全球服务器操作系统使用份额(免费+付费)中, 68%是 Linux 服务器操作系统。
操作系统基础解析:Windows和Linux 到底有何不同?
Linux 操作系统在服务器领域的普及,主要由于 3 个方面:
1)创新方面,集思广益。全球开发者对 Linux 内核保持了持续的更新,提供了充足的创新动力。据 GitStats 分析结果,截至 2018 年 9 月,已有超过 19000 名开发者为 Linux 内核贡献了代码, 这些开发者遍布全球范围超过1500个组织/企业。广泛分布的开发者,从不同视角不同方面对Linux 内核的补充,使得 Linux 系统得以快速适应服务器领域的变化。
2)系统代码可以修改和自定义,用户可调用计算机资源的自由度极高。Linux 操作系统的使用者 可以轻松查看系统代码,可以自由修改代码来修补常见的问题,也可以开发自己的程序并添加入 Linux 操作系统中。相比 Windows 等闭源系统,Linux 支持了使用者对于计算机资源极大的使用自 由度,支持专业用户去构建和自定义服务器,由此获得了互联网公司、云计算公司的青睐。
3)运行效率高,运维成本低。Linux 系统在服务器上面的运行效率较高,相对比较轻量化,除非硬 件资源分配出现问题,不易出现系统卡死状况。而且 Linux 系统天然地支持虚拟化。因此,在服务 器集群上,Linux 系统的运维成本较低。
4)安全。Linux 从发展根源上就是针对多用户系统设计的,系统管理员和 root 用户具有系统管理 权限。Linux 面向全球开发者开源,系统文件都是文档,在全球开发者多次的筛查和更新中,基本排除了“后门植入”的可能。实际应用中,普通不成熟的 Linux 操作系统确实可能存在安全问题, 也是和系统的文档属性有关。例如,用户 root 权限和 sudo 指令可在有意或无意间修改 Linux 系 统文档,可能会对其他用户或整个系统造成不利影响。因此,成熟的 Linux 操作系统解决方案,有 必要对这类属性进行设计方面的防范,去进行适当的权限屏蔽。而这些安全属性的设计,本质上并 不存在难以解决的障碍。
分享到 :
相关推荐

中毒应急处置流程1.0

本文为看雪论坛优秀文章 看雪论坛作 …

如果你是黑客,会利用Windows后门来做些什么?

最近,安全研究人员发现了一个新版 …

一款Windows使用记录查看工具

此工具可以查看Windows系统第一次使 …

发表评论

登录... 后才能评论