Road to Mac OS X: Mac OS X and Unix, part III
(This weekly column looks at features and products that revolve around Mac OS X, Apple's next generation operating system that's due in early 2001. If you aren't familiar with terms like "Rhapsody" and "OpenStep," check out our explanatory "Note" at the end of this article before proceeding.)
This week we're looking at the UNIX aspects of Mac OS X -- specifically the ability to run UNIX executable programs under Mac OS X -- in the third of a three-part series. This information is based on my conversation with others as, admittedly, UNIX is not an area of expertise for me. As I try to point out on occasion, this column is written by an advanced end user (Yours Truly), not a programmer or developer. However, the folks quoted in this article do fall into these categories or otherwise have extensive UNIX experience.
A Government Computer News (GCN) article says that Mac OS X isn't strictly open source and needs more big apps, but will be "instantly familiar" to Linux and UNIX users.
The story says that the Mac operating system's "freewheeling file organization" has always let the user work idiosyncratically, and that "OS X reins in this loose, forgiving style," though "for the most part, it's worth it."
"OS X is easy to customize with the common UNIX programs that are popular with power users and network administrators," GCN said. "For example, an administrator could run local file servers, secure Web servers and easy-to-use Mac desktop applications all on one network under OS X."
The combination of a robust multiuser networking system with the Mac's intuitive interface could establish a strong middle ground between Microsoft Windows NT and various flavors of Unix, according to the article. If nothing else, it should boost Apple's reputation with the open-source community, which could be a key factor in Apple's survival, opined GCN.
"In principle, using OS X is like running the Gnome or KDE GUI atop a Linux shell," the article said. "But Linux users will have to admit that Apple built the interface right. Processes such as going online and changing system settings are much easier, compared with the open-source GUIs. OS X applications have uniform appearance and behavior, and the nuts and bolts never show."
GCN said that one attribute of Mac OS X that would take a period of adjustment for long time Mac users is the rigid file organization. For Unix and multiuser capability, OS X must keep certain files in certain locations.
"A single user does not, metaphorically speaking, own the entire hard drive," said the article. "Not only are each user's files constrained to a particular folder, but within that folder things also must be arranged a certain way. Applications and system files should not be moved at all. Some customization is possible for more advanced users, but the Mac veteran who creates new folders all over the hard drive is going to run into trouble fast. OS X does not subject its file structure and screen real estate to a single user's whims."
And now some comments from the programmers, UNIX, and NeXTStep users among our readers.
Lawrence C Paulson, Reader in Computational Logic, Computer Laboratory, University of Cambridge, Cambridge, England, works in research and uses a Mac for typesetting (Textures) and technical drawing (Illustrator). He uses Linux workstations for the actual research, running a lot of highly specialized academic software.
"With the help of colleagues, I managed to get most of it ported within a few weeks of using the public beta," Paulson told MacCentral. "In one case I provided a UserID for a colleague who logged in remotely from another country. Of these programs, the best known is XEmacs. All are running from the UNIX command line. The main deterrents to my switching over completely are the lack of departmental support for Macs, and the lack of a PPC processor that can compete with the 1.2 GHz Athlon I purchased recently."
Using the Mac OS X public beta on a PowerBook G3, Tom Lewellen of the Division of Nuclear Medicine, Department of Radiology, University of Washington, ported the source code for a "modestly large" medical image reconstruction library that was developed at the University of Michigan by Jeffery Fessler. There are three main programs, all controlled by a large Makefile.
"We only had to modify the Makefile to drop the -lm directive to the c linker," Lewellen said. "Lo and behold, it compiled, linked, and passed the standard set of tests in the user manual. We were most pleased. It not only runs, but runs quite well indeed. Obviously, I had the OS X beta developer package installed so that I had the full gc compiler, etc. Also, the code is pretty much ANSI standard C. I have not done a line count on the source files, but the main.c files take up about a megabyte of disk space."
Software developer John Zorko said that "if you're willing to do a little work, you can get the GNU tools to run such as gcc, gdb."
"In short, if you're used to Solaris, or Linux, or BSD, OS X isn't as much of a hurdle to learn as some would have you believe," he said. "Now, if only someone would port GIMP to Aqua -- or Apple would provide X-server capabilities into the release version."
Since Mac OS X is his "platform of choice," Craig Rasmussen said he is currently porting several of the codes on which he's working. In particular, the ULM (User Level Messaging) library is a high performance communication library for parallel applications and SILOON is a library for automatically generating bridging code so that Perl and Python can be used to call C++ and Fortran 90 class libraries, he said.
If you're interested in UNIX executables for Mac OS X (and you probably are or you wouldn't be reading this), FastIO Systems has one such utility for Mac OS X PB that handles bulk converting TIFF images into a PDF (Acrobat) file. You can download a demo version at http://www.fastio.com/tiff2pdf.html.
"This is not really meant as an end-user tool, hence no graphical user interface," Sam Ohzawa of FastIO said. "Most users use it for bulk or automated conversions, often on a server. And Mac OS X makes a fine server that can also be a great desktop machine."
(Note: Mac OS X is the upcoming, "next generation" operating system from Apple, due in the first half of 2001. Mac OS X will include components of the traditional Mac OS, as well as components of the Rhapsody project. Rhapsody was once planned as Apple's next generation operating system. It's still around as Mac OS X Server, and parts of Rhapsody technologies will become part of Mac OS X. Rhapsody/Mac OS X Server is partially based on OpenStep technologies that Apple obtained in the purchase of the NeXT company. Carbon is the modified version of the Mac OS application programming interfaces (APIs) that lets applications be rewritten with relative ease for Mac OS X.)