Windows Laptops Ship With Linux Media Player
hqm writes "Maybe this is the real way Windows will be made irrelevant, not by a Linux desktop, but by Linux embedded software. LinuxDevices has an article stating 'NEC is the latest vendor to announce a laptop with a built-in embedded Linux based media player option. The NEC Versa S3000 will use InterVideo's InstantOn technology to enable users to listen to music, watch DVDs, and more without having to wait for Windows to load. Another major laptop vendor, Toshiba, in July launched its Qosmio laptop, which also includes a Linux-based media player environment. NEC will market the S3000 in Hong Kong and China. The laptop also includes InterVideo's popular WinDVD DVD playing software, which is also available for Linux.'"
the user will eventually turn the machine on, and then what? does this technology work after the machine has already booted into windows? people generally dont buy a computer to only listen to music or watch DVDs...And furthermore, this isnt really making windows obsolete, its just adding functionality to the system.
You mean as in DOS games or other DOS programs that brought their own DOS extenders, sound drivers, gfx drivers etc. ? Like in game consoles ? Like in programs for the good old home computers like the C-64, Apple II and the like that often brought their own OS-like routines delivering functionality the machine either did not have or (most cases) to do some kind of copy protection ? Everyone re-inventing the wheel every time in a incompatible way with a different look-and-feel ?
Sounds like a great idea. NOT.
One of the primary advantages of an OS (besides the GUI fluff) is that you have a unified centralized driver store. I'm not just talking about graphics cards and sound cards and ACPI, either, though that is certainly important.
I'm talking about data access layers, common control libraries, runtime environments, and the like.
Right now if there's a bug or vulnerability in my data access layer, Microsoft can update one file on each machine to fix that vulnerability in every application. In the system you describe, each one would have to be patched seperately. If you forget to patch one, it either continues to use the bad stuff, or just stops working.
This applies to Linux too... that's the point of dynamically linked libraries.
I am disrespectful to dirt! Can you see that I am serious?!
You don't really seem to understand how an operating system works. I don't mean the gui/desktop/environment that has become part of the OS, I mean the kernel (which in computer science terms IS the operating system). You can't just have programs just multitask because they're on the same computer. They're competing for resources! There's only one (ok maybe two) proccessor. Only one video card. Only one sound card. Only a single memory address space. Something has to mediate, hand out these resources to the programs that need them, and stop those programs that don't. This, is the operatings system. You don't actually have 5 or 6 programs running on your processor at the same time, you have an operating system that interupts each program when its allocated time slot is up and hands it over. It also divides up memory, protects regions of memory from other programs, allows multiple programs to draw to screen at once, allows multiple programs to send internet traffic, all because these programs make requests of it and it passes the requests on to hardware.
Now considering your previous direction, you're probably going to say each program can just be good and give up control of the processor when it doesn't need it, or just be good enough not to go outside of its bounds in ram. What you would have described, in this case is Windows 3.1 or MacOS Classic. Both of these systems are horribly crash prone, and low performing because they don't keep sloppy programs from doing bad things, hogging proccessor time, straying in memory, accessing the sound card when another is using it. Hell, even if you have well written programs, a cooperative multitask system isn't going to perform as well. The way you split up processor and memory is highly dependant on what is going on in the system as a whole. A single program can't make the proper judgement call on how much processor time to take. Only a program that's monitoring the whole system and who's sole purpose is dividing up resources can make that call. That program again is the operating system.
And you say you don't want to multitask. Well what if some of the other tasks are things being handled by the os? Each program shouldn't contain an entire TCPIP stack. That's a massively complex piece of software. That lives in the operating system. Or it could be in a separate program that you communicate to but that's just describing a microkernel system with a tcpip server. Just another form of operating system.
And lastly, even if you don't need services like tcpip and you don't need to multitask, and you just want a program to have access to hardware, you have to deal with the fact that hardware is different! Doom3 written directly to the radeon X800 wouldn't work on the geforce 6800, or other radeons for that matter. You need something to abstract the hardware, a driver. And guess what, drivers are just a plugin to your operating system. They OS needs to present the hardware as a generic abstract device, with the implementation details handled by the driver.
Consoles get around this by having consistent hardware. Carmack can write directly to the hardware because he knows what it is. And things like tcpip are implemented in the developer kit which is kind of like a very stripped down OS.
God I ramble....someone needs to shut me up.