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.
Linux distros such as Ubuntu are stripping out functionality, including MySQL, CUPS, and LDAP, to cut footprints in half.
First, I can completely understand the justification for not including such services in the default install. There aren't many reasons on a single-user desktop for MySQL to be necessary over SQLite, and that's just one more subsystem to have to secure. Getting rid of them, though? That's not even remotely accurate. By that logic I'm not using Ubuntu right now because I'm typing this in Konqueror.
Dewey, what part of this looks like authorities should be involved?
Linux distros such as Ubuntu are stripping out functionality, including MySQL, CUPS, and LDAP, to cut footprints in half. ... 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.
I don't see what removing MySQL and LDAP have to do with "slimming an OS." These are things that very few people are ever going to use on their desktop and made no sense to install by default, anyway. Of the home users, there is surely an inflated number of users on slashdot using them, but they could just as easily go install them after the OS install is complete. And for business users, I would guess almost no one is using them on their desktop.
Whale
They all claim to be slimmed down and non-monolithic when they are in the development cycle. But when the rubber meets the road they have to contend with feature creep, backwards compatibility, turn-key (as it were) operation of heterogeneous devices and a finicky userbase. Sure, some of the formerly installed components can be offloaded to the download/update sites and some variations on a theme can be sold. And sure Linux distros can ship with widely varying functionality (at the cost of out of the box support for server functions). But to content that MSFT and APPL will substantially shrink their OS footprints is to be at variance with the last 15 years (or more) of software history.
I don't see how this is "the center of gravity shifting". Rather, the examples given appear to indicate a diversification of Operating systems rather than a general downward trend. e.g. While there may be a smaller OS X revision, the desktop revision gets larger with every release.
Windows 7 is not so much a shrinking OS as it is a recognition that Vista was a mistake. A huge, crufty, useless mistake. Windows 7 cuts back some of the cruft and makes the system usable again. Meanwhile, Microsoft continues to push their embedded Windows for Devices product on the low end. Nothing new there.
Cutting out MySQL and LDAP make sense. Why install services you don't need on a desktop machine? But why cut out CUPS? CUPS is pretty much the standard for printing these days. Doesn't cutting it seem counterproductive?
Javascript + Nintendo DSi = DSiCade
Thin Clients
Mozilla Firefox
There's an apocryphal story that someone suggested a branch of Firefox that was leaned down by concentrating on the core browser functionality... what goes around...
"I bless every day that I continue to live, for every day is pure profit."
maybe ubuntu will cut out evolution from it's default.
I see your Midori, and raise you HURD.
It looks like OSes couldn't escape the economic downturn as well.
Every CPU cycle that the "OS" uses is stealing cycles from processes that could be doing productive work for me. So yes, OSes can be slimmer. Regardless of how much memory or CPU exists. The attitude of "eh, we've got 4 GB of RAM" is why we have such bloated OSes and applications to begin with. As for your suggestion about a distribution with all settings in a database. It's called the Windows Registry, and we all know how well _that_ works.
What could possibly go wrong?
My main problem with a lot of O/S'es and Linux distros these days as that too much functionality is 'default on'. If a user needs MySQL, or network printing, they can turn it on, but it seems to me that having the OS install with as few background services as feasible running, is a great way to get OS'es both more secure, and more scalable. In addition, a little bit of engineering might be able to go a long way - for example, I've noticed over the last few releases of Ubuntu that the Gnome environment seems to be taking up a lot more background processes and memory than it used to. Is all that stuff in the background really necessary? Ok, I realize some of it is no doubt necessary (sound daemons, etc), but couldn't a lot of that stuff be loaded 'on-demand' as it were, and unloaded after a period of inactivity? For example - if I'm not sharing a printer on the netwrk, and I'm not currently printing any documents, does CUPS or any other printing system need to be loaded in memory? Why not load it when I actually try to send a print job from an application to the printer (this does, I realize, imply that there is a different background process extremely similar in concept to inetd which is monitoring for activity and loading the appropriate process on demand - but really, for services which aren't heavily used, what is wrong with the inetd model; I do realize that under heavy usage, the inetd approach becomes inefficient due to the overhead of starting and stopping processes, but I think that on a lot of 'personal' desktop/laptop/netbook situations, the usage would only be very occasional)?
Anyhow, you might be right that no real progress will be made on this front, but I still hold out hope - even on modern systems with lots of RAM, there is a benefit to keeping the memory usage low - it leaves more memory available for the actual applications you are using, whether that is a large database, a CAD system, 3D-or-2D graphics apps (Blender, Gimp, etc), video/audio editting, games, whatever. I believe that keeping a minimum 'background' memory profile is always a good idea for O/Ses, because people don't use O/Ses - they use applications.
Sounds promising, until you go to open Notepad and you find out you need to install it. Or you need to install Java to run a java app on the web. Or need to install .net so you can run other apps. While some, especially the moer tech savvy, will say "bring it on", grand-ma and grand-pa will be confused. Slim-down, cut-out the fat products help the more savvy (advanced installation users) but really hurt those who have no clue.
A better way - make the install disk's advanced installation give a list of components that can be removed from the install, while the basic user can get the full install. oh, wait.
I do not support "The Man". I also do not support your irrational stupidity
I never understood why so many services were running by default in the first place.
I always thought it would make more sense to provide three big buttons on setup as well as an advanced tab. Those buttons are the presets: everything off, the most popular stuff on, and everything on. The advanced tabs would let you tweak the specifics.
There's so much extraneous crap running on a typical Windows install it just blows me away. I'm less familiar with Linux and OS X but from what I've seen they are as guilty at times.
Incidentally, this also brings up my beef about software updaters. I have no problem with them running once a week at startup, checking the net for an update and terminating. But these fuckers remain running in the background constantly like Google updater. Look, do I really care to know the second a new program is released, a new patch? Look, why can't you just tell me the next time I reboot? Or hell, just run the updater when I execute the specific program and piss off when finished.
I understand that modern software is really complicated and I'd feel a little less free to complain about bloat if I knew everything that went on in the background. Well, I still wonder what things would be like if I were God Emperor of the World and said that nobody could buy faster machines for a decade, they had to stick with what they had. We see that happen with video game consoles, having a fixed platform to develop for over a period of years, the optimizations that are developed. PC's move so damn fast that by the time anyone figures out the hardware there's something new to write for. And management pays for new features, not optimization. But if they couldn't just demand people buy a faster computer, if they had to work within the resources at hand, I bet our stuff would be running two or three times faster by the end of the decade, just from doing it right the second time.
Kwisatz Haderach
Sell the spice to CHOAM
This Mahdi took Shaddam's Throne
$ lsb_release -d /usr/sbin/cupsd
Description: Ubuntu 8.10
$ ps -ef | grep cupsd
root 6860 1 0 Feb08 ? 00:00:00
Why should it be mandatory to include MySQL. What's wrong with PostgreSQL? Let's not have more people choose to use something crappy just because it is included with the base install.
SQLite is adequate for desktop database storage. It is what Mac OS X uses, and it's good enough for the iPhone.
I agree that there could be a "Developer" variant of a distro that would offer you install-time options for various databases, web servers, IDEs, and so on, on top of the basic "Desktop" variant's offerings.
I would also like to not install some of the stuff that Ubuntu installs by default. Evolution comes to mind - why not let me pick which email client I want to use. There's also all the games, which I never play.
To be honest, I will give KDE 4 a try when it hits 4.3, but am not expecting anything better in regards to not including the kitchen sink.
If you really want to see "slimming down the operating system", check out QNX, which is a true microkernel used mostly for embedded systems. The kernel just does memory, CPU, timer, and process management, plus interprocess communication. Everything else is optional. Networking, disk/file system support, display support, window management, etc. are all user-level processes that you can include, or not, when making a boot image.
The unusual feature here is that the components really are independent. You can have networking without a file system, or a file system without networking. If the machine has no display, you don't have to include any of the "console" stuff. Even error logging is an option, and can be connected to a display, a window, the network, or a file.
But this isn't what the original article meant by "just enough operating system". They're thinking more of bloated distros.
I hope "just enough operating system" means the ad-funded preloaded crap goes away. Remember Dell charging $50 extra to get rid of all that junk?
WTF will this OS be able to do?
From one of the links in the Google search:
"One of Microsoftâ(TM)s goals is to provide options for Midori applications to co-exist with and interoperate with existing Windows applications, as well as to provide a migration path."
OMFG it will run your old shit, AND your new shit!
"According to the documentation, Midori will be built with an asynchronous-only architecture that is built for task concurrency and parallel use of local and distributed resources, with a distributed component-based and data-driven application model, and dynamic management of power and other resources."
OMFG, it can run more than one program at once!
"In order to efficiently distribute applications across nodes, Midori will introduce a higher-level application model that abstracts the details of physical machines and processors. The model will be consistent for both the distributed and local concurrency layers, and it is internally known as Asynchronous Promise Architecture."
In other words, your OS is so fat when it runs applications around the house, it runs applications AROUND THE HOUSE! And what's with the Asynchronous Promise Architecture. Is this a little like I'll gladly give you an OS on Tuesday if you'll give me a little money today?
Fascism trolls keeping me up every night. When I starts a preachin', he HITS ME WITH HIS REICH!
"Linux distros such as Ubuntu are stripping out functionality, including MySQL, CUPS, and LDAP, to cut footprints in half."
Can somebody define "footprint" in this context, and then explain how MySQL, CUPS and LDAP could possibly account for half of it?
You feel sleepy. Close your eyes. The opinions stated above are yours. You cannot imagine why you ever felt otherwise.
It did most of what I wanted. Some tings have been added in the past 30 years.
Remember when Windows was called a shell that sat on top of DOS? Isn't this what the aim should be... pretty pictures as an *optional* cover *to* an efficient OS, minus all that bloat that has been added over the years?
Windows 7 will run [on] a spectrum
Great! They must have really stripped down the OS.
In all fairness to the description of the story.
"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."
Am I missing something?
After 17 million iPhones and I don't know how many millions of iPod Touches sold this is more than being headed in a direction.
When Apple launched the iPhone it was announced as an OS X device.
http://www.techcrunch.com/2007/01/09/apple-announces-iphone-stock-soars/
So apparently Apple is clearly in the space of running a mini version of a monolithic OS.
Anyway, interesting as heck topic.
..that I should pull my CP/M disks (8" DSDD floppies) and IMSAI 8080 out of storage again?
Are YOU using the TOOL, or is the TOOL using YOU? Think about it!
So, to answer your question: IT ALREADY DOES THAT!
All Hail Linux!
P.S. Windows does this too!
Over-the-top Response Guy! Giving "Over-the-Top Responses" since 1970.
Saying it's "overkill" implies it's a heavyweight solution for something that has a light-weight alternative solution? Or are you just implying that there ought to be one?
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
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.
Windows Server 2008, Recommended disksize: 40GB
bundled with Full-HD p0rn perhaps?
Okay, this is probably a dumb question, but how do you print anything without CUPS?
What is the alternative printing system they're going to use, and does CUPS really present that much of a footprint? Is the claim that personal printers are too much of a hassle and we should all send our stuff out to a printing service?
--
Toro
I was actually on a conference call concerning an Open Source thingie, when someone stated that, "We're planning in the future to 'grow smaller'"
I don't think he even believed it himself. But the sheer audacity to let those words over his lips truly amazed me.
Nuthin' ever gets 'no smaller, except your pay check, after taxes, and you take inflation into account.
Well, maybe your retirement fund . . . and the value of your house . . .
The gas tank of my car seems to be getting bigger . . . it used to hold only 50 euros of diesel, now it can hold about 75 euros! Wow, that's innovation, a growing gas tank!
Schroedinger's Brexit: The UK is both in and out of the EU at the same time!
I agree that Windows and Linux are moving downmarket but Apple:
1) Is switching the the LVVM compiler which means code will run better with multiple cores. Apple is clearing starting to move towards 4,8, or more core machines as the standard.
2) Is changing virtually component of the OS so their 32 bits will drop in performance a tad while 64 bit will get much better.
3) Is putting in all but the last piece of the puzzle to move beyond 8gb limit on ram
4) Is continuing to have OS components that use expensive graphics chips
5) Continues to run complex services automating all sorts of connections
I don't think it is the case that they are moving in the direction of cheaper hardware.
I don't know if you are trying to read the article as literally pertaining only to the O/S, but it seems pretty clear to me that they are trying to reduce the amount of bloat that is installed with a typical O/S install. Therefore, while removing MySQL is not actually trimming the O/S, it is reducing the footprint of the install.
I use irony whenever I can, but my shirts are still wrinkled...
Every CPU cycle that the "OS" uses is stealing cycles from processes that could be doing productive work for me. So yes, OSes can be slimmer. Regardless of how much memory or CPU exists. The attitude of "eh, we've got 4 GB of RAM" is why we have such bloated OSes and applications to begin with.
Every CPU cycle that the "OS" uses on my machine is stealing cycles from my system idle process -- which eats up 80% of my overall cycles anyway (and this is with speedstep that clocks my 2.4G processor down to 1.8G whenever the ACPI gods think that's a good idea). The idea that my scheduler is somehow chock full of productive work that's being held up by lack of CPU cycles (or RAM) is just not the case. YMMV, of course, depending on workload, but I'm going to venture that my situation is most certainly the norm.
On the other hand, when I hit up my OS search feature for a recently created document and it's not there, I have to spend at least 10 seconds, possibly a minute, navigating to it in a file explorer. Whatever amount of time the search indexer has spent crawling my system, it's paid back in just one successful query that avoids breaking my workflow. Of course, the indexer is also set to run with low CPU priority and throttled IO, that's just common sense, but it's become an indispensable tool.
The bottleneck in productive use of computers is not hardware resources, it's human intelligence and attention. Hardware is cheap and unlimited, human beings are expensive and finite.
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.
It's called the Windows Registry, and we all know how well _that_ works.
Pretty damn well? The registry cleaned up the mess of .ini files thrown everywhere (not unlike the giant pile of files in /etc (or whatever other location a particular installer decides to put its config info in)), and the b-tree structure means keys leftover by old apps have negligible impact (despite the alleged "winrot" that so many drone on and on about).
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.
^..^
Amiga OS 2.04 (my favorite version) comprised a 512K ROM and four 880K floppies. So there's the basics of a modern OS in 4 MB of data. That has become my benchmark for the size of an OS.
Now, a lot of people I know scoff at that. Today's OS has to do a lot more than Amiga OS ever did. Today's OS has to support OpenGL, Postscript, Java, video decoding, a HTML engine, not to mention you have to include an email client, a word processor, a browser. . . oh, and a TCP/IP stack, which Amiga OS didn't even have.
And that, they say, is why today's OS *can't* be smaller than about, let's say, 2000 MB. You just can't fit all that stuff into a space less than 500 times the size of Amiga OS, and you were foolish to ever imagine that anybody could.
And then I open up Slashdot and see this headline about the incredible shrinking OS. But, but. . . How can that be possible? They told me it can't shrink! They all said nobody could figure out how to make them smaller, you just have to learn to live with the gobsmacking huge OS.
And yet, now the netbook concept comes along (years if not decades overdue, in my view), and suddenly they can figure out how to make a fully functional Linux distro in only 200 MB (a mere 50 times the size of Amigs OS). My oh my, how the worm has turned.