首页 > 系统相关 >聊一下操作系统-macOS-与-Linux

聊一下操作系统-macOS-与-Linux

时间:2023-08-17 09:33:05浏览次数:33  
标签:macOS 操作系统 可以 开源 Unix Linux

聊一下操作系统 macOS 与 Linux

对于Windows操作系统大家都比较熟悉,也常拿它与Linux操作系统进行比较,两者之间的差异也很明显。但对于macOS 和 Linux的比较不太多,很多人认为它们很相似,因为这两种操作系统都可以运行 Unix 命令。其实详细比较下,两者还是有很多不同点的,每种操作系统都是独一无二的存在,下面就让我们来聊聊macOS 和 Linux的不同之处吧。

1.webp

首先简单介绍下Linux和macOS吧,Linux是由一个芬兰大学生,名为 Linus Torvalds的年轻人带头开发的系统,是一类Unix计算机操作系统的统称,其最显著的特点是源代码开放,可供所有人使用,允许开发者进行更改优化。而macOS是一个封闭的系统,是指只有苹果的设备才可以使用,macOS可以说是Unix组件和苹果公司技术结合所产生的操作系统,macOS的基础是由NeXT 公司开发的,技术基于Mzch内核和Unix,但后来NeXT 公司被苹果收购了,使得 NeXTSTEP 操作系统成为了 macOS 的基础。要说两者有没有共同点,倒也有一些,但不多,因为macOS是Unix组件和苹果公司技术结合所产生的操作系统,而Linux的全称是GNU/Linux,是一个可以免费使用并且允许自由传播的类UNIX操作系统,所以关于Unix 命令、bash/zsh、以及其他 shell等,macOS和Linux都是可以使用的。两者的不同之处还是很多的,毕竟是两种系统嘛,各有各的特点。

从开源上来说,Linux的各个发行版本是完全开源的,用户不仅可以免费使用,还可以对其进行修改完善来实现自身的需求,Linux源代码开放,用户可以对源代码进行自由的剪裁,也可以自行修改使用,灵活性非常高,但在大多数情况下,修改的代码也需要公开,遵循一定的许可条款。macOS就不一样了,macOS不是完全开源的,它有一部分是专有的,也就是闭源的。macOS内核是开源的,其实准确的说,是苹果使用了开源的内核,因为BSD和Mach是内核的主要部分,而这两部分原本又都是开源的,苹果只是对其进行了优化和平台的迁移,macOS桌面和大多数驱动程序都是不开源的。Linux可以在任何硬件上使用,而macOS一般只用于Mac 设备,倒也不是说不能安装在普通电脑上,但是要安装在普通电脑上的话需要安装虚拟机,那样就很麻烦了,并且运行也远不如Mac 设备。

从软件管理方面来说,Linux的用户要下载或者安装应用程序的话,可以使用命令行或者图形工具,Linux大多数的发行版本都是带有包管理器的,这样在个人电脑上对一些软件应用程序进行安装、删除、或者进行更新、管理就很方便了。macOS用户要安装应用程序的话,通过应用程序文件夹安装是比较传统的方法,使用 Mac App Store 安装是一个比较新的方法,当然还可以使用Homebrew,Homebrew是macOS 上使用的包管理器,它与Linux包管理器的工作方式比较相似,也可以用于Linux。

从桌面环境来说,Linux早期是不带界面的,都是通过命令来执行任务,但是用户比较习惯windows的图形化界面,觉得命令行窗口用起来不舒服,后来Linux也就推出了图形界面环境,而且Linux的图形界面各种各样,可供大家去选择。用户也可以在 Linux 上安装多个桌面环境,每次可以使用不同的桌面环境,看到不同的漂亮窗口。macOS上的图形用户界面是标准的,对用户来说全都是一样的,没有各种各样一说,外观比较单一,当然可以对壁纸和主题等进行一些调整。

从系统升级层面来说,Linux提供了选择项,比如有可提供5年更新的LTS 版本,主要是适用于 Ubuntu 或基于 Ubuntu 的发行版,如 Linux Mint。还有一个Ubuntu的订阅项目,可以免费提供 十年的免费更新。还可以选择滚动发行版本,只要硬件可以胜任,就可以得到持续的更新。macOS的话,苹果公司没有公开发布对于其操作系统的更新时间计划,可能会突然抛弃旧设备,按目前的情形来看,平均支持时间在5年左右。

大概区别先介绍到这里,当然不止这些。如果说真要选择这两者中的一个用的话,Linux还是比较大众的选择,macOS 相对是一个小众的选择,我个人是比较喜欢Linux,我是经《Linux就该这么学》入门的,也学习和运用好几年了,大家对Linux感兴趣的话可以做个参考,当然这是我个人的看法,具体还是根据自身的需求进行选择。

标签:macOS,操作系统,可以,开源,Unix,Linux
From: https://www.cnblogs.com/linuxpro/p/17636740.html

相关文章

  • linux的TIME_WAIT端口释放
    linux出现大量的TIME_WAIT端口时的释放方法。通过调整内核参数解决,编辑vi/etc/sysctl.conf文件,加入以下内容:net.ipv4.tcp_syncookies=1net.ipv4.tcp_tw_reuse=1net.ipv4.tcp_tw_recycle=1net.ipv4.tcp_fin_timeout=30然后执行/sbin/sysctl-p让参数生效。netstat......
  • C# MemCached学习笔记(二)-Linux安装MemCached
      直接采用菜鸟教程的安装教程即可;原文地址:https://www.runoob.com/memcached/memcached-install.htmlLinuxMemcached安装Memcached支持许多平台:Linux、FreeBSD、Solaris、MacOS,也可以安装在Windows上。Linux系统安装memcached,首先要先安装libevent库。sudoapt-getins......
  • CS:GO升级 Linux不再是“法外之地”
    在前天的VAC大规模封禁中,有不少Linux平台的作弊玩家也迎来了“迟到”的VAC封禁。一直以来,Linux就是VAC封禁的法外之地。虽然大部分玩家都使用Windows平台进行游戏。但实际上,使用Linux畅玩CS:GO的玩家也不在少数。以前V社主要打击Windows平台的玩家作弊。而Linux则成为了一......
  • Qt for ARM_Linux环境搭建-Qt5.7+iTop4412嵌入式平台移植
    原文:https://blog.csdn.net/hechao3225/article/details/52981148经过为期3天的编译、移植,终于将Qt5.7成功移植到iTop4412开发板,板载exynos4412处理器,基于ARMCortex-A9内核。因此,本篇教程以iTop4412示例,适用于Qt5.7在ARM_Linux平台上的移植。---------------------------------......
  • 【转载】JUC常见面试题:Java线程和操作系统线程有什么区别
    【转载】JUC常见面试题:Java线程和操作系统线程有什么区别整理来自于:https://cloud.tencent.com/developer/article/18181511操作系统的用户态和核心态在操作系统中,内存通常会被分成用户空间(Userspace)与内核空间(Kernelspace)这两个部分。当进程/线程运行在用户空间时就处于用......
  • 操作系统学习01
    UNIX系统简介:1970年于美国的贝尔实验室,作者肯·汤普逊和丹尼斯·里奇UNIX是最早的多用户、多任务、支持多种CPU架构。高稳定性、高可靠性、高安全性既能构建大型关键型业务系统的服务器(银行、电信公司等),也能支持移动嵌入式设备Minix是一种开源的基于微内核架构的类UNIX计算机......
  • VS(Visual Studio)通过ssh连接虚拟机中的Linux系统远程开发
    VS通过ssh连接Linux首先VS下载Linux开发工具包,然后创建Linux环境开发项目工程,并在工具-->选项-->跨平台中通过ssh远程连接Linux系统。Linux下ssh配置(1)下载SSHsudoapt-getinstallopenssh-server(2)设置SSH开机自启动systemctlenablessh.service(3)开启SSHsudoservice......
  • Linux-shell常用命令
    1.$的使用echo"$0"打印当前文件名称echo"$1"打印当前文件后的第一个字符串echo"$2"打印当前文件后的第二个字符串echo"$*"打印当前文件后的所有字符串echo"$#"打印当前文件后的字符串个数2.""/''/``的区别""会识别$[]或者$(())中的内容并输出''直......
  • 11 Linux 设备树
    一、什么是设备树?  设备树(DeviceTree),描述设备树的文件叫做DTS(DeviceTreeSource),这个DTS文件采用树形结构描述板级设备,也就是开发板上的设备信息:  树的主干就是系统总线,IIC控制器、GPIO控制器、SPI控制器等都是接到系统主线上的分支。IIC控制器有分为IIC1......
  • Linux 系统 进阶
    目录软件安装Linux系统的应用商店yum命令(CentOS系统)apt命令(Ubuntu系统)systemctl控制软件启动关闭ln命令创建软连接日期和时区date命令date命令进行日期加减修改Linux时区ntp程序IP地址和主机名IP地址特殊IP地址主机名在Linux中修改主机名域名解析(主机名映射)配置主机名映射配......