苹果系统底层是linux吗_苹果系统与windows系统底层 - CSDN
精华内容
参与话题
  • macOS 和 Linux 的内核区别

    万次阅读 2018-07-31 11:03:10
    有些人甚至认为苹果公司的 macOS 是基于 Linux 的。事实上是,两个内核有着截然不同的历史和特征。今天,我们来看看 macOS 和 Linux 的内核之间的区别。 macOS 内核的历史 我们将从 macOS 内核的历史开始。1985 年...

     

    有些人可能会认为 macOS 和 Linux 内核之间存在相似之处,因为它们可以处理类似的命令和类似的软件。有些人甚至认为苹果公司的 macOS 是基于 Linux 的。事实上是,两个内核有着截然不同的历史和特征。今天,我们来看看 macOS 和 Linux 的内核之间的区别。

    macOS 内核的历史

    我们将从 macOS 内核的历史开始。1985 年,由于与首席执行官 John Sculley 和董事会不和,史蒂夫·乔布斯Steve Jobs离开了苹果公司。然后,他成立了一家名为 NeXT 的新电脑公司。乔布斯希望将一款(带有新操作系统的)新计算机快速推向市场。为了节省时间,NeXT 团队使用了卡耐基梅隆大学的 Mach 内核 和部分 BSD 代码库来创建 NeXTSTEP 操作系统

    NeXT 从来没有取得过财务上的成功,部分归因于乔布斯花钱的习惯,就像他还在苹果公司一样。与此同时,苹果公司曾多次试图更新其操作系统,甚至与 IBM 合作,但从未成功。1997年,苹果公司以 4.29 亿美元收购了 NeXT。作为交易的一部分,史蒂夫·乔布斯回到了苹果公司,同时 NeXTSTEP 成为了 macOS 和 iOS 的基础。

    Linux 内核的历史

    与 macOS 内核不同,Linux 的创建并非源于商业尝试。相反,它是由芬兰计算机科学专业学生林纳斯·托瓦兹Linus Torvalds于 1991 年创建的。最初,内核是按照林纳斯自己的计算机的规格编写的,因为他想利用其新的 80386 处理器(的特性)。林纳斯于 1991 年 8 月在 Usenet 上发布了他的新内核代码。很快,他就收到了来自世界各地的代码和功能建议。次年,Orest Zborowski 将 X Window 系统移植到 Linux,使其能够支持图形用户界面。

    在过去的 27 年中,Linux 已经慢慢成长并增加了不少功能。这不再是一个学生的小型项目。现在它运行在世界上大多数的计算设备超级计算机上。不错!

     

     

    macOS 内核的特性

    macOS 内核被官方称为 XNU。这个首字母缩写词代表“XNU is Not Unix”。根据 苹果公司的 Github 页面,XNU 是“将卡耐基梅隆大学开发的 Mach 内核和 FreeBSD 组件整合而成的混合内核,加上用于编写驱动程序的 C++ API”。代码的 BSD 子系统部分“在微内核系统中通常实现为用户空间的服务”。Mach 部分负责底层工作,例如多任务、内存保护、虚拟内存管理、内核调试支持和控制台 I/O。

    Linux 内核的特性

    虽然 macOS 内核结合了微内核(Mach)和宏内核(BSD)的特性,但 Linux 只是一个宏内核。宏内核负责管理 CPU、内存、进程间通信、设备驱动程序、文件系统和系统服务调用( LCTT 译注:原文为 system server calls,但结合 Linux 内核的构成,译者认为这里翻译成系统服务调用更合适,即 system service calls)。

    用一句话总结 Linux 和 Mac 的区别

    macOS 内核(XNU)比 Linux 历史更悠久,并且基于两个更古老一些的代码库的结合;另一方面,Linux 新一些,是从头开始编写的,并且在更多设备上使用。

    展开全文
  • UNIX操作系统(尤尼斯), 是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统,最早由KenThompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T的贝尔实验室开发...
    • UNIX操作系统(尤尼斯), 是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统,最早由KenThompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T的贝尔实验室开发。目前它的商标权由国际开放标准组织所拥有,只有符合单一UNIX规范的UNIX系统才能 使用UNIX这个名称,否则只能称为类UNIX(UNIX-like)

    • Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
      Linux操作系统诞生于1991 年10 月5 日。Linux有许多不同的版本,但是都使用了Linux内核。Linux安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。
      严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。

    • iOS是由苹果公司开发的移动操作系统,iOS 与苹果的Mac OS X操作系统一样,属于类Unix的商业操作系统。原本这个系统名为iPhone OS,因为iPad,iPhone,iPod touch都使用iPhone OS,所以2010WWDC大会上宣布改名为iOS(iOS为美国Cisco公司网络设备操作系统注册商标,苹果改名已获得Cisco公司授权)。

    • Android是一种基于Linux的自由 及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较 多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。

    展开全文
  • 鸿蒙系统基于Linux打造,其本质还是安卓系统

    万次阅读 热门讨论 2019-06-18 21:21:49
    目前操作系统市场基本已被微软windows、谷歌安卓、苹果iOS瓜分完毕,国产新操作系统想分一杯羹太难,技术与基础甚至还不如华为的鸿蒙,鸿蒙兼容的意义何在? 鸿蒙操作系统为什么兼容安卓。安卓系统兼容性、开放性...

    鸿蒙系统基于Linux打造,其本质还是安卓系统?鸿蒙系统基于Linux打造,其本质还是安卓系统?

    目前操作系统市场基本已被微软windows、谷歌安卓、苹果iOS瓜分完毕,国产新操作系统想分一杯羹太难,技术与基础甚至还不如华为的鸿蒙,鸿蒙兼容的意义何在? 鸿蒙操作系统为什么兼容安卓。安卓系统兼容性、开放性比较好,已经获得全球10亿以上的安装量。把安卓应用与生态移植到鸿蒙上直接就能用,不仅减少了华为重建生态的成本,而且减少了用户改变成本。

    鸿蒙系统基于Linux打造,其本质还是安卓系统?鸿蒙系统基于Linux打造,其本质还是安卓系统?

    兼容安卓实际是蚕食安卓的生态,兼容就是抢安卓用户,断我华为的前途,华为就断其后路。鸿蒙系统白手起家,新系统生态不可能一蹴而就,“傍大款”是最好的过渡手段,方舟编译器对安卓APP重新编译,对这个过渡阶段非常重要,鸿蒙操作系统兼容安卓只是第一步。华为的鸿蒙操作系统的目标不是打造另一个安卓,而是要打造万物互联的生态,光从鸿蒙操作系统横跨电脑、平板、手机、电视等智能设备,就能看出华为的野心多么大,在今后物联网还有想象空间。

    鸿蒙系统基于Linux打造,其本质还是安卓系统?鸿蒙系统基于Linux打造,其本质还是安卓系统?

    现在的问题不是鸿蒙与其他系统互相兼容,而是怎么围绕鸿蒙操作系统,国内厂商通力合作,助力鸿蒙生态形成。一旦形成国内生态和技术壁垒,就可以制定生态规则,比如进我鸿蒙的生态,就要用我的系统,这才是国产生态最牛的状态。

    展开全文
  • Android与ios对比之系统架构层

    千次阅读 2015-04-18 16:05:44
    1. 引言 自iPhone在07年初次登台将...iOS是由苹果公司开发的手持设备操作系统。最初是设计给iPhone使用的,后来陆续套用到iPod touch、iPad以及Apple TV等苹果产品上。它也是以Darwin为基础的,因此同样属于类

    1.  引言

    自iPhone在07年初次登台将智能手机直接带向移动互联时代后,一方面智能手机普及率直线上升,另一方面整个市场目前呈现了iPhone与Android手机两强争霸的局面。

    iOS是由苹果公司开发的手持设备操作系统。最初是设计给iPhone使用的,后来陆续套用到iPod touchiPad以及Apple TV等苹果产品上。它也是以Darwin为基础的,因此同样属于类Unix的商业操作系统。

    Android是一种以Linux为基础的开放源码操作系统,主要使用于便携设备。。Android操作系统最初由Andy Rubin开发,最初主要支持手机。2005年由Google收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其他领域上。 至目前为止,android跃居全球最受欢迎的智能手机平台。

    在便携式设备领域,ios和android分别的优势和劣势也日益明显。

    2.   Android与IOS系统架构对比

    2.1  Android系统架构

    Android系统架构为四层结构,从上层到下层分别是应用程序层、应用程序框架层、系统运行库层以及Linux内核层,见图2.1分别介绍如下:

     

    Android与ios对比

    1)应用程序层

    Android平台不仅仅是操作系统,也包含了许多应用程序,诸如SMS短信客户端程序、电话拨号程序、图片浏览器、Web浏览器等应用程序。这些应用程序都是用Java语言编写的,并且这些应用程序都是可以被开发人员开发的其他应用程序所替换,这点不同于其他手机操作系统固化在系统内部的系统软件,更加灵活和个性化。

    2)应用程序框架层

             应用程序框架层是我们从事Android开发的基础,很多核心应用程序也是通过这一层来实现其核心功能的,该层简化了组件的重用,开发人员可以直接使用其提供的组件来进行快速的应用程序开发,也可以通过继承而实现个性化的拓展。

    a) Activity Manager(活动管理器)

           管理各个应用程序生命周期以及通常的导航回退功能

     b) Window Manager(窗口管理器)

            管理所有的窗口程序

      c)  Content Provider(内容提供器)

            使得不同应用程序之间存取或者分享数据

      d) View System(视图系统)

            构建应用程序的基本组件

      e) Notification Manager(通告管理器)

            使得应用程序可以在状态栏中显示自定义的提示信息

      f) Package Manager(包管理器) 

            Android系统内的程序管理

     g)Telephony Manager(电话管理器)

            管理所有的移动设备功能

      h)Resource Manager(资源管理器)

           提供应用程序使用的各种非代码资源,如本地化字符串、图片、布局文件、颜色文件等

      i)Location Manager(位置管理器)

            提供位置服务

      j)XMPP Service(XMPP服务)

            提供Google Talk服务 

      

    3)系统运行库层

        从图中可以看出,系统运行库层可以分成两部分,分别是系统库和Android运行时,分别介绍如下:

    a)系统库

         系统库是应用程序框架的支撑,是连接应用程序框架层与Linux内核层的重要纽带。其主要分为如下几个:

    Surface Manager:

         执行多个应用程序时候,负责管理显示与存取操作间的互动,另外也负责2D绘图与3D绘图进行显示合成。 

    Media Framework: 

          多媒体库,基于PacketVideo OpenCore;支持多种常用的音频、视频格式录制和回放,编码格式包括MPEG4、MP3、H.264、AAC、ARM。

     SQLite:

          小型的关系型数据库引擎 

    OpenGL|ES:

          根据OpenGL ES 1.0API标准实现的3D绘图函数库 

     FreeType:

          提供点阵字与向量字的描绘与显示 

    WebKit:

          一套网页浏览器的软件引擎

    SGL:

          底层的2D图形渲染引擎 

     SSL:

          在Andorid上通信过程中实现握手 

     Libc:

           从BSD继承来的标准C系统函数库,专门为基于embedded linux的设备定制

     

     b)Android运行时

          Android应用程序时采用Java语言编写,程序在Android运行时中执行,其运行时分为核心库和Dalvik虚拟机两部分。

    核心库:

          核心库提供了Java语言API中的大多数功能,同时也包含了Android的一些核心API,如android.os、android.net、android.media等等。

    Dalvik虚拟机:

          Android程序不同于J2me程序,每个Android应用程序都有一个专有的进程,并且不是多个程序运行在一个虚拟机中,而是每个Android程序都有一个Dalivik虚拟机的实例,并在该实例中执行。Dalvik虚拟机是一种基于寄存器的Java虚拟机,而不是传统的基于栈的虚拟机,并进行了内存资源使用的优化以及支持多个虚拟机的特点。需要注意的是,Android程序在虚拟机中执行的并非编译后的字节码,而是通过转换工具dx将Java字节码转成dex格式的中间码。

      

      4)Linux内核层 

          Android是基于Linux2.6内核,其核心系统服务如安全性、内存管理、进程管理、网路协议以及驱动模型都依赖于Linux内核。

    Android内核分析

    一、 内核在操作系统中的地位Android基于Linux操作系统由硬件、系统内核、系统服务和应用程序等四大部分组成。其中内核是核心的部分,其主要作用在于与计算机硬件进行交互实现对硬件的编程控制和接口操作调度访问硬件资源同时向应用程序提供一个高级的执行环境和对硬件的虚拟接口。主要功能包括中断服务程序、进程调度程序、进程地址空间的内存管理、进程间通信。内核与普通应用程序不同,其拥有所有硬件设备的访问权限以及启动时即划分的受保护的内存空间。

    二、Android内核和标准的Linux内核一样,Android内核主要实现内存管理、进程调度、进程间通信等功能。Android内核是在标准Linux内核的基础上修改而成。为了适应嵌入式硬件环境和移动应用程序的开发Android对标准Linux内核进行了一定的修改。经过与标准Linux内核源代码进行详细对比可以发现Android内核与标准Linux内核在文件系统、进程间通信机制、内存管理等方面存在不同。

    文件系统不同于桌面系统与服务器移动设备大多采用的不是硬盘而是采用Flash作为存储介质,因此Android内核中增加了标准Linux内核中没有采纳的YAFFS2文件系统。YAFFS2按层次结构设计分为文件管理接口、内部实现层和NAND简化了其本身与系统的接口设计能更方便地集成到系统当中。

    进程间通信机制Android增加了一种进程间的通信机制IPCBinder,Binder通过守护进程ServiceManager管理系统中的服务,负责进程间的数据交换。各进程通过Binder访问同一块共享内存以达到数据通信的机制。从应用层的角度看进程通过访问数据守护进程获取用于数据交换的程序框架接口,调用并通过接口共享数据,而其他进程要访问数据也只需与程序框架接口进行交互方便了程序员开发需要交互数据的应用程序。

    内存管理在内存管理模块Android内核采用了一种不用于标准Linux内核的低内存管理策略。在标准Linux内核当中使用一种叫做OOM(OutofMemory)的低内存管理策略,当内存不足时系统检查所有的进程并对进程进行限制评分获得最高分的进程将被关闭。Android新增加了一种内存共享的处理方式Ashmem。通过Ashmem进程间可以匿名自由共享具名的内存块这种共享方式在标准Linux当中不被支持。经过分析Android内核由标准Linux内核修改而来,因此继承了Linux内核的各种优点保留了标准Linux内核的主体架构。同时Android按照移动设备的需求在文件系统、内存管理、进程间通信机制、电源管理等方面进行了修改添加相关的驱动程序和一些必要的新功能,但是与大多数精简的嵌入式Linux操作系统相比Android很大程度上保留了标准Linux的基本架构,因此Android系统应用范围更加广泛拓展性更强。

     

    2.2  IOS系统架构

    ios的系统架构分为四个层次:核心操作系统层(core OS layer)、核心服务层(Core Service layer)、媒体层(Media layer)和可触摸层(Cocoa Touch layer),见图2.2.

     

    Android与ios对比

    1.  Core OS:
         是用FreeBSD和Mach所改写的Darwin, 是开源、符合POSIX标准的一个Unix核心。这一层包含或者说是提供了整个iPhone OS的一些基础功能,比如:硬件驱动, 内存管理,程序管理,线程管理(POSIX),文件系统,网络(BSD Socket),以及标准输入输出等等,所有这些功能都会通过C语言的API来提供。另外,值得一题的是,这一层最具有UNIX色彩,如果你需要把 UNIX上所开发的程序移植到iPhone上,多半都会使用到Core OS的API.
        核心OS层的驱动也提供了硬件和系统框架之间的接口。然而,由于安全的考虑,只有有限的系统框架类能访问内核和驱动。

     

     2.  Core Services:
        Core Services在Core OS基础上提供了更为丰富的功能, 它包含了Foundation.Framework和Core Foundation.Framework, 之所以叫Foundation ,就是因为它提供了一系列处理字串,排列,组合,日历,时间等等的基本功能。Foundation是属于Objective-C的API,Core Fundation是属于C的API。另外Core servieces还提供了其他的功能,比如:
        Security, Core Location, SQLite, 和Address Book. 其中Security是用来处理认证,密码管理,按安全性管理的; Core Location是用来处理GPS定位的;SQLLite是轻量级的数据库,而AddressBook则用来处理电话薄资料的。

     

    3.  Media

    Media层提供了图片,音乐,影片等多媒体功能。图像分为2D图像和3D图像, 前者由Quartz2D来支持,后者则是用OpenglES.与音乐对应的模组是Core Audio和OpenAL, Media Player 实现了影片的播放, 而最后还提供了Core Animation来对强大动画的支持。

     4.  Cocoa Touch

            最上面一层是Cocoa Touch,它是Objective-C的API, 其中最核心的部分是UIKit.Framework,应用程序界面上的各种组件,全是由它来提供呈现的,除此之外它还负责处理屏幕上的多点触摸事件,文字的输出,图片,网页的显示,相机或文件的存取,以及加速感应的部分等。

    2.3   Android与ios在系统架构上的对比:

    Android采用的是Java技术,所有应用在Dalvik虚拟机中运行,Dalvik是google专门为移动设备优化的Java虚拟机。因此Android具有成熟,存在大量可重用代码的优点,也有占内存大,运行速度略低的缺点。

    而Apple IOS的体系架构相对较为传统,但运行效率高,对硬件的要求低,成本优势大,在现有的硬件条件下,应用运行具有最好的顺畅感,也更加省电。系统架构朴实无华,但干净清晰,是目前最有效率的移动设备操作系统。
    展开全文
  •   由于专业缘故(笔者本科专业为“计算机科学与技术”),接触并长期使用过当前主流的三种桌面操作系统:Windows、Mac OS和Linux(深度使用了Ubuntu和Deepin Linux两个系统)。Windows自不必多说,小时候第一台PC...
  • Linux的真正对手是苹果,而不是微软

    千次阅读 2008-07-25 04:13:00
    margin: 2cm } P { margin-bottom: 0.21cm } -->  在今年《世界开源大会》(OSCON2008)上,Ubuntu奠基人MarkShuttleworth提出一个非常大胆的命题:Linux的真正对手不是微软,而是苹果。我认为,他是
  • linux与windows系统区别

    千次阅读 2018-03-06 10:29:34
    最近学习了Tony老师的linux课程,感悟颇深,收获颇多,现将linux做一个简单的介绍并且重点说明linux与windows系统的区别! linux系统是由林纳斯·托瓦兹开发的且免费开源的类Unix系统Linux继承了Unix以网络为...
  • UNIX 是啥?!和Linux什么关系?

    万次阅读 多人点赞 2019-01-11 11:03:10
    Linux, Mac OS X, Android, iOS, Chrome OS甚至路由器上的固件,这些操作系统同出一族,都是基于最初的UNIX系统开发而来,统称Unix-like 操作系统。Unix系统由AT&T贝尔实验室于1960年代开发。Unix哲学是专注于一...
  • 软件工程师都应该有一台Mac电脑

    万次阅读 2018-10-05 15:30:12
    苹果使用自家的操作系统,其底层也有采用开源系统库BSD 2).许多shell操作命令与Linux 非常相似 3).开发工具兼具图像界面和命令方式,与Linux的纯命令相比更具审美,与windows 图形界面相比更清楚开发的底层细节 4...
  • 上一个项目,公司做的无人机(开发板用的是高通的9342 wifi平台,linux 内核为2.6.31)需要跟手机通讯,是通过USB网络共享实现的。 最终9342 开发板实现了与android和ios手机(iphone/ipad等)的usb网络共享功能。 ...
  • Linux 下的图形库介绍

    万次阅读 2010-10-07 22:56:00
    Linux 下的图形库介绍 在进行Linux下的图形系统编程时,我们常常会遇到以下这些概念: Framebuffer, X11, SDL,DFB, miniGUI, OpenGL,QT, GTK,KDE, GNOME等等。 <br />一、Linux ...
  • 主流操作系统及其优缺点

    万次阅读 2019-06-09 21:07:00
    主流操作系统介绍 目录如下: 文章目录主流操作系统介绍目录如下:简介:更多信息中文名外文名英文简称组成部分主流操作系统及其优缺点:85~95年主要操作系统- DOSMS-DOS的发展历史MS-DOS 1.0MS-DOS 2.0MS-DOS...
  • 「极客头条」—— 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。 国内要闻 中国首枚芯片邮票问世!搭载 120um 超薄 NFC 芯片 ...
  • 版权声明:本文为博主原创文章,未经博主允许不得转载。 首先为了理解安卓系统是怎么工作的,就先来看一下android的...Android系统是基于Linux内核的,这一层为Android设备的各种硬件提供了底层的驱动(如显示,
  • 声明:本文只用于个人学习交流,若不慎造成侵权,请及时联系我,立即予以改正 锋影 ... [导读]车载操作系统是用户和车载...车机操作系统的功能包括管理车载系统的硬件、软件及数据资源,控制程序运行,改善人机...
  • 五大车载操作(VOS)系统优劣对比,车载系统架构分析-QNX系统性能分析 2017年08月13日 08:32:28 锋影Q 阅读数:7080 五大车载操作(VOS)系统优劣对比,车载系统架构分析-QNX.. 锋影 e-mail:174176320@qq.com ...
  • Linux 与 Unix 到底有什么不同?

    万次阅读 2019-07-05 10:15:24
    如果你是一名20多岁或30多岁的软件开发人员,那么你已成长在一个由Linux主导的世界中。数十年来,它一直是数据中心的重要参与者,尽管很难找到明确的操作系统市场份额的报告...
  • 之前代码在Xcode5.1上面跑的好好的,但是自从升级到6.0之后,就经常出现编译报错问题。hou'la
  • macOS是苹果公司为Mac系列产品开发的专属操作系统。macOS是苹果Mac系列产品的预装系统,处处体现着简洁的宗旨。不过目前Windows是工作与办公使用的最普遍的系统,用苹果的设备...
  • Android系统介绍与框架

    万次阅读 2013-07-24 23:34:07
    Android操作系统基于Linux内核设计,使用了Google公司自己开发的Dalvik Java虚拟机。Android操作系统已经成为全球最大的智能手机操作系统。 1)、开放性 Android完全开源,且该平台从底层操作系统到上层的用户界面...
1 2 3 4 5 ... 20
收藏数 10,630
精华内容 4,252
关键字:

苹果系统底层是linux吗