Download presentation
Presentation is loading. Please wait.
Published byMyles Paul Modified over 8 years ago
1
Discovering Mac OS X Avinash Meetoo avinash@noulakaz.net http://www.noulakaz.net/ 13 January 2007 Linux User Group of Mauritius http://www.linux.mu/
2
Plan ● Origins of Mac OS X ● A technical overview of Mac OS X ● Developing software on the Mac ● Using Mac OS X
3
Origins of Mac OS X
4
● Steve Jobs launches the Macintosh in 1984 ● He is thrown out of Apple in 1985 ● He creates a startup together with 5 Apple employees ● The NeXT running NEXTSTEP is launched in 1988
5
NEXTSTEP ● Was based on Mach 2.5 and 4.3BSD ● Had an advanced GUI based on Postscript ● Objective-C was the native programming language ● Had a graphical development environment – Interface Builder ● Offered several standard object-oriented frameworks – Application Kit – Sound Kit – Driver Kit
6
Apple needs Steve Jobs again... ● In 1995 Mac OS 7 is outdated – Very poor multitasking facilities – Suboptimal memory management – Not good enough to compete with Windows 95 ● In 1997 Apple buys NEXTSTEP – Steve Jobs becomes interim CEO – He announces that Apple's future OS will be based on NEXTSTEP technology – Mac OS 8 (in 1998) and Mac OS 9 (in 1999) are based on old classic technology and are still not good enough – Mac OS X is released on 24 march 2001
7
Technical overview of Mac OS X
9
What is Darwin? ● Similar to a Linux distribution ● Darwin is Open Source Software ● Darwin is not Mac OS X ● A collection of about 400 packages – Some from Apple ● OS9 ● NEXTSTEP – Some from the OSS and FSF communities ● GCC ● X11 ● etc. ● And a distribution needs a kernel
10
The xnu kernel – Mach 3.0 microkernel ● Essential services like process management, memory management including virtual memory, inter-process communication, real-time support, console I/O ● I/O Kit + drivers – FreeBSD 5 personality ● Security and permissions ● POSIX compliance ● High-performance networking ● Network Kernel Extensions ● Virtual file system layer ● Multiple file systems ● Full set of command-line tools ●...
11
Unix software on Mac OS X ● Mac OS X is POSIX compliant – Open source software written for Linux/BSD work ● Software can be installed manually... – download, configure, make, install ● Or automagically – Fink http://fink.sourceforge.net/ ● Provides Debian/Ubuntu toolset i.e. apt-get – MacPorts http://www.macports.org/ ● Provides BSD toolset i.e. port
12
– QuickTime ● Cross-platform multimedia technology for creating and delivering video, sound, animation, graphics, text, interactivity, and music. – CoreAudio ● Provides native, state-of-the-art, multichannel audio – CoreImage ● Image processing technology that leverages programmable GPU whenever possible – CoreVideo ● Provides an easy way to obtain frames from any video source and provides the opportunity to filter or transform them using Core Image or OpenGL – OpenGL ● Highly optimized implementation of OpenGL which is the industry standard for high performance 2D and 3D graphics
13
– Cocoa is an object-oriented framework to develop native Mac OS X applications ● Comes directly from NEXTSTEP ● Programmed in Objective-C generally – Carbon is a set of C and C++ functions developers use to take advantage of MacOS X ● It is a legacy API – Java support in Mac OS X is built around the foundation of the Java 2 Standard Edition
14
– Aqua defines the standard appearance of specific user interface components such as windows, menus, and controls – Dashboard is a display and management system for desktop utilities called widgets – Spotlight provides a new way of organizing and searching for information on your computer by using metadata – An assistive application interacts with an application's user interface to provide an alternative way for persons with disabilities to use the application
15
Software development on Mac OS X
16
● Mac OS X supports many development environments – UNIX (POSIX compliant) – Java (Java 5.0 compliant) ● WebObjects (Java Web Application Server) – Cocoa (NEXTSTEP technology) – Carbon (for legacy applications) – AppleScript (for inter-application scripting) – Automator (for automating repetitive tasks) – A host of open source, web, scripting, database, and development technologies ● LAMP ● Ruby on Rails ●...
17
UNIX development ● Complete GNU Compiler Collection – Version 4.0 – Compilers for C, C++, Objective-C, Fortran... ● Command line applications – Trivial to port as Mac OS X is POSIX compliant ● Two possibilities for GUI applications – Native Mac OS X GUI ● Carbon, Cocoa or Java – Standard UNIX technologies ● OpenGL, X11, Gtk, Qt, Tcl/Tk, wxWidgets...
18
Developing in Java ● Mac OS X provides a J2SE 5.0 implementation – javac / java – Netbeans – Eclipse – BlueJ ● WebObjects – Development environment with web services, data access and page generation capabilities – Free to use and to deploy – Plugins exist for Xcode, Eclipse, etc.
19
The Cocoa framework ● Object-oriented framework designed specifically for developing native applications – Includes a complete set of classes – Based on NEXTSTEP ● Objective-C is the primary language ● Bindings exist for other languages – Java, C/C++, AppleScript, Python, Ruby... ● Xcode is the IDE used to build Cocoa applications
20
Xcode ● Full graphical IDE ● Rapid Application Development ● Forms part of Mac OS X ● Technical caracteristics – Uses GCC and GDB – Allows for distributed compilation – Allows for cross compilation – Many major Apple (for example, the iLife suite) and third-party applications are coded in Xcode
21
AppleScript ● AppleScript is an English-like language used to write script files that automate the actions of the computer and the applications that run on it
22
Automator ● Automator Workflows are simple to create just by dragging items, pointing and clicking and they can accomplish all time- consuming, repetitive manual tasks quickly, efficiently and effortlessly
23
Acknowledgement ● Amit Singh – The book “Mac OS X Internals” – http://www.kernelthread.com/ ● Aaron Hillegass – The book “Cocoa programming for Mac OS X” ● Ars Technica – http://arstechnica.com/reviews/os/macosx-10.4.ars ● Apple – http://www.apple.com/macosx/ – http://developer.apple.com/macosx/
24
A demonstration of Mac OS X, standard applications and iLife
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.