10 Things Apple Did To Make Mac OS X Faster
bariswheel writes "This kernelthread article seeks to investigate further to the inner core of OS X and the improvements therein. The subtopics are the following: BootCache, Kernel Extensions Cache, Hot File Clustering, Working Set Detection, On-the-fly Defragmentation, Prebinding, Helping Developers Create Code Faster, Helping Developers Create Faster Code, Journaling in HFS Plus, and Instant-on."
OS X is the only OS I"ve ever installed that subsequent versions speed up my older computers. Amazing... I'm waiting for an Apple Intel Tower and I'll retire my G4 Tower.
Damn ADC interface.. what am i to do with this big ass cinema display?!?!!?
Check this: http://developers.slashdot.org/article.pl?sid=04/0 6/03/130214
The website even has a link to the old slashdot story: http://developers.slashdot.org/developers/04/06/03 /130214.shtml
I've never seen that for a main article, but it happens all the time on the little title only blurbs.
If Apple is going to bother optimizing other stuff on the OS, they should at least give you a way to turn off some of the extras when it comes to the GUI.
I don't need high resoution icons, drop shadows, dragging window effects, minimize effects...etc. In windows land, you can turn most of these eyecandy effects off and performance is greatly improved. You'd think that Apple would have considered this when releasing a computer with 256mb of ram on the base model (G4 mac mini). I love the computer, but it is SLOW.
what about Linux? Could it obtain benefits implementing some of the improvements made into MacOS X? I've heard about BeOS and the incredible perfomance due to multithreading, it's very dificult to adapt an BeOS kernel to the Linux features (multiuser, drivers...) maintaining the perfomance?
Believe it or not, not everyone who reads Slashdot are GNU/Hippies. Some of us like to do something with our machines other than recompile software.
I beg to differ. The jump from 1.4 to 1.6 stunk; 1.6 was a pig. I think somewhere in there the Gnome people let themselves get caught up in this 'race' with kde, instead of just making the best gnome they could. That's all straightened out now and current revs of gnome do, indeed, get faster. I also think it continues to be prettier than kde and that kde continues to have slightly better integration than gnome. But it doesn't matter much to me. I seem to use a lot of apps that require various gnome libraries but I have no desire to use a DE; Gnome or KDE (or XFCE (what happened there?)) It's just fvwm2 and the console for me.
You don't get out much, do you? GNOME 2.14 is supposed to be extremely fast in comparison to previous releases, which were also faster than their predecessors.
Uhhh...I'm guessing if anyone's not getting out much....well, nevermind. If you can't say something nice don't say it at all.
I noticed a big DE speed-up compared to the GNOME 2.x branch after switching to XFCE. The majority of the original Gnome user base concur.
I updated from Panther(10.3) to Tiger(10.4) and my machine seemed slower. I decided to do a fresh install, and things improved, as always the fresh install is better than an update.
I still think that Panther was running a bit faster tahn Tiger, maybe it is the widgets..........
silly widgets!
This was all done on a PowerBook G4(TiBook).
Linux gets faster too.
Kernel 2.4 to 2.6 was a pretty big jump in speed. I just upgraded to the latest KDE and a bunch of other updates, and got another performance jump. Once they shake the bugs out of the Radeon drivers for X.org, I'll get accelerated X, and another big speed boost.
In fact, of the major OSs, it's pretty much only Windows that keeps getting slower.
GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
Gnome is maybe not the best example. I'd rather talk about lightweight window managers like blackbox fluxbox and openbox. I tried using Gnome 2.10 on FreeBSD 6.0 on a 133 MHz Pentium I laptop, it's as slow as a zombie turtle, as blackbox runs fast.
You just got troll'd!
You can get X run on it? WOW. Anyway, consider that blackbox is just a window manager, when GNOME, like KDE and others, starts a ton of background processes that take care of many things (wallets/keychains, sound daemons, etc etc) that goes beyond the "let's show some windows".
Said that, since I don't need those things, I'm a happy user of blackbox and derivates, which I can also use on windows (and surprisingly, everyone that saw me using it wanted me to install it on their windoze box)
nbody2002:If you can read this you may be addicted to the internet
You don't have to be a "GNU/Hippie" to use Linux, and there are plenty of reasons to do so, as well, not the least of which is that it's free and it'll run on that old P166 you bought over a decade ago. The "GNU/Hippies" you speak of are largely the guys who spend all day tweaking this and that to make sure the next release of your operating system is secure, productive, and pleasing to the eye, which you might notice Linux is becoming more and more, especially with user-oriented flavours like Ubuntu. The main difference is, the guys at Apple get paid for what they do, and the guys who contribute to Gnome do not. As such, Apple is a little further ahead, especially since their UI is more closely integrated into the core of the OS than Linux' is (and they don't have to contend with different flavours of hardware). Anyway, in closing, flamebait.
Screw the rules, I have green hair!
VMS is not even remotely related to Unix. See History of Unix and VMS wikipedia articles.
thisnukes4u.net
somebody made a list about ten things that don't work as well as they should (and as a mac admin I agree) : Ten More Things I Hate About Mac OS X
Um... VMS is definitely NOT "some form of *nix".
Umm - to this day MS operatings systems have a command prompt. Granted, it's now emulated instead of an actual part of the OS. But load QuickBasic in a command prompt and then watch your XP box crawl.
Yes, early versions of Windows were DOS based. And DOS and CP/M pretty much evolved from Unix system III or so. It's also painfully obvious that Gates ripped off BASIC and DOS. Interesting that some of the most successful started as criminal empires, no matter how small.
For instance - I'm sure those who've heard of Conversent know about it's sordid beginnings. It started with a stole MicroVax II - run as Intelecom Data Systems. Years later it sold out to form Conversent but the base of the company is still a criminal act. Charming.
a while back, when OSX.2 had recently came out, and I was still running on an iMac G3 (with 256mb of RAM), I got OSX. it ran much smoother than OS9 did.
You can get X run on it? WOW.
WTF is that supposed to mean? I ran X on 20Mhz 486s with 4MB RAM. It's not X that is the problem, that's what he was pointing out.
Said that, since I don't need those things, I'm a happy user of blackbox and derivates, which I can also use on windows (and surprisingly, everyone that saw me using it wanted me to install it on their windoze box)
That's the point!
Stupid sexy Flanders.
OS 9 screamed in comparison to OS X. It had its problems, sure, but at the time it was the only mainstream OS that was not built on technology besides itself.
It was also the only mainstream OS that could not handle filenames more than 31 letters long, the only mainstream OS that didn't have protected memory, and the only mainstream OS that didn't have any form of preemptive multitasking.
The first of these is the most ironic. Back in 1999, Mac users were still ridiculing "Micros~1", while in fact it was their operating system, not Microsoft's, which could not handle adequately long filenames!
But it was the second and third, the lack of basic features essential for the stability of modern desktop applications, which led to it being such an unreliable system. No surprise that Apple were so keen to ditch the whole crufty thing in favour of the modern platform that became OS X. OS 9 was totally failing to salvage their rapidly declining reputation. OS X was their salvation.
So, yes, OS 9 screamed in comparison to OS X. But so did its unfortunate users... loudly and regularly.
Personally I wouldn't want to use blackbox on Windows tho, maybe it's cuz I didn't spend much time using it/customizing it but it seems to be quite limited compared to Windows.
You just got troll'd!
VMS is not Unix. OS 9, like pre-NT Windows, is a toy operating system, for toy computers.
I never used OS X, but getting faster with a new version is not new to me. ... it runs much, much faster. ... faster kernel and faster gnome. Besides, gnome is the one application that allways improve, since 2.2, there have always been speed improvements.
Having debian sarge inn my celeron 1000 laptop, upgraded to etch a few days ago and
There are 2 reasons, mainly
Steve B.: But they can't match our rate of innovation! I've got over 12000 developers working on Windows OS alone! Their staff is a small fraction of that!
Mr. CIO: That's why we're moving to OS X.
Anyone who spent any time trying to debug extension conflicts did not shed a tear for OS 9.
OS 9 seemed faster because the first iteration of OS X, which people tended to run on the same hardware, was dog slow.
I'm not wrong. You haven't thought about it hard enough.
"Even MS is originally based on VMS, so in fact, everything is based on some form of *nix."
For the short of memory...
There were a LOT of operating systems before *nix. One of the main creaters of OSses was Digital Equipment Corporation. They had an OS for each of their different computer systems (PDP-1 through PDP-20, also known as DECsystem-20). All these OSses had a different architecture, because they wer built for different purposes. However, DEC standardised the CLI on these OSses. The CLI was called DCL (Digital Command Language).
ATT (Bell Labs) were using DEC systems with when they decided to create their own OS. IIRC they used a PDP-7, and later PDP-11's running RSX-11. So, instead of everything being based on *nix, it's the other way around. All the *nixes are "inspired" by the other OSses at the time, in particular RSX-11 and DCL.
VMS (later OpenVMS) was the world's first commercial computer using a virtual memory system. That's why it's called VMS. It was meant as a successor to RSX-11, and it ran on VAX computers (Virtual Address eXtention). The chief VMS architect Dave Cutler was hired by Microsoft to help create Windows NT. Windows NT later became W2K, WXP etc.
So, also Windows is NOT based on *nix.
As far as I can tell, actually only Linux is based on *nix.
Anybody know any other OS that is based on or inspired by Unix?
And Microsoft Office X still had that crappy 31 character limitation. I was wondering why it wouldn't let me save a document with more than 31 characters since I had never used OS 9.. I guess that explains it, Microsoft sucks.
Gnome is not a window manager! Gnome is a desktop environment. The defacto window manager for Gnome is Metacity, but you are free to use any properly compliant window manager in conjunction with Gnome. For example, you could run E and Gnome together. Running any type of complete desktop environment on a P133 is completely inappropriate. You should be running the lightest WM you can find, without a desktop environment. A WM such as FVMW2 might be worth looking at.
Your complaint makes as much sense as riding on a train with lots and lots of automobiles in tow and declaring all of the carried cars are slow. Get off the train then try again!
GNOME is not an OS. It is merely a Graphical User Interface, so your point is moot.
Compile Gnome for OSX, it's ported..I think...
Better yet, get Darwin release, it comes with Gnome.
Personaly, Aqua kicks the crap out of Gnome. Hardware accelerated desktops...it's nice to use the 7800 when I'm not blowing off Zombie heads. Makes my desktop look all shiny and stuff.
But if you want Gnome...be my guest.
There are limits yes. Most notably, editing the menu (or any kind of preferences) needs you to edit a config file, and right-clicking the taskbar doesn't work for closing windows.
But I deployed a severe addiction to the root menu (right-clicking the windows desktop is a trauma now) and it has some feature that windows misses completely, like a decent virtual desktop management, and some cool plugins (being able to customize the window decorations rocks, and also being able to roll up a window).
As mini-review, I have to say that it serves my purposes well, so I'll give it a 8 (btw, I use xoblite http://xoblite.net/)
nbody2002:If you can read this you may be addicted to the internet
Consider the following a sampling of such optimizations, in no particular order
I'm somewhat concerned that an optimisation geek did not order his data set.
OS9 supported more than 31 characters. Only the Finder was limited to 32 characters.
OS 9 only screamed when you only ran one-maybe two applications at the same time. I would never have dreamed of trying to run the 15-20 explicitly instantiated applications (plus only God knows how many system instantiated processes) on an OS 9 box and expect it to be fast. And that is not counting the number of reboots I would have to make throughout the day.
I'll take OS X any day over OS 9.
Mafia saying: behind every great fortune lays a small crime.
--
$tar -xvf
KDE, too.
Actually this is a general feature of most software. Just not Microsoft's software.
Most software gets _faster_ in between versions. New features may run slower, but other aspects of the software should speed up, not slow down. Optimization takes time.
People are just used to Microsoft, where (version ++1) = (hardware ++1)
WhiteWolf666 an exBush supporter. All you new-school,compassionate,save the children Republicans can rot in hell
Unless you install an ancient version (which would not have any useful software available), Linux will be much slower than, say, Win98. GNOME is a memory hog, X11 is a memory hog, and Linux is not designed to work on slow hardware. It might be okayish without X11, but don't even think about running X on anything less than a 600-700MHz CPU. The requirements are about the same as for WinXP -- the system itself eats up about 256 megs. It may run with less than that, but it won't be usable. I _have_ seen Win95 installed on a 386 SX with 8MB of RAM. That's the extremely slow 16MHz, 16-bit bus version of the 386. It ran, but it was so slow that it was not even funny. That's about how well Linux will run on a 166MHz computer.
For all the talk about the speed of OS X, Apple has never addressed the most obvious issue: on a machine that can run either OS 9 or OS X, OS 9 is very much faster. They took an OS written from the ground up in the early 80s to be graphical, and replaced it with an OS written the 70s to be textual, with the GUI glued on top of it.
And then even worse, the people who wrote Carbon, the MacOS backward-compatibility layer, had no idea how to write it to be fast - simple calls like HLock which used to be two instructions on the original 128K Mac are now thousands of cycles under OS X. (And Apple's answer to this? "Remove your HLock calls; they don't do anything anyway.")
Don't get me wrong; they've done great things, given what they started with. But they threw out the baby with the bathwater when they ditched MacOS.
(sig) The last bug isn't fixed until the last user is dead. (/sig)
Um, ok, I'll bite.
For those who don't know the quite well known fact, OSX is based on BSD...
And for those who don't know, you guessed it, BSD http://en.wikipedia.org/wiki/Bsd is based on Unix.
Which also shows BSD (current flavors FreeBSD, OpenBSD, NetBSD, etc) is Unix based.
As well as SUN Solaris http://en.wikipedia.org/wiki/Sun_Solaris.
No wonder you posted as Anon Cow.
haahahahahaha +digg
It used to be that OSX had a brain-dead ABI that resulted in not all of the PPC registers being used 'properly', in order to maintain a 68k 'compatability' mode ..
Has this been changed? Are all the registers of the PPC being used properly now? Is the PC register actually being used as a program counter, rather than one of the generic 32-bit registers?
; -- the corruption of government starts with its secrets. a truly free people keep no secrets. --
"The first of these is the most ironic. Back in 1999, Mac users were still ridiculing "Micros~1", while in fact it was their operating system, not Microsoft's, which could not handle adequately long filenames!"
That's only part of the story. On the Mac under OS9, you always had 31 characters available, and special characters could be used (except for the colon).
Under Windows, you could have a PATHNAME up to 256 characters, and couldn't use a lot of special characters. Thus, depending on how many folders deep your file is stored, and how long the folder names are, you could quickly run out of characters to name a file.
Even today, on my Windows 2000 desktop, there may be a file stored on the server with a path greater than 256 characters - I can see the file, and copy it, but if I try to open it I'll get an error message that the file is not found. (In Acrobat, at least.) No explanation, no suggestion - just a failure to open.
Linux isn't based on Unix. It borrows ideas heavily from it, but technically it's a different operating system because the kernel and userland tools have independent origins rather than being forked off either BSD or SysV.
This is a bit like saying that the bird which just waddled past, with duck-like feathers and a yellow beak, making a "quack quack" noise wasn't a duck.
From the article: I hoped that by pointing out rough edges in the user interface, readers would say, "I never noticed that before, but you know, that really is very annoying and should be fixed." Boy was I naive.
The article touched a nerve with many Apple apologists and set off a firestorm of controversy.
And that is precisely why I will never ever even consider getting a Mac. The users.
(Ok, so there are more reasons, like I don't see any win, but rather a loss of freedom and a step backwards on an interoperable world if I buy into the proprietary system of any vendor. But that goes for many others, not only Macs. These users are pretty much a monopoly though).
> So, also Windows is NOT based on *nix.
Correct. It is based off of CP/M. Microsoft bought it from Seattle Computer Products which based their OS roughly off of CP/M. This is also why Windows (starting in version 2.0 in March 1983) uses the wrong slash for directories since CP/M used the normal slash for command line options.
One problem... Gnome sucks.
Before OSX, the mac had the reputation of the machine that crashed all the time. By comparison, Windows was actually pretty reliable (this was before all the spyware/malware/crap that affects it recently, remember). Linux was best, of course...
Now you're just displaying your ignorance
newsflash:when you need to do more work because you're in a far-more-capable and complex environment, it can take more machine-instructions to perform the task. This is just griping - the world has moved on from buggy, insecure, crappy-old OS9. Move with it.
They didn't throw any babies away, they did what they needed to do (ditch the abortion that was OS9) and move onto a new platform which provided the security, flexibility, and reliability that any modern OS provides. A brave decision, under the circumstances, and one well-conceived and executed.
Simon
Physicists get Hadrons!
The HFS plus approach seems like a good idea, but I'm wondering if there is a performance cost, both in CPU cycles and drive wear and tear. It also looks to me like the system could be defragging files that are already contiguous, but I may be wrong. Given that modern journaling filesystems (supposedly) are not likely to become fragmented in the first place, is this feature worth it?
Ideology: A tool used primarily to avoid the bother of thinking.
Oh, and I recognized this article as a dupe within seconds, yet CowboyNeal couldn't at all? Ouch.
Well, the original Amiga OS is considerably faster than Mac OS 9, the problem is there is no task isolation, memory protection, or security to speak of.
The classic Mac OS is even worse off, because the system API was not designed for a pre-emptively multitasking environment, let alone kernel / user mode separation. Too much application level access to systems globals at fixed addresses in particular.
In any case, whatever the problem is, it cannot be blamed on on adapting to "textual" OS. Adapting an insufficiently forward looking design to the modern world is more like it.
As long as you're waxing rhapsodic about that OS "written from the ground up in the early 80s to be graphical", you might also remember that it was also written from the ground up to be B&W, single-threaded, single-tasking, use fixed-size memory spaces, and totally without any form of internal or user-based security.
Any of those things that were added on later were major hacks to the system. Some, like the non-preemptive MultiFinder (switcher) were ingenious hacks, but hacks nontheless. Or are you saying a modern OS should swap out hundreds of shared low-level global variables on every context switch?
Or that, since you mentioned HLOCK, why a modern OS should have a handle-based non-protected fixed-patition-sized memory system, itself probably responsible for half the memory allocation/corruption bugs and crashes in any given Mac application. Or why a program needs me to allocate more memory to it when there's a half-gig free?
Or perhaps you can explain just why the system resource and process-slicing allocation kernal of a modern OS needs to be "graphical" from the ground up? Or conversely, why graphics, networking, file management, and other subsystems should not be layered on top of a rock-solid base?
I mean, if you really take the time to actually think about it, you might find that the "good old days" are in fact nothing but a fond, hazy memory... and far removed from the truth.
Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
Mod this up.
for better or worse, no machine running OS X should be with less than 512 MB. that may be a deficiency on apples part for shipping it that way, but its way it is. Fair warning.
If you do graphics stuff, a gig minimum.
While Windows gradually slows down with Service Packs, and completely grinds to a hault on all but fairly new systems with new versions, OS X actually manages to speed up due to developer optomization. Good strategy...
In undeveloped countries, the consumer controls the market. In capitalist America, the market controls you.
for good reason they ditched baby. If by faster, the system would crash if you farted into the wind, yes it was faster. C
certainly not more stable, and thus more productive.
If find not rebooting 3 times a day makes me faster at everything.
Distros like Puppy Linux are designed to run on older hardware (like a P-166) and still have reasonably featureful software.
XFS supports defragmentation. In the xfsdump package there is a tool called "xfs_fsr", which works great on running systems.
On all my servers I use XFS on all the non-os partitions. Same on my desktops. I run xfs_fsr nightly out of cron, and everything stays very fast. Even with the dozens of VMWare disk images I have all over the place.
"It ain't a war against drugs.it's a war against personal freedom" --Bill Hicks
Journalling makes files accesses slower. The only time it speeds anything is in the error case of unsafe reboots (crashes). And I get those so rarely, I'm sure that I come out way behind on performance due to journalling.
http://lkml.org/lkml/2005/8/20/95
You can run Linux well on a p166 thank you very much, as that is what I do. The machine is a standard p166mmx laptop maxed out with 96mb ram and a new 30gb hdd. I agree that GNOME would not be suitable for this machine but then again I don't run GNOME/KDE on my desktop either. The machine basically runs X11 with ratpoison as the window manager and emacs under that on Debian Sarge, which is fairly new as distros go.
It does IR / bluetooth / wifi / modem and lan through hot-pluggable PCMCIA/USB so it's not missing features and yet it still boots in under 25 seconds (+ ~8 to load xdm). It did used to run CRUX linux which is source based and that was even quicker, but the compile times and slower security updates made me move.
Linux can run quite efficiently on older hardware if you know what you are doing and where to optimize.
Plan 9 (OS, not the movie :)
AFAIK, nCUBEs are running stripped down (but still cool) version of it.
I'm typing this from a Dell C810 laptop running Win2K, SP4, and every freaking hot fix know to man -- and it's every bit as fast as it was when I bought it four years ago (used) from Dell.
The first of these is the most ironic. Back in 1999, Mac users were still ridiculing "Micros~1", while in fact it was their operating system, not Microsoft's, which could not handle adequately long filenames!
Actually, if you shut off the 8.3 aliasing feature of NTFS (which creates the "Micros~1" directory when you make a "Microsoft Office" directory, for example) - all kinds of things start breaking. Even on XP. Microsoft handles long filenames. It handles them by creating two filenames, and alternately relying on the short or long names.
These are my friends, See how they glisten. See this one shine, how he smiles in the light.
OS 9 seemed faster because the first iteration of OS X, which people tended to run on the same hardware, was dog slow.
:)
So you're saying that OS 9 seemed faster than OS X because it was?
It's official. Most of you are morons.
Please, somebody, debug that!
Rethinking email
Review this graphical history of unix.
I ended up replacing the Thinkpad with an 800Mhz iBook G4, and only now is it starting to get too slow to use (not that it was fast when it was new...).
"[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz
Hi, I use mac stuff since may 2005, I sold my boring/noisy/energy hungry/ugly... 2.4Gh P4 for a mac mini witch I sold last month for a core duo iMac. Sine then, I never had to defrag my disk or do anything else that Windows still needs not to sink. Since Windows can now run, with some work on your part, on a mac, why not then consider buying a mac instead of a regular Windows machine? After all, VISTA will probably not ship until 2007 or later. To this date, VISTA has been announced for 2003, 2005, 2006 and now 2007!!! ans OSX is there NOW "Happy macking !"
This is Bull. Your so trolling it's not even funny. Have you ever tried any distro except ubuntu or SuSE, or mandriva? Sure, they'll be on par with XP's minimum requirements (if not even more bloated because they have more features), but if you try out distros designed to be used in older systems like any original pentium (puppy, DSL, Vector), it's a different story. My main system, a celeron 300 with 160MB Ram is flying on vectorlinux. And IMHO it is alot prettier than windows. With XP optimized for performance it is ok if you stick with one or two open apps. W2k was noticeably faster than XP. Please do your research before you post BS here. It's making you look bad...
My machine can run both OS 9 and OS 10.1+. OS 9 is not faster. Why? I have dual processors, which OS9 does not use very well, or I should say, much at all. OS 9 is dog slow compared to 10.2 and up.
Choosing the lesser of two evils is a choice for evil.
since I screwed up, here's the rest:
e nts" which now expands their one collumn to occupy most of the window.
I'm not sure I agree with all or even most of his points of contention.
In issue 1 for example he complains that each open/save dialouge starts out the exact same way and then goes on to complain further in the article that the OS isn't always consistant. It's consistant for each dialouge to remain the same size by default until the user specifies a change. Furthermore since the size of the dialouge can be set per application, that size would need to be specified by the application making having a universal override obnoxious.
In his 2nd point he's descirbes a senario which is at best extremely uncommon and then describes a process which is obnoxious and complicated when it's easier for most people to either have an automator script to open specific things they want or even better for his senario and automator script which asks where he is and then opens the appropriate applications. A simple applescript for the applications one doesn't need all the time with a prompt at the begining to ask whether to launch the remaining apps and then placing that script in the login items folder seems more useful and less annoying than check boxes to enable and disable each item that you must do before loging out the previous time.
point 3 he's correct on
point 4 he's correct on the disapearing sidebar but on the issue of double clicking the boarder, it's a rather difficult task to accomplish accidently so I am sure anyone doing it would notice the dimple before and after.
point 5 he's moving away from his consistancy argument again. With the column view you set the size of the columns and the number of columns, and if you chose to physicaly change the display you can. What he's suggesting is a display system which dynamicaly changes size to fit the content of the display which while it could be benneficial to some people seems overly complicated and a major violation of the consistancy guideline. It's concieveable to see a situation there where all of a sudden you would go from having 4 collumns displayed to having 2 or 1 because you have one file in the display such as "com.apple.Components2.LocalCache.QuickTimeCompon
point 6 he's correct on
point 7 he's got a point but at the same time, with the addition of the PDF abilities and the fact that faxing IS handled with PDFs it does make sense to put it under the PDF button. In the end I don't find it much more of an abstraction than his recomendation to make it an availible printer.
point 8 I can see a method to the madness in that if the next set of startup items require the server, it's important for you to know that the server is not availible BEFORE those apps launch and fail. There may be a better way, but I don't agree that it's a failing.
in point 9 the views update for the column view I think is a good thing. While it's not 100% consistant, in this case it would be irritating for a directory I'm working with to rename and then immediately move out of my working view until I indicate being done with the directory either by being idle or moving to a new object.
The size information I would assume is an updating routine thats scheduled rather than called.
in point 10 if he cant see a situation where a user might unknowingly or mistakenly change their file extention then he needs to think harder. The checkbox would be nice though but it's also nitpicking at this point. It's a potentialy destructive action, and a user should be reminded to think before they do it. Being able to permanently dismiss such reminders is what gives viruses and other malicious programs a better chance of succeeding.
T Money
World Domination with a plastic spoon since 1984
Doesn't Apple use gcc?
I know gcc itself improved a very great deal over the same time period, and I have always assumed that the speed gains were (largely? mostly?) due to that, rather than wondrous new algorithms on Apple's part.
Linux and KDE sped up a lot too, over the same timeframe.
Windows 95 actually sped up a lot of work and applications on the then current generation of hardware, IF you had what was then tons of ram and a big CPU [1] and made sure you weren't running anything that made it revert to timeslice multi-tasking etc... I can't really remember the details and I'm sure I don't want to, but I do remember that many multimedia and multi-tasking (Which in win 3.x was really more like task-switching) worked much better than in 3.x Don. 1: You know big fast machine, like a 486DX80 with 24 megs of ram or something, and a four or five hundred megabyte hard-drive.
What's with all the anonymous cowards replying? The thing is, there is nothing bloated about ubuntu, mandriva, or suse. I'm not that stupid. All the extra services have been turned off, there is nothing running except kernel services and Gnome. Yeah, you can use it on a 200MHz computer. But it's really not worth the time or the effort, given how slow it is.
Let's see... you've got a 4 year-old machine with a 133MHz bus, and you've only got enough RAM in it to boot Tiger, but not to do much else. And you're surprised it's slow?
Tiger systems should have at least 512MB, especially older ones (which should have as much RAM as you can stuff into them). Tiger was also the first version of OS X that, IME, did not run/feel faster than the previous version on older Macs. If you wanted to see a performance gain while sticking with a rather paltry amount of RAM, you should have upgraded your Mac to Panther.
What's with all the anonymous cowards replying?
;)
We are alot offtopic as it is
Anyway, given that you have at least 64MB of memory, you will be OK. Mine boots up using 42MB of RAM, not including cache. But, i'm not using Gnome, but XFCE. IceWM or *box are also good alternatives. Sure, it's not gonna be the fastest thing you have seen (hey it is a decade old), but in my experience it is alot faster than windows98 and as a modern OS, it is without security risks. So, 256 megs is greatly exagerating, thus the harsh words on my side. With about 128 megs you'll have a very productive system, just avoid the extensions in firefox, or use opera instead, choose light applications: xfe, sylpheed, tea or beaver, aterm... The thing with linux as I see it, is that you have more choice as to what you want running. Thus it's up to you to have a bloated system, or a lean and mean one...
My favorite was the IWM or Incredible Woz Machine. It was the disk controller used in Apple IIs and early Macs that slowed down the drive motor when the disk was accessing the outer tracks, which allowed it to squeeze in a few extra sectors. Of course, it also made Apple/Mac floppies unreadable on systems that didn't have similar special hardware....
Well, not exactly, but here is the list of gripes and complaints I've accumulated over six months of using a Mac Mini (G4 1.2Ghz, 512MB RAM) as my primary machine for the last 10 months or so. I live in Israel and need Hebrew for daily work, so some complaints are specific to that.
.DS_Store and perhaps others. I don't want these files on my Windows machine!
OS and GUI
* Mouse cursor moves sluggishly. Requires purchased software (USB Overdrive) to make it move as expected, i.e. speed of cursor is proportional to the speed at which I move the mouse.
* SMB can't network share anything but user directory (what about mounted disk images, CD's, single folders?)
* Can't FTP share anything but a complete user directory. Gives remote user far too many privileges (user can switch to root directory, other user directories, etc).
* GUI: Red "close" button has inconsistent behavior: hide (Mail)/close (Safari)/quit app (iPhoto).
* GUI: Configuration menus are inconsistent. Some are "ok/cancel" like Windows, others are "change anything and it changes immediately, no second chances".
* If "Show Item Info" is selected for the Desktop view, the volume icons only update their free space at restart (or when Finder crashes).
* Data CDs burned in Finder with MP3 files will not play well in the car MP3 player. The car player will take over a minute mounting the disc and is slower at changing tracks. I have no idea why this occurs, but I'm burning my CDs on the PC.
* Hebrew file names don't work well and are not always compatible with Windows file naming. Downloaded files may or may not have garbled names. In SMB shares, Windows sees Hebrew names as garbage.
* Finder pollutes write-enabled SMB shares it accesses with garbage files like
* Finder: No right-click > open command prompt here (well, neither does Windows, but easy to add with a Powertoy).
* Finder: Can't easily know the size of the contents of a directory (without "get info"), or the total size of more than one selected item (even "get info" doesn't help there). Windows Explorer is superior here.
* 90-degree screen rotation is supported as a display option but is horribly slow and effectively unusable.
* Inconsistent installation of applications. Some are dragged to the apps folder, others have an installer. Many things added with an installer have no uninstaller anywhere, so you're stuck with them (how do I cleanly get rid of X11? and XCode? Without using the command prompt?). Also, when removing an application it is difficult to remove its traces (in the Library folder and others).
* There is no easy way to categorize applications. Everything is bundled up together in the "Applications" folder. You can add subfolders manually, but that makes updating and installing new applications more complicated.
* Marking text and then attempting to drag the selected text elsewhere - sometimes works, sometimes doesn't (the drag operation simply selects some more text).
* An application (for example, MPlayer OSX) can render the sound system completely unusable (to OpenGL/SDL games and applications, but not system sounds) such that not even a reboot helps. Only playing a regular 16-bit, 44.1kHz sound file in MPlayer solves the problem, or editing a setting in the obscure Utilities\Audio MIDI Setup.
* My machine never crashes nor is ever powered down without a proper shutdown, and yet I have had several cases of files being corrupted, lost completely or simply set to "Zero KB", for no apparent reason. I have lost photos, audio files and others.
* Network operations are unbelievably slow when talking to the other machines in the house. This is a 100Mbit wired LAN, but the speeds I'm actually getting are more like 10 Mbit/s for data flowing from the Mac to a PC and 200kbit/s in the opposite direction. Affects any kind of network operation (SMB, FTP, etc). I've tried various fixes suggested on various forums, no improvement.
Applications
* NeoOffice/J is unbelievably slow, taking as much as 30 seconds to load
How is Linux so productive? I know of people who have spent literally months tweaking their system to the point where it's usable. I know of several in fact who have had to Google for days and weeks even to find patches to enable support for commonly used formats like MP3. You can argue about the legality of using an MP3 encoder/decoder on Linux all day long, but the fact is that if you spend all of your time trying to get your system to work with the files and software you want, it's NOT productive, in any meaning of the word.
Personally, every single person I have talked to is more productive on a Mac than they are on an Ubuntu box (and most of my friends are computer science students like myself, so it's not like we're talking about Mom and Dad here). Ubuntu has come a long way toward making Linux a productive system, but as long as there are elitists, free software evangelists who refuse to support common formats on moral grounds and apologists (like you) fueling the development of the system, it will never be as useful, productive or versatile as a vendor-supported operating system like Mac OS X or even Windows XP.
Mods: parent is not a troll or flamebait, he's just stating an opinion. That said, he's wrong (IMO), but that's no reason to mod him down. Posts like his are useful in that they further informed and relatively civilized debate.
I much preferred Mac OS back in the OS 9 days. OS 9 screamed in comparison to OS X. It had its problems, sure, but at the time it was the only mainstream OS that was not built on technology besides itself.
If you've ever developed for Mac OS 8/9, you'd realize just how serious those problems were. I wrote part of a printer driver for OS 8/9, and it was hell. Memory allocation was an utter mess. Printer drivers *should* just run in userland, and be unable to muck with the kernel, but that's not how things worked. The driver had full access to both the system memory space and the memory space of whatever application called it. It was preferable to allocate from the application's memory space, but we didn't have that freedom. Because of the stupid user-controlled memory allocation system, we had to worry about how much free memory any application might have been given by the user, and make sure we didn't use more than that. We were trying to modernize the UI and make it more flexible, so we used Metrowerks PowerPlant (an application framework). The problem was this increased our memory requirements to the point where we couldn't fit in the 100kB or so of free memory SimpleText would have by default. To work around this, we would allocate from the system heap. This came with its own problems--if you accidentally wrote to a null pointer, you overwrote the debug traps, and crashed hard. It made for wonderful time in debugging, and forced me to very quickly learn to be careful with pointers and memory allocation (this was my first programming internship, BTW).
Then there was all the cruft left over from the Mac OS's Pascal roots... Pascal strings, pascal calling conventions. And the memory management--Handles!--ugh!
OS 8/9 was a pain in the ass to develop for, whereas OS X is much easier. That's why we're seeing so much great new OS X freeware and shareware.
Two words: Conflict Catcher.
I called them about licensing because I was a tech troubleshooting Macs and asked them about temp installs for said task. They said as long as I didn't leave it on the machine (on my honor) there were no problems.
Saved me hours of work.
qz
> the only mainstream OS that didn't have any form of preemptive multitasking.
Actually, it did have preemptive multitasking, you just couldn't use it in alot of circumstances.
I could be wrong but I think AmigaOS was kind of a cross DOS/*nix environment. It used services, resolv.conf and a host of other networking files that were compatible with *nix.
;)
I had a lib that could run *nix programs. I could go fire it up and and it but it's not worth the effort. I'm sure others have better memories than me in this regard.
qz
QUICKSILVER
:( )
Get it
Use it
Good
( P.S. Caps Lock would have been autopilot for COOL, but the lameness filter caught me
Maybe so but the jump from Solaris to Linux was a small one for me. The overall structure of etc var bin sbin tmp yadda yadda yadda just screams *nix. As well as the commands ls mv cp vi su and more.
Maybe the kernal didn't spring from *nix but the overall architecture sure does.
qz
I can't argue about OSX, because I have zero experience using it. But:
:)
You can argue about the legality of using an MP3 encoder/decoder on Linux all day long, but the fact is that if you spend all of your time trying to get your system to work with the files and software you want, it's NOT productive, in any meaning of the word.
Never had a problem with it. I use xmms. But in ubuntu, it's as easy as getting DivX support in windows. Actually, with mplayer, I have observed that it comes with more codecs than windows ships with. It plays quicktime movies right out of the box. I also have heard good words about VLC but haven't found the time to give it a chance. About the legality: patents are a stupid way to make money on software. I could agree with a better patent law with a short period of applicability, but as it is today, it is just stupid. It promotes parasite tactics and discraces us computer scientists.
As I said, I'm not qualified to argue about OSX vs Ubuntu, but I am more productive in linux than windows as a computer science student myself. OSX could be better, but I'll stick with Free over shiny wherever possible, thank you very much!
Depends what you mean by productive! I spent about 2 weeks getting OS X set up the way I like it - why on Earth doesn't it include fink, vlc, a good text editor, a good office suite, LaTeX, paint program, nx, games, etc. by default. Linux has all this stuff out of the box, and even some more esoteric stuff I happen to use, like octave and scribus. As far as I can tell, it's so Apple can sell you iWork, and maybe to make it clear it's not their tech support's problem.
My job involves running large numbers of programs. I've found that the OS X user interface just doesn't allow me to handle 30 windows at all easily. Particularly when they tend to look similar when zoomed out. Expose is neat but not heavy duty enough. With KDE it's a breeze.
Finally, I can get 3 P4s (faster than AMD for my stuff) for the price of a G5 tower. My tools run a lot better that way.
I still have an OS X laptop, and it's pretty good. Some of the stuff it does is damn impressive, and I can get some work done on the road without much trouble. But it's a long way off replacing my linux desktop workstation, let alone our compute cluster.
Linux is not unix. It is not in any way derived from AT&T code, or even CSRG code. It is a work-alike to System V Unix (AT&T/Sun), but contains none of the same code. It does, however, implement POSIX, which is the closest thing to an agreed-upon Unix standard.
However, OpenVMS (the Open- is actually a reference to POSIX compatibility), Windows NT+, and BeOS all implemented POSIX in spite of not being in any way shape or form UNIX (but BeOS probably comes closest).
The single Unix Specification is not a good standard, because many things which people call Unix or *nix or whatever haven't been certified as Unix by the Open Group.
Apple has been contibuting to GCC too you know. Objective C support, PowerPC optimizations, etc (scroll down to optimizations). Another advantage of OSS. The improvements on their hardware were due to their own efforts, and much more radical than the increases to x86 Linux.
Unfortunately, on the Intel side, Apple is going with the Intel compiler, probably because it's faster than GCC Intel. No OSS. But maybe Apple doesn't need to contribute to that because Intel will keep doing good work.
Lies about crimes
The kernel of Mac OS X was not written in the seventies, and has in fact been in active development since the late 80's (roughly). It's a descendant of Carnegie Mellon's Mach kernel , which is well designed and was written from the ground up for SMP and preemptive multitasking - two concepts that OS 9 and it's predecessors were more or less totally ignorant of.
What OS 9 managed successfully (most of the time) was the appearance of speed, as the gui was relatively light weight and the frontmost process got most of the CPU. Try running the webstar webserver on OS 9, and a couple of network shared folders, and then see how fast OS 9 is - my OS X box can handle the same load and still be a usable machine - something that was not possible on OS 9.
The secret to creativity is knowing how to hide your sources. - Albert Einstein
The article is an interesting read, and it's definitely the type of article I wish Slashdot linked to more often. Dupe or not, thanks.
The bits on the bus go on and off... on and off... on and off...
Only one small nitpick with your rebuttal. On security, I think you're half right. In-person, at-the-computer security, you are spot on. No login - turn it on, and you're in, unless you had some 3rd-party security tools installed. If security was at all a concern, your physical security is what made any difference. However... It had no command-line, no SSH, no telnet, no http, no ftp, etc. No real network services (by default) at all. That, by default, made the original branch of Mac OS *very secure* from a *network* security standpoint.
ask any a+ student who's passed in the past couple of years, they don't cover ME. basically, don't use it. it sucks. it is not recgonized as an actual opertating system. they used to test based on win98, win98SE, win2000sp2-sp4, and winXP. inherient stability in ME is bad.
however, don't bash the system restore point utility, sure it created a backup of a lot of system files for emergency rollbacks, but i don't know of anyone who complained about it in win2000sp4 or winXP. and as for the disk recovery, you can get a copy of win2000 with the same ability, or winXP has it on all the versions (i believe).
and as for windows ME eating souls, yes it does. it likes a bit of ketchup to go along, they are kindof dry anymore.
I don't think I completely agree with whole unix analogy, a lot of work has been done since the '70's...
It's like saying saying I was "written" when I was born, I wonder how many of my cells are still around since 1958?
Nothing in the world is more dangerous than sincere ignorance and conscientious stupidity.
The NT kernel may have been written by one or two people who had been working on OpenVMS. This does not make it "based on VMS".
http://michaelsmith.id.au
lol! digg++
for a minute there, i lost myself...
That you're still calling it NeoOffice/J shows you're using an older version of NeoOffice. They've dropped the "/J" and are just calling it NeoOffice. They recently released NeoOffice 1.2. The major change in it is that is uses JRE 1.4 instead of JRE 1.3. JRE 1.4 uses Cocoa to draw widgets where as 1.3 used or mostly used Carbon. The recent release is slightly faster on startup and quite a bit faster in use as they removed a lot of reliability hacks that were needed when they were using JRE 1.3. Menus and widgets in particular are quite a bit improved.
I think the recent release of NeoOffice will still irritate you but maybe not as badly.
Go to your OS X machine and start up Activity Monitor.
(/Applications/Utilities/Activity Monitor)
Then pop open your widgets, then switch back to your desktop.
It looks like the little buggers seem to stay loaded, consuming RAM and virtual ram space even when idle.
For people loading up a bunch of widgets and then running their system, it looks like idle widgets can eat up megabytes of RAM very quickly.
Not good if you only have 256MB!
Close out all the widgets using the little (X) and the RAM goes free again.
Use a widget and then close it, not just hide it.
That when it comes to preventing dupes, a community approach is no better than an editorial approach. Thus let's have the end of the "Digg is teh better" trolls.
Build a man a fire, he's warm for one night. Set him on fire, and he's warm for the rest of his life.
Helping Developers Create Code Faster,
Helping Developers Create Faster Code
I can think of a few other useful permutations:
Helping Create Code Developers Faster
Helping Create Faster Code Developers
Helping Code Create Developers Faster
Helping Code Create Faster Developers
Helping Faster Developers Create Code
Helping Faster Code Developers Create
Helping Faster Code Create Developers
Developers Helping Code Create Faster
Developers Helping Create Faster Code
Developers Helping Code Create Faster
Developers Helping Faster Code Create
Developers Create Helping Code Faster
Developers Create Faster Helping Code
Create Helping Code Developers Faster
Create Developers Helping Faster Code
Create Code Helping Developers Faster
Create Code Helping Faster Developers
Create Code Faster, Helping Developers
Create Faster, Helping Developers Code
Create Faster Developers, Helping Code
Create Faster Code, Helping Developers
Code Helping Developers Create Faster
Code Helping Create Developers Faster
Code Helping Create Faster Developers
Code Helping Faster Developers Create
Code Developers Helping Create Faster
Code Developers Create Faster Helping
Code-Faster Developers Helping Create
Faster-Helping Developers Create Code
Faster-Helping Code Create Developers
Faster Developers Helping Create Code
Faster Developers Helping Code Create
Faster Developers Create Helping Code
Faster Code Helping Developers Create
Faster Code Helping Create Developers
Faster Code Developers Helping Create
Choose a research topic! Lucrative grants to be won! (Topics involving procreation by/of developers expected to go quickly.)
Oh, say does that Star-Spangled Banner entwine / The myrtle of Venus with Bacchus's vine?
Pining for OS 9 is the A #1 best way to spot a hardcore Apple fanboy. Only people who truly fetishize the company and its history miss that OS (or any that preceded it). Those of us who like to get stuff done with our Macs love OS X now.
(Written on an iBook G4 w/10.3, as someone still running a Powermac 6100 with OS 8.6 in my study...but that's because I'm cheap, not because I think it was great.)
Build a man a fire, he's warm for one night. Set him on fire, and he's warm for the rest of his life.
"You see that?! Your Stupid Minds!
Stupid! Stupid!"
"Enjoy what you're doing! If it becomes drudgery, you're doing it wrong!" - Jim Butterfield
...in OS X uses a sharper acceleration curve than on Windows. Nudge the mouse, and the pointer moves a couple of pixels. Jerk it the same distance, and it'll fly across a hi-def Cinema display. It can actually move much faster than the Windows pointer.
It's a matter of re-learning your hand-eye-mouse coordination. If the USB Overdrive behavior were the default, millions of graphic artists, and anyone who needs fine control, would cry out in anguish.
The US free market: two halves of a government-granted duopoly are free to set the market price.
DOS evolved from System III? How? DOS lacked multitasking, DOS 1.0 didn't even have nested directories. And Gates did not rip off DOS, he bought it.
Wonder if anyone noticed, but this site has already been /.'ed. OS X must be pretty damn fast if people are still talking about the speed after two years. Hell, I even use it and it seems fast. Anyway, semes a little weird what stories get posted and which don't...
How is an honest dissenting opinion "flamebait"? AFAICT this is an accurate summary of how Mac OS X grew - they fattened it up and then trimmed some of the fat!
performance under load? As reported here: http://www.anandtech.com/mac/showdoc.aspx?i=2520 OSX has to this time had severe performance problems under load for Web applications, does it look like the improvements in this article will help?
Nope, OS 9 used cooperative multitasking, not pre-emptive.
Does locating so many files that are accessed so often in one part of the disk cause that section to fail more quickly than if all of the "hot" files were to be left where they were? I'm wondering what this does to the life of mechanical drives.
Those who know, do not speak. Those who speak, do not know. ~Lao Tzu
There was no such chip as a 486DX80.
Nope. Mac OS 9 could do pre-emptive multitasking in a very limited set of circumstances (basically threads).
m l
Technical Note TN1071 Working with Multiprocessing Services:
http://developer.apple.com/technotes/tn/tn1071.ht
(Updated March 20, 2000: before the release of Mac OS X)
Tasks are preemptively scheduled using whatever processors are available to the system. It is not necessary for a machine to be equipped with more than one processor for an application to take advantage of the preemptive process scheduling facilities provided by Multiprocessing Services. Even if a machine is only equipped with one processor, it is possible for an application to schedule and run many simultaneous preemptive tasks.
- proton
"it was also written from the ground up to be B&W, single-threaded, single-tasking, use fixed-size memory spaces, and totally without any form of internal or user-based security."
Incorrect. It was designed to allow 3-bit color, actually - the quickdraw headers defined 8 colors, not two.
"Or are you saying a modern OS should swap out hundreds of shared low-level global variables on every context switch?"
The overhead of swapping out a hundred low-level globals in 2006 is, oh, about a hundred cycles. Oops: swap, so 200. Whoop-de-doo. People complained about that when a lot of the user base still had 68000-base machines running at 8MHz, but it's just not a factor these days. Even so, you could re-write OS 9 not to have so many globals without the extensive re-write that was OS X.
"why should a modern OS have a handle-based non-protected fixed-patition-sized memory system, itself probably responsible for half the memory allocation/corruption bugs and crashes in any given Mac application."
Oh, so the OS causes your app to crash? I could respond that multi-threading causes so many hard-to-understand bugs that it's responsible for half the crashes, but I'm against the shirking of responsibility.
As for Handle-based, Handles allowed programmers to write programs that were nearly 100% efficient in their use of memory - albeit at the expense of slow compactions from time to time. Not so far removed from Java, actually, though without the benefit of automatic garbage collection. The OS X equivalent - to just use Ptr-based memory instead, and swap a lot, is one of the reasons OS X requires a lot more RAM than OS 9 does. (Well, it doesn't actually need the RAM; but you'll swap a lot without it.)
"Perhaps you can explain why the system resource and process-slicing allocation kernal of a modern OS needs to be "graphical" from the ground up? Or conversely, why graphics, networking, file management, and other subsystems should not be layered on top of a rock-solid base?"
The system resource, process-slicing kernel of the OS doesn't need to be graphical. And indeed the nanokernel inside PowerPC Macs was not. But layering graphics APIs on top of file-based IPC mechanisms introduces dramatic inefficiencies. Networking and file management had a pretty solid base under OS 9, just not a fast one. (file access is one of the few things where OS X is notably and dramatically faster, incidentally - e-mail database rebuilds are about 2x faster under OS X.)
(sig) The last bug isn't fixed until the last user is dead. (/sig)
Agreed. I don't know how I survived prior to discovering Quicksilver years ago :)
Here's a link for the less initiated: http://quicksilver.blacktree.com/
Note that there are a number of plugins that you'll want to look at and probably install, including the Spotlight-inspired interface, the calculator (handy for quick calcs), email, chat and others. Look in the preferences to download and install them.
This is retarded. Mac OS X - which is based on one of the slowest operating systems in the history of UNIX (Mach) - performs terribly. Microkernels were a terrible idea in practice; that's why everyone moved their shit into kernel space (and gave up the benefit of having a microkernel in the first place).
p =1
It took Apple until the Tiger release to make the kernel's locking scheme any finer than ONE network lock, and ONE "everything else" lock. Reminds me of the days of cli()/sti()/lock_kernel() in Linux. (In Tiger, there are something like 5 or 6 locks -- still a disaster.)
The funny thing is when Anandtech did a Tiger review some time back to measure the performance. Considering the delta between modern Linux and OS X (Linux measuring in at ten times faster in some places), it's outstandingly shocking that anyone would say OS X performs at all. Windows puts up a *much* better fight.
http://www.anandtech.com/mac/showdoc.aspx?i=2436&
BSD is UNIX, fucktard.. just another flavor/variation. Initially BSD had AT&T code in it. This of course gutshots the rest of your attempted troll.
It must be amateur hour.
Any of those things that were added on later were major hacks to the system. Some, like the non-preemptive MultiFinder (switcher) were ingenious hacks, but hacks nontheless.
One of my favorite hacks, introduced with System 7.1, is the Fonts folder.
Prior to System 7.1, all fonts were resources stored in the System suitcase. Since the System suitcase is always open, its resources are available to all applications, so any application can use any fonts that are in the System suitcase. If you were to use ResEdit to copy a font resource into a text file and open it in SimpleText, the font would be available in SimpleText as long as the document was open, even if the font was not installed in the System.
Prior to System 7, the typical way of managing them was to use the Font/DA Mover application to move font and desk accessory resources between suitcase files; System 7 added support for this in the Finder. A bit of trivia: the only time you'll ever see a "Move" progress bar in the Finder is when moving something into/out of a suitcase, since there's no UI to move a file between volumes (you can only copy, then delete later).
System 7.1 introduced the Fonts folder. All resources in any file placed in the Fonts folder that looks like it should be a font (i.e. a font file or a font suitcase) will be loaded as if they were in the System suitcase, and accessible to all applications. Notice I said all resources, not just all font resources. So, if you were to create an empty font suitcase, and use ResEdit to copy non-font resources (such as icons) to it, then drop the font suitcase in the Fonts folder, all those resources will be loaded as if they were in the System suitcase.
Yeah, I'm a Mac nerd.
$x='S24;r)>63/* h@<5+oZ)32"5cz';$me='phroggy'x$];
$x=~y+ -xz+\0-Tx+;print$_^chop$me for split'',$x;
Network transfers. We chose Dell 1425s running Fedora instead of XServes running 10.4 largely because our benchmarks found the XServes had a huge network latency. It took us almost ten times longer to emit packets in some cases.
Just a couple of items about the parent:
First, while its true that DEC did standardize on DCL as its principle CLI, that really didn't happen until the mid-1980's: RSTS/E didn't get it until around version 8 (1986 or so) and I'm not sure if RT-11 ever did.
Second, VMS was not the first commercial virtual memory system, that honor goes to IBM: DOS/VS was definitely out in the field by the time the VAX was released, and VM may have been out. Both of these ran on System/370 hardware. (I was running DOS/VS on an IBM s/370-148 in 1977 prior to the release of VAX 750.)
I found the comment about "instant-on" sleep to be amusing.
Yes, we're fully aware that Apple systems can shut down everything execept the components necessary to refresh the DRAM.
The author of the article, apparently, has never used a PC notebook or desktop. Practically every well-behaved system made in the past 5 years, from the $150 eMachines desktops to my generic Compal notebook, supports the ACPI S3 state, which does exactly what Apple's "sleep" mode.
What's really slick about Windows is that the system can wake from S3 suspend and hibernate itself after a certain period of time. My system is set for 6 hours, which means that I don't have to wait for the system to restore during the day, but if I leave my system overnight or longer, I don't have to worry about suspend draining my battery (approx. 20% per day). I can even have different settings if the system is plugged in.
simple calls like HLock which used to be two instructions on the original 128K Mac are now thousands of cycles under OS X
This is highly unlikely. HLock originally only ever set a flag. It now doesn't even need to do that, since a Handle never moves under OS X, but if it did, it still would only need to set a flag. Even allowing the overhead of calling through a shim into Carbon this wouldn't amount to a huge call. There may be other APIs that do exhibit the behaviour you mention, but this was a very bad example to pick.
I still remember when I was given a x86 box that had windows 3.11 and MSDOS on it.
I spent 20 minutes thinking the "C:\ _" prompt was a loading screen. Since, after all, DOS on the Amiga was purely graphical, had a windowed enviroment and everything.
I was very unimpressed with the x86 machine no doubt.
Change is certain; progress is not obligatory.
> For those who don't know the quite well known fact, OSX is based on BSD...
Mac OS X is actually based on Darwin, which is built from the Mach kernel and the FreeBSD implementation of a Posix enviroment, which were incorporated into NEXTSTEP.
Not much remains of the original 'BSD' components that can be cross-referenced with other BSD systems.
Change is certain; progress is not obligatory.
IBM shipped MVS in 1974, DEC began development of VMS in 1975, therefore MVS (and it's predecessor MVT or OS/VS) was the first widely used commercial operating system with virtual memory support
I don't know about UNIX, maybe it was before 1974?
Ask Me About... The 80's!
As far as I can tell, actually only Linux is based on *nix.
Anybody know any other OS that is based on or inspired by Unix?
Well, off the top of my head:
AIX
SCO OpenServer
Solaris
BSD
Ignore anything I said above, I actually agree with everything you believe - mod accordingly.
For all practical purposes it was B&W unless you were printing, and even then you had to jump through hoops. To get color onscreen we needed the nearly complete rewrite that was Color Quickdraw on the Mac II. And which nitpicking ignores the rather more serious "single-threaded, single-tasking, use fixed-size memory spaces, and totally without any form of internal or user-based security" issues.
"The overhead of swapping out a hundred low-level globals ... but it's just not a factor these days."
Right. Because when you're switching application contexts a thousand times a second you really want to waste time moving hundreds of discontinuous memory locations. Heck, these days just swapping out the stack is a performance hit that has systems designers gnashing their teeth.
"Handles allowed programmers to write programs that were nearly 100% efficient in their use of memory".
And we still had an entire cottage industry devoted to memory managers and debuggers that tried to track down the bugs that system encouraged. And still ignores the fact that just one of those bugs could crash not just that application but the entire system. And still ignores those wonderful fixed-size partitions.
Face the facts. If "rewriting" a few parts of the system were that easy they would have down it. The system design was perfect for a 128K Mac, and horrendous as you attempted to scale it. System globals were scattered everywhere and the non-protected patitioned memory scheme was attrocious.
Worse, practically no system call of any consequence could be done in a preemptive environment. Attempting to do so caused all sorts of bottlenecks and deadlocks, and the existing SystemTask-based swapping system allowed a single resource-hogging app to bring the system to its knees.
Like I said, you need to take off those rose-colored glasses. True, the original MacOS was a great acheivement. So was the Model-T. Today, I refuse to drive either one.
Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
>> Anybody know any other OS that is based on or inspired by Unix?
> Well, off the top of my head:
> AIX
> SCO OpenServer
> Solaris
> BSD
Don't forget Apple's first Mac port of Unix - A/UX.
Depending on how you interpret "based on", whether you mean a clone or a port, A/UX wasn't just based on Unix - it *was* Unix. It was a licensed 68k port of SVR2 Unix, with some features of BSD thrown in.
In some ways, it was a better integration of the Unix and Mac philosophies than OS X is!
I have to respectfully disagree. I go to a highschool with 1 OS X computer and something like 15 OS 9 computers in the library. So from experience, I can say that OS X is much faster. Granted, school computers are always slower, but when things like dragging a window cause a redraw of most of the screen, it's time for a change.
> This is highly unlikely. HLock originally only ever set a flag. It now doesn't even need
> to do that, since a Handle never moves under OS X, but if it did, it still would only
> need to set a flag. Even allowing the overhead of calling through a shim into Carbon
> this wouldn't amount to a huge call. There may be other APIs that do exhibit the
> behaviour you mention, but this was a very bad example to pick.
I can't tell if you're clueless to the horrible Carbon implementation under OS X, or just baiting me.
I was one of the people involved in the port of Mac Office to OS X, at Microsoft, during 2001/2002. My particular job was to make Entourage perform fast under X, and one of the things that repeatedly came up when running Apple's sampling profiler tools was time spent inside HLock/HUnlock. Apple's answer, rather than making HLock/HUnlock faster, was "just remove your calls to HLock and HUnlock, since they don't do anything anyway."
Unfortunately the code in question came from a third-party text rendering engine, and the locked-or-not state of handles was actually important, so I couldn't just get rid of the calls. But the time I spent reducing the frequency of them being called made things much faster.
Later on I talked with the author of iTunes about this, and he remarked that he was able to just #define away his HLock/HUnlock calls, for OS X iTunes. (OS 9 iTunes still needed them, of course) He said it made the app smaller, and about 10% faster.
(sig) The last bug isn't fixed until the last user is dead. (/sig)
> For all practical purposes it was B&W unless you were printing, and even then you had to
... but it's just not a
> jump through hoops. To get color onscreen we needed the nearly complete rewrite that was
> Color Quickdraw on the Mac II.
Yes. But you know what? That didn't require a ground-up rewrite. And they added a lot more than color: support for multiple screens and support for third-party graphics cards, for example. And if you wanted run the screen in black-and-white, you could still do it - something you can't do in OS X.
> "The overhead of swapping out a hundred low-level globals
> factor these days."
>
> Right. Because when you're switching application contexts a thousand times a second you
> really want to waste time moving hundreds of discontinuous memory locations. Heck, these
> days just swapping out the stack is a performance hit that has systems designers gnashing
> their teeth.
I wish more of those systems designers worked at Apple.
hundreds of discontinuous memory locations... OK, let's say 100 4-byte values plus 100 2-byte values. That's 600 bytes.
Now let's look at the bare minimum of what a PowerPC has to swap: 32 32-bit registers plus 32 64-bit floating-point registers plus 32 128-bit AltiVec registers, plus the 32-bit PC and 32-bit condition-code register. That's 32 * (4+8+16) + 32 + 32, or 960 bytes.
You remind me of the folks who used to complain about Apple's "Ticks" low-mem global, which kept track of how many 60ths of a second had elapsed since system startup. They complained because it wasn't aligned on a 4-byte boundary - yet it was accessed so often - read and written to!
The reality is, it just doesn't take that much longer to increment a mis-aligned longword. On later PowerPCs it makes absolutely no difference, in fact.
By contrast under OS X, if you want to read the value of Ticks, you have to call TickCount(). But under OS X, that first makes a call which determines the number of microseconds since start, turns that into a floating-point variable, and then turns it back into an integer. Old OS X programs (like Metrowerks CodeWarrior) called TickCount() a lot to see if enough time had elapsed to check for user interaction; those programs had to be re-written because suddenly the call to TickCount() was a bottleneck!!!
> And we still had an entire cottage industry devoted to memory managers and debuggers
> that tried to track down the bugs that system encouraged.
I believe there is still a cottage industry for memory managers and debuggers on Windows and Linux. No?
> If "rewriting" a few parts of the system were that easy they would have down it.
Now you're hitting on the true problem. This ceased to be true after System 7 shipped. Apple's development organization became convinced that to truly take the machine forward, they would require a totally new OS. So a small group of people continued to maintain System 7, while the "real" work went into Pink, which became Taligent. And when that failed, into Copland. And when that failed, into OS X. And OS X shipped way, way, way late.
Time and time again, Apple's large teams, working on the "next big thing", failed, while the small group of people (Blue Meanies et al) working on 7.x, 8.x, and 9.x were actually delivering the incremental improvements that people needed. Had Apple put together a small team to "hack on" memory protection into System 7, it would have been done long ago. But Apple's management preferred to build empires of superteams working on a new revolutionary OS, so they could say, "I lead a team of 200 programmers".
"the original MacOS was a great acheivement. So was the Model-T. Today, I refuse to drive either one."
The car you drive is a series of incremental improvements on the Model-T. Even after all these years, the basic design laid down back then is the one we still use: conveyor-belt-style assembly of a car wi
(sig) The last bug isn't fixed until the last user is dead. (/sig)
That's true. But a good portion of that reasoning lay in the fact that to get to preemptive you needed to rewrite the kernel, event manager, memory manager, file manager, good portions of quickdraw and the graphics engine, device drivers, etc., to make them reentrant. So, by the time you've done that you've rewritten practically the entire OS, and then the real question becomes: do we want to do all of that work, only to fundamentally end up back where we started? And can we even do that without breaking half the applications out there that depend on some obscure bit of functionality or behavior?
"The car you drive is a series of incremental improvement..."
I don't think you want to go down that road, because if you do, we can start talking about the decades of incremental improvements that have gone ito Unix, BSD and Mach. (grin)
Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
> "Apple's development organization became convinced that to truly take the machine
> forward, they would require a totally new OS."
>
> That's true. But a good portion of that reasoning lay in the fact that to get to
> preemptive you needed to rewrite the kernel, event manager, memory manager, file
> manager, good portions of quickdraw and the graphics engine, device drivers, etc.,
> to make them reentrant. So, by the time you've done that you've rewritten practically
> the entire OS, and then the real question becomes: do we want to do all of that work,
> only to fundamentally end up back where we started? And can we even do that without
> breaking half the applications out there that depend on some obscure bit of
> functionality or behavior?
Ah, now we're getting somewhere. I think that's roughly the reasoning they followed - since we have to rewrite it anyway, why not *really* rewrite it?
The answer is pretty simple: because there's a lot of good stuff in what had been written - for example, a graphics engine that had been written at a very low level to run efficiently on very slow hardware. (Consider that on the original Mac, menus were drawn on-demand, as the user interacted with them. Same on Windows. But on OS X it's so slow to draw the menus that they have to draw them in advance and cache the resultant bitmaps) And the flipside is there, too: there's no guarantee that the new design you come up with won't have its own fundamental flaws and shortcomings. It's a choice between the beast you know and the beast you create. In my experience it's easier to fix the beast you know. (At least, as long as the beast you know has as many good points as Mac OS had.)
The insight that no one ever had was that rather than fix it from the inside, you could treat the whole thing as a virtualization and fix it from the outside: Each app runs as a virtual Mac, with the OS acting to stitch together the virtualizations. That is to say, imagine multiple copies of Classic running alongside each other. Each is memory-protected from the other; each can crash horribly and not affect the rest of the OS. Each can be pre-emptively scheduled against the other. If you approach the problem from that direction, the need to re-write everything disappears. Of course, it would still be a lot of work; the file manager and device manager would have to be stubbed out and put in a central place for example. But it would be a lot less work than a complete rewrite. A lot of the work to stub out the file system was done already for A/UX, Apple's first attempt at a Unix-based Mac, and just needed to be carried over.
> "The car you drive is a series of incremental improvement..."
>
> I don't think you want to go down that road, because if you do, we can start talking
> about the decades of incremental improvements that have gone ito Unix, BSD and Mach.
> (grin)
To the contrary; I think that's an excellent point. If I were a user of BSD, I would look at OS X and be quite happy with what Apple's done with it - preserving the good parts of BSD while adding a lot of extra value. Heck - you can even boot a Mac in single-user mode with no GUI if you want to! If only the experience for old Mac people could have been as positive, or had a similar way to turn the new OS X-isms off!
(sig) The last bug isn't fixed until the last user is dead. (/sig)
The problem with Microkernels is that Mach has become the model for "what microkernels are".
Microkernels aren't about putting every component into its own memory and execution context.
Microkernels are about having a consistent API for both system and user components to communicate with. Typically you have a message queue, and standardised messages that can be (but not necessarily are) marshalled across address space boundaries.
There's no reason that a processor context switch has to happen, nor even that a message actually needs to be queued and dequeued in another thread, it just has to be possible for that to happen. When you make a call-with-wait (so you're suspended until the return packet gets back), the entire operation can happen in your own execution context.
OR, the operation could involve a round-trip across a network link.
The key is that the API doesn't distinguish between these two cases, it all depends on what's registered to handle that message.
So there's no reason a microkernel OS can't be as fast as a monolithic kernel. In fact microkernels an microkernel-like designs are not exactly rare in the control systems industry, where the performance and latency requirements are much tighter than they are in a desktop OS. The most microkernel-like personal computer OS, AmigaOS, was noted for its high performance and responsiveness.
Mach, no, that was a mistake. But microkernel design isn't the reason why.
Anyone who spent any time trying to debug extension conflicts did not shed a tear for OS 9.
Depends on whether you were being paid an hourly rate to do so.. In all seriousness, unless the fault was intermittant, basic diagnostic techniques and testing routings would fairly easily identify extension conflicts. It just required being methodical.
Sara
Designer, Gamer, Macgrrl in an XP World
Lack of hibernation in Mac OS, in my opinion, hurts. For those who don't know, "Hibernation" is the term Microsoft uses for a state in which all of the contents of memory are saved to the hard drive and the system completely shuts down. When the system is booted up, that cache is read from the hard drive (and is almost always much faster than a full-on boot). Considering all the things that could go wrong, it works excedingly well. It's sort of like a better sleep, hence the name.
As to why it's needed: battery life. I can hibernate my Dell, unplug it for a business trip and it's still got the same juice a day or two later when I turn it on. When I do the same with my Powerbook G4, the battery often dies while it's asleep.
I'm hoping it's one of the things they add for 10.5.
ACK! He says, mentally running through the point of contacts with the hardware, events, file system, networking, windowing, interapplication communication, scripting, clipboard. Yeah, you could do it, and in fact, they did do it with Rhapsody's Blue Box "Classic" mode, but you'd practically have to write an entire OS to put beneath it... which, from a certain perspective, is what they did.
As to OS X'isms, and speaking as someone who did Apple/Lisa/Mac development in 77/83/84, I'm pretty happy with the current version. Finder stills needs work, and I remain less than thrilled that O/C is the language of choice, but overall, they've done a pretty good job, and extended the system in ways where Vista is still struggling to catch up.
Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
You know, that was an interesting comment & all, but the thing that made me happiest is that you know how to properly use "it's" and "its." I feel like I've never seen that on slashdot.
You might be surprised.
The original Atari ST's OS (TOS) was based on GEM and fairly similar to the original Mac OS: it could only run one application (plus up to 6 desk accessories) at once, no memory protection, simple and proprietary font support, rudimentary printer support, 8.3 filenames, simple B&W GUI, etc.
Since then, projects such as MultiTOS, MiNT, MagiC, and NVDI have replaced part or all of the OS, giving full pre-emptive multi-tasking, memory protection, true colour and much higher resolutions, full scaling font support (TrueType etc.), long filenames and large drives, networking, pretty good Unix compatibility, a greyscaled 3D look along with new file selectors and proportional scrollbars etc., object linking, and many other improvements giving a much more modern system. And yet, the new system is much faster than the original; and almost all the old applications still work unchanged, in most cases better than before. It's amazing what they managed to achieve.
Now, that may not translate directly to the Mac. The ST came out a year later than the Mac, and may have taken advantage of some of the Mac's experience, resulting in a slightly cleaner system. By the time Apple were considering OS rewriting, Mac OS 8 was probably a much bigger system than the Atari's, with many more dependencies, and many more ancient apps with dirty coding that couldn't work with the new features.
But it does tend to agree with the parent message's suggestion that incremental improvements should have been possible. Maybe going for a new OS was a choice rather than a necessity (though that may not have been apparent at the time).
OTOH, despite all the setbacks and failures, the Mac now has a pretty good modern OS, so with hindsight maybe it was the right decision after all!
Ceterum censeo subscriptionem esse delendam.
"And DOS and CP/M pretty much evolved from Unix system III or so"
CP/M was inspired by DEC TOPS-10 rather than UNIX, and the first version of DOS was very heavily inspired by CP/M.
I'm not going to change your sheets again, Mr. Hastings.
Yes, there was, there were DX80 and DX50 and DX40, chips as well, not just the 33 and 66 we all remember. (They were cyrix and maybe AMD)
And then there's the fact that I just today figured out how to prevent chronic fatal drive thrashing cycles on my sidekick iMac G3 (running Tiger): format the drive HFS non-journaled.
I hate Grammar Nazi's
> "Each app runs as a virtual Mac, with the OS acting to stitch together the virtualizations."
>
> ACK! He says, mentally running through the point of contacts with the hardware, events, file system,
> networking, windowing, interapplication communication, scripting, clipboard. Yeah, you could do it,
> and in fact, they did do it with Rhapsody's Blue Box "Classic" mode, but you'd practically have to
> write an entire OS to put beneath it... which, from a certain perspective, is what they did.
Yes, my point exactly: they had to do this in order to handle the "Classic" mode anyway. But instead of putting in a shim that the ClassicOS talks to, they should have put in a shim that the ClassicOS *apps* talk to.
And given that a lot of the performance issues under Carbon in OS X don't happen under Classic, they probably could have avoided them in a "MultiClassic" environment too.
Ah well. Looks like the spirit of killing pre-OS X technologies lived long enough to kill Classic on the Intel Macs, so I think it'll only get harder to actually ever make something like this happen.
> As to OS X'isms, and speaking as someone who did Apple/Lisa/Mac development in 77/83/84
Wow, you did Lisa development? Man, I'd love to see a Virtual Lisa, to show people who believe that the Mac started it all. (I always hated that Apple was so tight on its restrictions as to who was allowed to develop for Lisa.)
(sig) The last bug isn't fixed until the last user is dead. (/sig)
NT3.51 was in theory much more stable than Win95 (except that it didn't include working power management drivers, because it pretended to be a "Server operating system, not a Desktop operating system", so it would blue-screen when your laptop ran low on battery and sent power-management interrupts, which was unfortunately strongly correlated with whether I caught the express train or the slower local train to work :-)
Win2000 was fairly stable, though unfortunately some time around NT4 or Win2K they moved the graphics system into the kernel for performance reasons, so it could still die in ugly mysterious ways, but it was at least much nicer than older Win95-derived versions. WinXP actually works really well for me - it's fast and relatively stable, though it still dies every couple of weeks on my laptop: almost never with an actual bluescreen unless my hardware's acting cranky, but usually with something stalling the window system or the mouse when it's waking up from hibernation.
WinME convinced me that I should have no guilty feelings about pirating Microsoft operating systems - I'd bought Win98SE because it promised that Internet Connection Sharing would let me actually share my Internet Connection (lies!), and I bought WinME because it promised that the new version of Internet Connection Sharing would let me actually share my Internet connection (this time for sure!) (lies again), and that it would be more stable (lies! though 98SE has been more stable than 98.) I had half a dozen lab machines with 98SE, and had no qualms about reusing it when the hardware died, especially since I was running Linux on most of those machines anyway. On the other hand, XP's copy protection looks sufficiently workable that I decided to buy a separate copy of XP for my mother-in-law's machine, which had a WinME version sufficiently infested with spyware, IE Toolbar "helpers", popups, etc. that it was much cleaner to wipe it out to bare metal rather than attempt to reinstall ME cleanly.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
Of course, the faster-than-Moore's-law changes in RAM and disk sizes and prices during that time period don't hurt either - my machines really did go a *lot* faster with 512MB of RAM and an uncrowded 120GB disk drive than 128MB and 2GB, and even though BitTorrent music downloading has made the disk drive no longer empty, it's still enough larger that it's usually much less fragmented and installations are a lot cleaner.
The next big performance jump is likely to be use of Flash memory as disk cache - you can get 2GB for under $100 these days, and even crude steps like installing all of the OS and libraries onto flash is likely to be a big win, because you eliminate disk-rotation and disk-seek latency from your typical system performance - doing more intelligent things with caching programs or translucent file systems or possibly even putting journaling onto flash may be make a bigger difference, though especially journalling needs to be done carefully to avoid overuse of flash's write cycle limits (though I gather that's much less of a problem with newer flash technology than older stuff.)
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
Of course, nobody'd going to do a better job than some of the capability-based operating systems like EROS or its predecessor KeyKos - friends of mine had fun at trade shows in the 80s unplugging their hardware while it was running, plugging it back in again and having the same applications running from where they left off, much to the annoyance of the "fault-tolerant computer" vendors at the next booth who weren't willing to risk doing the same.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
After looking 3-4 levels deep into the web page, I still can't say what Quicksilver does or why I'd want it. It seems to be for the Mac, and it seems to be some kind of code launcher, but I can't tell what it really does or why it does something better than the native Mac tools.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks