An extended permission system beyond traditional Unix permissions (user/group/other). ACLs allow fine-grained control over file access for multiple users and groups. On macOS, view with ls -le and modify with chmod +a.
Apple’s modern filesystem introduced in 2017, replacing HFS+. Features include native encryption, snapshots, space sharing between volumes, copy-on-write, and crash protection. Optimized for flash/SSD storage.
Apple’s custom ARM-based processors for Mac (M1, M2, M3, M4 series). These chips use a different architecture (arm64) than Intel Macs (x86_64), affecting binary compatibility and some system paths.
A directory structure with a .app extension that contains a macOS application. The bundle includes the executable, resources, frameworks, and metadata in a standardized layout. Appears as a single file in Finder.
Apple’s implementation of zero-configuration networking (mDNS/DNS-SD). Allows automatic discovery of devices and services on a local network without manual configuration. The command dns-sd provides CLI access.
A Unix operating system derivative developed at UC Berkeley. macOS’s userland (command-line tools) derives from FreeBSD. Key BSD characteristics include the BSD license, specific command-line tool behaviors, and system call conventions.
A reverse-DNS format string uniquely identifying a macOS application (e.g., com.apple.Safari). Used in preferences, entitlements, code signing, and system services.
macOS 10.15 (2019), notable for switching the default shell to zsh, introducing a read-only system volume, deprecating 32-bit app support, and introducing stricter security controls.
The C/C++/Objective-C compiler used on macOS, part of the LLVM project. Replaced GCC as the default compiler. Invoked via clang or through gcc (which is actually Clang on macOS).
The process of digitally signing executables and apps to verify their identity and integrity. Required for apps distributed through the App Store and increasingly enforced for other software by Gatekeeper.
GNU’s implementation of basic Unix utilities (ls, cp, cat, etc.). Can be installed via Homebrew to get GNU-style behavior, which differs from macOS’s BSD-based versions.
A resource management technique where copies share the same data until one is modified. APFS uses COW extensively, making file copies and snapshots space-efficient.
A background process that runs without user interaction, typically started at boot time. On macOS, daemons are managed by launchd and configured in /Library/LaunchDaemons/.
The open-source Unix foundation of macOS, iOS, and other Apple operating systems. Darwin includes the XNU kernel, BSD userland components, and various frameworks. Available at opensource.apple.com.
Apple’s modern framework for building device drivers that run in user space rather than the kernel, improving system security and stability. Introduced in macOS Catalina.
A key-value pair embedded in a code signature that grants specific capabilities to an application (e.g., network access, file access, hardware access). Central to macOS’s security model.
Metadata attached to files beyond standard permissions and timestamps. On macOS, used for Finder info, quarantine flags, and resource forks. View with xattr, list with ls -l@.
In Unix, creating a child process by duplicating the parent. Also refers to resource forks, a legacy macOS method of storing structured data alongside file contents.
A bundle containing a dynamic shared library along with its headers, resources, and documentation. The macOS equivalent of Linux’s shared libraries with packaging. Located in /System/Library/Frameworks/ and /Library/Frameworks/.
macOS’s security feature that verifies apps come from identified developers and haven’t been tampered with. Uses code signing and notarization. Check status with spctl --status.
“GNU’s Not Unix” - a project to create a free Unix-like operating system. GNU tools (grep, sed, awk) often have different options than BSD equivalents on macOS.
A compiler infrastructure project that includes Clang (C/C++ compiler), LLDB (debugger), and related tools. The foundation of Apple’s development toolchain.
The microkernel that forms the lower layer of XNU. Provides fundamental services like IPC, memory management, and scheduling. Originally developed at Carnegie Mellon University.
Apple’s process of scanning software for malicious content and issues before distribution. Required for software distributed outside the App Store to run without Gatekeeper warnings.
A programming language that adds object-oriented features to C. Historically the primary language for macOS and iOS development, now largely supplanted by Swift.
An XML or binary format for storing structured data on macOS. Used for preferences, launch agent/daemon configuration, and app settings. Edit with defaults or plutil.
Portable Operating System Interface - a family of standards for Unix-like operating systems. macOS is POSIX-compliant, ensuring compatibility with standard Unix tools and APIs.
macOS’s mechanism for marking downloaded files. Triggers Gatekeeper checks when the file is first opened. View with xattr -l (look for com.apple.quarantine).
A legacy macOS feature storing structured data alongside a file’s data fork. Largely replaced by extended attributes but still exists for compatibility.
A security mechanism that restricts an application’s access to system resources. App Store apps must be sandboxed. Container data stored in ~/Library/Containers/.
macOS security feature that restricts root access to protected system files and processes. Check with csrutil status. Can only be modified from Recovery Mode.
macOS’s privacy protection framework that requires explicit user consent for apps to access sensitive data (contacts, calendar, microphone, screen recording, etc.).
The default shell on macOS since Catalina. Compatible with bash but adds features like improved tab completion, spelling correction, and plugin support.