Fact-checked by Grok 2 weeks ago

Architecture of macOS

The architecture of macOS is a , layered operating system design rooted in the open-source , featuring the kernel that integrates for task management and , BSD subsystems for compliance and networking, and IOKit for object-oriented device drivers, enabling robust multitasking, , and on both x86-64 and ARM-based processors. This structure supports macOS's certification as a UNIX system, providing developers with stable APIs while incorporating proprietary Apple technologies for enhanced and performance. At its core, the kernel operates in a model, blending principles from —which handles and —with the monolithic features of BSD for file systems like APFS (), TCP/ networking, and security mechanisms such as access controls and auditing. IOKit complements this by facilitating plug-and-play device support and power management through a family-based , allowing of kernel extensions (kexts) while isolating them for stability. Above the kernel, the Core OS layer exposes low-level interfaces for hardware access, including for network discovery and the Grand Central Dispatch for concurrent programming, bridging to higher-level services. The Core Services layer builds upon this foundation with essential system functionalities, such as Core Foundation for data management, Launch Services for application launching, and security features like for credential storage and sandboxing to restrict app privileges, ensuring privacy and system integrity. The Media layer provides frameworks for graphics and multimedia, including for 2D rendering, Metal for GPU-accelerated 3D and compute tasks, and AVFoundation for audio-video processing, optimized for high-performance rendering. At the top, the Cocoa (or AppKit) layer delivers native application development tools, including and UIKit compatibility for cross-platform apps, supporting intuitive user interfaces and event handling. Since the transition to in 2020, macOS has leveraged a system-on-chip () design with unified , where the CPU, GPU, Neural Engine, and other components share a single high-bandwidth, low-latency , reducing data transfer overhead and enabling faster app performance, particularly in graphics-intensive tasks via Metal. This shift also enhances security through integrated hardware features like the Secure Enclave for encryption key management and pointer authentication to prevent exploits, while maintaining via 2 for binaries. Overall, macOS's emphasizes , allowing seamless updates like those in macOS Tahoe (version 26) as of November 2025, which refine existing layers without altering the foundational model.

Historical Development

NeXTSTEP Foundations

NeXT Computer, founded by Steve Jobs in 1985 after his departure from Apple, released NeXTSTEP in 1988 as an advanced operating system designed for its proprietary hardware, including the NeXT Computer workstation. This system introduced a hybrid kernel architecture that integrated the Mach 2.5 microkernel, developed at Carnegie Mellon University, with components from BSD 4.3 Unix, providing robust multitasking, memory protection, and Unix compatibility while minimizing kernel size by offloading services to user-space processes. The design emphasized object-oriented principles, enabling efficient development and portability across hardware platforms. Central to NeXTSTEP's architecture was as the primary programming language, an extension of that incorporated Smalltalk-inspired object-oriented features like dynamic binding and . The runtime provided the foundational environment for executing object-oriented code, supporting features such as runtime method resolution and introspection. Graphics rendering relied on (DPS), an extension of Adobe's language adapted for real-time display operations, which allowed for high-fidelity , window management, and seamless integration between on-screen rendering and printing. NeXTSTEP further innovated with the introduction of the Application Kit (AppKit), an object-oriented framework built atop the Objective-C runtime that simplified user interface development by providing reusable components for windows, menus, events, and controls. This framework, combined with tools like Interface Builder, reduced application development time significantly, allowing developers to prototype and build complex GUIs rapidly. To enhance cross-platform capabilities, NeXT evolved NeXTSTEP into the OPENSTEP standard in 1994, an open specification that decoupled the application environment from the underlying kernel and hardware, enabling developers to create portable software runnable on multiple operating systems and architectures without major rewrites.

Rhapsody and Darwin

In 1997, Apple acquired NeXT Software Inc. for approximately $429 million in cash and shares, a move that brought back to the company as an interim chief executive and advisor. This acquisition provided Apple with NeXT's advanced technology, including , which served as the foundation for future developments. The project, spanning 1997 to 1999, emerged as Apple's interim operating system effort to adapt for Macintosh hardware while ensuring compatibility with existing software. was released in developer previews starting in October 1997, allowing developers to build applications using NeXT's frameworks on PowerPC-based Macs. A key feature was the , a layer that enabled seamless execution of and 9 applications within , effectively running the classic Macintosh environment as a co-process for during the transition. As part of Rhapsody's architecture, Apple introduced the application programming interfaces (APIs), which evolved directly from the standard co-developed by NeXT and in 1994. retained 's Objective-C-based object-oriented design, including the "" prefix for classes and constants, while extending it for Apple's ecosystem to support with rich graphical interfaces. In March 1999, Apple announced the as the open-source core underlying its next-generation operating system, emphasizing collaboration with the developer community to enhance stability and portability. was formally open-sourced on April 5, 2000, under the (APSL) version 1.1, making its and core components available for modification and redistribution while requiring derivative works to be shared under the same terms. Darwin 1.0, released alongside the open-source initiative in April 2000, formed a hybrid foundation by integrating the Mach 3.0 for and , userland components derived from for compliance and networking, and Apple's I/O Kit framework for modular development. This combination provided a robust, processor-independent base supporting both PowerPC and architectures, with the Kernel Extension Developer Kit () enabling custom extensions like I/O Kit drivers.

Mac OS X Public Release

Mac OS X 10.0, codenamed "," marked the first public commercial release of Apple's new operating system on March 24, 2001, transitioning from the to a Unix-based foundation. Built on 1.3, this version introduced a layered architecture that combined open-source components with proprietary Apple technologies, enabling enhanced stability and multitasking capabilities for the era's PowerPC-based Macintosh hardware. The release emphasized while paving the way for modern computing paradigms, though it faced criticism for performance issues in its initial form. A key innovation in Mac OS X 10.0 was the Aqua user interface, which debuted with a distinctive liquid-like aesthetic featuring translucent elements, pinstripes, and a brushed metal appearance for certain windows and toolbars to evoke a sense of depth and materiality. Complementing this was the Dock, a persistent application launcher and task switcher positioned at the screen's edge, allowing users to access frequently used items through magnification and animation effects for intuitive navigation. These elements replaced the familiar Platinum interface of classic Mac OS, aiming to blend functionality with visual appeal inspired by natural fluidity. At the core of rendering in Mac OS X 10.0 lay , Apple's new 2D graphics engine that adopted PDF as its native document for device-independent imaging, enabling high-quality anti-aliased text and across screen and outputs. This system supplanted the aging framework from previous Mac OS versions, providing a resolution-independent model that supported advanced and effects integral to the Aqua design. Quartz 2D's integration with the Core Graphics framework ensured consistent rendering, though early implementations strained the available hardware resources. The operating system's foundation was the hybrid kernel in version 1.1, which merged a design for with monolithic components for performance, specifically optimized for PowerPC processors to handle and protected memory spaces. This kernel facilitated the inclusion of the Classic Environment, originally conceptualized as the "," which emulated a complete instance within a virtualized space to run legacy applications seamlessly alongside native ones. By encapsulating the classic system in this manner, allowed users to maintain productivity with existing software during the transition period without requiring immediate porting efforts.

Evolution to Modern macOS

The architectural evolution of macOS from Mac OS X 10.5 marked a period of iterative enhancements focused on user productivity, developer tools, and system efficiency, laying groundwork for modern integration. In 2007, introduced , an innovative backup utility that creates incremental snapshots of the entire system, enabling seamless restoration of files, applications, and even full system states through a intuitive space-time interface. This feature leveraged the kernel's capabilities to manage versioning without user intervention, significantly improving data resilience on consumer . Subsequent releases built on this foundation with advancements in concurrency and graphics processing. Mac OS X 10.6 Snow Leopard, released in 2009, debuted Grand Central Dispatch (GCD), a runtime library that abstracts thread management for multicore processors, allowing developers to dispatch tasks to queues for parallel execution and reducing the complexity of writing scalable applications. GCD integrated deeply with the kernel to optimize resource allocation, boosting overall system performance on Intel-based architectures. In parallel, the graphics stack evolved; while OS X 10.9 Mavericks in 2013 enhanced energy efficiency and multi-monitor support, the pivotal shift came with OS X 10.11 El Capitan in 2015, which introduced the Metal API—a low-overhead graphics and compute framework that provides direct GPU access for rendering and general-purpose computing tasks, surpassing the limitations of prior OpenGL implementations. The mid-2010s saw macOS align more closely with Apple's ecosystem vision, including a shift and modernization. In 2016, OS X was rebranded as macOS with version 10.12 Sierra, a change that unified branding across Apple's platforms and introduced features like integration and optimized syncing, while underlying optimizations in and driver support began preparing the OS for diverse hardware futures, including custom silicon. Building on this, macOS 10.13 High Sierra in 2017 adopted (APFS) as the default for all-flash storage, replacing HFS+ with a 64-bit structure optimized for SSDs, offering native encryption, snapshots, cloning, and efficient space sharing to enhance performance and security. A transformative hardware paradigm emerged in 2020 with (11.0), which coincided with the debut of Macs powered by the chip, enabling native ARM-based execution that delivered up to 3.5 times the CPU performance of equivalent models while unifying the across and macOS for shared frameworks and reduced translation overhead via 2. This shift eliminated x86 dependencies in core components, accelerating workloads and battery life through tight hardware-software integration. By 2023, the transition to was complete across the Mac lineup, with ongoing support for systems; as of November 2025, macOS Sequoia (version 15) continues to support compatible hardware, though Apple has announced plans to end this support in future versions such as macOS 26 or later.

Core System Components

XNU Kernel Overview

XNU, or "X is Not Unix," serves as the at the core of macOS, integrating elements from multiple architectural paradigms to provide a robust foundation for the operating system. First open-sourced as part of 1.0 in April 2000, XNU draws from Apple's earlier work on and combines a design with monolithic components for enhanced performance and compatibility. This hybrid approach enables XNU to support essential operating system functionalities while maintaining modularity. The kernel's architecture primarily comprises three key layers: the microkernel for low-level , a BSD Unix subsystem for compliance and security, and the I/O Kit for device driver handling. provides abstractions for threads, , and , while the BSD layer adds file systems, networking, and process management. I/O Kit introduces an object-oriented framework for drivers, facilitating dynamic hardware support. Together, these components enable to deliver preemptive multitasking, where the kernel can interrupt running processes to schedule others; , isolating processes to prevent unauthorized access; and (), allowing efficient utilization of multiple CPU cores. XNU supports modular extensions through kernel extensions (KEXTs), which allow third-party code for drivers, networking, and file systems to load dynamically without rebuilding the entire kernel. However, since (version 11), Apple has deprecated traditional KEXTs in favor of the more secure DriverKit framework, which runs drivers in user space to reduce system crash risks and improve stability. XNU versions are tightly aligned with macOS releases, with ongoing updates released via Apple's open-source repositories; for example, the XNU 7195 series corresponds to , while the XNU 11215 series powers macOS (version 15) as of 2024, incorporating enhancements for and security features.

Mach Microkernel

The forms the foundational layer of the in macOS, originating from research at where it was developed as a modular design emphasizing portability and multiprocessor support. , the predecessor to macOS, initially incorporated version 2.5, which provided core abstractions for processes and communication but lacked some advanced features of later iterations. During the transition to and , Apple integrated 3.0, enhancing the with improved messaging and memory handling while maintaining compatibility with the existing codebase. This evolution positioned as the provider of low-level services in 's hybrid structure, where it coexists with other components for overall system functionality. In Mach's model, a task serves as a container representing an execution environment with its own , containing zero or more threads that execute within it. Threads are lightweight units of execution, managed preemptively by the , and can be created, suspended, or terminated independently within their parent task. This separation allows for efficient , as tasks encapsulate and resources while threads handle computation, enabling scalable without traditional Unix overhead. Inter-process communication (IPC) in Mach relies on ports, which act as kernel-managed message queues capable of secure, asynchronous data exchange between tasks. Messages sent to ports carry typed or untyped data, with capabilities like send rights and receive rights controlling access and preventing unauthorized interactions. The Mach Interface Generator (MIG) automates the creation of stubs for remote procedure calls over these ports, facilitating distributed services while abstracting . Ports enable tasks to request services from kernel or user-space servers, forming the basis for higher-level abstractions in macOS. Mach manages virtual memory through private address spaces per task, supporting demand-paged allocation and sharing of memory objects. 64-bit address spaces for user applications were introduced in OS X 10.4 , with the supporting 64-bit mode since OS X 10.5 , allowing vastly expanded memory addressing beyond the 4 GB limit of 32-bit processes. In 32-bit configurations, each process is capped at approximately 4 GB total, split between user and kernel space, but 64-bit transitions enable theoretical limits up to 18 exabytes per task, accommodating modern application demands. Mach includes support for real-time scheduling, allowing threads to be assigned priorities that influence preemptive dispatch, ensuring low-latency execution for time-sensitive operations. The scheduler prioritizes tasks based on importance, integrating with hardware timers for bounded response times in multimedia and embedded scenarios. This capability extends 's role in macOS for applications requiring predictable performance. Mach itself does not provide direct POSIX compliance, as its abstractions focus on low-level primitives rather than Unix semantics; instead, POSIX interfaces are emulated in user space through the overlying BSD subsystem. This design choice preserves Mach's modularity while leveraging BSD for standard Unix compatibility.

BSD Subsystem

The BSD subsystem in the XNU kernel serves as the POSIX-compliant Unix personality layer, enabling macOS to run standard Unix applications and provide essential operating system services atop the microkernel primitives. Derived primarily from 5.x components, it incorporates advanced networking, security, and compatibility features from the BSD lineage, ensuring adherence to standards for portability and developer familiarity. This layer abstracts 's low-level abstractions, such as tasks and (IPC), into familiar Unix constructs like processes and signals, while maintaining the hybrid kernel's efficiency. At its core, the BSD subsystem delivers the APIs and the traditional BSD model, supporting key system calls for creation and . Processes are managed through the fork() and exec() family of calls, which duplicate and replace images, respectively, while signals provide asynchronous notifications for events like termination or resource limits. and group management follows Unix conventions, utilizing unique identifiers (UIDs and GIDs), password databases via mechanisms like Directory Services, and lists for permissions. Additionally, kernel support for threads (pthreads) allows multithreaded applications to leverage lightweight threading without direct Mach interaction. File system operations are handled through the (VFS) layer, which provides a unified interface for diverse underlying s while enforcing semantics for paths, permissions, and I/O. This includes native support for HFS+ with journaling to ensure crash recovery and data consistency by logging metadata changes before committing them to disk. Other supported file systems encompass UFS for Unix compatibility, NFS for network sharing, and for optical media, all accessible via standard like open(), read(), and stat(). The VFS design enhances extensibility, allowing stackable file system extensions for features like or . The networking stack draws from the 4.4BSD TCP/IP implementation, offering a mature and performant foundation for internetworking in macOS. BSD sockets serve as the primary for network communication, supporting protocols such as for reliable streams, for datagrams, and ancillary options like multicasting and . Firewall integration via the (Packet Filter) framework—adapted from —enables stateful packet inspection, NAT, and directly within the , bolstering system security without user-space overhead. For seamless hybrid operation, the BSD subsystem maps ports—Mach's IPC endpoints—to BSD file descriptors, permitting Unix applications to treat kernel communication channels as standard files. This allows operations like polling ports with select() or integrating them into event loops via , bridging the microkernel's message-passing model with POSIX I/O paradigms for enhanced compatibility.

I/O Kit Framework

The I/O Kit is an object-oriented framework developed by Apple for creating device drivers and managing hardware interactions in macOS. Introduced with in 2001, it provides a dynamic model of system hardware through the I/O Registry, a hierarchical structure of objects representing devices and their services. The framework is implemented in a restricted subset of C++ to promote and modularity, while offering compatibility with through Objective-C++ extensions for integrating with higher-level macOS components. Driver matching in the I/O Kit occurs dynamically during system boot and device attachment, using property dictionaries defined in a driver's Info.plist file under the IOKitPersonalities key. These dictionaries contain key-value pairs that specify matching criteria, such as device class (e.g., IOProviderClass as IOPCIDevice), vendor ID, or product ID, allowing the framework to identify and load the appropriate driver from kernel extensions (KEXTs). Published services from device nubs—objects created by bus controllers like or USB—trigger this process by broadcasting properties in the I/O Registry, enabling passive matching for basic compatibility checks and active matching via a driver's probe method, which returns a score to determine the best fit. A single driver can support multiple device types through several personalities, streamlining for varied . The I/O Kit includes built-in support for power management, ensuring efficient energy use across devices by associating power states with attributes like desired power level and latency. Drivers join a power plane in the I/O Registry to track dependencies, responding to system sleep/wake events and idle timeouts through methods such as setPowerState and PMstop, with passive drivers handling simple transitions and active ones managing complex shutdowns. Hot-plugging is facilitated by the framework's event-handling mechanisms, allowing dynamic attachment and removal of devices like without rebooting, as the I/O Registry updates in . For , the I/O Kit scans buses like USB and during startup or connection, creating nubs for detected devices and propagating properties upward for matching; for instance, USB controllers enumerate devices via the IOUSBFamily, while uses the IOPCIFamily to identify cards and bridges. To standardize interfaces for common hardware, the I/O Kit organizes drivers into families—modular class hierarchies that define protocols for specific device categories. The USB family (com.apple.iokit.IOUSBFamily) abstracts bus operations through classes like IOUSBDevice and IOUSBInterface, enabling kernel-mode support for HID, storage, and networking devices, as well as user-space access for peripherals like printers. Similarly, the Audio family (com.apple.iokit.IOAudioFamily) provides abstractions for recording and playback via IOAudioDevice and IOAudioEngine, supporting variable sample rates, bit depths, and channels on , USB, or FireWire hardware while integrating with the Core Audio framework. These families reduce redundancy by inheriting from base classes like IOService, ensuring consistent client-provider interactions across the ecosystem. Beginning with macOS 11.0 () in 2020, Apple transitioned from kernel-based I/O Kit KEXTs to the user-space DriverKit framework to enhance and system integrity by isolating drivers from the . DriverKit drivers run as system extensions, leveraging subsets of I/O Kit functionality through specialized frameworks like USBDriverKit and AudioDriverKit, while deprecated kernel interfaces are no longer loaded by default on compatible hardware. This shift requires to migrate existing KEXTs, with macOS blocking unsigned or outdated kernel extensions to prevent crashes and vulnerabilities. The I/O Kit remains available for user-space applications to discover and interact with hardware via device interfaces.

Graphics and User Interface

Quartz Compositing System

The Quartz Compositing System serves as the foundational graphics engine in macOS, responsible for rendering and compositing 2D visual elements across the . Introduced with in 2001, it draws heritage from NeXT's technology, which provided vector-based display capabilities in , but replaces with PDF as its core imaging model to enable device-independent rendering and avoid licensing dependencies. This PDF-centric approach ensures high-fidelity output, including precise font rendering and , while supporting real-time transformations for scalable . At its core, the system relies on the Core Graphics framework (also known as 2D) for low-level 2D rendering operations, including path construction, geometric transformations, shading, gradients, and image manipulation. Developers access these capabilities through C-based to draw shapes, handle and images, and manage modes for blending layers. The framework's lightweight design prioritizes efficiency, allowing applications to render content offscreen before final , which supports advanced imaging tasks like masking and PDF document creation directly in the . Compositing occurs primarily through the WindowServer process, a system daemon that orchestrates the assembly of application-drawn content into a unified display output. WindowServer allocates shared buffers for window layers, applies to smooth edges on curves and fonts, and enables effects such as alpha blending for overlapping elements and drop shadows. This layered seamlessly integrates diverse content types, ensuring smooth visual transitions without tearing, and leverages where available via extensions like Quartz Extreme, introduced in Mac OS X 10.2 for OpenGL-based GPU offloading. Since the introduction of Retina displays in 2012 with (10.8), has incorporated vector-based scaling to maintain crisp rendering at higher pixel densities, using backing scale factors to map logical points to physical pixels without loss of quality. APIs such as backingScaleFactor in NSView and NSScreen allow content to adapt automatically, ensuring vector paths and PDF elements scale resolution-independently for sharp anti-aliased results on high-DPI screens. This capability extends to image handling, where resamples bitmaps efficiently while preserving the fidelity of scalable assets. Quartz integrates with Core Animation, part of the QuartzCore framework, to provide hardware-accelerated transitions and animations, offloading layer manipulations to the GPU for fluid effects like fades and slides in the . This allows developers to animate Quartz-rendered content within hierarchical layers, enhancing performance for dynamic visuals while maintaining the system's PDF heritage for consistent rendering.

Metal Graphics API

Metal is a low-level graphics and compute application programming interface () developed by Apple for its platforms, providing developers with direct access to the GPU for high-performance rendering and parallel computation tasks in macOS applications. Introduced in macOS 10.11 , released on September 30, 2015, Metal marked a significant shift by offering a more efficient alternative to the aging standard, which Apple later deprecated in favor of Metal starting with macOS 10.14 Mojave in 2018. At its core, Metal employs a command-based architecture to minimize overhead and maximize GPU utilization. Developers create command buffers to sequence rendering and compute operations, which are then encoded using specialized encoders—such as render command encoders for graphics pipelines and compute command encoders for . This model supports efficient rendering pipelines, allowing multiple command buffers to be submitted concurrently for improved throughput on multi-core GPUs. Compute shaders, integral to Metal since its inception, enable general-purpose GPU (GPGPU) computing for tasks like inference and image processing, integrating seamlessly with graphics workflows. Metal 3, released in 2022 alongside , extended these capabilities with APIs for advanced rendering techniques, including ray tracing for realistic lighting, shadows, and reflections, as well as mesh shading for more efficient and . Hardware acceleration for ray tracing and mesh shading was introduced with the M3-series processors in 2023, enabling up to 2.5 times faster ray-traced rendering compared to chips on compatible hardware. These features leverage dedicated GPU hardware in chips. The Metal Shading Language (MSL), a C++-derived based on C++11/14 standards with GPU-specific extensions, allows developers to write , fragment, and compute shaders in a familiar syntax while incorporating address spaces, qualifiers, and atomic operations tailored for parallel execution. Designed with tight integration for Apple Silicon's unified and integrated GPUs, Metal optimizes data transfer and efficiency, reducing in compute-intensive workloads. This enables advanced display features like , Apple's technology supporting up to 120 Hz on compatible hardware, by allowing precise control over frame timing and to deliver smoother visuals without excessive draw. Overall, Metal's continues to emphasize across Apple's , from entry-level devices to high-end workstations. Metal 4, introduced in 2025 with macOS 26 Tahoe, further advances these capabilities with first-class integration, allowing inference directly in shaders for dynamic lighting and materials, alongside enhancements to ray tracing and new MetalFX features for AI-accelerated upscaling and frame interpolation.

Aqua and Modern Interfaces

Aqua, the graphical user interface introduced with Mac OS X in 2001, marked a significant departure from the previous Platinum design, drawing inspiration from water with its luminous, semi-transparent elements such as buttons, scroll bars, and windows to create a sense of depth and fluidity. The interface featured subtle pinstripes on windows, echoing the striped patterns on Apple's translucent hardware like the iMac G3, and incorporated translucency effects rendered via the Quartz compositing system for a more immersive experience. A hallmark animation was the genie effect for window minimization, where windows smoothly collapsed into the Dock like a genie retreating into a lamp, leveraging vector-based transformations for efficient rendering even on early hardware. Over the years, Aqua evolved into a more refined modern , with in 2020 introducing updated visual elements including increased rounded corners on windows and controls for a softer, more approachable aesthetic, alongside enhanced vibrancy effects that blend content with subtle blur and color tints to improve focus and readability. This update also integrated SF Symbols, a scalable system providing thousands of consistent, configurable symbols that align with the font family, ensuring unified visual communication across macOS interfaces and apps. These changes built on Aqua's foundational principles while adapting to contemporary display technologies and user expectations for clarity and efficiency. Apple's (HIG) have continually evolved alongside Aqua and its successors, providing developers with principles to maintain visual and functional consistency across macOS elements like menus, toolbars, and dialogs, while prioritizing accessibility features such as dynamic type scaling, support, and reduced motion options to accommodate diverse user needs. The guidelines stress deference to content—keeping interfaces unobtrusive so users remain focused on their tasks—and clarity through legible and intuitive layouts, with regular updates reflecting advancements in hardware and practices. A major evolution came with the introduction of Dark Mode in (10.14) in 2018, which applies a darkened color scheme to the entire interface, reducing in low-light environments by inverting light and dark elements across built-in apps and system UI while preserving Aqua's translucent and vibrant qualities in a nocturnal palette. Automatic switching between Light and Dark modes, tied to sunrise and sunset times or custom schedules, was added in (10.15) to seamlessly adapt the interface based on ambient conditions or user preferences. Further windowing enhancements arrived in (13.0) in 2022 with Stage Manager, a feature that automatically organizes open apps into centered stages on the desktop, grouping related windows while keeping recent ones accessible in a sidebar for quick switching, thereby reducing clutter and enhancing multitasking on larger displays. Subsequent updates in and refined these capabilities, adding options for recent apps display, keyboard navigation, and integration with external displays to support more flexible workflows without disrupting the core Aqua aesthetic, and in macOS 26 Tahoe (2025), which introduces the Liquid Glass design, featuring advanced translucency effects, customizable opacity for notifications and apps, and a revival of Aqua's fluid aesthetics with improved depth and vibrancy.

Application Frameworks

Cocoa and AppKit

serves as the primary for developing native macOS applications, providing an object-oriented environment that encompasses essential libraries, a , and tools for building robust software. It originated from the specification, a collaborative standard developed by NeXT and in 1994, which formed the foundation for modern macOS development after Apple's acquisition of NeXT in 1997. consists of two core frameworks: , which supplies base classes for data management, collections, and operating system services, and AppKit, which handles graphical user interfaces specifically for desktop macOS environments. Foundation offers fundamental abstractions such as strings, arrays, dictionaries, and utilities for tasks like date handling, networking, and persistence, enabling developers to interact with system resources efficiently. builds upon this by providing UI controls, including windows, buttons, menus, and text fields, to create event-driven interfaces. Both frameworks support development in , an extension of with object-oriented features, as well as , Apple's modern language introduced in 2014 for safer and more expressive code. This dual-language compatibility allows seamless integration of legacy Objective-C code with contemporary Swift implementations in macOS apps. At the heart of AppKit's UI architecture is the NSView class hierarchy, which manages the drawing and layout of visual elements within windows. NSView serves as the base class for all views, defining rectangular regions for rendering content, handling events, and supporting features like scrolling and dragging through subclasses such as NSScrollView. Views are organized hierarchically within an NSWindow instance, which acts as a container for the application's content and coordinates with the window server for display management. Developers typically subclass NSView to customize drawing via the draw(_:) method or to respond to user interactions, ensuring responsive and visually consistent interfaces across macOS. The in Cocoa applications is orchestrated by the NSApplication class, which initializes the application's runtime environment and processes user inputs. Upon launch, NSApplication's run() method enters the main , distributing keyboard, mouse, and gesture events to appropriate NSResponder objects in the view hierarchy, often translating them into NSEvent instances for handling. It manages menus by integrating with the system services architecture, allowing customization through delegate methods, and forwards events like Command-key combinations to relevant windows for global responses. This mechanism ensures smooth interaction, including and menu navigation, while maintaining the application's lifecycle from activation to termination. Cocoa Bindings facilitate automatic synchronization between user interface elements and data models, reducing for updates and validations. By establishing connections via key-value coding and observing, bindings link properties in controllers or views to model objects, propagating changes bidirectionally—for instance, updating a text field when an underlying data value modifies. This declarative-like feature, available since early macOS versions, enhances development efficiency without direct event handling for every UI update. Interface Builder, integrated into , enables visual design of user interfaces by allowing developers to compose views, set constraints, and configure bindings in a graphical editor. It generates or files that load at , populating NSWindow and NSView hierarchies programmatically while preserving layout fidelity across different screen sizes and orientations in macOS. This tool streamlines prototyping and maintenance, supporting rapid iteration on complex layouts without compiling code changes. For data persistence, Cocoa integrates with Core Data, an object graph management framework introduced in OS X 10.4 , which provides model-driven storage and querying capabilities. works seamlessly with AppKit by allowing managed objects to bind directly to UI elements, enabling undoable edits, versioning, and efficient caching of application data in formats like or XML. This integration supports document-based apps, where changes in views automatically persist through the framework's stack, ensuring without manual .

SwiftUI and Declarative UI

is a modern user interface framework introduced by Apple at the (WWDC) in 2019, debuting with (version 10.15) and requiring Swift 5.1 for development. This framework enables developers to build native applications across Apple's platforms using a paradigm, shifting away from the imperative style of earlier toolkits like AppKit. By describing the desired UI state rather than specifying step-by-step instructions, simplifies the creation of responsive and dynamic interfaces. At its core, SwiftUI employs a declarative syntax where user interfaces are constructed using lightweight structs that conform to the View protocol. Developers define views by composing built-in elements such as Text, Image, and Button, applying modifiers like .padding() or .background() to customize appearance and behavior without managing underlying drawing code. This approach leverages Swift's type safety and protocol-oriented programming, allowing views to be reusable and composable in a tree-like hierarchy. For example, a simple button view might be declared as Button("Tap me") { /* action */ }.foregroundColor(.blue), instantly rendering the UI based on the description. State management in SwiftUI is handled through property wrappers such as @State for local, mutable data within a view and @Binding for sharing state across views, ensuring automatic UI updates when values change. These wrappers integrate with SwiftUI's reactive system, where the framework diffs and reapplies only the necessary view updates, optimizing performance. This contrasts with manual observation in imperative frameworks, providing a more intuitive way to handle user interactions and data flows. Development with is enhanced by live previews in , where the canvas displays real-time renderings of views as code is edited, allowing immediate visual feedback without compilation or runtime execution. This feature, powered by the preview macros like #Preview, supports interactive testing and device simulation directly in the . SwiftUI's cross-platform nature allows a single codebase to target macOS, , , and , with views automatically adapting to platform-specific idioms, screen sizes, and input methods through traits and environment values. It includes built-in support for animations via modifiers like .animation(.easeInOut), enabling smooth transitions such as fades or scales triggered by state changes, and adaptive layouts that respond to dynamic contexts like orientation or accessibility needs. For existing macOS applications built with AppKit, SwiftUI integrates seamlessly via NSHostingView, a hosting controller that embeds SwiftUI views into traditional AppKit hierarchies, facilitating hybrid development and gradual migration. This bridge preserves access to legacy components while incorporating modern declarative elements.

Legacy Frameworks

The Carbon framework was introduced by Apple with Mac OS X 10.0 in 2001 as a procedural C-based application programming interface (API) designed to enable the porting of applications from the Classic Mac OS to the upcoming Mac OS X while maintaining compatibility with existing codebases. It provided a subset of the Classic Mac OS APIs that could be safely implemented in the hybrid kernel of Mac OS X, allowing developers to transition legacy software without a full rewrite. Key components included QuickTime for multimedia handling, which supported video playback, editing, and streaming through a unified framework, and HIToolbox for human interface elements such as windows, menus, controls, and event processing. These elements formed the core of Carbon's backward-compatibility layer, bridging the procedural programming model of earlier Macintosh systems to the object-oriented paradigms emerging in Mac OS X. Apple announced the deprecation of most Carbon APIs in 2012 with the release of OS X 10.8 Mountain Lion, signaling a shift toward modern frameworks like for new development while urging developers to migrate existing applications. QuickTime was specifically deprecated in OS X 10.9 , with Apple recommending the AVFoundation framework as its replacement for media processing tasks. HIToolbox APIs, which encompassed legacy Carbon managers for construction, were also marked as deprecated, though low-level portions remained accessible in 64-bit contexts for limited . This deprecation process aimed to streamline the macOS architecture by phasing out procedural APIs that were increasingly at odds with the system's evolution toward 64-bit and object-oriented designs. The transition accelerated with macOS 10.15 in 2019, which removed support for 64-bit Carbon components reliant on 32-bit subsystems, effectively ending compatibility for Carbon-based applications. Remaining support for 32-bit applications, including those using Carbon, , and HIToolbox, concluded in 2020 with the release of macOS 11 Big Sur, as Catalina had already initiated the full shift to 64-bit-only execution. To address compatibility for x86-based applications on the new architecture introduced in 2020, Apple launched 2, a dynamic system that converts x86_64 instructions to ARM64 at , allowing legacy software to run without native recompilation. 2 specifically supports translated execution of remaining Carbon-dependent apps on Macs, though it does not revive deprecated APIs or enable new development with them.

Core Services and Storage

Core Foundation and Services

Core Foundation is a C-based that provides fundamental software services for , collections, strings, and other primitives in macOS, serving as a low-level foundation for higher-level frameworks and applications. Introduced in , it implements a structured object model using types to encapsulate data and behavior, enabling interoperability across the operating system while supporting through . Core Foundation objects are defined via opaque types such as CFTypeRef, which acts as the base for all Core Foundation objects and provides core functions for retention, release, and type identification, ensuring safe memory handling in C code without direct access to internal structures. A key feature of Core Foundation is toll-free bridging, which allows seamless substitution of its objects with corresponding Foundation framework objects (and vice versa) in function calls, facilitating integration between C-based and Objective-C code without data copying or conversion overhead. For event processing, CFRunLoop manages the main event loop, handling input sources, timers, and observers to dispatch events efficiently in a multithreaded environment. Similarly, CFBundle provides mechanisms for loading application resources, plug-ins, and bundles, abstracting the process of locating and accessing executable code and assets within macOS applications. Core Services, built upon Core Foundation, include utilities for system preferences and application management. CFPreferences stores and retrieves key-value pairs for user and application settings, scoped by user, host, and application identifiers to support persistent configuration across sessions. LaunchServices, part of the Core Services framework, registers applications and handles document type associations, enabling the system to launch apps and open files appropriately based on types and UTI declarations. These foundational C APIs differ from higher-level services by providing direct, low-overhead access to core system behaviors. For internationalization, Core Foundation offers robust support through types like CFString, which stores Unicode strings as sequences of 16-bit characters and handles encoding conversions, , and localization for global text processing. CFDate complements this by abstracting date and time representations, converting between absolute time intervals and calendar-specific formats while respecting locale settings for consistent cross-cultural handling. These components ensure that macOS applications can manage diverse data formats reliably, forming the bedrock for user-facing interfaces in frameworks like AppKit.

Launch Services

Launch Services is a component of the Core Services framework in macOS, providing APIs for applications to launch other apps, open documents, , or files based on types in a manner consistent with the Finder and . It manages app role assignments by allowing developers to register the document types and URL schemes an application can handle, ensuring that the system directs appropriate files or links to the correct app. Key functions include LSOpenURLsWithRole and LSOpenFromURLSpec, which enable programmatic opening of resources while specifying the role (e.g., editor or viewer) and handling multiple items simultaneously. Central to Launch Services is the Uniform Type Identifier (UTI) system, introduced in macOS 10.4 in 2005, which standardizes the identification of file types and data formats across the system. UTIs replace older types and file extensions with hierarchical, extensible identifiers (e.g., public.image as a supertype for public.), allowing precise matching of documents to apps based on declared capabilities in the app's Info.plist file. This enables Launch Services to resolve associations dynamically, supporting operations like opening attachments or URLs without relying on brittle patterns. Since macOS 10.4 , the daemon has served as the foundational process manager for Launch Services, replacing the traditional Unix init system to handle system initialization, job scheduling, and on-demand service launching. reads files (plists) in /Library/LaunchDaemons and ~/Library/LaunchAgents to define jobs, supporting timed executions (e.g., every 10 minutes), calendar-based triggers, or socket-based activation where services start only upon incoming requests. This on-demand model conserves resources by keeping daemons inactive until needed and automatically restarting failed processes, integrating seamlessly with Launch Services for app and service orchestration. XPC (Cross Process Communication) enhances Launch Services by providing a secure mechanism for and service isolation, allowing apps to offload tasks to lightweight, sandboxed helper processes managed by . Developers embed XPC services within app bundles, where a listener handles incoming via APIs like xpc_listener_create and dispatches tasks asynchronously, while clients use xpc_connection_create to send requests. This prevents crashes in one process from affecting others and enforces entitlements for , with launching the service transparently upon first connection. Launch Services integrates with Spotlight, macOS's search engine, to enable search-based app and document launching by leveraging UTIs for metadata extraction and resolution. When Spotlight indexes files, it queries Launch Services via the UTI to identify handlers and importers, allowing users to search for and open resources directly from Spotlight results, such as launching an app or revealing a document in its default viewer. This coupling ensures efficient, context-aware launching without manual intervention.

APFS File System

(APFS) was introduced in macOS 10.13 High Sierra in 2017 as the default file system for all SSD-based systems, replacing the older Hierarchical File System Plus (HFS+) to better support modern solid-state drives through optimized performance, stronger encryption, and enhanced features. Starting with (10.14), APFS became the default for all storage types, including mechanical hard drives and Fusion Drives. Designed specifically for flash storage, APFS addresses HFS+ limitations by providing faster operations, reduced overhead for small files, and scalability from wearables to high-capacity servers, while maintaining for data volumes on mechanical drives. At its core, APFS employs a container-based architecture where a single container spans the entire storage device or partition, housing multiple independent volumes—for instance, starting with (10.15), the startup container includes a system volume (read-only) and a separate volume, along with (VM) and recovery volumes—to support features like . This design allows dynamic space sharing across volumes, enabling them to allocate storage on demand from a shared pool without fixed size limits, which simplifies management and improves efficiency on SSDs. File organization relies on indexing for directories and metadata, ensuring efficient lookups and updates even with large datasets. Key features of APFS include support for snapshots, which create read-only, point-in-time copies of volumes for backups and system rollbacks without duplicating data; and , which allows instant copies of files or directories by referencing existing blocks, avoiding unnecessary data replication. Native encryption is integrated at the file and volume levels using AES-XTS, with providing full-disk encryption for the data volume while keeping the system volume sealed and read-only. Crash protection is achieved through mechanisms and checkpoints, ensuring transactions and during power failures or unexpected shutdowns. Allocation is block-based with a minimum 4KB block size, and sparse files are supported to efficiently handle files with large unallocated regions by only storing actual data extents.

Security Architecture

System Integrity Protection

System Integrity Protection (SIP) is a kernel-enforced security feature in macOS that safeguards critical system files and directories from unauthorized modifications, even by processes running with root privileges. Introduced in (version 10.11) in 2015, SIP operates in a "rootless" mode, rendering key locations such as /System, /usr, /bin, /sbin, and /var read-only to prevent or erroneous changes from compromising system integrity. This protection extends to pre-installed macOS applications and other essential components, while allowing writable access to user-modifiable areas like /Applications, /Library, and /usr/local for third-party software. SIP leverages the kernel's mandatory access controls to enforce these restrictions universally across all processes, including those that are sandboxed or elevated to administrator levels, ensuring that only Apple-signed processes with specific entitlements—such as software updaters or authorized installers—can alter protected areas. During macOS upgrades, any conflicting third-party modifications in protected zones are automatically relocated to preserve compatibility without compromising . On Macs, SIP is complemented by hardware-based Kernel Integrity Protection (KIP), which further secures kernel memory against modifications and cannot be disabled, providing layered defense beyond software-only enforcement. To accommodate development and testing needs, SIP can be temporarily disabled via the boot-time command csrutil disable executed in Recovery mode, though this is strongly discouraged outside controlled environments due to increased risks. On Apple Silicon systems, disabling SIP requires additional steps, such as enabling Reduced Security mode in the Startup Security Utility, and certain core protections remain active by default to maintain baseline . Re-enabling occurs similarly with csrutil enable. SIP integrates with macOS code signing mechanisms to block the loading of unsigned kernel extensions (kexts), verifying signatures before allowing inclusion in the kernel's auxiliary cache (AuxKC). In later versions, such as macOS 10.15 and beyond, these protections have been extended to third-party kernel extensions, mandating user approval and restarts for loading, while encouraging migration to safer user-space system extensions via frameworks like DriverKit to reduce kernel-level exposure. This evolution minimizes the attack surface by deprecating traditional kexts in favor of more isolated alternatives.

Gatekeeper and Code Signing

Gatekeeper is a feature in macOS that verifies the and origin of applications before allowing them to execute, primarily by checking code signatures issued under Apple's Developer ID program. Introduced in (version 10.7) in 2011, Gatekeeper enforces the requirement for applications distributed outside the to be signed with a valid Developer ID , ensuring they come from trusted developers and have not been tampered with. This mechanism builds on the foundational technology in macOS, which uses cryptographic certificates to certify that an app was created by a specific developer and remains unmodified, allowing the system to detect alterations that could indicate . A key component of Gatekeeper's operation involves the quarantine extended attribute (com.apple.quarantine), automatically applied to files downloaded from the or other untrusted sources. This attribute flags the for inspection upon first launch, prompting the user to approve execution if the app lacks a valid or notarization , thereby preventing unauthorized software from running without consent. Gatekeeper performs additional online checks during this process to verify the app against known signatures and to confirm the developer's has not been revoked, enhancing protection without collecting user data. App notarization was introduced in (version 10.14) in 2018, with integrating it as a recommended step for Developer ID-signed software; it became a mandatory requirement for new Developer ID-signed software built after June 1, 2019, in (10.15). The notarization process involves uploading the app bundle to Apple's servers, where it is analyzed for malicious code using static analysis and other techniques; if approved, a notarization ticket is generated and can be stapled to the app or stored online for to retrieve. This ticket assures that the software has been vetted by Apple, streamlining user approval dialogs and blocking unnotarized apps in (10.15) and later. To further secure signed applications, macOS incorporates the hardened runtime, an opt-in feature enabled during code signing that imposes runtime protections such as preventing , library validation, and restrictions on dynamic code generation. Developers must declare specific entitlements in the app's signing profile to access restricted resources like or camera under hardened runtime, ensuring that even compromised apps cannot easily exploit system vulnerabilities; requires hardened runtime for notarized apps to pass verification. This contrasts with , which safeguards core system files rather than user-installed applications. While can be bypassed for individual apps by approving them in > Privacy & Security, this was previously possible via Control-click (right-click Open) or dragging to Applications, but in macOS (15), released in 2024, such methods no longer work for unsigned or unnotarized software, requiring explicit review in Privacy & Security to enhance protection. Global bypass using the terminal command sudo spctl --master-disable to allow apps from any source is logged by the system, discouraged by Apple due to increased risk, and has been disabled in macOS (15), where configuration profiles (e.g., for enterprise management) are required for full disablement.

Sandboxing and Permissions

macOS implements sandboxing through (MAC) mechanisms, which were introduced with sandbox profiles in (version 10.6) in 2009 to enforce strict access policies at the level. This framework, built on the TrustedBSD MAC policy module known as Seatbelt, confines applications to limited resources, preventing unauthorized access to system files, network connections, or user data even if an app is compromised. By default, sandboxed processes operate within a restricted container, typically located at ~/Library/Containers, with explicit entitlements required for broader interactions. The App Sandbox , designated by the key com.apple.security.app-sandbox, enables this confinement for macOS applications and is mandatory for distribution through the since March 2012. When enabled via Xcode's capabilities, it automatically configures the app's entitlements file to restrict access to sensitive resources, such as incoming or outgoing network connections, peripherals like cameras or microphones, and user data categories including contacts or location services. Developers can fine-tune permissions through sub-entitlements, for example, granting read/write access to specific folders like Downloads or Pictures, ensuring the app only accesses what is necessary while minimizing potential damage from exploits. This integrates with to verify app integrity before execution, though runtime restrictions remain the primary focus of sandboxing. Complementing sandboxing, the Transparency, Consent, and Control (TCC) framework, introduced in macOS Mountain Lion (version 10.8) in 2012, provides user-mediated permissions for sensitive resources beyond basic file or network access. TCC prompts users to explicitly grant or deny app access to hardware like the camera, microphone, or , as well as personal data such as the , , or screen recording capabilities, storing approvals in a protected database (~/Library/Application Support/com.apple.TCC/TCC.db). Once granted, permissions persist across app launches but can be revoked via > Privacy & Security, ensuring ongoing user control and preventing silent . This system extends to system services, requiring TCC approval for features like full disk access, and integrates with sandbox profiles to enforce both developer-declared limits and user choices. Since (version 10.15), the Endpoint Security Framework offers a user-space for software to monitor and respond to events, such as executions, operations, or connections, without relying on deprecated extensions. This framework allows endpoint protection tools to subscribe to events via notifications or authorization callbacks, enabling real-time threat detection while maintaining stability. User approval through TCC is required for activation, typically via > & > Full Disk Access or Extensions, and it supports packaging as extensions for seamless installation. By shifting monitoring to user space, it reduces attack surfaces and aligns with Apple's broader of extensions in favor of safer alternatives. Privacy manifests, required in apps since macOS Big Sur (version 11) and iOS 14 to declare usage of privacy-sensitive APIs, provide a standardized way for developers to document data collection practices and required reasons for accessing protected resources. These plist files, placed in the app bundle (e.g., PrivacyInfo.xcprivacy for iOS or Contents/Resources/PrivacyInfo.xcprivacy for macOS), enumerate APIs like NSPhotoLibraryUsageDescription or network usage justifications, helping App Review validate compliance and enabling Xcode to generate privacy reports. For third-party SDKs, manifests ensure transparency in data handling, with mandatory inclusion for certain APIs since these versions to prevent unapproved access to user data like location or health information. This mechanism builds on TCC by requiring upfront declarations, fostering accountability and aiding users in understanding app behaviors before installation.

Hardware Integration

Unified Memory Architecture

The unified memory architecture (UMA) in Apple Silicon represents a fundamental shift in system design for macOS, integrating the CPU, GPU, and other processors to share a single pool of high-bandwidth, low-latency memory directly on the chip. Introduced with the M1 chip in November 2020, this architecture eliminates the need for separate video RAM (VRAM) typically found in discrete GPUs, allowing seamless data access across components without the overhead of dedicated memory silos. By colocating the memory controller on the system-on-chip (SoC), UMA enables efficient resource utilization, where the entire memory pool—up to 128 GB in configurations like the M4 Max as of 2024—serves all processing elements with minimal access delays. This design delivers key performance advantages, including reduced data copying between CPU and GPU domains, which eliminates the latency and costs associated with traditional data transfers in non-unified systems. reaches up to 800 GB/s in high-end variants like the M2 Ultra, far exceeding many discrete GPU setups, while the on-chip integration ensures low-latency access that boosts overall efficiency. efficiency is enhanced as well, since reduces redundant hardware and idle components, allowing macOS to achieve superior battery life and thermal management in laptops and desktops. Virtual memory management in UMA is handled by the system's (MMU), which oversees and across the shared , ensuring secure and efficient allocation for diverse workloads. Metal shaders, for instance, can directly this system memory without explicit data staging, streamlining graphics and compute tasks in macOS applications. is maintained through Rosetta 2, which translates x86 instructions to run Intel-based software on this ARM-based unified architecture without compromising memory benefits.

Driver Model on Apple Silicon

The DriverKit framework, introduced in macOS 10.15 , represents a significant evolution in macOS driver architecture, particularly tailored for systems by enforcing user-space execution to bolster system stability and security. Unlike traditional kernel extensions (KEXTs), DriverKit drivers operate as system extensions known as Dexts, which run in user space and communicate with the kernel via XPC services, minimizing the risk of kernel panics and reducing the . This model builds briefly on the IOKit heritage for device matching and object-oriented I/O handling while shifting core operations to a sandboxed environment. With the release of (version 11.0), DriverKit became mandatory for all new system extensions on both and Macs, prohibiting the development and loading of new KEXTs for most hardware interactions. Dexts provide robust support for a range of peripherals, including USB devices through the USBDriverKit framework, PCI-based hardware via PCIDriverKit, and custom interfaces that require low-level access, enabling developers to create efficient drivers without kernel-level privileges. For specialized categories, Apple offers dedicated family drivers: AudioDriverKit for real-time audio processing and devices, NetworkingDriverKit for USB Ethernet and similar network adapters, and storage solutions integrated via PCIDriverKit and extensions for controllers and drives. All DriverKit-based Dexts require and specific entitlements approved by Apple, ensuring only verified extensions can be installed and loaded, with user approval prompted during setup to maintain . Legacy KEXTs saw partial support through migration tools in , allowing developers to port existing code to DriverKit equivalents, but full deprecation occurred in macOS 12.0 Monterey (released in 2021), where unsupported KEXTs ceased loading by default on . This transition has enhanced overall system reliability, as evidenced by reduced crash reports in DriverKit deployments compared to legacy kernel code.

Intel to Apple Silicon Transition

Apple announced its transition from Intel x86 processors to custom ARM-based for Macs on June 22, 2020, aiming to deliver enhanced performance and integration through in-house chip design. The first devices powered by the chip, including the , 13-inch , and , were introduced on November 10, 2020, and became available for purchase starting November 17, 2020. This shift marked a significant architectural pivot, enabling macOS to leverage system-on-chip () designs that unify CPU, GPU, and other components for improved efficiency. To facilitate compatibility during the transition, macOS supports universal binaries that contain both (x86_64) and (arm64) code, allowing applications to run natively on either architecture without modification. Developers can create these binaries using the lipo command-line tool, which combines separate executables into a single fat binary, streamlining deployment across hardware generations. This approach, combined with 2 for translating Intel binaries on Apple Silicon, minimized disruption for users and software ecosystem. macOS Big Sur (version 11.0), released on November 12, 2020, served as the first operating system optimized for , introducing support for the arm64 architecture alongside ongoing Intel compatibility. A key architectural change in Big Sur was the enforcement of ARM64e requirements on Macs, mandating that all executables and libraries be signed—either with a identity or ad-hoc—to execute, enhancing security by preventing unsigned code from running. Apple Silicon SoCs, starting with the M1, incorporate a heterogeneous core design featuring high-performance cores (P-cores) for demanding workloads and high-efficiency cores (E-cores) for lighter tasks, optimizing power consumption and thermal management within a single chip. This big.LITTLE-inspired architecture allows macOS to dynamically schedule threads across cores based on quality-of-service priorities, balancing speed and battery life—benefits amplified by the unified shared across components. Although the transition was projected to complete within two years of the 2020 announcement, Apple continued producing select -based models until discontinuing the last one, the Mac Pro (2019), in June 2023. Macs remain supported through macOS 26 (Tahoe), released in fall 2025, after which major updates will require ; security patches for compatible models are expected to continue for several years beyond that, aligning with Apple's typical support lifecycle.

References

  1. [1]
    Kernel Architecture Overview - Apple Developer
    Aug 8, 2013 · Essential information for programming in the OS X kernel. Includes a high-level overview.
  2. [2]
    Kernel and Device Drivers Layer - Apple Developer
    Sep 16, 2015 · Kernel and Device Drivers Layer. The lowest layer of OS X includes the kernel, drivers, and BSD portions of the system and is based ...<|control11|><|separator|>
  3. [3]
    Mac Technology Overview - Apple Developer
    Sep 16, 2015 · OS X Has a Layered Architecture with Key Technologies in Each Layer. It's helpful to view the implementation of OS X as a set of layers. The ...
  4. [4]
    Apple silicon and the Mac - Discover - Apple Developer
    Jun 22, 2020 · Apple silicon is coming to the Mac. Find out about the new architecture, unified memory and security improvements.
  5. [5]
    Apple silicon | Apple Developer Documentation
    Overview. Build apps, libraries, frameworks, plug-ins ... Create a version of your macOS app that runs on both Apple silicon and Intel-based Mac computers.
  6. [6]
    The Deep History of Your Apps: Steve Jobs, NeXTSTEP, and Early ...
    Mar 15, 2016 · According to Jobs in 1988, NeXTSTEP would reduce the time for a developer to create an application's user interface from 90% down to 10%.
  7. [7]
    NEXTSTEP Operating System
    The developed operating system NEXTSTEP is UNIX related and also contains parts of the BSD ... - Mach 2.5 based Kernel - preemptive multitasking - DPS ...
  8. [8]
    GNU & OpenStep - GNUstep.org
    This agreement evolved into the OpenStep specification which was published by NeXT in a first draft back in summer 1994. GNUstep Hype and History. Early on many ...
  9. [9]
    NeXT: Steve Jobs' dot com IPO that Never Happened - CHM
    Feb 7, 2017 · After a competitive comparison of the BeOS and the NeXT OS—a “bakeoff”—Apple acquired NeXT outright for $429 million in cash and 1.5 million ...
  10. [10]
    Apple releases Rhapsody to developers - ZDNET
    Oct 13, 1997 · 13, 1997 at 5:00 p.m. PT. Apple today released Developer Release 1 of Rhapsody for PowerPC. Apple said it is distributing DR1 of its next ...
  11. [11]
    [MD1] Blue Box now avail for Rhapsody - MacTech.com
    Nov 20, 1997 · The Blue Box is a version of the Mac OS running under Rhapsody in native mode, providing excellent speed and responsiveness.
  12. [12]
    What Is Cocoa? - Apple Developer
    Sep 18, 2013 · What Is Cocoa? Cocoa is an application environment for both the OS X operating system and iOS, the operating system used on Multi-Touch ...
  13. [13]
    Apple Adopts 'Open Source' Code Strategy - The New York Times
    Mar 17, 1999 · The open source software package, or Darwin, will include the operating system's most fundamental code, or ''kernel,'' known as Mach ...Missing: project 2000<|separator|>
  14. [14]
    Apple Releases Darwin 1.0 Open Source
    Apr 5, 2000 · Darwin's open source model allows the tens of thousands of registered Darwin developers to modify, customize and extend key Apple software, ...
  15. [15]
    Darwin and Mac OS X Versions
    Release date. 10.0, 1.3, Cheetah, 2001-03-24. 10.0.1, 1.3.1, xnu-4-2. 10.0.3, xnu-124.8. 10.0.4, xnu-124.13. 10.1, 5G64, 1.4.1, xnu-9/Apple-201, Puma, 2001-09- ...Missing: built | Show results with:built
  16. [16]
    Apple launched its revolutionary OS X 21 years ago | AppleInsider
    Mar 24, 2021 · Over a year before OS X Cheetah would ship, Jobs outlined the whole plan for a "gentle migration" over from the classic Mac OS to the new one.
  17. [17]
    Apple Unveils Mac OS X
    a revolutionary new way to organize everything from applications and documents to web sites and streaming video. Aqua ...Missing: 10.0 | Show results with:10.0
  18. [18]
    Overview of Quartz 2D - Apple Developer
    Mar 21, 2017 · In Mac OS X, Quartz 2D can work with all other graphics and imaging technologies—Core Image, Core Video, OpenGL, and QuickTime. It's possible to ...
  19. [19]
    Mac OS X and PDF - Prepressure
    Quartz replaces QuickDraw, which was used within earlier versions of MacOS. Within QuickDraw, the native file format was PICT. With Quartz, this now becomes PDF ...
  20. [20]
    Apple's Darwin OS and XNU Kernel Deep Dive - Tanuj Ravi Rao
    Apr 3, 2025 · NeXT adopted Mach early: NeXTSTEP, released in 1989, was built on a Mach 2.5 kernel with a 4.3BSD Unix subsystem layered on top. Crucially, ...
  21. [21]
    Definition of Blue Box | PCMag
    The Blue Box was the Mac Toolbox API, which enabled a Mac OS 9 or previous Mac application to run without modification. The Blue Box was renamed Classic in OS X ...
  22. [22]
    Apple Unveils Near Final Mac OS X Leopard
    Jun 11, 2007 · With just a one-click setup, Time Machine automatically keeps an up-to-date copy of everything on the Mac. In the event a file is lost, users ...
  23. [23]
    Apple Unveils Mac OS X Snow Leopard
    Jun 8, 2009 · Apple today unveiled Mac OS X Snow Leopard, an even more powerful and refined version of the world's most advanced operating system.Missing: 10.0 Cheetah
  24. [24]
    Support for Metal on Apple devices
    Oct 1, 2025 · Support for Metal on Apple devices. Metal is the technology that powers hardware-accelerated graphics on Apple platforms.Missing: Mavericks | Show results with:Mavericks
  25. [25]
    Apple previews major update with macOS Sierra
    “macOS Sierra is a major update that makes your Mac smarter and more helpful than ever with improvements to the apps you know and love and great ...Siri Debuts On The Mac · Additional Macos Features · AvailabilityMissing: Silicon preparation
  26. [26]
    Apple File System Guide
    Jun 4, 2018 · APFS replaces HFS+ as the default file system for iOS 10.3 and later, and macOS High Sierra and later. Prerequisites. To understand how your ...
  27. [27]
    Apple announces Mac transition to Apple silicon
    Jun 22, 2020 · Apple plans to ship the first Mac with Apple silicon by the end of the year and complete the transition in about two years. Apple will continue ...Missing: 2024 | Show results with:2024
  28. [28]
    macOS Big Sur is here - Apple
    Nov 12, 2020 · macOS Big Sur, the latest version of the world's most advanced desktop operating system, is now available to Mac users as a free software update.
  29. [29]
    Apple will end support for Intel Macs next year, macOS 27 ... - 9to5Mac
    Jun 9, 2025 · From next year, major new versions of Apple's desktop operating system will only run on Apple Silicon Macs (that is, 2020 M1 models and newer).<|control11|><|separator|>
  30. [30]
    apple-oss-distributions/xnu - GitHub
    XNU kernel is part of the Darwin operating system for use in macOS and iOS operating systems. XNU is an acronym for X is Not Unix. XNU is a hybrid kernel ...
  31. [31]
  32. [32]
    Deprecated Kernel Extensions and System Extension Alternatives
    Starting with macOS Big Sur, macOS releases no longer load kernel extensions that use deprecated kernel programming interfaces (KPIs) by default.
  33. [33]
    [PDF] Mach: A New Kernel Foundation For UNIX Development - UCSD CSE
    Abstract. Mach is a multiprocessor operating system kernel and environment under development at Carnegie Mellon University. Mach provides a new.
  34. [34]
    [PDF] Inside the Mac OS X Kernel
    Mach. The NEXTSTEP operating system was heav- ily based on Mach. Mach was an operating sys- tem project at the Carnegie Mellon University that was started in ...
  35. [35]
    Kernel Programming Guide - Apple Developer
    Aug 8, 2013 · Essential information for programming in the OS X kernel. Includes a high-level overview.
  36. [36]
    Mach Overview - Kernel Programming Guide - Apple Developer
    Aug 8, 2013 · Port rights can be copied and moved between tasks via IPC. Doing so, in effect, passes capabilities to some object or server. One type of ...
  37. [37]
    Advanced Synchronization in Mac OS X: Extending Unix to SMP and ...
    Dec 28, 2001 · Real-Time. There are two important aspects to real-time scheduling. One is the scheduling algorithm, the other is guaranteeing latencies ...
  38. [38]
    Differentiating Among BSD Distros - ServerWatch
    The BSD incorporated into Mac OS X is known as Darwin. It is available ... based on FreeBSD 5.x. It is, however, extremely customized beyond the base
  39. [39]
    BSD Overview - Apple Developer
    Aug 8, 2013 · The BSD portion of the OS X kernel is derived primarily from FreeBSD ... (Darwin) implementation of BSD. These features are not found in ...
  40. [40]
  41. [41]
  42. [42]
    What Is the I/O Kit? - Apple Developer
    Apr 9, 2014 · Although FreeBSD is capable of handling these features, the BSD ... Here you can find links to the Darwin and Darwin Streaming projects, among ...
  43. [43]
    I/O Kit Overview - Apple Developer
    Aug 8, 2013 · Although FreeBSD supports these features, the BSD driver model did not offer the automatic configuration, stacking, power management, or ...
  44. [44]
    Driver and Device Matching - IOKit Fundamentals - Apple Developer
    Apr 9, 2014 · Driver and Device Matching. Before a device—or any service provider—can be used, a driver for it must be found and loaded into the kernel.
  45. [45]
    Managing Power - Apple Developer
    Apr 9, 2014 · The power-management functionality of the I/O Kit associates several attributes with each power state of a device. A device driver must set ...Missing: hot- plugging
  46. [46]
    Managing Device Removal - IOKit Fundamentals - Apple Developer
    Apr 9, 2014 · OS X is an operating system that includes hot-swapping as a feature. Users can plug in and remove external devices (for example, mass ...Missing: enumeration | Show results with:enumeration
  47. [47]
    I/O Kit Family Reference - Apple Developer
    Apr 9, 2014 · I/O Kit Family Reference. This appendix describes each of the I/O Kit families in detail, paying particular attention to client/provider ...
  48. [48]
    I/O Kit Families - Apple Developer
    Apr 9, 2014 · The basics of developing device drivers. Includes descriptions of I/O Kit families.
  49. [49]
    DriverKit | Apple Developer Documentation
    ### Summary of DriverKit Transition from I/O Kit KEXTs in macOS 11.0
  50. [50]
    IOKit | Apple Developer Documentation
    The IOKit framework implements nonkernel access to IOKit objects such drivers and nubs through the device-interface mechanism.IOKit Fundamentals · IOKit Functions · Communicating with a Modem... · IOKitLib.hMissing: introduction history
  51. [51]
    Mac OS X Update: Quartz & Aqua - Ars Technica
    Jan 13, 2000 · This article will review Jobs's Mac OS X GUI demonstration and explain the underlying technology that makes it possible.
  52. [52]
    Quartz 2D Programming Guide - Apple Developer
    Mar 21, 2017 · PostScript Conversion gives an overview of the functions you can use in Mac OS X to convert a PostScript file to a PDF document. These ...
  53. [53]
    Core Graphics | Apple Developer Documentation
    ### Summary of Core Graphics Framework in macOS
  54. [54]
    WindowServer: display compositor and input event router
    Jun 8, 2020 · This vital service composites individual windows to form what will be displayed, and routes clicks/taps to the correct app.
  55. [55]
    Exploring the Quartz Compositor - WWDC 2002 - Nonstrict
    The Mac OS X Quartz Compositor seamlessly integrates 2D, 3D, and multimedia content on-screen. This session details the Quartz Compositor's design and ...
  56. [56]
  57. [57]
    APIs for Supporting High Resolution - Apple Developer
    Sep 19, 2012 · Guidelines for building an app to take advantage of the increased resolution for Retina displays.
  58. [58]
    Get Your Mac Apps Ready for the Retina Display - Latest News
    Jun 11, 2012 · It's easy to make your OS X Lion and Mountain Lion apps look stunning on any display. Using Cocoa and Quartz 2D graphics, ...
  59. [59]
    Media Layer - Apple Developer
    Sep 16, 2015 · Media Layer. Beautiful graphics and high-fidelity multimedia are hallmarks of the OS X user experience. Take advantage of the technologies ...
  60. [60]
    OS X El Capitan Available as a Free Update Tomorrow - Apple
    Sep 29, 2015 · OS X El Capitan is available as a free update starting Wednesday, September 30 from the Mac App Store℠. El Capitan supports all Macs introduced ...
  61. [61]
    About Metal and This Guide - Apple Developer
    Dec 12, 2016 · Describes how to use the Metal framework to implement low-overhead graphics rendering or parallel computational tasks.
  62. [62]
  63. [63]
    [PDF] Metal Shading Language Specification - Apple Developer
    Dec 6, 2016 · Metal enables you to develop apps that take advantage of the graphics and compute processing power of the GPU. This document describes the ...
  64. [64]
    Discover Metal 3 - WWDC22 - Videos - Apple Developer
    Jun 9, 2022 · Harness the full potential of Apple silicon in your app with Metal 3. We'll introduce you to the latest features, improvements, and tooling.<|separator|>
  65. [65]
    Metal Overview - Apple Developer
    Metal puts the advanced capabilities of Apple-designed GPUs at your fingertips. Tap into the incredible performance and efficiency of Apple silicon.Explore Metal documentation · Metal Performance Shaders · What’s New
  66. [66]
    Apple to Pre-Install Mac OS X Ahead of Schedule
    May 21, 2001 · Mac OS X also features an entirely new user interface called Aqua™. Aqua combines superior ease-of-use with amazing new functionality such as ...
  67. [67]
    Apple introduces macOS Big Sur with a beautiful new design
    Jun 22, 2020 · macOS Big Sur delivers a spacious new design that makes navigation easier, while putting more controls at users' fingertips. Everything from the ...
  68. [68]
    SF Symbols | Apple Developer Documentation
    SF Symbols provides thousands of consistent, highly configurable symbols that integrate seamlessly with the San Francisco system font.Symbols · Create animated symbols · Configuring and displaying... · Right to leftMissing: Big Sur
  69. [69]
    Apple introduces macOS Mojave
    Jun 4, 2018 · macOS Mojave users can switch to Dark Mode to transform their desktop to a darkened color scheme, putting the focus on user content while ...
  70. [70]
    When does macOS switch between light and dark mode?
    Oct 16, 2020 · MacOS Catalina added support for automatic light and dark mode switching. The support article linked above reads: Auto (available in macOS ...MacOS Dark Mode toggles back to Light Mode - Ask Differentmacos - Why Auto-Dark-Mode doesn't work sometimes? - Ask DifferentMore results from apple.stackexchange.comMissing: introduce | Show results with:introduce
  71. [71]
    macOS Ventura is now available - Apple
    Oct 24, 2022 · Stage Manager automatically organizes apps and windows so users can concentrate on the task at hand and still see everything in a single glance.
  72. [72]
    Foundation | Apple Developer Documentation
    The Foundation framework provides a base layer of functionality for apps and frameworks, including data storage and persistence, text processing, date and time ...
  73. [73]
    AppKit | Apple Developer Documentation
    Construct and manage a graphical, event-driven user interface for your macOS app.AppKit updates · Accessibility for AppKit · Drag and Drop · App and Environment
  74. [74]
    NSView | Apple Developer Documentation
    ### Summary of NSView Hierarchy for Windows and Views in AppKit
  75. [75]
  76. [76]
    What Are Cocoa Bindings? - Apple Developer
    Jul 15, 2014 · Explains how to rapidly develop sophisticated user interfaces using Cocoa binding technology.
  77. [77]
    How Do Bindings Work? - Apple Developer
    Jul 15, 2014 · This article provides a conceptual explanation of how Cocoa bindings work. It describes: How connections between model and controller, and ...
  78. [78]
    Core Data | Apple Developer Documentation
    Use Core Data to save your application's permanent data for offline use, to cache temporary data, and to add undo functionality to your app on a single device.Setting up a Core Data stack · Core Data model · Core Data stack
  79. [79]
    Core Data Overview - objc.io
    More than eight years ago, in April 2005, Apple released OS X version 10.4, which was the first to sport the Core Data framework. That was back when YouTube ...
  80. [80]
    Highlights from WWDC 2019 - Apple
    Jun 3, 2019 · Josh Shaffer on stage at WWDC 2019. Josh Shaffer shows how SwiftUI makes it easy for developers to build native apps across all Apple platforms.
  81. [81]
    What's New in Swift - WWDC19 - Videos - Apple Developer
    May 24, 2019 · Join us for a review of Swift 5.0 and an exploration of Swift 5.1, new in Xcode 11. Find out about the latest advancements in performance and safety.
  82. [82]
    SwiftUI | Apple Developer Documentation
    SwiftUI provides views, controls, and layout structures for declaring your app's user interface. The framework provides event handlers for delivering taps, ...Learning SwiftUI · SwiftUI updates · Documents · App organization
  83. [83]
    View | Apple Developer Documentation
    Make your SwiftUI apps accessible to everyone, including people with disabilities. ... Configure a view's foreground and background styles, controls, and ...TabView · ProgressView · NavigationSplitView · ScrollView
  84. [84]
    State | Apple Developer Documentation
    SwiftUI manages the property's storage. When the value changes, SwiftUI updates the parts of the view hierarchy that depend on the value. To access a state's ...Missing: introduction | Show results with:introduction
  85. [85]
    Previewing your app's interface in Xcode - Apple Developer
    Overview. With Swift previews, you can make changes to your app's views in code, and see the result of those changes quickly in the preview canvas.
  86. [86]
    Previews in Xcode | Apple Developer Documentation
    When you create a custom View with SwiftUI, Xcode can display a preview of the view's content that stays up-to-date as you make changes to the view's code.
  87. [87]
    SwiftUI - Apple Developer
    SwiftUI is an innovative, exceptionally simple way to build user interfaces across all Apple platforms with the power of Swift.SwiftUI essentials · Swift Charts · Get Started · Resources
  88. [88]
    Using OS X Native Application Environments - Apple Developer
    Jun 11, 2012 · Carbon. Carbon is an environment designed to bring existing Mac OS applications to OS X. It can be used to bring an X11 application to a ...
  89. [89]
    OS X Frameworks - Apple Developer
    Sep 16, 2015 · The OS X frameworks provide the interfaces you need to write software for Mac ... See Quartz Core Framework Reference. QuickLook.framework. 10.5.
  90. [90]
    Changes in the Human Interface Toolbox - Apple Developer
    Apr 23, 2013 · Explains the changes necessary to create a 64-bit executable version of a Carbon application.
  91. [91]
    Carbon Core | Apple Developer Documentation
    Interact with legacy technologies. Deprecated. In macOS 10.8 and later, most of these APIs are deprecated. For more information, see Carbon Core Deprecations ...
  92. [92]
    32-bit app compatibility with macOS - Apple Support
    Jun 3, 2025 · Starting with macOS Catalina 10.15, 32-bit apps are no longer compatible with macOS. If you get an alert about a 32-bit app. If you get one of ...Missing: end 2020
  93. [93]
    About the Rosetta translation environment - Apple Developer
    Rosetta is a translation process that allows users to run apps that contain x86_64 instructions on Apple silicon. Rosetta is meant to ease the transition to ...
  94. [94]
    Core Foundation | Apple Developer Documentation
    ### Summary of Core Foundation Framework
  95. [95]
    Introduction to Core Foundation Design Concepts - Apple Developer
    Dec 16, 2013 · Explains the fundamental design concepts that underlie all Core Foundation programming interfaces.Missing: macOS | Show results with:macOS
  96. [96]
    Preferences Utilities | Apple Developer Documentation
    Core Foundation stores preferences as key-value pairs that are assigned a scope using a combination of user name, application ID, and host (computer) names.
  97. [97]
    Launch Services | Apple Developer Documentation
    Launch and open documents in other apps from your current app process.
  98. [98]
    Introduction
    ### Summary of Introduction to Launch Services
  99. [99]
    LSOpenFromURLSpec(_:_:) | Apple Developer Documentation
    A pointer to a URL-based launch specification indicating what to open and how to launch the relevant application or applications; see LSLaunchURLSpec for a ...<|control11|><|separator|>
  100. [100]
    Introduction to Uniform Type Identifiers Overview - Apple Developer
    Oct 21, 2015 · Describes uniform type identifiers and how to use them.
  101. [101]
    Uniform Type Identifiers | Apple Developer Documentation
    The Uniform Type Identifiers framework provides a collection of common types that map to MIME and file types. Use these types in your project to describe the ...System Declared Uniform... · UniformTypeIdentifiers... · UTTypeReference · UTType
  102. [102]
    Creating Launch Daemons and Agents - Apple Developer
    Sep 13, 2016 · Explains how to write background processes that perform work on behalf of applications or serve content over the network.
  103. [103]
    Creating XPC services | Apple Developer Documentation
    XPC services have two sides: a listener or server that receives incoming connections and performs tasks, and a client that initiates connections and makes ...
  104. [104]
    How Does Spotlight Work? - Apple Developer
    Aug 8, 2013 · How Does Spotlight Work? Spotlight provides fast desktop searching by extracting metadata in the background and storing the indexed metadata ...Missing: macOS | Show results with:macOS
  105. [105]
    File system formats available in Disk Utility on Mac - Apple Support
    Apple File System (APFS), the default file system for Mac computers using macOS 10.13 or later, features strong encryption, space sharing, snapshots, fast ...
  106. [106]
    [PDF] Apple File System Reference
    Jun 22, 2020 · Apple File System is the default file format used on Apple platforms. Apple File System is the successor to HFS.Missing: introduction | Show results with:introduction
  107. [107]
    Role of Apple File System
    Dec 19, 2024 · Apple File System (APFS) is a proprietary file system that was designed with encryption in mind. APFS works across all Apple's platforms.
  108. [108]
    System Integrity Protection - Apple Support
    Feb 18, 2021 · System Integrity Protection restricts components to read-only in specific critical file system locations to help prevent malicious code from modifying them.
  109. [109]
    About System Integrity Protection on your Mac - Apple Support
    Mar 20, 2025 · System Integrity Protection is a security technology designed to help prevent potentially malicious software from modifying protected files and folders on your ...
  110. [110]
    Disabling and Enabling System Integrity Protection - Apple Developer
    Disable system protections only temporarily during development to test drivers, kernel extensions, and other low-level code.
  111. [111]
    System extensions in macOS - Apple Support
    Oct 27, 2021 · For a Mac with macOS 11 or later, if third-party kernel extensions (kexts) are enabled, they can't be loaded into the kernel on demand. They ...
  112. [112]
    Developer ID - Signing Your Apps for Gatekeeper
    For step-by-step details on uploading your Mac software to be notarized, review Notarizing macOS software before distribution and the Xcode documentation.
  113. [113]
    Distributing software on macOS - Apple Developer
    Gatekeeper was introduced in macOS 10.7.5 and provides users more control over what they install on their Mac. They can choose to allow only apps from the Mac ...Missing: introduction | Show results with:introduction
  114. [114]
    Code Signing Guide - Apple Developer
    Sep 13, 2016 · About Code Signing. Code signing is a macOS security technology that you use to certify that an app was created by you.
  115. [115]
    Safely open apps on your Mac - Apple Support
    Oct 22, 2024 · Gatekeeper performs online checks to verify if an app contains known malware and whether the developer's signing certificate is revoked.
  116. [116]
    Get Your Mac Software Notarized - Latest News - Apple Developer
    Oct 19, 2018 · When users on macOS Mojave first open a notarized app, installer package, or disk image, they'll see a more streamlined Gatekeeper dialog and ...<|separator|>
  117. [117]
    Notarizing macOS software before distribution - Apple Developer
    Beginning in macOS 10.15, all software built after June 1, 2019, and distributed with Developer ID must be notarized. However, you aren't required to notarize ...
  118. [118]
    Hardened Runtime | Apple Developer Documentation
    Manage security protections and resource access for your macOS apps.
  119. [119]
    Configuring the hardened runtime | Apple Developer Documentation
    If your app relies on something the Hardened Runtime restricts, you remove that specific protection by adding an entitlement to your app's entitlements file.
  120. [120]
    Mac Security Improves with Snow Leopard - Technologizer
    Aug 28, 2009 · It also sandboxes applications, which is made possible through mandatory access control that was introduced in Leopard. I have made no bones ...
  121. [121]
    [PDF] Apple Sandbox Guide v1.0 - Reverse Engineering
    Sep 13, 2011 · Apple's sandbox technology was introduced in Leopard version of Mac OS X. It was called Seatbelt and was based on TrustedBSD MAC framework.Missing: Mandatory | Show results with:Mandatory
  122. [122]
    Configuring the macOS App Sandbox - Apple Developer
    After you add the App Sandbox capability, Xcode automatically updates the entitlements file of your macOS app to include the App Sandbox Entitlement , which is ...
  123. [123]
    Sandboxing and the Mac App Store - Latest News - Apple Developer
    Nov 2, 2011 · As of March 1, 2012 all apps submitted to the Mac App Store must implement sandboxing. Sandboxing your app is a great way to protect systems and users.
  124. [124]
    App Sandbox Entitlement | Apple Developer Documentation
    An entitlement that permits apps to create symbolic links, replace files, and set file attributes. Key: com.apple.developer.security.privileged-file-operations.
  125. [125]
  126. [126]
  127. [127]
    TCC Overview and Internals - ZeroClick
    May 27, 2024 · TCC was first introduced in macOS Mountain Lion (version 10.8) in 2012. Initially, it provided basic privacy controls, such as managing ...
  128. [128]
    A deep dive into macOS TCC.db - Rainforest QA Blog
    Feb 9, 2021 · TCC (Transparency, Consent, and Control) is a mechanism in macOS to limit and control application access to certain features, usually from a privacy ...Missing: 2012 | Show results with:2012
  129. [129]
    Bypassing macOS TCC User Privacy Protections By Accident and ...
    Jul 1, 2021 · TCC is meant to protect user data from unauthorized access, but design flaws mean users and malware can bypass TCC, even by accident.
  130. [130]
    Full Transparency: Controlling Apple's TCC - Huntress
    Jan 16, 2024 · TCC stands for Transparency Consent and Control and is a framework developed by Apple to manage access to sensitive user data on macOS.Missing: 2012 | Show results with:2012
  131. [131]
    Endpoint Security | Apple Developer Documentation
    Endpoint Security is a C API for monitoring system events for potentially malicious activity. You can write your client in any language that supports native ...
  132. [132]
  133. [133]
  134. [134]
    Apple's new Endpoint Security Framework | Blog - Jamf
    Sep 18, 2019 · macOS Catalina introduces a new user-mode framework called Endpoint Security. See what it is and how it impacts you.
  135. [135]
    Privacy manifest files | Apple Developer Documentation
    Create a privacy manifest · Choose File > New File. · Scroll down to the Resource section, and select App Privacy File type. · Click Next. · Check your app or ...
  136. [136]
    Adding a privacy manifest to your app or third-party SDK
    For macOS and Mac Catalyst apps, place the privacy manifest file in Contents/Resources/ in your app's bundle. The following example shows the bundle structure ...
  137. [137]
    Describing data use in privacy manifests - Apple Developer
    App developers can use Xcode to create a privacy report, summarizing the information about collected data in their app and the third-party SDKs the app links ...
  138. [138]
    User Privacy and Data Use - App Store - Apple Developer
    In iOS 14.5, iPadOS 14.5, and tvOS 14.5 or later, you need to receive the user's permission through the AppTrackingTransparency (ATT) framework in order to ...
  139. [139]
    Apple unleashes M1
    Nov 10, 2020 · M1 also features a unified memory architecture that brings together high-bandwidth, low-latency memory into a single pool within a custom ...Apple M1 chip · Apple (CA) · Apple (AU) · Apple (UK)
  140. [140]
    [PDF] M1 Overview - Apple
    M1 also features a unified memory architecture that brings together high-bandwidth, low-latency memory into a single pool within a custom package. This ...<|separator|>
  141. [141]
    MacBook Pro (14-inch, M4 Pro or M4 Max, 2024) - Tech Specs
    24GB unified memory · Configurable to: · 36GB (M4 Max with 14-core CPU) or 48GB (M4 Pro and M4 Max with 16-core CPU) or 64GB or 128GB (M4 Max with 16-core CPU).
  142. [142]
    Introducing M1 Pro and M1 Max: the most powerful chips Apple has ...
    Oct 18, 2021 · M1 Pro offers up to 200GB/s of memory bandwidth with support for up to 32GB of unified memory. M1 Max delivers up to 400GB/s of memory bandwidth ...Apple (HU) · Apple (AU) · Apple (CA) · Apple (IL)
  143. [143]
    Apple unveils M3, M3 Pro, and M3 Max, the most advanced chips for ...
    Oct 30, 2023 · Each chip in the M3 family features a unified memory architecture, a hallmark of Apple silicon. This delivers high bandwidth, low latency, and ...Apple (CA) · Apple (AU) · Apple (UK) · Apple (RO)
  144. [144]
    Choosing a resource storage mode for Apple GPUs
    Apple GPUs have a unified memory model in which the CPU and the GPU share system memory. However, CPU and GPU access to that memory depends on the storage ...
  145. [145]
  146. [146]
    DriverKit security for macOS - Apple Support
    Feb 18, 2021 · Drivers built with DriverKit run in user space, rather than as kernel extensions, for improved system security and stability.
  147. [147]
    NetworkingDriverKit | Apple Developer Documentation
    Use NetworkingDriverKit to develop drivers for USB Ethernet adapters. This framework extends the API of DriverKit, providing you with a service class for ...
  148. [148]
    Modernize PCI and SCSI drivers with DriverKit - WWDC20 - Videos
    Aug 4, 2020 · ... DriverKit on macOS Big Sur. Resources. System Extensions and DriverKit · HD Video · SD Video. Related Videos. WWDC22. Bring your driver to iPad with DriverKit ...Missing: mandatory | Show results with:mandatory
  149. [149]
    Building a universal macOS binary | Apple Developer Documentation
    Xcode 12.2 and later automatically adds the arm64 architecture to the list of standard architectures for all macOS binaries, including apps and libraries.
  150. [150]
    macOS Big Sur 11.0.1 Universal Apps Release Notes
    Code Signing​​ New in macOS 11 on Macs with Apple silicon, and starting in macOS Big Sur 11 beta 6, the operating system enforces that any executable must be ...
  151. [151]
    Optimize for Apple Silicon with performance and efficiency cores
    Jun 22, 2020 · Apple Silicon Macs are AMP systems, having both performance cores (P cores) and efficiency cores (E cores). Even though E cores are ...
  152. [152]
    Tuning your code's performance for Apple silicon
    On Apple silicon, the algorithm distributes work efficiently to both p-cores and e-cores, adjusting the distribution of tasks dynamically as needed. To ensure ...
  153. [153]
    Are Intel-based Macs still supported by A… - Apple Community
    Mar 16, 2025 · In June 2023, Apple discontinued the final Intel-based Mac – the desktop Mac Pro (2019). The transition of new models to Apple Silicon was ...