[CLUE-Talk] Roots of Mac OS X: BSD info
Kevin Cullis
kevincu at orci.com
Tue Dec 5 09:32:29 MST 2000
Thought you all might like to know this.
Kevin
TidBITS Editors wrote:
>
> TidBITS#558/04-Dec-00
> =====================
>
> Mac OS X is coming soon, and there's much more to it than the Aqua
> interface. This week Chris Pepper looks at Mac OS X's Unix
> foundation. And if a digital camera is on your gift list, Arthur
> Bleich offers advice about essential accouterments like printers,
> batteries, and memory cards. In the news, Nisus Software releases
> Nisus Writer 6.0.1 (including 68K support and the TidBITS
> AutoCorrect Dictionary), and we ask you to vote in our poll on how
> TidBITS should cover product announcements.
>
> Topics:
> MailBITS/04-Dec-00
> Digital Camera Accouterments
> Unix Coming to a Mac Near You, Part 1
>
> <http://www.tidbits.com/tb-issues/TidBITS-558.html>
> <ftp://ftp.tidbits.com/issues/2000/TidBITS#558_04-Dec-00.etx>
>
> Copyright 2000 TidBITS Electronic Publishing. All rights reserved.
> Information: <info at tidbits.com> Comments: <editors at tidbits.com>
>
> Unix Coming to a Mac Near You, Part 1
> -------------------------------------
> by Chris Pepper <pepper at reppep.com>
>
> With Mac OS X, Apple is building Unix into the Mac OS, and this
> has technical, social, and political ramifications for Mac users
> and the rest of the industry. To understand the implications of
> this change, let's take a look this week at the Unix family of
> operating systems and how they constitute a part of Mac OS X. In
> the next part of this article, I'll address how the fusion of
> these two operating systems will impact not only Mac and Unix
> users, but the computer industry as a whole.
>
> **Unix 101: The History of the Machine** -- In the beginning (or
> as far back as we want to go), there was Unix, which was
> originally developed at AT&T's Bell Labs. In many ways, Unix grew
> up in symbiosis with the C programming language, which became an
> important facet of its underlying philosophy - that programming is
> good for you. (For more information, see some of the resources
> provided by Dennis Ritchie, one of the creators of C, as well as
> an interesting timeline of the history of Unix). In sharp
> contrast, the Macintosh was revolutionary because of Apple's
> concept that computer users could be insulated from the underlying
> workings of their computers, and not have to be programmers.
> Apple's vision of the Mac OS was as a system for managing a
> computing appliance, whereas Unix was published as a research
> project with an open invitation to tinkerers.
>
> <http://www.cs.bell-labs.com/cm/cs/who/dmr/>
> <http://perso.wanadoo.fr/levenez/unix/>
> <http://db.tidbits.com/getbits.acgi?tlkthrd=1194>
>
> Over time, various companies and individuals contributed to Unix,
> each under their own licenses, some of which required payment for
> use. Several companies, most notably Sun Microsystems, licensed
> Unix to use as the basis of their own operating systems to run on
> their own computer hardware. There are now hundreds of derivatives
> of the original Bell Labs Unix. A crucial point in the development
> of Unix came when AT&T sued the University of California at
> Berkeley to halt distribution of Unix systems without paid
> licenses from AT&T, but the suit failed. After the settlement,
> Berkeley released the free and redistributable 4.4BSD-Lite (BSD
> stands for "Berkeley Software Distribution"), which contained no
> AT&T code and no licensing restrictions. The current BSD flavors
> of Unix - NetBSD, FreeBSD, OpenBSD, BSDI, and now Apple's Darwin -
> are all descendants of BSD-Lite.
>
> <http://www.oreillynet.com/pub/a/network/2000/03/17/bsd.html?page=3>
> <http://www.bsd.org/>
>
> During the 1980s, Richard Stallman formed the Free Software
> Foundation (FSF) to write a completely compatible Unix
> replacement, free of restrictive licensing requirements. In
> rejection of these licenses, the FSF created the GNU General
> Public License (GPL), which requires licensed software to be
> freely redistributable, and has a "viral" clause requiring that
> derivative works also be licensed under the GPL, and thus freely
> available and modifiable. The GNU (which stands for "GNU's Not
> Unix") project was highly successful in creating powerful tools,
> such as the ubiquitous gcc compiler and gzip compression program,
> now considered standard parts of Unix environments. The GNU
> operating system kernel, known as Hurd, is still under
> development.
>
> <http://www.gnu.org/copyleft/gpl.html>
> <http://www.gnu.org/philosophy/philosophy.html#AbouttheGNUproject>
> <http://www.fsf.org/software/hurd/hurd.html>
>
> Linus Torvalds began the Linux project with a similar goal: to
> develop a free Unix-compatible kernel for Intel PCs, without
> license encumbrances. To ensure that Linux would be free, it was
> also licensed under the GPL. An operating system kernel isn't
> useful by itself, so Linux distributions combine Linux kernels
> with other free GNU and non-GNU components to build complete
> operating systems. Thus the FSF's goal of a free Unix-like
> operating system was attained, though not quite as its founders
> expected.
>
> <http://www.gnu.org/gnu/linux-and-gnu.html>
>
> Linux is generally portrayed as a better, faster, and more stable
> server alternative to Windows NT/2000. In contrast, BSD Unix
> rarely crops up in casual conversation, but its users consider it
> better and more stable than relative newcomer Linux. A number of
> high-profile Web sites, such as Yahoo and MCI, apparently share
> this conviction and rely on BSD-backed Web servers.
>
> **The Mac OS X Layer Cake** -- Although Apple is introducing Unix
> to millions of Mac users through Mac OS X, you don't need to start
> memorizing Unix commands to use it (in fact, you'll have to work
> to see the Unix command line at all). However, it will be helpful
> to have a working knowledge of how Unix fits into the inner
> workings of your Mac.
>
> Think of Mac OS X as a three-layer cake, borrowing its basic
> recipe from the NeXTstep operating system, leavened with
> components of Mac OS 9. The lowest level is derived from Carnegie
> Mellon University's Mach microkernel research project, which
> interacts with the hardware and helps different parts of the next
> level up communicate with one another, and the BSD kernel, which
> provides facilities such as networking, device drivers, and file
> systems - HFS+ and UFS (Universal or Unix File System) are
> included in Mac OS X. Within Darwin, the second level is a fairly
> standard Unix environment, including tools ranging from the ls
> program that lists files and the cp program that copies files, to
> the aforementioned gzip and the Apache Web server. These two
> layers are available now from Apple, packaged together as the free
> open source Darwin operating system.
>
> <http://www.cs.cmu.edu/afs/cs.cmu.edu/project/mach/public/www/mach.html>
> <http://www.publicsource.apple.com/projects/darwin/>
> <http://db.tidbits.com/getbits.acgi?tbart=05994>
>
> Darwin is a fully capable Unix-like operating system on its own,
> but it's limited in comparison to the Mac OS. In particular,
> Darwin lacks graphics capabilities entirely - in a typical Unix
> system those would be provided by the X Window System, but Darwin
> can only display text on the connected monitor. Apple has released
> Darwin as open source, so people with recent Macs who want to run
> BSD-style Unix now have another free option (projects such as
> OpenBSD and NetBSD also support many Macintosh hardware
> configurations). Darwin has already drawn some attention in the
> computer industry, but it's mostly relevant for Mac users, since
> several mature BSD options for Intel-based PCs already exist. It
> remains to be seen whether people will actually use Darwin as an
> independent product, but it may find popularity on slightly older
> machines or in dedicated server environments.
>
> <http://www.x.org/>
> <http://www.macosxinfo.org/kernel.html>
> <http://www.openbsd.org/>
> <http://www.netbsd.org/>
>
> Confusingly, Apple uses the name Darwin for several related
> projects which have different releases but the same source code:
> the self-contained Darwin operating system package and the bottom
> layer of Mac OS X. Direct access to Unix applications on a Mac OS
> X system is entirely optional, which makes the system much more
> palatable for Mac users who prefer to avoid Unix. But double-
> clicking the Terminal program included in Mac OS X Public Beta
> invokes a command line, giving full access to Unix functionality,
> just like logging into a machine running the free Darwin operating
> system.
>
> <http://db.tidbits.com/getbits.acgi?tlkthrd=1188>
>
> The second and third levels of the Mac OS X layer cake, not
> included in the free Darwin package, are the proprietary code that
> makes it a Macintosh operating system with a graphical interface:
> the QuickDraw and Quartz graphic environments that programs use to
> draw to the screen and the whole set of Application Programming
> Interfaces (APIs) that enable Macintosh programs (as opposed to
> Unix programs) to run. The main APIs in Mac OS 9 are collectively
> called the Macintosh Toolbox. Mac OS X includes a much larger set
> of overlapping APIs, due to its hybrid Unix/NeXT/Apple heritage.
>
> Classic applications rely on the venerable QuickDraw for display
> of text and graphics. Carbon applications can use Apple's new
> Quartz display engine, but QuickDraw remains available to them as
> well, and so they'll probably stick with QuickDraw as long as
> developers want to provide a single application file that can run
> under both Mac OS 9 and Mac OS X. Cocoa applications rely entirely
> on Quartz, which is based on Adobe's Portable Document Format
> (PDF), and provides improved capabilities for print and layout. In
> addition, Mac OS X also provides OpenGL and QuickTime, which may
> help availability and performance of games and scientific
> computing software for Macs.
>
> Macintosh programs that can run under Mac OS X come in three main
> flavors: Carbon, Classic (existing Mac OS 9 programs), and Cocoa.
> New and updated programs which use Carbon are full-fledged Mac OS
> X applications and take advantage of Mac OS X's protected memory
> and preemptive multitasking. Current programs run under Mac OS 9
> within the Classic environment, providing compatibility with
> existing software. And Cocoa programs rely on a set of APIs
> originally derived from NeXTstep, so Mac OS X can run NeXTstep-
> derived programs.
>
> The frosting on this layer cake is a new graphical design for Mac
> OS X, called Aqua. All Carbon and Cocoa applications in Mac OS X
> use Aqua, which specifies larger text and buttons, heavy usage of
> anti-aliased text and transparency, and a new set of design
> guidelines for windows, menus, and other interface elements. As a
> result, Mac OS X applications are prettier and livelier, with
> correspondingly increased demands on processor power and screen
> size. Specifically, Mac OS X effectively requires a minimum screen
> resolution of 800 by 600 pixels, while Mac OS 9 was usable at 640
> by 480 pixels. (Also see "A Quick Dip into Aqua, the Mac OS X
> Interface" in TidBITS-513_.)
>
> <http://www.apple.com/macosx/technologies/inside.html>
> <http://db.tidbits.com/getbits.acgi?tbart=05773>
>
> Okay, let's see if we can put it all together - this diagram may
> look more like a game of Hack than a layer cake, but it should
> give you an overview of where everything fits. Remember there's no
> graphical environment under BSD Unix in Darwin.
>
> > | (Platinum) | (Aqua) | | (Text) |
> > +-------------+----------+---------+ +------------+
> > 3 | Classic | Carbon | Cocoa | | BSD Unix |\
> > +-------------+----+-----+---------+ +-----++-----+ \
> > 2 | QuickDraw | Quartz | || (Darwin)
> > +------------------+---------------+---------++-----+ /
> > 1 | Mach+BSD kernel |/
> > +---------------------------------------------------+
>
> To continue our analogy, the Mac OS X Public Beta available now
> includes candles on the cake - user applications (both included
> with Mac OS X and installed by users), which use either the
> Platinum (Classic) or Aqua appearance, depending on the APIs to
> which they're written. Bundled applications include the
> Finder/Desktop, Internet Explorer, Mail, Sherlock, System
> Preferences, an MP3/CD player, and others. The whole installation
> provides approximately the same feature set as Mac OS 9, but as
> you'd expect in a beta, some of the new components are more
> primitive than the mature ones from Mac OS 9. The best example of
> this is the new Dock, which replaces Mac OS 9's Apple and
> Application menus and desktop, but doesn't offer the same level of
> flexibility as the older tools in Mac OS 9.
>
> As a Macintosh system, the most obvious changes in Mac OS X are
> the visual interface - Aqua - and the file system layout. The
> underlying system is already more stable, but this is a less
> obvious change. Classic Mac developers are beginning to move their
> software to Carbon, and as they do so they will begin to take
> advantage of Carbon's new capabilities and advantages. For those
> interested in exploring further, there's a wealth of new
> territory. NeXT developers are quickly moving over to Mac OS X,
> and adapting their applications for Cocoa. Darwin's Unix
> environment provides a whole new range of capabilities,
> particularly in the areas of networking and programming. This is
> foreign ground for many Mac users, but the potential is
> considerable.
>
> In the next installment of this article, I'll talk about how the
> computer industry stands to be affected by Mac OS X's merger of an
> underlying Unix structure with the qualities that make a
> Macintosh.
>
> [Chris Pepper is a systems administrator in New York, and he's
> just delighted that his "personal" Mac workstations are now
> running Unix like the servers he coddles for a living. Check out
> his Mac OS X Software and Information site for more on Apple's new
> operating system.]
>
> <http://www.mosxsw.com/>
>
More information about the clue-talk
mailing list