Torvalds on Where Linux is Headed in 2008
Stony Stevenson writes "In an interview at the ITNews site, Linus Torvalds lays out his current excitement about the future of Linux. Torvalds is looking forward to hardware elements like solid-state drives, expects progress in graphics and wireless networking, and says the operating system is strong in virtualisation despite his personal lack of interest in the area. 'When you buy an OS from Microsoft, not only you can't fix it, but it has had years of being skewed by one single entity's sense of the market. It doesn't matter how competent Microsoft — or any individual company — is, it's going to reflect that fact. In contrast, look at where Linux is used. Everything from cellphones and other small embedded computers that people wouldn't even think of as computers, to the bulk of the biggest machines on the supercomputer Top-500 list. That is flexibility.'"
Not strictly true...
The same Linux kernel, admittedly often configured in different ways and with different userland apps, runs on all these devices...
The mobile versions of windows are completely different, and have very little in common with the desktop and server versions.
I have a Nokia N800, which runs an embedded linux, i can compile all the same programs i use on my desktop linux machines. Even if you have the source, it's not easy to just recompile a windows program to run on windows mobile, and most programs dont come with source anyway.
As for supercomputers, windows is pretty laughable in this area, it's only used in fairly low end clusters and is horribly inefficient (all your cluster nodes need a videocard and local hd?), most of the serious supercomputers are running linux these days. As for performance, last time i saw a windows cluster in the top500 it consisted of 660 2.8ghz dual cpu dell poweredge servers, a machine using 600 dual cpu 2.8ghz poweredge servers of the same model and running linux was 50 places higher.
http://spamdecoy.net - free throwaway anonymous email - avoid spam!
There is a new 80211 stack in Linux with better structure that allows easier creation of device drivers. This makes it easier for manufactures to create drivers, like the one who designed your card. For those manufacturers that do not bother, like the one who made your card, it also makes it a tiny bit easier for enthusiasts to step in.
I hope that makes it clear for you.
:. Ultimate Control Dedicated/VM Servers
There is a robust foundation for gaming...
Nvidia's drivers are very good (although proprietary), we have libraries like SDL, OpenAL etc...
Games which have native Linux versions tend to beat the windows versions by a small margin, and vista has made this gap somewhat bigger. Some games running under wine also outperform native windows in some areas, tho the results are very much variable with some games being slower or behaving erratically.
The foundation is there, what we need are the actual games.
http://spamdecoy.net - free throwaway anonymous email - avoid spam!
I haven't been able to find information on the smallest Windows CE system, but Linux has been stuffed on a wristwatch with only 19MHz of CPU power and 8M of RAM.
So I guess Linus' point is that Linux runs a greater range of systems, from the top supercomputers in the world (the top ten all run Linux), to the very smallest of devices. Windows doesn't scale quite as well.
Task Manager reports anything which is backed on disc as page file usage. This means any program you run contributes, because the executable and DLLs are already on disc, and Windows treats them as if they're part of the paging file (i.e. it can drop the program or library from memory if need be, because it knows it's still on disc).
You can prove this by disabling paging altogether, and then amuse yourself by looking at how much of the "page file" is in use.
Also, Windows does aggressively page stuff out, which in theory should boost performance by making more memory available for useful things like disc caches, but in practice does annoy me a bit as well.
What are you talking about? There are tons of libraries to program games in.. off the top of my head, Ogre3d, SDL, OpenGL, PyGame, ClanLib.
If you want the majority of gaming on Linux, convince the game developers!!
Although you are right, it does mean snot in Spanish, this isn't something that is necessarily exposed to the end-user. OpenMoko is the platform, which most regular users don't care about. *Most* people buy Nokia/Sony Ericsson/whatever without thinking of the platform. They buy an N80, M600, etc. Just as it would would be a Neo1973 in the case of OpenMoko.
It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
You dont seem to emphasise how kick ass Madwifi is. :D
One card can do anything the most expensive access point you can find can do.
The most amazing thing I can think of is its ability to do multiple things with a single card seamlessly.
You can sniff networks on one channel and surf the net on another, you can have virtual access points and surf the net (while monitoring) and so on.
Absolutely amazing.
You keep thumping on the features. What about usability?
Here is one single little feature that I wish were fixed. I want to install VMWare on a Linux distro without having to need a compiler installed. I can do this on Windows, why not Linux?
For example I bought VMWare and I am forced to upgrade because my version is old, and something in the Linux headers has changed that needs a new patch to fix up. WTF... This is a prime reason why I have given up on Linux on the desktop. It just requires too much work even with VMWare.
"You can't make a race horse of a pig"
"No," said Samuel, "but you can make very fast pig"
Oh yes, you're definitely right. I'm glad to see someone on slashdot who actually knows the windows operating system!
There are several consequences for treating executables and DLLs as page files and use them for swapping:
The virtual memory manager becomes overly complicated. Code section of the executables must be read-only, otherwise run-time code patching technique in memory would alter the image on disk. However, data section that stores global variables must be made copy-on-write.
In constrast, in Unix, you load the whole binary in memory, and the memory manager doesn't really care about the memory layout of your program. You only need to flip on the copy-on-write bit when a process forks.
Despite these, I can't claim Linux is better because user's perception of system responsiveness (i.e. "fast") is more than that.
I once had a signature.
Having done some quick googling...
Gimp runs on the N800, tho it's quite short of ram:
http://net9.blogspot.com/2007/04/gimp-running-on-n800.html
I couldnt find openoffice for it, tho there is aparrently a non maemo specific version for linux/arm available in debian repositories.. There is a version of abiword for the n800 tho, as well as gnumeric.
gnumeric -> http://www.mail-archive.com/maemo-users@maemo.org/msg04128.html
abiword -> http://www.internettablettalk.com/forums/showthread.php?t=5423
Don't think anyone has ported VLC, but there is a port of mplayer which pretty much uses the same codecs. I always used mplayer on linux anyway.
I ported a few of my own programs (mostly console based) very easily, so i can't imagine other apps would be especially hard. The only real problem is the hardware resources available.
The newer OS2008 from nokia apparently uses a firefox based browser too.
What other desktop linux apps are you after?
Some apps are too heavy for the hardware, that's not linux's fault but rather the individual apps and the hardware. A program designed for a supercomputer with a terabyte of ram won't work very well on even a high end gaming pc.
http://spamdecoy.net - free throwaway anonymous email - avoid spam!
The paging out mechanism in Windows is (or was, at least as of at Windows 2000) pretty bizarre. I've not tested this again since then, so this may be wrong for Vista. This is all from memory so some details may be hazy, but you can get the gist.
The bit of the VMM which decides when to push out something to the page file only looks at pages that are in the CPU's translation lookaside buffer. This is somewhat odd since pages referenced by the TLB are going to be recently or frequently used ones. The upshot of this is that if you have a large process that isn't all that active, but frequently touches the relatively few pages that are referenced by the TLB, Windows can *never* swap any of it out, even if 99% of the memory allocated hasn't been touched for days. This means when another large process starts, you get a major never ending swapping storm. I've seen this actually happen, and a while ago, wrote a test program to explore this and confirm my understanding of the VMM was correct.
I think this is why you get the rather costly and inefficient Windows culture of "one server per service" in the data centre.
Oolite: Elite-like game. For Mac, Linux and Windows
Case in point, it appears that VISTA is actually the best OS to run on a tablet with wacom support. XP tablet has had some driver issues, and was never built for a tablet, just had support put in after the fact. My tablet works great with Vista/onenote combo. I really wish I could see how fast this thing would be with Kubuntu, but I could not find any solutions even close to the convenience of Onenote running on vista.
Ambition is a poor excuse for not having enough sense to be lazy.
There's also picotux, which crams Linux, Busybox and a webserver all in 8M of RAM and 55MHz of processor.
Does Windows have the equivalent of an inode?
At the risk of being pedantic, files are really anchored to inodes, and that's why you can delete or copy over an in-use file. Opening the file returns the inode to the opening process. From that point, you can "replace" or "delete" the file by pointing its directory entry to a new file/inode, or deleting the directory entry. But the filesystem code keeps track of the fact that someone is still using the inode, and doesn't let its space be reclaimed until it's unused.
OTOH, this introduces a new risk, especially where people brag about their uptimes. Let's boot our machine in January, and start all of its services after it's booted. Pretend for argument that one of those services is OpenSSH, and for instance it uses libwrap.so. Now let's have a fiasco like we did about 10 years ago, where someone put a compromised tcp-wrappers out there, and assume that this machine was installed during that timeframe. (I know that would be tough, because the evil tcp-wrappers was discovered and corrected within a few days, maybe even 1.) At this point sshd has attached the bogus libwrap.so to it's process. Now let's discover the evil tcp-wrappers and replace it with a good copy. At this point, we now have a good libwrap installed. All is well, right?
Wrong. At this point, any new code that starts will get the good libwrap. But any code that has been running since before the update is still pointing to the now-anonymous inode that contains the evil libwrap.
In order to propagate a library fix, services that depend on that fix need to be restarted.
The living have better things to do than to continue hating the dead.