The Incredible Shrinking Operating System
snydeq writes "The center of gravity is shifting away from the traditional, massive operating systems of the past, as even the major OSes are slimming their footprint to make code bases easier to manage and secure, and to increase the variety of devices on which they can run, InfoWorld reports. Microsoft, for one, is cutting down the number of services that run at boot to ensure Windows 7 will run across a spectrum of hardware. Linux distros such as Ubuntu are stripping out functionality, including MySQL, CUPS, and LDAP, to cut footprints in half. And Apple appears headed for a slimmed-down OS X that will enable future iPhones or tablet devices to run the same OS as the Mac. Though these developments don't necessarily mean that the browser will supplant the OS, they do show that OS vendors realize they must adapt as virtualization, cloud computing, netbooks, and power concerns drive business users toward smaller, less costly, more efficient operating environments."
If Ubuntu is looking to unseat Windows, why do they need a SQL server and a directory service? Granted I use Apache and MySQL on my Mac so I can develop on the road, but not everyone does.
I use Black Viper's Windows services tutorial to decide what I can do without on XP. It makes a pretty decent difference in both RAM and CPU usage.
What could possibly go wrong?
$ lsb_release -d /usr/sbin/cupsd
Description: Ubuntu 8.10
$ ps -ef | grep cupsd
root 6860 1 0 Feb08 ? 00:00:00
Remember the QNX 1.44MB demo disk? That was a slimmed down OS!
http://toastytech.com/guis/qnxdemo.html
All of the following are valid implementations of a "Data Base":
Only some of those mentioned above are "RELATIONAL DATABASE MANAGEMENT SYSTEMS" that support SQL-style DDL (Data Definition Language) and DML (Data Modification Language) and DQL (Data Query Language). That doesn't make any of the other myriad of possibilities (Object Databases, Registries, Gnome Config, Berkley DB, custom whaznath binary flim-flam database) any less of "Data Bases".
You simply possess a very limited understanding of what a Database is.
Over-the-top Response Guy! Giving "Over-the-Top Responses" since 1970.
RAM is for being used. Unused RAM is waste. Firefox gives up its allocations by the way at the request of the host system, a request both at least Windows kernels do when either real or virtual memory is close to running out, and also when minimizing application windows. Not sure if Linux does that though. If you want Firefox to take less space, take out a RAM module, that will force Firefox to be more modest. But it is pointless, is it not?
The real question is, does Firefox allocate as little memory as it can do with and provide exactly as much performance and features that the user requires?
As a programmer, I had plenty of occasions to version my algorithms into variants where one would work fast but cache stuff into memory, thus blowing up its commit charge (used memory), or work slower but use much less memory while working. I do not know how Firefox devs decided how much RAM is a good usage on average, but with the size of Firefox code, they, I am sure, had plenty of chances to version their algorithms too, and they decided to give it some good speeds AND ability to slow down the way I described. You can search Google for Firefox 3 memory optimization.
With regard to #1, LLVM also helps code run better on diminutive CPUs such as the ARM in the iPhone and iPod Touch. LLVM's optimization passes are not multi-core specific, so I'm not sure how it ads weight to your argument, let alone the operating system.
I'm having trouble parsing #2. Not sure what you intended to say there.
#3 is an odd observation. I'm not sure how pointing to a feature intended for high-end hardware says anything about an operating system's footprint. How much RAM is taken up by the memory manager routines? Disk space?
#4 seems a lot like #3. Sure, the system can use an expensive GPU. But it can also use a low-power GPU. In the case of the iPhone, for example, playing H.264 movies on dedicated hardware is probably a better utilization of battery time, versus having written the codec such that it did not exploit such a hardware feature.
You'd really need to be more specific about #5, and provide some support for your use of the word 'complex'. Are you talking about the Zeroconf daemon? If so, I think you're imagining it to be larger than it actually is.
Other people have already quoted Apple's stated goals with regard to reducing the footprint in Snow Leopard. Why invent 5 strangely-vague bullet points to argue that they have no such intent?
The "cue the foo posts in 3, 2, 1..." posts will commence with no subsequent foo posts in 3, 2, 1...
Perhaps folks are comparing windows 7 to vista, rather than to xp. Vista, due to added "features" like DRM, was and is unusable to me. I have tried windows 7. Windows7 is also useless to me. The services and their dependencies are a complete cluster-fuck. For instance, if you turn off network services, you may no longer configure your network card. If you turn off cryptographic services, windows7 cannot phone home anymore, and tells you that it will be shutting down in ten minutes. Windows7 is vista sp2, and both are dogshit.
What used to be accessible in one or two clicks now takes three or four clicks to get to. This is improvement? This is smaller? Microsoft oughta buy up Damn Small Linux, roll up the directx API as a binary kernal module like nividia's driver, and start selling a usable OS again. Hell, I'd even give them money for that.
^..^
Half the pain of windows background services isn't the fact that some program is constantly in RAM checking for updates. The pain is that 14 separate programs are constantly in RAM checking for updates.
Yeah, but Windows already has a feature to prevent that: Task Scheduler. It's not Microsoft's fault that third party developers aren't making use of it.
Comment of the year
Okay, this is probably a dumb question, but how do you print anything without CUPS?
Enscript and lpr? I've always used postscript capable printers. And to make life even easier, I rely on network capable printers.
Give the printer a hostname (DNS or /etc/hosts) /etc/printcap
Create spool directory
Create a filter script to detect and/or convert to postscript
Create an entry in
Enable lpd
Use lpr to print