The Book Of Regrets Mac OS
Which Mac operating system is the best is a topic of numerous debates among Apple fans.
As an operating system, Mac OS has always tried to make things sleek and minimalist on your desktop. However, in the older versions, the sync between Mac and iPhone led to a lot of clutter. To counter that, Apple added Desktop Stacks to make your desktop organized according to the criteria you desire. Mac OS X Developer's Guide focuses equally on Cocoa and Carbon, guiding the reader through these technologies and showing how to write applications in both. It is the first book for Mac OS X developers written for those who are already working on applications, as well as new developers just getting started. Mac OS X 10.4 Tiger is the fifth major release of the Mac OS X. Tiger was released to the public on April 29, 2005, for US$ 129.5 as the successor to the Mac OS X 10.3 Panther. Some new features are included in this version, which includes a fast searching system called Spotlight, new version of Safari web browser, Dashboard, a new.
Since the mission of this blog is to refute myths and legends around Macs, it’s time for me to provide my 2 cents about the issue on hand. While everything below is just my opinion, as a long-time Mac user and veteran software engineer, I hope my opinion worth something.
The best Mac OS version is the one that your Mac is eligible to upgrade to. In 2021 it is macOS Big Sur. However, for users that need to run 32-bit apps on Mac, the best macOS is Mojave. Also, older Macs would benefit if upgraded at least to macOS Sierra for which Apple still releases security patches.
How to Tell Which macOS You Are Running
To find out which macOS is currently running on your Mac, follow these steps:
- Click on Apple logo in the top left corner of the menubar
- In the dropdown click on the first item: About This Mac
- The first line in the Overview tab is the name of the current OS.
What Version of OS Can My Mac Run?
Not all Macs can be upgraded to the latest OS version. For instance, old Macs powered by PowerPC CPUs cannot run OS intended for Intel-based computers. Also, some versions have hardware limitations.
For instance, Mojave cannot be installed on MacBook Pro earlier than Mid 2012 model.
Check below to know exactly what version of OS your Mac can run.
Which OS is Best for my Mac
Anytime someone asks me which OS is best for them I always suggested going with the latest. Things have changed recently, however.
Should I Upgrade to macOS Catalina or Big Sur?
While personally I like macOS Big Sur and have it installed on my MacBook Pro, it comes with serious breaking changes.
Free online casino codes. The first issue is compatibility.
Big Sur is a transition OS which is designed to help Apple to move from Intel processors to their own chips on ARM.
After I installed Big Sur on my MacBook Pro mid 2020 (pre-Silicon), most of my apps, including Microsoft Office, were working as expected.
However, my VMWare Fusion 11 does not start anymore, so I have to purchase a new license if I want to keep using it (or roll back to Catalina). Luckily, I took a full backup before the upgrade.
The second breaking issue is the lack of 32-bit app support.
macOS Catalina and Big Sur can only run 64-bit apps.
If you wondering whether you should upgrade to macOS Catalina or Big Sur, first verify that you don’t have any 32-bit apps. But first, take a back up, so you can go back in case something breaks after the upgrade.
For instance, I had to remove uTorrent after upgrade. And I didn’t know that uTorrent is 32-bit!
How to Know If App is 32-bit or 64-bit
To find out whether the app on your Mac is 32-bit or 64-bit follow these steps:
- Click on Apple logo in the top left corner of the Mac screen
- Click on About This Mac option
- Click on System Report button in Overview tab (first one)
- Scroll down to Software -> Applications
- Find the app and check Kind
Which macOS Should I Use
If you have an older Mac which is not eligible to upgrade with some latest software or hardware, I’d suggest upgrading at least to Sierra (or better High Sierra) for the following reasons:
- Sierra is still supported by Apple, and it gets security updates
- APFS file system is available
- It supports Siri
- Significant security improvements
The most important point when choosing the best OS is the ability to get security updates. While Apple generally does not announce the OS end of life dates, it is possible to know when they stop releasing security updates from this page.
For instance, according to the page, the last security update for OS X Yosemite was released on September 12, 2017. The last update for OS X El Capitan was in July 2018, and Carnegie Mellon University confirmed that El Capitan’s end of life date was August 2018.
Snow Leopard Myth
Slot machine games online for free. I know that some users on forums believe that the best OS version for Macs was Snow Leopard. But that is a myth. And I know how such myths get created.
Once I worked in the company, which was selling a 20-year old product. And customers were still using and didn’t want to switch to new versions, because the old one was rock solid.
I then talked to the engineer who worked on the project, and he revealed that the product was a total disaster when it was first deployed. Engineers had to work on-site for almost a year in order to fix all bugs.
After five or so years of polishing the product, it becomes virtually bug-free, and nobody now remembers how bad it was when it was first rolled out. A similar thing happened Snow Leopard, and it was recognized as best mac os version after some time.
How to Update to the Latest Version
There are two ways to update to the latest OS version on Mac:
- From the Software Update section in System Preferences
- Use a download link
Using Software Update
This is by far the best option, but it only available if you have Yosemite, or later OS installed already. If you enabled automatic updates, then Mac will inform you that the next macOS is available.
Just open System Preferences, go to Software Update and click on the Upgrade Now button.
This method is also best if wondering how to check if you have the latest version of OS installed on your Mac. Only the version compatible with your hardware will appear here.
For instance, my the latest version for Mac Mini 2012 is Mojave, I can’t install anything newer than that.
If you are having problems with updates or having issues post-upgrade check my post about troubleshooting macOS.
Using download links
For older systems or in case you need to downgrade, you have to download a standalone installer in DMG format. DMG stands for disk image, similar to ISO, just different formats.
After downloading the installer, just double click on it and follow instructions. Again, do not forget to take a backup before the upgrade.
Mac OS Comparisons: Requirements, Features, Compatibility, Download Links
Following is a high-level description of all Mac operating systems as early as Mountain Lion.
You can refer to those descriptions when deciding which operating system is best for your iMac, Mac Pro, Mac mini, or MacBook.
With each OS description, I included a list of Macs supported. However, you can use Mac OS compatibility checker for more detailed information.
macOS 11 Big Sur
macOS v11 (codename Big Sur) is the latest version of the operating system for Apple computers.
Release date: October 13, 2020
Hardware Requirements: RAM requirement 4GB. Big Sur is the first OS to support new Macs using ARM technology (in the future).
Features
- The biggest design refresh since macOS X.
- Support for new ARM processors.
- Safar improved performance and power consumption.
- Time Machine supports backup to APFS volumes.
- One-click translation for 7 languages.
- Redesigned maps
Software Compatibility Issues
Only 64-bit apps are allowed to run on Big Sur.
How to install
There are two ways to install Big Sur: enable automatic updates in System Preferences or download by using the following link.
Or check my post with tips on installing macOS on unsupported devices.
List of Apple computers compatible with macOS Big Sur
- MacBook (2015 and later)
- MacBook Air (2013 and later)
- MacBook Pro (2013 and later)
- Mac mini (2014 and later)
- iMac models (2014 and later)
- iMac Pro (2017 and later)
- Mac Pro (2013 and later)
macOS 10.15 Catalina
Release date: October 7, 2019
Hardware Requirements: RAM requirement increased from 2GB to 4GB. Ace of spades game free.
Features
- Introduced Sidecar, which allows for Macs to use an iPad as an external display.
- iTunes was replaced by separate apps: Music, Podcasts, and TV.
- Find My Mac and Find My Friends have merged into one app.
Software Compatibility Issues
macOS Catalina is the first Mac operating system that does not support 32-bit applications. Only 64-bit apps are allowed to run on Catalina.
How to install
There are two ways to install Catalina: enable automatic updates in System Preferences or download by using the following link.
List of Apple computers compatible with macOS Catalina
- MacBook (Early 2015 or later)
- MacBook Air (Mid 2012 or later)
- MacBook Pro (Mid 2012 or later)
- Mac mini (Late 2012 or later)
- iMac models (Late 2012 or later)
- iMac Pro (All models)
- Mac Pro (Late 2013)
macOS 10.14 Mojave
Release date: September 24, 2018
Hardware Requirements: 2GB RAM and 18.5GB free space on disk
Features
- The main feature of Mojave is “Dark Mode”
- FaceTime adds group feature which allows chatting with up to 32 people
- News, Stocks, Voice Memos, and Home apps were ported from iOS to Mac.
How to install
If your Mac is eligible to update to Mojave, then the easiest way to install it is by enabling automatic updates. Downloading a standalone Mojave installer could be a little tricky.
List of Apple computers compatible with macOS Mojave
- MacBook (Early 2015 or later)
- MacBook Air (Mid 2012 or later)
- MacBook Pro (Mid 2012 or later)
- Mac mini (Late 2012 or later)
- iMac (Late 2012 or later)
- iMac Pro (All models)
- Mac Pro (Late 2013 and 2010-2012 models with upgraded GPU)
macOS 10.13 High Sierra
Release date: September 25, 2017
Hardware Requirements: 2GB RAM and 14.3GB free space on disk
Features
- APFS (Apple File System) becomes the default file system in High Sierra. It’s a significant upgrade from the older HFS+ in terms of speed, size, and security
- iCloud support of Messages which allows sync messages of the account across multiple devices
- Mail app uses 35% less storage space due to optimizations
List of Apple computers compatible with macOS High Sierra
- MacBook (Late 2009 or newer)
- MacBook Pro (Mid 2010 or newer)
- MacBook Air (Late 2010 or newer)
- Mac mini (Mid 2010 or newer)
- iMac (Late 2009 or newer)
- Mac Pro (Mid 2010 or newer)
How to install
Here is a High Sierra download link.
macOS 10.12 Sierra
This is the first macOS version. Previous OS versions for Macs were called OS X (X stands for 10).
Release date: September 20, 2016
Hardware Requirements: 2GB RAM and 8GB free space on disk
The Book Of Regrets Mac Os Download
Features
- Siri was introduced to Macs
- Optimized storage with iCloud sync
- Auto-lock feature allows unlocking MacBook with paired Apple Watch
- APFS preview available
- Disk Utility can manage RAID sets again
- Significant security improvements
How to install
Here is a Sierra download link.
List of Apple computers compatible with macOS Sierra
- MacBook (Late 2009 or newer)
- MacBook Pro (Mid 2010 or newer)
- MacBook Air (Late 2010 or newer)
- Mac mini (Mid 2010 or newer)
- iMac (Late 2009 or newer)
- Mac Pro (Mid 2010 or newer)
OS X 10.11 El Capitan
Last OS X version.
Release date: September 30, 2015
Hardware Requirements: 2GB RAM and 8GB free space on disk
Features
- System Integrity Protection – a security feature that protects even when the root user executes the process
- Performance improvements: open PDF files four times faster, Mail is twice faster, launching apps 40% faster
- Notes app similar to the app in iOS
Macs compatible with OS X El Capitan
same as OS Mountain Lion.
How to install
Here is El Capitan download link.
OS X 10.10 Yosemite
Release date: October 16, 2014
Hardware Requirements: 2GB RAM and 8GB free space on disk
Macs compatible with OS X Yosemite
Same as OS Mountain Lion.
Features
- Major user design overhaul
- Introduction of Handoff and Continuity features
- Photos app replaced iPhoto and Aperture
Mac Os Books
How to install
Here is Yosemite download link.
OS X 10.9 Mavericks
First free Mac OS. Previous OS versions vary from $19.99 to $129.
Release date: October 22, 2013
Hardware Requirements: 2GB RAM and 8GB free space on disk
Features
- Compressed Memory feature automatically compresses inactive apps when approaching maximum memory capacity
- Timer coalescing is a feature that reduces CPU usage by up to 72 percent
- App Nap puts apps that are not currently visible to sleep
Macs compatible with OS X Mavericks
Same as OS Mountain Lion.
How to install
OS X Mavericks installer is not available on Apple Site. Follow instructions here to install Mavericks.
OS X 10.8 Mountain Lion
Must be purchased. Fixed many bugs introduced in OS X Lion.
Release date: July 25, 2012
System Requirements: 2GB RAM and 8GB free space on disk
Features
- New apps: Notification Center, Notes, Messages, Game Center
- AirPlay mirroring allowed to mirror Mac screen to Apple TV
- Application updates automatically install from the App Store
List of Apple computers compatible with OS X Mountain Lion
- iMac (Mid-2007 or newer)
- MacBook (Late 2008 Aluminum, or Early 2009 or newer)
- MacBook Air (Late 2008 or newer)
- MacBook Pro (Mid/Late 2007 or newer)
- Mac mini (Early 2009 or newer)
- Mac Pro (Early 2008 or newer)
- Xserve (Early 2009)
How to install
Mountain Lion installer is not available on Apple Site. Follow instructions here to install OS X Mountain Lion.
List of older Mac OS Versions
Following Mac OS versions are still running on older Macs, but Apple does not support them anymore, and there is no point to upgrade (or downgrade) to them:
- OS X 10.7 Lion
- OS X 10.6 Snow Leopard
- Mac OS X 10.5 Leopard
- Mac OS X 10.4 Tiger
- Mac OS X 10.3 Panther
- Mac OS X 10.2 Jaguar
- Mac OS X 10.1 Puma
- Mac OS X 10.0 Cheetah
Show Additions (in red)
Show Updates (in blue :-)
Show Deletions (in grey)
Feedback/Requests Welcome! Click here, or email J@
MOXiI - 2nd Edition - Volume I - Table of Contents
The TOC for Volume II is also out. Requests/Comments welcome.
Note: DO NOT buy this book on Amazon - because it's no longer the right one - I explain here
- Prerequisites
- OS X:
- XCode and its command line tools
- 10.11: System Integrity Protection (SIP)
- iOS:
- Jailbreaking your device
- Setting up SSH and authorized_keys
- Setting up USB port forwarding
- Completing the iOS Binary command set
- Compiling with the iOS SDK
- The Companion Website (http://NewOSXBook.com/)
- OS X:
- Chapter 1: Darwinism -The Evolution of OS X
- The Pre-Darwin Era: Mac OS Classic
- The Prodigal Son: NeXTSTEP
- Enter: OS X
- OS X Versions, to Date
- 10.0 - Cheetah and the First Foray
- 10.1 - Puma -a Stronger Feline, but . . .
- 10.2 - Jaguar - Getting Better
- 10.3 - Panther and Safari
- 10.4 - Tiger and Intel Transition
- 10.5 - Leopard and UNIX
- 10.6 - Snow Leopard
- 10.7 - Lion
- 10.8 - Mountain Lion
- 10.9 - Mavericks
- 10.10 - Yosemite
- 10.11 - El Capitan
- iOS-OS X Goes Mobile
- 1.x-Heavenly and the First iPhone
- 2.x - App Store, 3G and Corporate Features
- 3.x - Farewell, 1st gen, Hello iPad
- 4.x - iPhone4, Apple TV, and the iPad 2
- 5.x - To the iPhone 4S and Beyond
- 6.x - The iPhone 5 and the first mini
- 7.x - Sochi - The 5S, and the move to 64-bit
- 8.x - Okemo - The 6 and 6+
- 9.x - Monarch - The 6S/6S+, iPad Pro
- WatchOS
- TvOS
- iOS vs. OS X
- The Future of OS X Obviously in need of an update.
- References
- Summary
- New chapter: Hardware
- Mac devices Listing Hardware profiles and KEXts in.
- i-devices
- Model Numbers and Code Names
- Processor Types
- Hardware Specifications
- CPU and RAM specifications
- Retrieving other specifications
- OS X: Using the SPSupport private framework
- OS X: Using the System Management BIOS
- iOS: Using MobileGestalt
- iOS: Using SysCfg
- Experiment: Figuring out your device specs
- Other devices: Time Machine, Airport, AppleTV, the iPod Nano* and the Apple Watch
- Chapter 2: E Pluribus Unum: Architecture of OS X and iOS
- OS X Architectural Overview
- The User Experience Layer
- Aqua
- Quicklook
- Spotlight
- Darwin - The UNIX Core
- The Shell
- The File System
- Filesystem Directories:
- UNIX System Directories
- OS X Specific Directories
- iOS File System Idiosyncrasies
- Interlude: Bundles
- Applications
- Info.plist
- Resources
- NIB Files
- Internationalization with .lproj Files
- Icons (.icns)
- CodeResources
- The LaunchServices Framework
- Installing an Application
- The LaunchServices Database
- URL Schemes
- Universal Type Identifiers (UTIs)
- Claims
- Frameworks
- Framework Bundle Format
- List of OS X and iOS Public Frameworks
- List of OS X and iOS Private FrameworksExperiment: Demonstrating but a few of the Private iOS frameworks
- Libraries Updated
- Other Application types
- System Calls
- POSIX
- Mach System Calls
- A High-Level View of XNU
- Mach
- The BSD Layer
- libkern
- I/O Kit
- Summary
- References
- Chapter 3: On the Shoulders of Giants - OS X and iOS Technologies
- BSD heirlooms
- sysctl new: list of important sysctls
- kqueues
- Auditing (OS X) Parsing the audit logs manually + Experiment: Configuring and controlling auditing
- Mandatory Access Control
- OS X and iOS Specific Technologies
- Directory Services
- User and Group Management (OS X)
- System Configuration
- Logging Greatly expanded to cover ASL
- Apple Events and AppleScript
- FSEvents
- Notifications Experiment: Viewing system notifications
- Additional APIs of interest
- OS X and iOS Security Mechanisms
- Code signing
- Compartmentalization (Sandboxing)
- Entitlements: Making the Sandbox Tighter Still
- Enforcing the Sandbox
- Summary
- References
- BSD heirlooms
- Promenade: A tour of OS X and iOS Files and Frameworks
- Common Directories and Files
- OS X: The system databases
- User database
- Keychains
- iOS: The system Databases
- System Logs
- User Info
- Accounts
- Contacts
- Call, VoiceMail and SMS DBs
- Safari
- Springboard settings
- Location Database
- New Chapter: (split from Chapter 4) Mach-O updated for 10.8-10.10, and header patching/editing
- Executables
- Universal Binaries
- Mach-O Binaries
- The Mach-O header
- Load commands processed by kernel
- LC_SEGMENT[_64]
- LC_UNIXTHREAD
- LC_MAIN
- LC_UUID
- LC_THREAD
- LC_CODE_SIGNATURE
- The Dynamic Linker
- The role of the dynamic linker
- Load commands processed by the Linker
- LC_LOAD_DYLIB and friends
- LC_SYMTAB and LC_DYSYMTAB
- LC_LOAD_DYLIB
- LC_RPATH
- LC_DYLD_INFO
- LC_SEGMENT_SPLIT_INFO
- LC_FUNCTION_STARTS
- LC_DATA_IN_CODE
- Launch-Time Loading of Libraries Updated for ARM64 stubs
- Shared Library Caches more info on shared cache format, 32,64
- Experiment: Extracting files from a shared cache
- Overriding the Shared Cache
- Runtime Loading of Libraries
- dyld Features
- __LINKEDIT segment
- dyld opcodes
- debugging dyld
- Experiments with JTool
- Chapter 4: Parts of the Process:
Mach-OProcess and Thread Internals- A Nomenclature Refresher
- Processes and threads
- The Process Lifecycle
- UNIX Signals
- Executables
- Universal Binaries
- Mach-O Binaries
- The Mach-O header
- Dynamic Libraries
- Launch-Time Loading of Libraries
- Runtime Loading of Libraries
- dyld Features
- Process Address Space
- The process entry point
- Address Space Layout Randomization
- 32-Bit (Intel)
- 64-Bit (Intel)
- 32-Bit (iOS)
- 64-Bit (iOS)
- Experiment: Using vmmap(1) to Peek Inside a Process' Address Space
- Process Memory Allocation (User Mode)
- Memory Pressure and Jetsam
- Virtual Memory-The sysadmin Perspective
- Swapping (OS X)
- Threads
- Unraveling threads
- POSIX Thread APIs
- Not-So-POSIX Thread APIs
- GCD Internals
- References
- New Chapter: IPC in OS X and iOS
- Traditional UNIX mechanisms
- UNIX Domain sockets
- IP sockets
- System-V mechanisms
- Mach messages
- high level view of messages and ports
- Bootstrap ports vs. ephemeral
- mach_msg
- Experiment: A simple Mach message client and server
- XPC
- Theory and design
- Implementation
- Integration with GCD
- Changes in 10.10/8
- Traditional UNIX mechanisms
- New chapter: The Runtime Environments
- Objective-C
- Theory and rationale
- Classes, Protocols, etc
- objc_msgsend()
- The Mach-O sections
- Class dumping and reverse engineering
- Experiment: Deconstructing an Objective-C binary using JTool
- Swift
- Theory and rationale
- Interpreter vs. Compiler
- Mangling
- The runtime environment
- Decompiiling
- Objective-C
- Chapter 5. Non Sequitur: Process Tracing and Debugging
- DTrace
- The D Language
- dtruss
- Another example or two of advanced DTrace with OS X specific probes
- How DTrace Works Updates on DTrace internals, CTF, etc
- Other Profiling Mechanisms
- The Decline and Fall of CHUD
- AppleProfileFamily: Another one bites the dust
- Kperf
- Process Information
- sysctl More on KERN_PROCARGS, etc
- proc_info Even more on my favorite syscall
- (Re)Introducing: Process Explorer
- Process and system snapshots
- system_profiler(8)
- sysdiagnose(1) - and the new iOS9 sysdiagnose (w/Host Special Port)
- systemstats (10.9)
- allmemory
- stackshot
- stack_snapshot Updates for micro-stackshots and 10.11 stackshots
- KDebug
- KDebug-Based Utilities
- kdebug codes
- Writing kdebug messages
- Reading kdebug messages
- KDebug and CoreProfile
- 10.11/iOS 9 KDebug enhancements
- Introducing: KDebugView
- 10.9: Telemetry
- 10.10: proc_trace_log
- Application Crashes
- Application Hangs and Sampling
- iOS: Jetsam
- Memory Bugs
- Memory Corruption Bugs
- Memory Leaks
- heap(1)
- leaks(1)
- malloc_history
- Standard UNIX tools
- Using GDB
- Using LLDB
- Summary
- References
- DTrace
- Installation Images
- Software updates
Moved to Volume II- Chapter 6.
Alone in the Dark: The Boot ProcessBoot, Panic, and Shutdown- EFI, Demystified
- OS X and boot.efi
- Flow of Boot.efi
- Booting the kernel
- kernel callbacks into EFI
- boot.efi in
LionMavericks - Core-Storage induced changes
- Count your blessings
- Experiment: Running EFI Programs on a Mac
- iOS and iBoot
- Precursor: the Boot ROM
- Normal boot
- Recovery Mode
- DFU Mode
- iOS software images (.ipsw) and OTA images (dydiff, etc)
- iBoot - Structure and flow
- APTickets, SHSHs, etc
- Hibernation
moved to Vol II - Chapter 7. The Alpha and Omega - Launchd and the GUI Shells
- Launchd
- Starting Launchd
- System-Wide vs. per User (pre 10.10/8)
- Daemons and Agents
- The Many Faces of Launchd
- 10.10/8 - Launchd, reborn - updates on new features in launchd
- Experiment: Using launchctl (10.10/8)
- Launch Services
- GUI Environments
- Finder (OS X)
- SpringBoard (iOS) Updated to include SB APIs
- SwitchBoard (and the alleged iOS 'prototypes')
- Handling GUI events
- Tracing the flow of an event - from hardware to UI Message
- Intercepting and injecting GUI events
- Experiment: fun with MultiTouch on OS X and iOS
- Launchd
- New Chapter: OS X and iOS Security
- OS X and iOS Security Mechanisms
- The Security framework, in depth
- MACF
- KAuth
- Keychains, Keybags, and more
- Filesystem Encryption
- OS X (FileVault 2)
- iOS
- Rootless (OS X 10.11, iOS9
- Patch guard (iOS 9)
- Code signing (greatly expanded to describe LC_CODE_SIGNATURE, 10.10 mods (csr.)
- Compartmentalization (Sandboxing)
- Entitlements: Making the Sandbox Tighter Still
- The SecTask APIs
- csops
- List of known entitlements
- Device provisioning and Management (MDM)
- Developer Certificates
- Enforcing the Sandbox
- The evolution of sandboxd - from seatbelt (10.5) to 10.10
- AMFI New content, up to AMFI
130150 (10.11) - System Integrity Protection ('rootless') (10.11)
- OS X: Vulnerabilities, past and present
- dyld issues in 10.10.x
- rootpipe
- tpwn
- iOS: Jailbreaking, a history Explanation of iOS Exploits
- JailBreakMe 1-3
- The LimeRa1n exploit
- colorful sn0w
- evasi0n
- evasi0n7
- Pangu
- Pangu 8
- Taig (8.1.2)
- Pangu 9!
- Privacy and TCCd
.. at this rate, this might end up being a mini book of its own. :-)