Mac OS X Internals: A Systems Approach is the first book that dissects the internals of the system, presenting a detailed picture that grows incrementally as you read. For example, you will learn the roles of the firmware, the bootloader, the Mach and BSD kernel components (including the process, virtual memory, IPC, and file system layers), the object-oriented I/O Kit driver framework, user libraries, and other core pieces of software. You will learn how these pieces connect and work internally, where they originated, and how they evolved. The book also covers several key areas of the Intel-based Macintosh computers.
A solid understanding of system internals is immensely useful in design, development, and debugging for programmers of various skill levels. System programmers can use the book as a reference and to construct a better picture of how the core system works. Application programmers can gain a deeper understanding of how their applications interact with the system. System administrators and power users can use the book to harness the power of the rich environment offered by Mac OS X. Finally, members of the Windows, Linux, BSD, and other Unix communities will find the book valuable in comparing and contrasting Mac OS X with their respective systems.
Mac OS X Internals focuses on the technical aspects of OS X and is so full of extremely useful information and programming examples that it will definitely become a mandatory tool for every Mac OS X programmer.
Tips point out shortcuts and solutions
Cautions help you avoid common pitfalls
Notes provide additional information
10 minutes is all you need to learn how to…Use Lion’s great desktop tools including Finder windows, Dock, Launchpad, Dashboard, Mission Control, and Spotlight. Install and manage applications through the Mac App Store and from the desktop. Personalize Mac OS Lion to suit your preferences, including desktop pictures, sounds, Mission Control’s spaces, Launchpad’s applications, and the Dashboard’s widgets. Connect your Mac OS X Lion computer to the Internet through a local wired and wireless network. Install, configure, and use mice, trackpads, and keyboards. Create and manage your Mac’s user accounts. Protect your Mac from Internet attacks, data loss, and other potential problems. Troubleshoot and solve problems through a logical, easy-to-perform approach. Run Windows applications on your Mac.
Inside the Book
• Find and preview everything you need with Spotlight
• Master the OS X Mountain Lion user interface and file management
• Use the App Store and full-screen apps for maximum efficiency
• Explore the Internet with Safari and send e-mail with Mail
• Manage and play digital music with iTunes and iPod or iPhone
• Chat online instantly with Messages and FaceTime
• Manage and share your schedule with Calendar
• Send files wirelessly to anyone around you with AirDrop
• Keep your files backed up with Time Machine
• Automatically save document changes as you work with Auto Save
• Use multi-touch gestures and keyboard shortcuts to save time
• Post content straight to Facebook, Twitter, Flickr, or Vimeo
• Use Microsoft Windows along with Mountain Lion
Bonus Online Content
Register your book at queondemand.com to gain access to:
• Workshops and related files
• Keyboard shortcuts
Visit the author site: perspection.com
The book concentrates on teaching Cocoa development first, and then takes that knowledge and teaches in-depth, advanced Mac OS X development through detailed examples. Topics covered include: writing applications in Cocoa, supporting plug-in architectures, using shell scripts as startup items, understanding property lists, writing screen savers, implementing preference panes and storing global user preferences, custom color pickers, components, core and non-core services, foundations, frameworks, bundles, tools, applications and more. Source code in Objective-C, Perl, Java, shell script, and other languages are included as appropriate.
These solutions are necessary when developing Mac OS X software, but many times are overlooked due to their complexities and lack of documentation and examples. The project-oriented approach of Mac OS X Advanced Development Techniques lends itself perfectly to those developers who need to learn a specific aspect of this new OS. Stand-alone examples allow them to strike a specific topic with surgical precision. Each chapter will be filled with snippets of deep, technical information that is difficult or impossible to find anywhere else.
iOS is Apple's mobile operating system for the iPhone and iPad. With the introduction of iOS5, many security issues have come to light. This book explains and discusses them all. The award-winning author team, experts in Mac and iOS security, examines the vulnerabilities and the internals of iOS to show how attacks can be mitigated. The book explains how the operating system works, its overall security architecture, and the security risks associated with it, as well as exploits, rootkits, and other payloads developed for it.Covers iOS security architecture, vulnerability hunting, exploit writing, and how iOS jailbreaks work Explores iOS enterprise and encryption, code signing and memory protection, sandboxing, iPhone fuzzing, exploitation, ROP payloads, and baseband attacks Also examines kernel debugging and exploitation Companion website includes source code and tools to facilitate your efforts
iOS Hacker's Handbook arms you with the tools needed to identify, understand, and foil iOS attacks.
OS X and iOS Kernel Programming provides an incisive and complete introduction to the XNU kernel, which runs iPhones, iPads, iPods, and Mac OS X servers and clients. Then, you’ll expand your horizons to examine Mac OS X and iOS system architecture. Understanding Apple’s operating systems will allow you to write efficient device drivers, such as those covered in the book, using I/O Kit.
With OS X and iOS Kernel Programming, you’ll:Discover classical kernel architecture topics such as memory management and thread synchronization Become well-versed in the intricacies of the kernel development process by applying kernel debugging and profiling tools Learn how to deploy your kernel-level projects and how to successfully package them Write code that interacts with hardware devices Examine easy to understand example code that can also be used in your own projects Create network filters
Whether you’re a hobbyist, student, or professional engineer, turn to OS X andiOS Kernel Programming and find the knowledge you need to start developing