Slashdot Mirror


How Unix-like is MacOS X?

prospective_user asks: "I am a heavy user of Unix, spend most of my time running Linux and am considering getting myself an iBook, after seeing a considerable amount of exposure Macs/Apple have in both Slashdot and the O'Reilly Network. Given that MacOS X is based on FreeBSD/Mach, I suppose that the usual Unix libraries and environments (like ncurses and tcl/tk) are available in MacOS X (which I hope is true, for text-based applications). In fact, I'm concerned about the Unix side of MacOS X and also plan on running Debian/PPC on it, but I plan to primarily use MacOS X. So, before having an (uncertain) investment in a new platform, it would be reasonable to have a bit more of background on it and thus, the questions: how well does MacOS X support traditional Unix applications? For instance, how do the following applications run under MacOS X (which I use the most): teTeX, GNU Emacs, mutt and fetchmail?" Note that the submittor isn't asking if OSX is or is not a Unix; we've fielded that question already. No, the question here is where does OSX differ from the other unicies.

"Also regarding the investment in a new platform and coming from the x86 world, I'm a bit interested about the PowerPC performance in comparison to what I could get with a x86 notebook. I've read some articles and pages that suggest that PowerPCs may not be fast (or, in fact, may be quite slower than their x86 counterparts):

Some of the sources I've read are: these pages, from D. J. Bernsteins's website, and this article on processor performance from the GMP website.

Also, as some later questions, can the portable Macs be plugged to non-mac monitors? And does MacOS X feature a packet filter like Linux or other BSDs do?

Any comments and experiences with these machines are welcome. Thanks."

18 of 128 comments (clear)

  1. why not ask apple? by rebug · · Score: 3, Informative

    http://developer.apple.com/macosx/

    all you need to know.

    --

    there's more than one way to do me.
  2. as much as you want to by Noodlenose · · Score: 2, Informative

    As far as I understand, with the help of the amazing "fink" you are able to compile pretty much every *nix app to OS X. Therefor it is as much Unix as you want to.

    1. Re:as much as you want to by rebug · · Score: 2, Informative

      You know, I've never understood the need for things like that. I've built vim and tcpdump and lots of other goodies from source with no problems whatsoever. These "pre-packaged" apps may be handy for people who can't type "make && make install", but you've gotta wonder why such people would be using unix apps in the first place.

      --

      there's more than one way to do me.
    2. Re:as much as you want to by Xenex · · Score: 3, Informative

      Fink lives at http://fink.sourceforge.net for the record.

      Mmm, apt. Mmm, dselect.

  3. It helps to think of it as NEXTSTEP/OPENSTEP by green+pizza · · Score: 3, Informative

    Mac OS X is just as unix-ish as the NeXT OSes it's based on -- NEXTSTEP/OPENSTEP. True, in many ways it doesn't look like a traditional unix, especially regarding filesystem layout and the use of NetInfo. Like NEXTSTEP and OPENSTEP, it has its quarks, but for the most part, things work. It's Unix, but it's a funky Unix. And if you don't want to pay for it, you can run the bare guts, the opensource non-GUI version, Darwin. (even on x86)

    Here are three better URLs:
    http://developer.apple.com/unix/index.html

    http://developer.apple.com/darwin/

    http://www.opensource.apple.com/projects/darwin/

  4. "Mac Monitors" by green+pizza · · Score: 4, Informative

    Apple's desktops have offered a generic, common, plain SVGA HD-15 connector since the first blue&white G3's several years ago. Almost every single PC monitor will work on a blue&white G3 or silver/graphite G4 without any sort of adapter.

    However, older macs used a DB-15 (two rows of pins rather than three rows) connector for the monitor. These require a $10 - $30 adapter to offer the proper connector and pin routing if a PC monitor is to be used.

    All current Apple monitors use ADC, the Apple Display Connector... a single cable that carries power, signal, and usb to the montior. ADC is based on some obscure standard that nobody else adopted. Macs with ADC have a second alternate connector for SVGA HD15, but only one connector can be used at a time.

    The PowerBook G4 has a SVGA HD15 monitor connector.

    The iBook has a funky monitor connector, but a SVGA HD15 adapter is included.

    Current desktop Macs have both SVGA HD15 and ADC connectors on their gfx cards. An ADC -> DVI adapter is included for use with a DVI flat panel. (Should you choose not to buy an Apple flat panel). THough, I have been told by more than one person that they had to buy the ADC -> DVI adapter as it's not included with all new G4s. Go figure.

    Hope this helps.

  5. Re:Not very Unixlike at all, I'm afraid. by self+assembled+struc · · Score: 5, Informative

    Actually, you can open up GUI apps from the console.

    try "man open" at the command prompt.

    and from what the guy was asking originally, i've had no problems running GNU software. I got BASH to compile and set it up as default shell, i've gotten VI to compile, and GNU Emacs seems to run just fine (even m-x tetris is available).

    The CLI is a different world from the GUI, but you can turn on all most options to allow the finder to see hidden directories, the whole nine yards. Check out some Mac tip and trick sites...Admittedly it's not default in the OS and you have to peek around, but come on, y'all like UNIX, so why get lazy about learning the tricks of this system.

  6. yes, yes. by nwanua · · Score: 2, Informative

    I just put my PB to sleep, plugged in a monitor into the VGA port, woke it up and boom: I was typing this message in a window displayed on that monitor.

    So... yes. Absolutely (at least on a PB Ti)

  7. Yes, it's a unix by zhobson · · Score: 5, Informative
    I am a long-time unix user (first Linux, then FreeBSD) who recently decided to buy my first Mac, a low-end iBook. I'm running Mac OS X on it exclusively (I despise the old Mac OS).

    It runs nearly all of my favorite open source unix apps, including the X applications. I am personally using mutt, gvim (that's vim with the GTK frontend), nethack and a few others. I like the new operating system very much, and even though bits of it don't look like unix, that's usually because they're NeXTish instead.

    It's also probably reelevant to mention that the GNUstep libraries are mostly source-compatible with Apple's Cocoa API, so you can compile GNUstep apps and they'll work just like "native" OS X apps. Plus the development tools are all completely free (unlike the other major commercial desktop OS).

  8. Same complaints, 12 years later. by green+pizza · · Score: 5, Informative

    These are the exact same complaints aired in 1988 when the first NeXT machines shipped with NeXTstep 1.0. I agree with everything you've said. But keep in mind, Mac OS X is its own funky flavor of unix for a reason. I just wish NetInfo was optional. NI is a dream on a large NI network (I used to help admin 320 NeXTstations across our Math department), but it's a pain for someone that doesn't need its offerings.

    Ignorance or Evolution? It's hard to say. But I can tell you I've been happy with Mac OS X thus far. Final Cut Pro 3.0 works perfectly. My digital cameras (USB still photo and FireWire MiniDV) integrate fine. OmniWeb 4.1 is looking to be a great new browser (plans for 4.2/5.0 are sounding awesome). And yet I can still run all of the goodies I'm accustom to on my Sun and my Linux box.

    That said, OS X is not for someone who wants Linux in the first place. If you want the X Window System, if you want GTK or Qt, if you want GNOME/KDE/etc... do yourself a favor and build a Linux box. Running these under OS X is possible, but a kluge.

    Mac OS X is a whole new world. Learn its ways and tools, compute with peace.

    Hope this helps.

  9. Whether OS X seems like Unix or not depends on you by alangmead · · Score: 5, Informative

    Whether you call it Unix at all depends on your definition. Depending
    on whether you look at OSX from a kernel perspective, as a development
    platform, a unix user, or a unix administrator, it can vary between
    being a "true unix" to something very foreign.

    It most looks like unix if look at a system call interface (aka
    section 2 of the man pages. Things like open, read, write, close,
    fork, and exec). The user commands (section 1 of the man pages. Things
    like ls,cp, and rm) exist but all of /bin, /sbin, and /usr are
    entirely hidden from the GUI. For actual user commands, they are in
    some ways rather spartan (traditional BSD versions, not all-singing,
    all-dancing GNU versions.) but there are some rather interesting
    additions (emacs, tcsh, pico, gcc, autoconf, and gnu tar.)

    Standard Unix system libraries (section 3 of the man pages
    fopen,fread,printf,system,and popen) exist as a "non-preferred"
    interface. The command line utilities are built against them, but
    building an arbitrary tarball developed under linux might show some
    compatiblity quirks. (those same quirks might exist trying to port to
    FreeBSD) Most of the file and process oriented tasks can be done in
    the OS X specific libraries with an API entirely unlike the POSIX ones
    in libc. (This isn't anything new really, these OS X libraries are the
    updated versions of what came with the first NextStations in 1987.)
    Shared libraries are somewhat different than what probably currently
    exists in FreeBSD. I bet it started because NeXT implemented shared
    libraries before the became standard in BSD, but they need to continue
    their own system because it hooks into the object oriented IPC
    framework that is much of what the makes the system interesting.

    From a system administrators standpoint (I guess to keep my analogies,
    section 4 (device files) and section 5 (configuration files)) things
    are radically different. /etc/passwd is essentially a stub. There is
    no /etc/inittab. There are few useful things in /usr/lib, /usr/share,
    /var, or /etc, but /Library and /System/Library are full of goodies
    (like /System/Library/Perl and /System/Library/OpenSSL). There is no
    /home, instead there is /Users (which through some automount magic
    merges /Network/Users with the local /Users) Again, this system is
    inherited from NeXT.

    As a user, its a modern mouse and windows type of system. Its slightly
    more interapplication oriented, less monolithic application oriented.

    Like my friends who used NeXT systems in the past, there seem to be
    two ways to deal with the system peculiarities. The first is to assume
    that the system is a very stripped down Unix system, ignore whats in
    /Library and /System/Library and build your own
    /usr/local/{bin,lib,share}. The other way is to buy into its
    weirdness.

  10. Re:"Mac Monitors" (ADC) by helixblue · · Score: 4, Informative

    As far as the ADC based on some obscure standard. All ADC is DVI+USB+power. You buy a splitter if you need one.

    I myself have a 22" Apple Cinema Display DVI model.. so I bought a combiner that takes the DVI+USB+Power and makes it into ADC.

    I'll admit, ADC isn't the norm (though you can buy PC video cards with ADC connectors).. but it's not a half bad idea to take the 3 connections from the monitor and combine it.

    It's just nothing wildly proprietary.

  11. The answer is "yes" by seth · · Score: 2, Informative

    To answer the question asked, yes.

    I'm currently using OSX running on a G4 Cube at home and a G4 Black and White in my office for most of my writing and research programming (my laptop still run linux and sees a good deal of use).

    I do all of writing in LaTeX (using teTeX) and occasionally use mutt. OSX comes with GNU emacs installed, but I've started to use bbedit as my text editor of choice. X11 will run rootless in OSX, so you can use the X-enabled GNU emacs and xemacs if you want (and I have). All my documents end up in CVS, and transitioning them from one machine to another requires no changes what-so-ever.

    I haven't touched mutt or fetchmail, my home mail server is still a linux box, which I ssh into, and the same in my office. I assume they work, however. I'm pretty sure there are fink packages available.

    OSX isn't Linux, it is based on NeXT, and, therefore, does have a number of quirks. Besides one issue with the GUI [1], I have not found any issues that make me want to switch back to a Linux box as a primary machine. Yes, updates are not weekly, and the debacle of OSX 10.1 being released without Developer Tools was annoying (though we were clearly warned before hand). However, none of these things are insurmountable.

    ProjectBuilder is ... interesting, and takes getting used to, but it powerful once you do spend some time in it.

    -Seth
    [1] I miss virtual workspaces that I can ctrl->right-arrow to terribly. The only current contender (a docklet called Spaces) doesn't have keyboard bindings and doesn't quite work 100%.

  12. Re:Not very Unixlike at all, I'm afraid. by sinator · · Score: 0, Informative

    Use nidump and niload; you'll be able to modify to your heart's content.

    There is a way in NeXTstep to turn NetInfo off...

    --
    Three Step Plan:
    1. Take over the world.
    2. Get a lot of cookies.
    3. Eat the cookies.
  13. Re:Not very Unixlike at all, I'm afraid. by Thatman311 · · Score: 2, Informative

    There are API's on the Windows's plateform for all of this. You can even all these aPI's from Perl if you want to. Get a clue before you complain.

    --
    Silly Rabbit...Sig's are for kids.
  14. Re:Not very Unixlike at all, I'm afraid. by OSSMKitty · · Score: 2, Informative

    Now, taking that away in order to have a binary registry that has exactly one painful tool to manipulate is like highway robbery. No remote admin, not easy write your own utils, etc. Just crap.

    Actually, not only can you connect to remote machines (more or less--the domain) using the graphical tool provided from another workstation, you can ssh into the machine you want to admin, and use command line tools (dwrite and friends) to change NI. Also, the API is available (or at least it used to be) so you can write your own tools.

  15. Unix perf sucks & there is a packet filter by GrumpyOldMan · · Score: 2, Informative

    At least for micro benchmarks, the unix performance really, really sucks. See
    http://lists.apple.com/archives/darwin-kernel/2001 /Dec/2.html
    Toward the bottom there's lmbench output indicating that Darwin is roughly an order of magnitude slower than Linux or NetBSD on the same hardware for things like syscalls, context switch, file creation, etc.

    There is a packet filter (as well as a bpf):
    ~>uname -a
    Darwin g4 1.4 Darwin Kernel Version 1.4: Sun Sep 9 15:39:59 PDT 2001; root:xnu/xnu-201.obj~1/RELEASE_PPC Power Macintosh powerpc
    ~>sudo kmodstat | grep Firewall
    59 0 0x15053000 0x4000 0x3000 com.apple.nke.IPFirewall (1.1)
    ~>sudo ipfw list
    65535 allow ip from any to any

    ~>sudo tcpdump -i en0
    tcpdump: listening on en0
    13:15:13.707607 g4.22 > thunder.1357: P 2129343678:2129343722(44) ack 994474742 win 33304 (DF) [tos 0x10]

  16. Re:"Mac Monitors" (ADC) by bignendian · · Score: 2, Informative

    ADC is, I believe, EVC. EVC is also used on HP Visualize PA-RISC systems. It was actually designed to be a single connector for all the items on your desktop: Firewire, USB, Video IN and out, audio in and out. Its an interesting concept that unfortunately never took off. Pinouts are here:
    http://www.volex.com/products/ind_evc.html