macOS:苹果公司创造的传奇

news/2024/12/1 9:46:24/

目录

  • 概述
  • 发展历程
    • Classic Mac OS
    • OS X / macOS
    • 名称变化
    • 版本历史
      • System 1
      • System 2
      • System 3
      • System 4
      • System 5
      • System 6
      • System 7
      • Mac OS 8
      • Mac OS 9
      • Mac OS X 10.0 “Cheetah”
      • Mac OS X 10.1 "Puma"
      • Mac OS X 10.2 "Jaguar"
      • Mac OS X 10.3 "Panther"
      • Mac OS X 10.4 "Tiger"
      • Mac OS X 10.5 "Leopard"
      • Mac OS X 10.6 "Snow Leopard"
      • Mac OS X 10.7 "Lion"
      • OS X 10.8 “Mountain Lion”
      • OS X 10.9 “Mavericks”
      • OS X 10.10 “Yosemite”
      • OS X 10.11 “El Capitan”
      • macOS 10.12 “Sierra”
      • macOS 10.13 “High Sierra”
      • macOS 10.14 “Mojave”
      • macOS 10.15 “Catalina”
      • macOS 11.0 “Big Sur”
      • macOS 12.0 “Monterey”
  • 系统简介
    • 任务控制
    • 启动台
    • 应用商店
    • 调度中心
    • 自动保存
    • 版本看清走过的每一步
    • 重返
    • 升级
    • 精益求精
    • 更快
    • 中文输入法
    • 系统调用的Mac OS软件行为监测技术
    • macOS系统调用机制
  • 取证方法
    • Mac OS X系统
      • Mac OS X系统简介
    • HFS+文件系统解析
    • 系统漏洞
  • 发展历史
    • 20世纪80年代
    • 20世纪90年代

概述

macOS是一套由苹果开发的运行于Macintosh系列电脑上的操作系统。macOS是首个在商用领域成功的图形用户界面操作系统。

macOS是基于XNU混合内核的图形化操作系统,一般情况下在普通PC上无法安装的操作系统。网上也有在PC上运行的macOS(Hackintosh)。

另外,疯狂肆虐的电脑病毒几乎都是针对Windows的,由于macOS的架构与Windows不同,所以很少受到电脑病毒的袭击。

发展历程

macOS可以被分成操作系统的两个系列。

一个是老旧且已不被支持的“Classic” Mac OS(系统搭载在1984年销售的首部Mac与其后代上,终极版本是Mac OS 9)。采用Mach作为内核,在Mac OS 7.6以前用“System x.xx”来称呼。

新的Mac OS X结合BSD Unix、OpenStep和Mac OS 9的元素。它的最底层建基于Unix基础,其代码被称为Darwin,实行的是部分开放源代码。

Classic Mac OS

“Classic” Mac OS的特点是完全没有命令行模式,它是一个100%的图形操作系统。预示它容易使用,它也被指责为几乎没有内存管理、协同式多任务(cooperative multitasking)和对扩展冲突敏感。“功能扩展”(Extensions)是扩充操作系统的程序模块,譬如:附加功能性(例如:网络)或为特殊设备提供支持。某些功能扩展倾向于不能在一起工作,或只能按某个特定次序载入。解决Mac OS的功能扩展冲突可能是一个耗时的过程。

Mac OS也引入了一种新形的文件系统,一个文件包括了两个不同的“分支”(forks)。它分别把参数存在“资源分支”(resource fork),而把原始数据存在“数据分支”(data fork)里,这在当时是非常创新的。但是,因为不能识别此系统,这让它与其它操作系统的沟通成为挑战。
Mac OS 9使用B+树结构的文件系统进行文件管理。

OS X / macOS

为了挽救这种情况,Mac OS X使用基于BSD Unix的内核,并带来Unix风格的内存管理和先占式多工(pre-emptive multitasking)。大大改进内存管理,允许同时运行更多软件,而且实质上消除了一个程序崩溃导致其它程序崩溃的可能性。这也是首个包括“命令行”模式的macOS,除非执行单独的“终端”(terminal)程序,否则你可能永远也见不到。但是,这些新特征需要更多的系统资源,按官方的说法macOS X只能支持G3以上的新处理器(它在早期的G3处理器上执行起来比较慢)。Mac OS X有一个兼容层负责执行老旧的Mac应用程序,名为Classic环境(也就是程序员所熟知的“蓝盒子 the blue box”)。它把老的Mac OS 9.x系统的完整拷贝作为Mac OS X里一个程序执行,但执行应用程序的兼容性只能保证程序在写得很好的情况里在当前的硬件下不会产生意外。

2022年5月,苹果在一项联合计划中宣布,将致力于在未来一年,在其控制的所有移动、桌面和浏览器平台上打造无密码登录系统。

名称变化

2011年7月20日Mac OS X已经正式被苹果改名为OS X。2016年,OS X改名为macOS,与iOS、tvOS、watchOS相照应。

版本历史

主设计人:Mac OS 9.0是比尔·阿特金森、杰夫·拉斯金和安迪·赫茨菲尔德,是乔布斯还在苹果的时候开发的,后来他离开苹果创立NeXT后为其开发了另一套系统,主设计人是艾维·特万尼安(Avie Tevanian),乔布斯回归苹果后逐渐抛弃了以前的代码,在发布Mac OS X时,正式使用艾维·特万尼安当时编写的代码作为其主代码。
出现年:1984年。

System 1

System 2

System 3

System 4

System 5

System 6

System 7

Mac OS 8

Mac OS 9

Mac OS X 10.0 “Cheetah”

Mac OS X 10.1 “Puma”

Mac OS X 10.2 “Jaguar”

Mac OS X 10.3 “Panther”

Mac OS X 10.4 “Tiger”

Mac OS X 10.5 “Leopard”

Mac OS X 10.6 “Snow Leopard”

这个版本的Mac系统将只提供对Intel处理器的支持。

Mac OS X 10.7 “Lion”

Mac App Store是找到和下载Mac应用程序的最佳途径。如同在iPad上选购App Store中的应用程序一样,Mac App Store为浏览和购买应用程序提供无限可能。新购买的应用程序可一步完成安装,并立刻呈现于全新Launchpad 上。Mac App Store现可在任意一台运行OS X Snow Leopard的Mac上使用,并将作为OS X Lion的一部分提供。

OS X 10.8 “Mountain Lion”

去掉久远的Mac,体现Mac与iOS的融合。

OS X 10.9 “Mavericks”

OS X 10.10 “Yosemite”

OS X 10.11 “El Capitan”

macOS 10.12 “Sierra”

macOS 10.13 “High Sierra”

2018年3月30日,苹果推送了Mac OS High Sierra 10.13.4正式版,新版本增强了对外接eGPU的支持,还新增了此前iMac Pro专属的墨水云墙纸。

macOS 10.14 “Mojave”

2018年9月25日,苹果推送Mac OS Mojave 10.14,增加了深色模式,更新了Safari浏览器、Mac App Store、访达、桌面、股市、语音备忘录、家庭App等。

macOS 10.15 “Catalina”

北京时间2019年6月4日凌晨1点,2019年WWDC全球开发者大会上苹果发布Mac OS Catalina 10.15,用户能将iPad用作Mac电脑的第二块显示屏,用Apple Pencil在iPad上操作等同于在Mac电脑上输入,可以实现语音控制。

macOS 11.0 “Big Sur”

北京时间2020年06月23日,在2020苹果全球开发者大会上,苹果正式发布了macOS的下一个版本:macOS 11.0,正式称为macOS Big Sur。
该版本使用了新的界面设计,增加了Safari浏览器的翻译功能等。

北京时间2020年11月13日凌晨2点,macOS Big Sur正式版发布。

macOS 12.0 “Monterey”

2021年6月8日,苹果在“2021苹果全球开发者大会”上发布macOS Monterey。同日,苹果向开发者提供macOS Monterey首个开发者预览版。

2021年7月2日,Mac OS Monterey首个公测版发布。

2022年4月20日消息,苹果向Mac电脑用户推送了macOS 12.4开发者预览版 Beta 2更新(内部版本号:21F5058e)

2022年5月16日,苹果向Mac用户推送了macOS Monterey 12.4正式版更新。

2022年5月20日,苹果面向测试人员发布了macOS Monterey 12.5公开测试版的首个更新。

2022年7月19日,苹果向Mac电脑用户推送了macOS 12.5 RC 2更新。

2022年8月26日,苹果向Mac电脑用户推送了macOS 13开发者预览版Beta 6更新(内部版本号:22A5331f)。

系统简介

全屏幕窗口模式
全屏幕窗口是Mac OS中最为重要的功能。一切应用程序均可以在全屏模式下运行。这并不意味着窗口模式将消失,而是表明在未来有可能实现完全的网格计算。iLife 11的用户界面也表明了这一点。这种用户界面将极大简化电脑的使用,减少多个窗口带来的困扰。它将使用户获得与iPhone、iPod touch和iPad用户相同的体验。计算体验并不会因此被削弱;相反,苹果正帮助用户更为有效地处理任务。

事实上,Final Cut Pro等一些高端专业软件已经实现了这一点。它们在执行某一任务时,会占据整个屏幕,没有任何浮动窗口。毫无疑问,窗口最终将被完全取代,即使是Photoshop之类的应用而言亦是如此。但网格计算也会产生一些问题。你需要使用户能在不同的任务间高效、毫不混淆地进行切换。从演示来看,苹果或许已经找到了一个巧妙的方法:与触摸手势结合的任务控制。全屏模式的优点在于,简化了计算体验,以用户感兴趣的当前任务为中心,减少了多个窗口带来的困扰,并为全触摸计算铺平了道路。

在iPad上,每个应用程序都能全屏显示,有效排除视觉干扰,你还可轻松返回其他应用程序。Mac OS X Lion 将同一功能带到台式电脑。你只须点击一下,即可全屏显示某个应用程序,或轻扫一下触控板,便可切换至另一个全屏应用程序,再次轻扫则返回桌面,以访问其他的应用程序,实现这一切都无须退出全屏模式。整个系统支持第三方开发人员在他们开发的应用程序中充分利用这一全屏技术,让开发的应用程序看上去更生动。因此,你可专注于工作细节,或享受更宽阔的视界。

任务控制

任务控制整合了程序坞和控制面板,并可以窗口和全屏模式查看各种应用。

启动台

启动台的工作方式与iPad完全相同。它以类似于iPad的用户界面显示电脑中安装的一切应用,并通过App Store进行管理。用户可滑动触控板或鼠标,在多个应用图标界面间切换。与网格计算一样,它的计算体验以任务本身为中心。

但是,用启动台代替访达并不现实。它很有可能将继续存在一段时间。文件管理将由数据库负责,所有应用可在数据库中分享图片、音乐、文本、PDF文件及其他内容。事实上,如果聚焦速度更快,表现更好,文件夹完全可以被取消。用户没有时间去管理数以千计的各种文件。快速启动面板简化了操作,用户可以很容易地找到各种应用。但是,某些高端用户可能更喜欢用文件夹树状目录管理应用程序。

应用商店

Mac App Store的工作方式与iOS系统的App Store完全相同。他们具有相同的导航栏和管理方式。这意味着,无需对应用进行管理。当用户从该商店购买一个应用后,Mac电脑会自动将它安装到启动台中。对于普通用户而言,即使利用Mac电脑的拖放系统,安装应用程序仍有可能是一件很困难的事情,这也就是App Store存在的意义。

调度中心

调度中心是一项强大易用的新功能,让你完整地查看Mac上正执行的内容。你可将一切尽收眼下,包括仪表盘和所有全屏应用程序,它们都将在同一地方显示。只须轻扫一下,你的桌面即可切换到调度中心。在那里,你将看到按应用程序分组的打开窗口、全屏应用程序缩略图以及仪表盘,一切都呈现于同一个视窗里。同时,你只须轻点一下,便可访问调度中心里的任何选项,让你轻松掌控全局。手势和动态效果更多与Mac互动的便捷方式 多点触控手势让你在iPad上的每项操作都简单、直观。Mac有了更丰富的多点触控操控体验。你可享受更流畅、逼真的手势响应效果,包括橡皮圈滚动、页面和图像缩放和全屏轻扫。在macOS中,所有轻扫、两指开合和滚动手势的观感和触感体验都更加生动、灵敏。

自动保存

告别手动保存吧;有了macOS的自动保存功能,任务在你工作过程中即可自动保存,为你省去这项操作。macOS不会创建额外的副本,而是将更改保存在工作文件中,从而使磁盘空间得到最有效利用。锁定功能可防止意外更改被保存,并会在两周后自动锁定文档。恢复功能可为你显示上一次打开时的文档状态,因此你总有机会重新开始。

版本看清走过的每一步

版本功能可以记录文档或项目从创建开始的整个演进过程。每次你打开文档,以及在工作中每隔一小时,Mac OS就会自动为文档创建一个版本。如果你须要恢复到较早的版本,或复原部分文档,版本功能会在当前文档旁显示一连串先前的版本,这与时间机器的界面相似,因此你可看到作品在任意特定时间的状态。点击一下即可进行恢复,也可将较早版本中的内容拷贝并粘贴到当前版本中。

重返

重新启动Mac时,你知道应该做些什么;首先,你须要保存任务关闭所有应用程序,然后花费宝贵的时间对一切进行重新设置。有了重返功能,你再也不须要把时间花费在这些复杂的操作上了。它可让你随时重新启动Mac(比如,发现软件更新之后),然后返回到你正在处理的任务,所有应用程序都可回到你离开时的状态。事实上,无论何时你须要关闭并重新打开应用程序,重返功能都可以返回到你离开时的状态。这样你再也不用从头开始了。

升级

想升级macOS版本,无须前往零售店购买盒装软件,并安装一大堆光盘。你只需点击设置图标,并点击软件更新图标,即可免费更新macOS,Mac会完成余下的工作。只要确保你已具备将新Mac OS升级到Mac的必备条件即可。

精益求精

macOS以简单易用和稳定可靠著称;因此在开发macOS的过程中,Apple工程师们只有一个目标:精益求精。不断寻找可供完善、优化和提速的地方——从简单的卸载外部驱动到安装操作系统。超凡品质如今更上层楼。

更快

随OS X Leopard发布的时间机器功能,首度推出革命性的硬盘备份解决方案。Time Capsule则利用其无线硬盘和时间机器协作,进一步增强了备份功能。Snow Leopard则将时间机器的工作效率提高,Time Capsule的初始备份时间减少达50%。

装备Snow Leopard及更新版本的Mac在屏幕锁定时,可以更快从睡眠状态启动,速度提高两倍。关机快75%。在你赶着回家或去机场时节约宝贵时间。加入无线网络也快达55%。

中文输入法

在OS X Snow Leopard之前只能通过拼音等键盘输入方式输入中文。而在这之后,有了创新的输入方式:在触控板上手写输入,这已经成为现代macOS的一项特殊功能.手写时屏幕上会打开新的输入窗口,显示笔划近似的所有备选单字,并根据所选单字建议接下来可能用到的单字。

系统调用的Mac OS软件行为监测技术

通过基于系统调用hooking的技术手段,实现了macOS系统下系统调用hooking的通用框架。该框架可根据用户配置对指定系统调用进行监控并输出定制日志,构建了基于策略的安全事件监测与处理机制。实验测试结果表明,该框架具备对macOS底层系统所有系统调用函数的监控能力,其基于策略的事件监测机制运行有效,可为mac OS系统下的安全研究及应用提供良好支撑。

macOS系统调用机制

为了维持系统的稳定和安全,现代操作系统在设计实现时都采用了分层的思想,核心功能由内核层提供。系统调用是操作系统内核向用户层提供内核服务的接口。系统调用位于用户态和内核态之间,用户程序通过系统调用向操作系统内核请求服务,操作系统内核处理完成服务后,将结果返回给用户进程。这种机制提高了系统的安全性和应用程序的可移植性。

macOS系统内核XNU继承于UNIX系统。在Intel架构的64位系统中,应用层调用SYSCALL指令进入内核态,调用hndl_syscall中断服务分发例程,通过该例程来决定调用哪一号中断服务,macOS系统内核XNU中系统调用类型之一的UNIX系统调用对应0x80号中断服务,通过unix_syscall64例程来选择执行用户请求的UNIX系统调用,并将结果返回给用户程序。

取证方法

随着苹果电脑的普及,取证分析中很多情况下要考虑Mac OS的取证,如果被取证的Mac系统设置了登录密码, 那么取证过程中就要想办法绕过登录密码,取得管理员权限。主要介绍了绕过Mac OS系统登录密码的原理,介绍了HFS+文件系统的卷结构,深入剖析了HFS+文件系统卷头结构,元数据文件以及节点结构。

Mac OS X系统

Mac OS X系统简介

Mac OS X,这是一个基于UNIX核心的系统,增强了系统的稳定性、性能以及响应能力。它能通过对称多处技术充分发挥双处理器的优势,提供无与伦比的2D、3D和多媒体图形性能以及广泛的字体支持和集成的PDA功能。Mac OS X通过Classic环境几乎可以支持所有的Mac OS 9应用程序,直观的Aqua用户界面使Macintosh的易用性又达到了一个全新的水平。

HFS+文件系统解析

文件系统除了让用户供稳定地存放文件这一目标以外,还是各项操作系统功能的基础。Mac OS X每个大发行版都要增加数百项新功能,许多新功能严重依赖于文件系统的实现。Mac OS X 10.3提供了FileVault来加密用户文件,因此用户主目录被保存在一个HFS+文件系统加密镜像中。

系统漏洞

2018年8月13日,一位著名Mac系统黑客刚刚开发了一种新攻击手段:可以在电脑提出是否允许程序获取数据时自动点击“允许”按钮,从而帮助黑客展开更加深入的攻击和渗透。

发展历史

20世纪80年代

第一代微型计算机并不像大型电脑或小型电脑,没有装设操作系统的需求或能力;它们只需要最基本的操作系统,通常这种操作系统都是从ROM读取的,此种程序被称为监视程序(Monitor)。

最早期的IBM PC其架构类似C64。当然也使用了BIOS以初始化与抽象化硬件的操作,甚至也附了一个BASIC解释器,但是它的BASIC优于其他产品的原因在于他有可携性,并且兼容于任何符合IBM PC架构的机器上。这样的PC可利用Intel-8088处理器(16-bit寄存器)寻址,并最多可有1MB的内存,然而最初只有640KB。软式磁盘机取代了过去的磁带机,成为新一代的储存设备,并可在他512KB的空间上读写。为了支持更进一步的文件读写概念,磁盘操作系统(Disk Operating System,DOS)因而诞生。此操作系统可以合并任意数量的磁区,因此可以在一张磁盘片上放置任意数量与大小的文件。文件之间以档名区别。IBM并没有很在意其上的DOS,因此以向外部购买的方式取得操作系统。

1980年微软利用骗术取得了与IBM的合约,并且收购了一家出产的操作系统,在将之修改后以MS-DOS的名义出品,此操作系统可以直接让程序操作BIOS与文件系统。到了Intel-80286处理器的时代,才开始实作基本的储存设备保护措施。MS-DOS的架构并不足以满足所有需求,因为它同时只能执行最多一个程序(如果想要同时执行程式,只能使用TSR的方式来跳过OS而由程序自行处理多任务的部份),且没有任何内存保护措施。对驱动程序的支持也不够完整,因此导致诸如音效设备必须由程序自行设置的状况,造成不兼容的情况所在多有。某些操作的效能也是可怕地糟糕。许多应用程序因此跳过MS-DOS的服务程序,而直接存取硬件设备以取得较好的效能。虽然如此,但MS-DOS还是变成了IBM PC上面最常用的操作系统(IBM自己也有推出DOS,称为IBM-DOS或PC-DOS)。MS-DOS的成功使得微软成为地球上最赚钱的公司之一。

而1980年代另一个崛起的操作系统异数是Mac OS,此操作系统紧紧与麦金塔电脑捆绑在一起。此时一位施乐帕罗奥托研究中心的员工Dominik Hagen访问了苹果电脑的史蒂夫·乔布斯,并且向他展示了此时施乐发展的图形化使用者界面。苹果电脑惊为天人,并打算向施乐购买此技术,但因帕罗奥托研究中心并非商业单位而是研究单位,因此施乐回绝了这项买卖。在此之后苹果一致认为个人电脑的未来必定属于图形使用者界面,因此也开始发展自己的图形化操作系统。现今许多我们认为是基本要件的图形化接口技术与规则,都是由苹果电脑打下的基础(例如下拉式菜单、桌面图标、拖曳式操作与双点击等)。但正确来说,图形化使用者界面的确是施乐创始的。

20世纪90年代

Apple I电脑,苹果电脑的第一代产品。延续80年代的竞争,1990年代出现了许多影响未来个人电脑市场深厚的操作系统。由于图形化使用者界面日趋繁复,操作系统的能力也越来越复杂与巨大,因此强韧且具有弹性的操作系统就成了迫切的需求。此年代是许多套装类的个人电脑操作系统互相竞争的时代。

上一年代于市场崛起的苹果电脑,由于旧系统的设计不良,使得其后继发展不力,苹果电脑决定重新设计操作系统。经过许多失败的项目后,苹果于1997年释出新操作系统——Mac OS的测试版,而后推出的正式版取得了巨大的成功。让原先失意离开苹果的Steve Jobs风光再现。


http://www.ppmy.cn/news/442074.html

相关文章

用小程序做一个类似于苹果AssistiveTouch功能

一、首先我先介绍一下,我们要做一个什么样的项目功能 项目功能就是一个音频点击播放,当点击为播放的状态时,一个音频的动图出现,而且是可以跟随着手指的滑动而滑动,而且,在滑动动图的时候,当前下…

【微信小程序开发笔记】--苹果手机的悬浮按钮居中问题

小程序开发笔记(二)–苹果手机的悬浮按钮居中问题 记录小程序开发过程中遇到的那些问题 先看效果图 页面很简单,上面两个输入框,下方一个按钮,输入框分别是textarea和input,按钮在这里我做成悬浮状态&#…

模仿苹果虚拟悬浮按钮(自动靠边、可浮现任何界面上)

由于最近小蔡的手机音量键坏了,调节音量有点麻烦,突发奇想,想自己实现一个快捷键来调节音量,总结出一般本章,分享给大家。 首先 按钮要想实现悬浮在任何界面,那么必须是要写在服务里面的,使用定…

android与ios返回按钮,Android与ios的系统交互模式差异

一、导航逻辑的差异 大家都知道ios没有实体返回键,所有返回都是通过导航栏的back按钮(图1)来完成。所以,ios应用大多数情况下,只提供单一路径,无论什么样的程序,都只有一个窗口,这个窗口用于放置程序的内容…

快应用之--模仿苹果手机屏幕的虚拟键,可以在手机上随意拖动

需求:多入口需悬挂在页面中,用户可以随意拖动,方便在页面上的多操作,如下图 思路:按钮拖动分为三步骤,拖动开始(ontouchstart)、拖动中(ontouchmove)、拖动结束(ontouchend) 在拖动…

Qt 之 自定义按钮 在鼠标 悬浮、按下、松开后的效果

Qt技术学习班开始了,更多精彩、好玩的内容等着你,赶紧报名吧! 群号:655815739 #一、简述 在上一篇 Qt 之 去除窗口部件被选中后的焦点虚线框 中,我们为了去除焦点虚线框,给按钮的样式加上了如下的样式。 QPushButton…

微信小程序之可拖动悬浮按钮的实现

微信小程序之可拖动悬浮按钮的实现 什么都不说先看效果图 下面上代码 wxml <button catchtouchmove"buttonMove" catchtouchstart"buttonStart" catchtouchend"buttonEnd" style"top:{{buttonTop}}px;left:{{buttonLeft}}px;width: 5…

vue 实现 浮动图标 仿iphone悬浮球

同级目录引用组件 ./ 上一级目录&#xff0c;两个点 …/ 原文应用案例 <!-- 给定一个初始位置position&#xff0c;插槽中填写想滑动的部分 --> <xuanfuqiu :position"position"><d-add-button click"addPigFarm" add-item"猪场&quo…