The Incredible Shrinking Operating System 345
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."
We'll see about that (Score:4, Interesting)
Some anicllary concerns... (Score:1, Interesting)
Well. There *is* an ongoing pressure to push function down-the-stack. For this reason the threat to the usefulness of the concept OS does not come from the top-side where you find application environments. It comes from the hardware side! IBM is growing a library of micro-code for the Power-Cell Architecture that allows a single image chip-set (one computer many parts) to execute multiple instruction sets, enabling multiple operating systems, running concurrently. This allows them to market a single box that hosts Unix-BSD-Linux, ISeries OS, zOS, running on Power, iSeries, and zSeries instruction sets.
Beyond that, the same architecture also hosts the Sony PS3 software stack on a Sony extended Power instruction set, and there is evidence and rumor supporting the conclusion that micro-code exists somewhere (some of it may not be IBM) that allows Power-Cell boards to run x86, Itanium, Motorola 68K, TI32K, and Mil-Spec-1750 (an imbedded 16 bit! processor) instruction-sets.
Now, "All that makes it a very flexible virtualization platform, but what does that have to do with the death of the OS idea?", you may ask. The point is this. What folks have come to refer to as a hyper-visor IS a REAL Operating System and most of that function is subsumed into the micro-code code-base for the Power-Cell architecture. I think we will be able to say the OS is dead, when the hardware takes over the function. Well O.K. hardware-microcode...
=Smidge=
Re:Not so much (Score:-1, Interesting)
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.
But it is clear that control of our applications is slowly moving away from the realm of our local computer. However, when some people state that "the OS may fade into irrelevance sooner than we expect" I start to call BS.
My objection has nothing to do with being stubborn. In fact, as a long time developer and consultant I realize the OS MUST STAY. The OS, at it's core, is the interface between hardware, applications and users (simply stated) and will always remain necessary. In some cases the OS is tied to the hardware, definitely making it relevant.
So the big question is will the os become irrelevant any time soon? I feel that Microsoft, Apple and others have answered that question by creating OS's that provide tools and services that reach far beyond the original purpose of the OS. By creating a rich environment these developers create a compelling environment.
In addition, some applications will likely never be appropriate in a hosted application environment. There are also the millions of computers that have limited or even no online access. So online delivery of applications is not practical for these users.
The bottom line is that I see the OS becoming somewhat irrelevant, but a lot has to happen in the mean time to make this truly revolutionary.
Meh. Just my $1.00 - $.98. :-)
=Smidge=
Re:Do OS's really need a diet? (Score:5, Interesting)
Re:Not so much (Score:4, Interesting)
With E-Mail both and Instant Messaging supporting file transfer, and every man and his dog armed with a PDA or Mobile that can read typical document formats, I'd argue that NOT printing anything has become the standard these days.
Re:Not so much (Score:5, Interesting)
This is a duh moment (Score:5, Interesting)
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.
Standard in embedded systems world (Score:5, Interesting)
If you really want to see "slimming down the operating system", check out QNX [qnx.com], 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?
Re:MS is working on a new OS architecture (Score:2, Interesting)
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?
my first UNIX was on 128KB PDP (Score:3, Interesting)
Re:MySQL & LDAP? (Score:5, Interesting)
It struck me as kind of strange that they'd strip out something like CUPS...I mean, don't even most normal users like to print documents?!?!
Yep. (Score:2, Interesting)
So, to answer your question: IT ALREADY DOES THAT!
All Hail Linux!
P.S. Windows does this too!
Userspace apps needs to be sanitized too... (Score:1, Interesting)
Well. not only OS's need to slim down. Of the ~350 MB of ram in use on my system, Firefox is responsible for 1/3 of that. Ant that is with 4 tabs ( gmail, google reader, /. and another webmail). What is going on...
One more thing that should be excluded from the default install is the mta's (sendmail, procmail, postfix etc ), very few desktop users really need those...
Stripping out CUPS? (Score:4, Interesting)
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
Apple on 10.6 (Score:3, Interesting)
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.
Re:MySQL & LDAP? (Score:3, Interesting)
Although most users use webmail, many still use POP and IMAP
Shouldn't the 'most' part be given more weightage? People who are wise enough to configure POP and IMAP accounts would certainly know that they can install Evolution through package manager or command line. It not only installs evolution, but by default all the evolution notifiers are loaded at startup. Devoting boot time to an application that only few people use is mighty waste.
What about games -- many users want at least basic entertainment
We are talking about making the distro as lite as possible. Putting the entire games suite takes up another big chunk. I never understood the reasoning behind the "games suite" to begin with. Wouldn't it be better if people chose their own games?
You could also install XFCE (as part of Xubuntu) instead and get lite/r Ubuntu automagically.
I tried that as well. There is a reason why XFCE didn't make it to machines that are capable of running KDE or Gnome. The apps that are omitted from XFCE based Unbuntu (aka Xubuntu) are sometimes quite essential for most people. Axing the OpenOffice.org install isn't exactly lite, since after installation of the essential apps, you end up with the same system resource utilization as Gnome or KDE.
Re:Do OS's really need a diet? (Score:4, Interesting)
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.
Re:MySQL & LDAP? (Score:3, Interesting)
That's kind of backwards, IMO. It ought to be:
Although many users use IMAP mail, most users still use webmail or even POP because they don't know better.
After all, using IMAP means all mail is accessible from any machine, and there's never any pesky browser evidence left behind.
Re:MySQL & LDAP? (Score:3, Interesting)
For most Windows users, there are only four games -- Solitaire, Spider Solitaire, Minesweeper, and (for some) the pinball game. When they see all of the games available from the live Ubuntu CD, they are interested in finding out more. As a selling point, seeing the list of games already installed has impact on end users. Showing them all of the games available for free via the package management system just seals the deal.
(Yes, XP has the Internet-enabled games as well. Meh.)
Re:MySQL & LDAP? (Score:1, Interesting)
Re:MySQL & LDAP? (Score:1, Interesting)
CUPS is overkill for occasionally converting a document into a printer language and then sending it off. Worse, CUPS doesn't even do that all that reliably (OS X is stuck with the same flaky printing system as Linux).
Stuck with it? Apple liked it enough that they employ the main developer.
Re:MySQL & LDAP? (Score:3, Interesting)
Windows used to do something like that, as far as I can tell if you want to do so now you have to make a custom winnt.sif to exclude the crap you don't want.
Win 95, 98, Me all allowed you to choose what you installed. There were somethings that were mandatory, but most of the other things you could opt not to install. If I recall correctly, you could even set things up with a floppy to remember what you really wanted, but unlike XP you didn't have to.
*BSD install for the most part in a minimal fashion requiring the user to add programs to the base system. Linux really depends which distro, but by necessity you're going to be installing a huge number of programs since Linux is kernel only.
As for OO.org, why bother? Unless you need more than just the spreadsheet and word processor it's ridiculously bloated. Personally I use Koffice and Gnumeric, both those compile in a small fraction of the time that OO.org requires.
Re:Not so much (Score:3, Interesting)
I think you live in an insulated world. Most (non IT) businesses print reams of paper every day
Well yes this might be true, I am indeed in the IT business, and my boss was adamant that we be paperless office ... also as a lot of us work remotely, sending stuff by snail mail just isn't a viable option ... perhaps his motives are not due to any particular environmental bent, but simply because it makes no sense when there are so many alternatives that work.
Maybe non IT businesses could benefit from applying this also ... I'm sure a lot of inefficiency and errors comes from one department processing something, and then printing it out, just for the next department to transcribe it back into another system for further processing.