Mac OS Mach/BSD Kernel Inseparable
Anonymous Coward writes: "One of the more significant statements of the session [at Apple's WorldWide Developer's Conference] came when Magee told the audience that the Mach kernel and the BSD layer which lays upon it are inseparable. "Every application [that runs in Mac OS X] is a BSD application," said Magee. "You can't keep the system running without the Mach kernel and the BSD layer." This quashes the public rumour that Apple will be able to ship a "lite" version of Mac OS X which will contain only the smallest possible bit of BSD, or another that questions Apple reluctance to move its tools to Linux."
You're missing a "Left-Arrow-slash-A-right-arrow" after the link text.
___
Remember, just because MacOS is a completely BSD-based system, doesn't mean you'll be able to tell it. Apple has stated that the Terminal won't ship with the OS, and you won't be finding very many Unixisms.
Of course, the first thing some of us will be doing is installing a terminal and maybe a few other things, and we'll have all the gooey Unixness that we need. But really, Apple has no interest in scaring off their core markets...
- Jeff A. Campbell
- VelociNews (http://www.velocinews.com)
- Jeff
Not that I mean to slight Mac users, but I don't see them playing sysadmin.
Whatever the solution Apple comes up with, it might give us in the Linux community new ideas on how to make Linux boxen newbie-friendly.
Roland
Never ascribe to malice that which is adequately explained by incompetence.
How long will it take before the gui interfaces, easy administration.. etc, is completely ripped off and used as a template of solid user interface design for unix. In something like kde/gnome/icewm
I just purchased a G4 for one of our graphics designers at my work and I must say
Anyways.. I hope that OS/X kicks some ass in the industry.. I hope that we can learn a lot from it. If it is everything that I hope it is.. (hehe).. I will probably be replacing my computer. BTW, does anyone know if this will spark more interest from the Adobe group to start portin their applications to Linux? (Should be easier with a BSD/Mach port already done...)
Everyone knows you can't do anything with Mach by itself. And if BSD is the OS server doing the work, it's pretty natural you'd need the whole thing. What could you possibly cut out? Networking? File systems? Nah.
And whatever these questions are about why Apple won't put it's tools on Linux, I'd say they remain wide open since BSD and Linux and plenty close.
I suppose it had to happen eventually. Mac running on Mach.
If the applications are truly BSD programs, then it's an almost trivial port to Linux.
My guess is they are really BSD + Apple's Runtime programs, meaning that the runtime would need to be ported as well.
At the API level, Linux and BSD are almost identical. They are Unixoid, after all.
So don't discount the possibility that Apple programs on Linux are a compatibility library away.
Pin the spig.
There's also a gui Preferences application to configure things like monitor settings, date and time, apps to start at login, etcetera.
More information about Netinfo is available here:
http://til.info.apple.com/tech info.nsf/artnum/n60038
The thing that GNU/Linux can learn is a cleaned up and unified configuration system. To my mind the area where GNU/Linux really needs to clean things up is over in /etc (and maybe /dev and /var and a few of the other utilitarian filesystems). Create a unified, consistant and extendable XML setup for system, application and user configuration files.
/etc (as well as pulling in configuration files from elsewhere and giving them structure) is there to make things consistant. If anything it will be easier for those writing administration scripts to work if said configuration files are standardized and organized. Quite the opposite.
The main advantage here is that it allows for the creation of universal configuration tools that don't have to be recoded every time a new application comes out. Just plop in a new XML file (and possibly a DTD) and all of a sudden you've got a whole new application to manipulate easily. Not to mention developers have a nice little API for creating and managing configurations that allows system defaults and user overrides of said defaults transparently.
Little things like file bundles should be included in this restructuring as well. There are some nice nifty little bits in Mac OS/X. Apple really cleaned up some of the nastier bits of Unix when they tossed out historical precedents. Not that I totally agree with all of their decisions, but a lot of Unix simply evolved rather than was desgined coherently. It's time those parts were cleaned up. A lot of the usability issues with Unix are going to be stalled until they are.
Note that this does not mean babyfying Linux in any way. The thing with file bundles is you can open them up if you want granularity. Going to XML for all the configuration files in
I'm using GNU/Linux here because some things are handled at the kernel level but a large chunk of it is in the GNU tools that are traditionally bundled with Linux. Both need some modification here to come up with a coherent and unified system.
Migration is going to be a nightmare (remember glibc?) however once migration is done things can really start to move forward in terms of usability. The GNOME/KDE people would love to be able to set up pretty GUI-based configuration tools to manage everything, and the Perl/Python people would be in heaven because they could write real libraries to manipulate those things (not to mention all the people who use those libraries).
Backwards compatibility is all fine and well, but we all know of how backwards compatibility can drag back progress in the computing world. This is one of those cases where things have reached the point that areas need to be scrapped and rebuilt in the name of future progress.
this my friends is what happens when cousins marry cousins.
There will be no cool Mac software coming back to the *ix community because of this, since all that cool software will still be tied to Apple's proprietary APIs that in turn are tied to their proprietary hardware. It's as simple as that: even Windows stuff will be easier to port than OS/X apps.
Not only can you edit it all with simple, user-friendly tools, but with the same tool; an all-purpose thin-client XML-form editor.
Let *nix rule in open programmability, and Mac in UI consistency; but a bridge like this could make for RAD development of UI-simple apps.
First, what is Apple's point in having a BSD kernel on top of a Mach microkernel? The usual reason for using Mach is (a)to achieve better portability, because Mach is ported to a great variety of architectures, (b)so you don't have to worry about the low-level details but can concentrate on the higher-level stuff when writing the (mid-level) kernel (e.g. Hurd), or (c)to take advantage of the microkernel abstractions (tasks and all that). But I don't see that any of these apply here: (a)doesn't because Apple is interested in a single architecture, (b)doesn't because the BSD kernel is already there, it is certainly more work to port it as a layer over Mach than to use it as such, and (c)is contradicted by the article in question (it seems that the Mach abstractions will be hid by the BSD level).
So, MkLinux uses Mach because of reason (a) essentially. Hurd uses it because of reasons (b) and (c) (reason (a) doesn't apply since the Hurd only runs on Intel so far). But why Apple? I mean, the BSD kernel runs very well by itself, doesn't it?
The problem with Mach is that it tends to make everything so slooow whereas the pristine BSD kernel is quite fast.
On the other hand, if they had some reason for using Mach, what was the point of BSD? Evidently they are not interested in the Unix aspect of things, and MacOS has always been radically different from Unix in its conception. Wherefore BSD? Why not port the existing MacOS superstructure on the Mach core?
I fail to see how it all fits together. Will someone post a +2 (Informative), +1 (Interesting) reply to summarize the reasons?
And, of course, to answer the question, won't MacOSX be insanely slow?
You are right that the modern version of the classic MacOS libraries (Carbon) libraries won't be available (yet?) on GNU/Linux. But don't forget that the new Cocoa library is just a modern variant of the NextStep/OpenStep libraries that are already available as GNUStep that is under active development.
This is not flamebait or a troll, but it is somewhat unkind to (current) Macs and other popular views. Deal with it.
Up until now MacOS has had a good GUI only. The OS itself hasn't been very powerful. On the other hand, the various Unices have been the exact opposite. Windows has been a (not-so-)happy medium.
So what happens when you put a good GUI on top of a good core? The obvious answer is: You take over the world. But what if you don't? That is, what if the real power of Unix is the combination of power AND the know-how of the people who took the time to learn it?
If this happens, will we finally see an end to the countless "GUI for Linux" projects (not to mention advocates)? Or will these people never admit that a computer isn't like a car? (Cars provide a linear service--travel. Computers provide a non-linear service--emulation of any machine [in the mathematical sense]).
If we look around at the non-computing world, do we see any simple AND powerful products in the hands of Average Joe? (A CD player is more advanced than a record player--but is it more powerful?) I can't think of any...
I think the reason for this is clear: Powerful devices require thought. Simple devices are designed to not require thought. These goals don't mesh very well.
Understand, though, I'm not saying "any GUI is a bad GUI" and I'm not saying "you can't get better than [cli|X|whatever]". I AM saying "Beyond a certain point, GUIs enter a region of tradeoff between power and simplicity. What is that point and how will we know when we've reached it?"
--
Have Exchange users? Want to run Linux? Can't afford OpenMail?
Linux MAPI Server!
http://www.openone.com/software/MailOne/
(Exchange Migration HOWTO coming soon)
Apple is happy to deal with Linux when it's useful. MkLinux was funded by Apple until other Linux distributions came out for PPC hardware. Darwin and QuickTime streaming server have been released under a semi-open source license. Darwin helped get OS X on the radars of both geeks and the Linux happy investment community. QuickTime is currently second or third fiddle in the streaming world and Jobs wants to change that and steal a major chunk of the post-production market in general. Why not give away streaming server when the people with the money --read studios, networks, major websites-- are happy to pay money for shrink-wrap and support? I may be using a G3 laptop to type this, but I'm no fool. Apple fundamentally does two things: sell computers and sell web/video software. They want to create hype and move boxes of some kind or another. If giving away something helps in that regard, they'll do it. But usually for just long enough to accomplish the mission objectives._ __________
____________________________________
the clock on the wall says 4 til 7
This will be the 1st time that a truly user-friendly Unix system will be publicly available.
If Apple were 100% committed to their hardware, they wpould not have released Darwin.
How about 95% committed?
The other very important thing thet Mac users get is protected memory, which is sorely needed.
Thanks alot apple, for planting the 'kiss of death' on BSD. By acknowledging it's superior attributes, you have managed to class it in the 'wierd technical things' class, while linux-based-os will become the 'Windows of Unix'...
And we all know what happened last time Steve tried to tout his technical superiority and ease of use over Bill...
Porting Mac software to another Unix will still be hard because most Unix systems use X, while the Mac software will be written to use Apple's new GUI API.
I don't understand why having Mach/BSD linked tightly is a bad thing that will preclude a MacOSX Lite: NeXTStep ran on 33 MHz 68030s with 16M RAM while one can fit a working BSD system on a floppy (PicoBSD). It doesn't sound like its the kernel that's a problem. I think people in the Mac community who are writing this stuff are missing the fact that one of the beauties of UNIX is that the guts of the system are pretty darned small and that it's all the userland stuff that takes up space.
Here's some data to back me up: I have the mach_kernel right here in front of my and I can assure you that it, even with x86 support compiled into it, would fit on a 6M flash ROM without any compression. Heading to the back room of my house, I can find a minimal install of NetBSD on a 40M Hard Drive, and that even includes X!
Well the reason for using BSD is simply that NeXTStep on which OS X is based was a BSD system. And NeXT uses Mach for reason (a) presumably - they don't seem to have much problem porting it from those NeXT boxes to x86
Michel
Fedora Project Contribut
Argh. XML is hardly any easier to parse than, say, .INI files. It's more verbose, i.e. wastes space and time (you need to close tags usually) and you also have to be careful with "" etc. XML is just so over-hyped that everyone thinks it must be the best file format for any content.
"I love my job, but I hate talking to people like you" (Freddie Mercury)
Hmmm, interesting.
It looks a lot like the Windows registry to me.
I don't think it is a good idea to store lots of system critical information in a single file, which is in constant flux. (see the part on making backups :-)
IMHO it would be much cooler to make a hybrid of this database and the current UN*X /etc directory:
This would be a nice compromise, I think. Easy to parse and read.
Roland
Never ascribe to malice that which is adequately explained by incompetence.
Right, and there are similar things that you do on other systems (example, on the Mac: desktop rebuilds, zapping parameter RAM, throwing away old pref files, etc).
My point is two-fold:
1. Some people should be able to pass this on to others as needed without being called names. Do some people go to the Lube Stop? Sure - but their cars usually get taken care of. Sure they pay a little extra, but if the person doesn't want to do it, why should they be expected to? They pay a little extra for the convenience to have someone else do it, and to save time doing it themselves.
2. What if someone developed a car that didn't require oil changes, ran on solar power (so you never needed to get fuel), was incredibly solid, etc? By the attitudes of some here, this would be a bad thing. I'm not sure why, but I'm guessing it's a combination of job security and arrogance.
People shouldn't have to repair their computers any more than you should have to do their data entry. People each have their roles, and shouldn't ridicule someone if they don't have any interest in taking up someone else's.
- Jeff A. Campbell
- VelociNews (http://www.velocinews.com)
- Jeff
AFAIK, Apple has always presented their computer as just another appliance.
While you can agree or disagree with this philiosophy (I, for me, prefer the methaphor of the computer as a toolbox of small tools, where it pays to learn your tools), that doesn't qualify people who adher to it as "thick".
Let's stop this discussion at this point, please, since this is way off-topic.
Roland
Never ascribe to malice that which is adequately explained by incompetence.
the Mach kernel and the BSD layer which lays upon it are inseparable.
I was just starting to enjoy BSD, and now I learn its inseparable from something I don't have yet!
The original intent of computing technology was to solve math equations that would take forever to figure out by hand. Not so your mom can have a pretty GUI and play solitaire.
The World is Yours.
Score: 5, Informative.
The World is Yours.
I don't believe the inseperable claim for a moment. Rather, it looks like a warning to any overexcited speculators. Maybe it's a sneaky way of announcing a code freeze?
A possibility I wouldn't rule out for a while is that this is a case of employees not speaking for the employer.
Yes.
The World is Yours.
I want menacing, black computers with red pentagrams and inverted crosses painted all over them.
I wonder if that would be a profitable market niche... selling computer cases with a satanist theme.
To recap: the underlying MacOSX operating system is Mach 4.4, which is bsd based, and (believe it or not) does *not* use the Mach microkernel. Ask Avie Tevanian if you have to. Mach ideas, microkernel ideas, but not the Mach microkernel.
This operating system has clever copy-on-write VM features and other things that mean that on some tasks it is severely performant.
The Darwin project is distinct from MacOSX.
To the best of my knowledge, Apple have never had any plans to ship their "tools", whatever they may be, on any but a few platforms -- MacOSX, and Win32 with some compatibility stuff running. The Win32 products appear now to be destined to become only a development platform for WebObjects. WebObjects deployment code, as distinct from the WebObjects or MacOSX developer tools, appears to be going highly-crossplatform with the pre-announcement of a pure-Java-only WebObjects5; but this has nothing to do with MacOSX.
Apple appears to remain committed to opensource development of Darwin, and the bsd-layer CLI stuff which will be common to MacOSX will presumably be opensource and kernel-independent.
Terminal.app will almost certainly ship with MacOSX; but probably as an optional administration package. Apple remains committed to a MacOSX in which the user need never see a command line unless they want to.
Even though I only use linux myself, There
is no reason for apple to move to Linux. The BSD
operating system is an excellent choice as an
operating system. It also comes with a much more
business friendly license.
--Twivel
There never were any "true" clones as in the x86 world. They were simply repackaged Macs.
Apple motherboards, Apple ROMs, etc. Which had to go to Apple for quality assurance testing and extensive compatibility screenings. The only custom designed parts were the cases.
They were cancled in 1997, which at the last time I checked, was not last year. Please get your facts straight before you go off on a clueless rant.
Thank You.
This "anoymous coward" report is taken VERBATIM from MacNN.com. Just thought we should give credit where credit is due. You can see the full article here:
http://www.macnn.com/feature.php?id=10
----------
Jeff Croft
http://jeffcroft.com
http://industrystandard.org
http://newbeetle.org
----------
Jeff Croft
http://jeffcroft.com
Each program should have its own config files. Part of the .app bundling. Netinfo contains certain configuration information, applications contain their own information. The format for an application is different in MacOS X.
Each program is actually a directory that can contain configurations, multiple binaries, different language information, fonts, images, icons, etc. A .app file can be moved around like a file and take all of the required information with it. A novice user need never look under the hood within the BSD layer and find out about all those files.
Essentially this can help to solve the problems of packages as well as installation. If almost all the parts that are involved in an application can be treated as a single file then that file can be moved around the system, sent by email, run over the net, or distributed in any other way.
Re: Configuration.
GNOMEs (specifically hp) are working on a solution, called GConf.
In particular, it is backend independant (already has an XML backend, should have an LDAP backend sometime, etc.) and supports notification if settings change and elegant handling of system v. user preferences.
It's not stable yet, but it'll be used in GNOME 2.0 (and some 1.x prolly).
I don't know of any other such projects, but AFAIK, GConf is not GNOME specific, and legacy apps could be ported to use it. Thus, we can move to graphical configuration as fast or slow as developers want.
To recap: the underlying MacOSX operating system is Mach 4.4, which is bsd based, and (believe it or not) does *not* use the Mach microkernel. Ask Avie Tevanian if you have to. Mach ideas, microkernel ideas, but not the Mach microkernel.
e m/Documentation/Developer/Kernel/KernelEnv ironment.pdf
You're not right, I think you've got to read the documentation that come from Apple developper website about the kernel,
http://developer.apple.com/techpubs/macosx/Syst
The MacOSX operating system is based on the MACH 3.0 microkernel, which is compatible with BSD 4.4. Maybe you should check the source code of the Darwin projkect to be convinced?
I've had MacOS X installed on my computer since DR2, when it still looked like OSX Server. DP3 was a drastic new interface, that unfortunately, had some very rough spots, and could not really replace the MacOS as the next viable interface. I complained to Apple about my problems, and most were fixed in DP4. I have DP4 installed, and I can say, that if there were more apps for it, I could drop the MacOS and survive in OSX. There are still a few problems, but if the progress from DP3 to DP4 is any indication, I strongly feel these will be addressed by the time it goes beta, and surely by the time it goes final next winter. DP4 is very usable, and they've really made some good changes since DP3. I think Apple will take a stance similar to ResEdit with the Terminal.app, having it available on its website, and not advertise it in any way, but make it available for their advanced users. The terminal is an essential tool for OSX, to compile apps, see and manipulate invisible files and folders, and do any other basic things you can't practically do in the GUI (or maybe you can, and a good way hasn't been implimented yet). This is going to be a great OS, no doubt about it. Even if Apple messes it up, the file that contains the interface resources has been located, and hackers are busy hacking away at it, and alternate interfaces will emerge soon enough, as well as all the tools to do anything. This OS is much more flexible and a much better foundation than the current MacOS by orders of magnitude. With the current one, it seems like it's one big hack, and there's so much crap in the Extensions folder, it's hard to keep track any more. It used to be really simple. Let's hope OSX gives us a good foundation to go on for a while into the future.
"I like systems, their application excepted", George Sand (French)
Score: 7, Informative.
Chaos, Mayhem, and Destruction: Not
There's no such thing as Mach 4.4
Mach 4 was originally going to be the testbed for the University of Utah's research, but they left it off with doing little more than fix some of the problems in Mach 3. They went on to specify and implement their own environment, which is called Flux.
Then the FSF then picked up Mach 4 for use with HURD.
First, it's a simple database file. Second, if NetInfo fails to load (or the db is corrupted), almost everything that uses it can default to a flat configuration file (I have a system here with system filesystems listed in /etc/fstab, and NFS user partitions in NetInfo).
Second, it's much more flexible than the registry, since remote servers can offer up NetInfo stuff as well -- no sick hacks to copy/remove registry entries from remote systems as people login or crap like that -- so there's better delineation between network-wide and local information.
--Matthew
Back when I was a Macintosh developer (starting in the reign of System 6.0.3 and ending at System 7.1), the Macintosh used forked files. Is this use of directories for apps in addition to, or a replacement for, forked files? I kinda liked forked files, but they could be a pain at times -- I can see how this would be a big improvement.
--
"Convictions are more dangerous enemies of truth than lies."
What if someone developed a car that didn't require oil changes, ran on solar power (so you never needed to get fuel), was incredibly solid, etc? By the attitudes of some here, this would be a bad thing. I'm not sure why, but I'm guessing it's a combination of job security and arrogance.
You bet it would be a bad thing, and not because of "job security" or "arrogance." I don't know who you think you are to tell us what is and isn't an acceptable amount of system maintenance. You forget that your audience here consists wholly of geeks, of hackers, and of like-minded joes who are curious enough to want to know the intimate details of their system and possess the brains to figure out how to learn them.
To suggest that we are bitter and spiteful people who demand complexity or lack of user-friendliness in order to preserve our careers is a lie and an out-and-out insult to me and everyone else here who is like me. Your analogy of the no-maintenance supercar isn't just a good one, it's a great one, and I will tell you why.
Would you be comfortable driving around in something which you didn't have the first clue about how it worked? Perhaps. A lot of people would, but not here. Not on Slashdot. We're geeks, hackers, and like-minded joes, remember? We don't only want to know how this supercar can do what it does, we have to. Not a hacker alive would be content to drive around and not wonder about what sort of mechanical magic that pulsed and purred under the hood of his vehicle.
Likewise, a computer system or car that requires attention and tuning is infinitely better, simply because we, as geeks and hackers, are capable of understanding what needs attention, what needs tuning. And we thrive upon it. To perpetuate the car analogy, it is that need to know what kind of oil the car needs, and how often it needs it, that fulfills us, emotionally and spiritually.
Perhaps you may want to invest some time into reading Zen and the Art of Motorcycle Maintenance. You can find a copy at amazon, or possibly even your local library. It will help you to understand this, at least to some small degree. Don't worry. I recommend this book to emphasize the Zen, not the motorcycle maintenance. This entire discussion isn't about "ease of use" or "user-friendliness." It's about value. It's about the meaning of things, not the things themselves.
I wouldn't drive your supercar if it meant I couldn't look under the hood. Similarly, I wouldn't trust a computer system if I couldn't pick it apart. I agree with you on the first point of your so-called argument. The amount of service a machine needs should be variable dependent on the user. However, on your second point, you fall flat on your face.
Never forget that while you are here, reading Slashdot, you are shoulder to shoulder with thinkers, puzzle-lovers, and people who cannot leave a mystery unsolved. If you are only capable of seeing this love of knowledge as "arrogance," I can only conclude that you are the arrogant one.
---
---
Remember when "Truth, Justice, & the American Way" wasn't contradictory?
Not quite. "Darwin" == "Mac OS X Core". They are one and the same. Really. Darwin is not some watered down "lite" version of the Core Operating System. Rather, it is the core.
The Darwin project is distinct from MacOSX.
I'm afraid this is completely incorrect. Darwin == MacOS X - Quartz and everything on top. For reference, I suggest you look at: Apple's Public Source website, Apple's MacOS X website, this block diagram and page, and Fred Sanchez's Advogato diary. The gist of all that is that MacOS X kernel developers and Darwin developers use the same CVS sources. The kernel is identical. Also, all of Darwin is included with MacOS X, as the underlying foundation.
Supreme Lord High Commander of the Interstellar Task Force for the Eradication of Stupidity
Didn't you read the article about XFree being ported to Darwin? That's a first step toward putting the "X" in Mac OS 10.
Will I retire or break 10K?
If we look around at the non-computing world, do we see any simple AND powerful products in the hands of Average Joe?
Sure. They're everywhere, you just don't think of them as powerful since they'e got the UI worked out so well.
Obvious examples are the car and the phone system.
I hate to break it to you, but It's Apple that does the true innovation. Apple released the first mainstream GUI with the Lisa, only to later have their designs stolen by microsoft. (And No, Apple did NOT just take the GUI form Xerox PARC, most of the GUI was completed before they bought all of the ideas from Xerox.) You'll also notice that the Mac is the only supercomputer available to the normal user (a supercomputer is defined as any computer capable of 1 billion operations per second, so even though the G4 is at 500 Mhz, it can do something aroud/above 4 operations per cycle.)
Think --> Think Different --> Think OSS
Well, mostly I shall stick to reading the comments in the header files of the OPENSTEP, MacOSX-S, and MacOSX developer machines on or near my desk. You'll forgive me if I don't post URLs.
It is my understanding that MacOSX and Darwin *are* distinct, but that it intended that common areas are intended to converge. That might explain why Fred Sanchez was so keen on getting a bootable Darwin/Intel OS built, while MacOSX/Intel is already a discontinued project. It would also explain what is on the websites and in Fred's diary and what evidence is to be had from the CVS repositories.
If on the other hand I am completely wrong and someone out there working on Darwin is familiar enough with the relevant bit of code, could you identify why it is that I have to boot my G4 into MacOS 8.6 to set the screen resolution, and fix it? Doing it in MacOS.app or Preferences.app doesn't work, and developing on MacOSXS as 1024x768 or less isn't funny.
How about Netinfo, a kind of Sun NIS copy from the Next days which is now open source? Anyone remeber how to use that?
Would you be comfortable driving around in something which you didn't have the first clue about how it worked?
/. geeks. Coz you just plain don't.
Yes, and I do this every day. I'm into software, not hardware.
I wouldn't drive your supercar if it meant I couldn't look under the hood.
That's pretty absurd to me. Do you apply the same standard to your TV, dishwasher, plumbing, vacuum cleaner, radio, alarm clock, etc? I don't know how to fix any of these, and I happily use them all the time. I have no idea when I would sleep if I tried to learn how all that stuff works.
I live to get things done, not learn miniscule details about every every object in my environment. If you do, fine, I hope you have good time. Really.
But don't think you speak for all
Funny enough, I've read Zen and the Art of Motorcycle Maintenance 4 times.
Yup. A typo that got past me, despite my use of the preview feature. Naturally I meant "Mach3.0, and 4.4bsd"
Hummmm.... I went back to the original post but couldn't find any direct reference to BSD. mfterman never claimed that the "unified, consistant and extendable XML setup for system, application and user configuration files" was inherited from BSD. Even the title of his post ("What GNU/Linux can learn from OS/X") makes this clear. Are you sure you aren't replying to the wrong post?
The ".app" files are bundles, and they're a replacement for mulitple-fork files, since only HFS(+) supports two forks, and OS X supports POSIX VFS type file systems, which don't support two forks. The ".app" files (directory trees) can be moved to any fs without worrying about losing the resource fork...
--
The Future: Some assembly required; batteries not included.
That is just plain wrong, I don't know where you did get your infos from, but: - MaxOS X is based on Mach 3.0 plus some additions (mostly real time) from mach 4.0 (which is _not_ a newer version of Mach but a separate branch) and some Apple custom additions. This _is_ the Mach microkernel. However, they have made all sorts of optimisations to reduce the overhead of having a separate BSD layer, and so BSD is not implement as a server process but is somewhat "wired" into Mach. (Mach IPC-based API is turned into direct function calls and BSD is co-located in the kernel address space). Apple did already experiment with this technique on MkLinux. - Darwin and MacOS X are not distinct. Darwin is the foundation of MacOS X, there are not 2 different kernels. - They do, indeed, have nice copy-on-write features, and a bunch of other cool stuffs like the IOKit
df | awk '/\// {print $4}'
How do you do a pipe with a GUI? How do you do complex but automated text processing?
"The point of the computer is to have its processor used to its fullest extent. What good would a grand new G4 do me if I were typing up docs in emacs or pico?
So we have GUIs in order to use up our extra clock cycles? Apparently that's all you use a high-powered CPU--but I use it to crunch numbers, play games and do work.
--
Have Exchange users? Want to run Linux? Can't afford OpenMail?
Linux MAPI Server!
http://www.openone.com/software/MailOne/
(Exchange Migration HOWTO coming soon)
-- Faré @ TUNES.org
-- Faré @ TUNES.org
Reflection & Cybernet
Argh. XML is hardly any easier to parse than, say, .INI files. It's more verbose, i.e. wastes space and time
/etc/ directory of any Unix dist recently?
So you're saying Apple should define yet another config file format? Have you look in an
XML is perfect for this type of stuff. I don't see how it is overhyped. It's a definition for definitions -- exactly what we need. What is the alternative? Every programmer int the world making up their own file formats?
- Scott
------
Scott Stevenson
Scott Stevenson
Tree House Ideas
It looks a lot like the Windows registry to me.
I believe NeXT had NetInfo way before the Windows registry existed. I'm sure this idea, like so many others (Project Builder -> VB, all GUI widgets, etc) were taken directly from NeXT into Windows 95.
- Scott
------
Scott Stevenson
Scott Stevenson
Tree House Ideas
I screw around with my OS, because the default environment doesn't accomplish want I want accomplished.
I'm not questioning the validity of this, but just out of curiosity, what is it that you have to do to the environment to make it acceptable? It seems like default installs of distributions should be sufficient to get just about anything done, especially since things like RH come with some many packages.
- Scott
------
Scott Stevenson
Scott Stevenson
Tree House Ideas
People make fun of mac users because the macies rave on about how wonderful their system is... and this is the same system that goes down completely, or locks hard, if an application screws up, or if the system runs out of memory, or....
:) (kidding!)
So you're suggesting that Linux would actually be a suitable replacement for most Mac users?
I don't think people like the poor memory management and CPU time slicing of Mac OS, but they (errr.... "we"), consider the user interface, manageability, and workflow aspects of it to be worth it. Aside from consumers, creative content people like Macs because the technology doesn't get in the way of the creative process. By contrast, a programmer's job is the techology, so it can't really get in the way.
I wish I could understand why people occassionally believe that no viewpoint other than their own could possibly have any validity, particuarly on issues like this which are very much subjective and reliant on personal tastes. It's such a sterotypical thing to hear on slashdot that appearance and ease-of-use are irrelevant as long as it runs from the command line and is open source.
Do you hang up code printouts on your wall instead of paintings?
- Scott
------
Scott Stevenson
Scott Stevenson
Tree House Ideas
Have you actually run and looked as OS X Server? It is the worst I have ever seen for lack of standard file locations, and lack of man pages to explain it.
No one here is talking about OS X Server. We're discussing Mac OS X (sans "server"). The latter handles a lot of system configuration with XML. The former does not, and was basically intended as a stopgap to the latter.
- Scott
------
Scott Stevenson
Scott Stevenson
Tree House Ideas
GNOMEs (specifically hp) are working on a solution, called GConf.
It seems like this has to happen at a lower level then gnome. To me, it seems this has to be a distribution-level thing.
- Scott
------
Scott Stevenson
Scott Stevenson
Tree House Ideas
Apple just slipped the ship date for the new OS again, just like they've been doing every half-year or so since 1991. Apple has zero credibility in this area. Let me know when the new OS comes preloaded on a majority of the retail machines.
On any Mac I have ever seen, the paperclip is for getting the diskette out of the drive after the (inevitable and regular) OS crash.
Ummm, the floppy ejects at boot time. Also, try using a version of the OS newer than 3 years old. Crashes are neither inevitable or regular on the average Mac OS 9 equipped machine. Tevanian's crew fixed a lot of stuff.
- Scott
------
Scott Stevenson
Scott Stevenson
Tree House Ideas
That's funny, I've been thinking of creating a similar piece of software myself. Great minds, blah blah blah.
FilterTop does conform to my example, but how about meta-scripting? I can write a script that will generate a script that will do work. Can I write a filter that will generate a filter? Can I "write" that filter graphically (if there's a "scripting language", the point is moot)?
--
Have Exchange users? Want to run Linux? Can't afford OpenMail?
Linux MAPI Server!
http://www.openone.com/software/MailOne/
(Exchange Migration HOWTO coming soon)
Actually, configuration files for applications are stored in the ~/Library/Preferences directory. These preferences files are/should be in the PropertyList format: XML files with the 'plist' doctype, using the PropertyList DTD.
Some applications store other stuff in the ~/Library directory. Since some/most applications are stored at locations where mere mortals have no write access (/Local/Applications, /System/Applications and /Network/Applications), the users' config files can't be stored in the .app bundle.
NetInfo typically stores stuff like users/groups, network configuration, printers, services, etcetera. Stuff you would ordinarily assume to be in the /etc directory. The lookupd and netinfod processes serve information from the NetInfo databases to anyone who needs it. When NetInfo doesn't work for some reason, the system can fall back to information in /etc. The NetInfo database itsself is stored in /etc/netinfo/domain.nidb/
The beauty of NetInfo is that it's a distributed database: Machines on a network can connect to a NetInfo server to synchronise and share their configurations.
Which would mean the Mach microkernel, since 3.0 was the first "real" microkernel.
Apple simply sticks a BSD layer in the kernel address space (which violates microkernel principles), but they still use the Mach microkernel, and the BSD layer isn't inseperable per se, it's just they use it to provide most of the OS functionality. All in all, a somewhat short-sighted design.
I actually just typed part of a command I was working on just then. The full thing is:
df -k | awk '/^\// {sum+=$field; print $field "\t" $6} END {print "-------"; print sum, "KB"}' field=$field
("field" gets passed in as a parameter). The slash is so I only get local disks, the rest shows a list of sizes for those disks/partitions and a sum for the whole thing. Since I can pick the field to sum, I can show free OR used space. This is a Tru64 box, I haven't run it on Linux so I'm not sure the field numbers are the same, etc.
As for your more general point: Yes, I'm sure AppleScript will do this. AppleScript is text-based, not GUI based. That's my point. There are somethings a GUI can't do.
--
Have Exchange users? Want to run Linux? Can't afford OpenMail?
Linux MAPI Server!
http://www.openone.com/software/MailOne/
(Exchange Migration HOWTO coming soon)
Posted by BSD-Pat:
NetInfo was also the biggest piece of doggie-doodoo to ever come down the pike.
I was a NeXT network admin, and netinfo was a pain in my arse, the database got corrupted WAY too often. I hope Fred and the rest of the guys at apple have fixed those problems.
-Pat
Proprietary. G4 chipset info.
Apple doesn't make G4's, Motorola and IBM do. And you can get G4 specs from Moto.
Firewire licensing fees.
How is an open industry standard closed or propreitary? And Apple fucking invented Firewire, they have the right to make money off of it. And at 25 cents PER SYSTEM, that licensing fee is really going to break your wallet.
Was there ANY MENTION ANYWHERE regarding licensing of Cocoa for Windows (ie. openstep NT runtime?).
I just remembered this old Metallica song. . .
These are my friends, See how they glisten. See this one shine, how he smiles in the light.
Actually, unless your retailer has Oil on sale, it's frequently cheaper to get your oil changed at the jiffy-lube, etc.
Another bad analogy; when you change your own oil, you have to take it in somewhere for recycling. Thankfully, there is no such concept in computers. (yet).
I just remembered this old Metallica song. . .
These are my friends, See how they glisten. See this one shine, how he smiles in the light.
. . . and with your "maintenance free" solar cars, there would always be a contingent of VW fanatics out there, rebuilding engines, adjusting valves, thumbing their noses at the EPA smog-testers, etc.
As with Mac OS X, there will always be folks tinkering around with Linux, BSD, and even a few idiot Windows users out there (okay, I'm typing this message from NT). And - even still, there's Darwin. So the shade-tree mechanic analogy doesn't hold.
I just remembered this old Metallica song. . .
These are my friends, See how they glisten. See this one shine, how he smiles in the light.
foo bar
One other great way to delete hidden files is to use Citrix ICA and connect to an NT Terminal Server... then make sure you are exporting your local drives... fire up explorer and you will see all the hidden stuff... This is a great way to learn the filesystem structure of the MacOS as well.
I've been preparing all of my life for this.
s
e
u
take coins and key
sw
e
s
se
Good luck with the Cyclops! The name of his master will kill him..
I've been trying to beat Zork for the past 10 odd years. I'm going to do it before the millenium, I promise you!
-bugg