The problem with our aguement is that you assume that a good compiler cannot do the same optimizations that a human can. To some extent its true, but its balanced by a few things. 1. Code written in a high level language is easier to maintain and more likly than no has fewer bugs. 2. Not everyone is an expert ASM coder, it takes a lot of effort to become one. 3. If you aren't an expert ASM coder, then your code will be SLOWER than the compiler generated code. I don't mean a crappy ASM coder, even pretty good won't beat the latest compilers. If you look at a REAL optimizing compiler (Intel's is probably the best for x86, Visual C++'s is almost as good, GCC is probably a distant third, mabye fourth) you can see that most optimizations that ASM coders can do are built into the compiler. I am writing a graphics library, and it has some of the tightest algorithms and code you'll ever see. But compiling with full optimizations in Visual C++ sped it up by 3 times over non-optimized. These are line drawing and bezier curve drawing routines that are already tricked out to begin with. In addition the compiler has a lot of advantages over an ASM coder. It can keep track of machine state much better and can take advantage of shortcuts that would be to arcane for an ASM coder to notice. It can utilize special instruction sets, knows the speed of each instruction on different sets of data (ie. dec/jnz is faster on 386) So unless you are writing a very tiny routine, and have been studying ASM code for that particular proccessor (PPro, PII, etc.) for years, chances are that the compiler will kick your ass.
We ought to be able to screen by designation.
on
V2OS under GPL
·
· Score: 1
Slashdot has gotten to the point where a bunch of immature jackasses can actually post enough messages to drown out other ones. I propose that we be able to screen by designation (offtopic in particular) rather than just by karma. I read at -1 because I never know if it was moderated to -1 becuase it was something like petrified natalie portman or becuase someone made a relevant, but flaming comment about Linux. We should have a designation like "immature jackass" or "basement dwelling (insert explicitive here)" so we could screen out the totally irrelevant comments from those which are relevant yet flame-worthy.
Wow! You are so COOL cuz you use linux like a REAL man! Seriously though, your comments are worthless. The highway system is easier to use than the civilian roads, they have been much safer than they used to be, again becuase of civilian use. Cars have gotten much simpler to operate. If car designers were like Linux designers, we would still be cranking up our new '00 boxters! Making something easier does not diminish its power in any way. 3 steps that would make linux MUCH easier to use. 1. Store all config files in one place, and make it standard. Screw the apps that store their files somewhere else, you don't need them. There is a REASON that registry type things have caught on! Even BeOS uses them to some extent in that ALL config files are stored in one directory. Sort of like a text based registry. 2. Super charge Linuxconf to handle all these files. Ditch the dumb netscape inspired tree config. 3. Dump the 3l33t attitude! Power and Elegance are not mutually exclusive. Take a look at BeOS. You can mess with it as much as you want since it shares some directory layout with Unix. It has a/dev,/etc/ and/var. But common tasks can be done through the prefernces applet. So I CAN do it, but if I just want to make a simple screen depth change to run a particular program (SNES 9x) I don't have to go into xconfig, find and change the setting, restart the server, play the app, then restart again to get back to normal. I have one of those fast res switching monitors and hell, I can put different colordepths and resolutions in each workspace without being annoyed! The current state of linux is that is powerful, but is ugly. Linux the kernel is a very elegant well designed piece of work, but the cruft thrown around it is junk to put it nicely.
Hmm, these LinuxOne people seem to have something for the FF8 girls. Methinks that they need to get out more.
Re:Alpha Interesting if It Gets Marketed
on
News on Pentium IV
·
· Score: 1
Actually, you got the facts wrong quite often. A. AMD DOES have a 64 bit CPU. Its called the K8, it is a 64 bit x86 proc. It streches the x86 to 64 bits just like the 386 streched it to 32 bits. It also has a bunch of redisigns to the piplines. Look for it to be the fastest x86 proc ever. B. The connections are quite solid. Because they share the same proc bus, same interconnect standard (PCI) and a lot of other things, the only thing that would really need to be changed is the system chipset, and only minimal changes to that. EV6 is much more than a memory access protocol. Importantly it handles physical slot standards and electrical specifications.
Damn programmers are so arrogant. You don't divide people into programmers and non programmers. Programming is NOT the most CPU intesive thing. The rank of CPU use from highest to lowest is... 3D animation, 3D modeling, video editing, gaming, 2D animation, programming (depending on what you program), everything else. You htink that 30 minutes is too long for a compile? Try waiting 30 hours for your movie to render!
Funny thing though. Linux has the major problem that GCC has to be fixed. The Merced chip is almost entirly compiler dependant, and sure GCC runs, but does it optimize correctly? I hear Linux alpha support is pretty bad too in terms of optimizing. In this case closed source developers would have the upper hand for a while on Merced because they could use the intel standard compiler. Until GCC get support a good level of optimization support of the Merced, then Linux doesn't stand a chance on that platform. It may end up that NO OS's run on Merced at first. Linux won't have a good enough complier and W2k won't compile period.
Funny thing though. Linux has the major problem that GCC has to be fixed. The Merced chip is almost entirly compiler dependant, and sure GCC runs, but does it optimize correctly? I hear Linux alpha support is pretty bad too in terms of optimizing. In this case closed source developers would have the upper hand for a while on Merced because they could use the intel standard compiler. Until GCC get support a good level of optimization support of the Merced, then Linux doesn't stand a chance on that platform.
Sorry, but ever stop coding to run Photoshop, Quake, or a video compressor? SSE does help and I know in Photoshop filters apply twice as fast. And once game developers can get the SIMD thing down cold, we should see a 50% increase vs. the 15% increase we get with SIMD now. (3DNow! and SSE)
Actually if I remember correctly there were never 486DX2s, just 486DX4s which actually had a 3x clock. (Damn marketing.) In that case I doubt that the Pentium was ever smoked by the 486 considering its faster FPU and 2 integer pipes.
Re:2 vauge/mostly untrue sectences about Willamate
on
News on Pentium IV
·
· Score: 1
Actually, the guy who responded to you is right. There is talk that the Merced will be slower than the Willamete for running x86 code, thus Willamate is an x86 proc.
What is this root you speak of? I recently installed Redhat 6.1 This was my routine with stuff that ought not to be there commented. 1. Put in floppy and CD_ROM. 2. Rebooted. 3. Went into installer. 4. Chose custom install. 5. Had to give a user-name and password//WHY? 6. Had to give hostname and ip address//What the hell is an IP address? 7. Had to set up X//Why can't I just click on a preferances panel? 8. Had to chose mount points//Whats a mount point? 9. Had to choose to install Lilo//Whats lilo? 10. Had to choose packages//Need better names. 11. Chose time zones. 12. Rebooted. 13. Taken to login prompt. 14. Typed in username password. 15. Had to type Xconfigurator to configure X//Again cuz it didn't configure my TNT correctly. 16. Had to type startx//Why doesn't redhat boot into the GUI the first time. 17. Finally got into KDE and looked around for a configuration utility. Here KDE beat windows. With big button albeit unlabled, right on the taskbar. (BeOS beats them both, of the 3 options on the Be menu, one is a clearly labled preferances app.) 18. Configured my desktop. 19. Tried sounds but they didn't worked. 20. Started sndconfig via. XTerm. Gave me a warning that it shouldn't be run in graphical mode. I ignored the warning but note that there is no easy way to boot into text mode after you have asked Xconfigurator to boot into KDM. (you have to change the runlevel.) 21. Had to give the irqs and dmas, and port address of my ISA AWE64 PnP.//It should know them. 2.2 is supposedly plug and play. 22. Looked up the xsetroot utility to change my cursor.//Why not an option in the menu. I can change my widget set up not my cursor?
Windows was significantly easier. 1. Same thing as Linux, rebooted,etc. 2. The install app asked my what my CDkey was. 3. Chose custom install. 4. Chose the applications to load. 5. Gave me a list of detected hardware, asked if everything was there. 6. Waited half an hour for the damn thing to install. 7. Rebooted 3 times as it detected my hardware. 8. The install program detected all my hardware, installed drivers. 9. Right clicked on desktop and chose settings. 10. Downloaded a new theme and went to the theme manager to chose my cursor.
BeOS was by far the easiest. 1. Put disc in CD_ROM. 2. Installed partition magic. 3. Partition magic rebooted. I chose the 1.5 GB partition.//Not as hard as Linux, but harder then windows. Probably as easy as it gets since the power to chose the partition is really imporant. 4. Rebooted. 5. Had 2 checkboxes, extras, optional and a drop down menu for the partition to install to. 6. Hit start. 7. Asked if I wanted to install bootman, chose the OSs to boot. 8. Rebooted. 9. OS booted in 10 seconds into the desktop. 10. Clicked on preferences and chose screen depth, and multiple workspaces, and wall paper. So while Linux is much easier to install then it used to be, it still isn't as easy as it ought to be.
Continueing my previous rant. Abstraction is BAD. X should not build network protocols into itself. That should be in a higher level app. So say X was a simple direct to the hardware windowing system. Then I built something on top of that with a client that talks to a server that talks to X. Now if I'm not using the network transparent stuff, then I don't have to have it loaded. IE. If I am running 3D Studio, I don't have to have the think connect to itself over a socket. It is as dumb as putting printing functions in a widget set, oh wait, I just described QT didn't I?
Modern hardware should not need to catch up. The OS ought to be a thin layer to build on, not a massive app framework that developers add pieces to to build an application. If the OS can't run comfortable on a Pentium 90 then it is useless,because even on a Pentium 700 it is still using nearly 1/7 of the proccessing time for itself.
Modern hardware should not need to catch up. If the OS can't run comfortable on a Pentium 90 then it is useless,because even on a Pentium 700 it is still using nearly 1/7 of the proccessing time for itself.
Don't diss message passing and microkernels until you've tried it. Sure NT sucks, but it would suck even it it was monolithic. (ie. 9x sucks, but has no relation to Linux, even though they are both monolithic, no?) Try programming for BeOS. Messaging is blazingly fast, and the microkernel design speeds up the OS instead of slowing it down.
But isn't a microkernel and the Linux kernel very different. Mach is a much better microkernel because it was designed to be a microkernel. Linux is any thing but "micro" and I don't think it would mesh well with a microkernel design.
Yea, thats why the microkernel based BeOS is so much faster than Linux? As is QNX and NextStep? The advantage of a Microkernel is two-fold. A. Stability. Gets all the yucky drivers out of kernel space, plus the microkernel can restart any of the servers. There is a BeOS program that can restart the app server. Its fun to take down the servers one by one and watch the system not crash. B. Speed. The whole concept of a server greatly enhances the speed of the computer. Most current CPUs are very parrallel and multiple threads enchance the performance of a system. It is so much easier to extensivly multi-thread the OS when you use a microkernel design. Any overhead associated with the server design is overshadowed by the performance benefits. Say I am making a GL app on BeOS on a dual proc machine. I call a function through the OpenGL kit, which calls the OpenGL server to execute the function, and immediatly returns. The GL server merrily goes on its way executing the call on one proc. Then my program could use the other proc to calculate more stuff, make another call, which the GL server would execute on the other proc, or whatever.
You run GL apps on thin clients? The only place where mutli user would be applicable is when you have massive graphics hardware. (My CS lab has a bunch of SGIs that groups share.) But the article was on Linux and the TNT, thus running it on multiuser would be stupid.
But the fact is that 99.999% of Linux users have NOT written their own OS (out of 10 million only 1, Linus, has) Thus, wouldn't it be better for the people who USE the OS, not just the idea, to have decent drivers? Besided, developer ought not need to know the HW specs, they should be coding to the API. You just say you want source because you stand behind free software, right? But what about when that free software undermine our favorite OS? OpenSource drivers certainly aren't helping Linux. And if Linux wants a mass appeal (people like having their favorite whatever succeed) then it has to embrace both open AND closed source. Doing otherwise is just being closed minded in the other direction.
You can't go fortelling the downfall of Microsoft just yet, and even if they do, *nix based OSs might not cause it. There are many places where MS has the lead on Linux, even technically. A. MS has a larger and much better library of apps. Even the best Linux apps are no match for their Windows counterparts. Netspace vs. IE, IE is faster, lighter weight, and even the Win32 Netspace is better in terms of speed, looks, and fonts. Truespace or 3DMax vs. ??? Blender? Blender has the worst interface I have ever seen in a 3D app, and still can't match the ease and power of Truespace or MAX. Office vs. 'nuff said. Also, the general quality and polish of windows apps is better. Sure there are a lot of apps for Linux, but name more than a handfull that are really commercial DESKTOP (not server) quality? This is majorly dependant on interface rather than anything else. KDE still doesn't have a decent all in one media player, GIMP still relys too much on menus, GNOME and its whole tree paradigm is really annoying, etc. B. Windows is technically superior in a lot of ways. It has much better media handling. Videos play more smoothly, sound jerks less, and even WGL is faster than Mesa. DirectX is without equal, OSSFree doesn't have the acceleration and features of DirectSounds, Mesa can't match OpenGL (which integrates pretty well into DirectX,) DirectDraw might or might not be on par with GGI (I doubt it, most drivers are heavily DDraw tuned.) And DirectInput can support a huge amount of devices. Sure it is a bitch to program, but Linux can't top it. And it still has a better driver model (although its pretty close these days.) and better threading (NT at least) C. Windows is a moving target. If MS can successfully meld NT and 98 in Millenium, then Linux might have another mile to go. D. The API is easier to learn. Win32 might be convultulated, but it is cohesive. To write a windowed program in Linux with the features I have in Windows (in C), I have to learn X, GNOME, and OSS. If I want DirectX like features, then I have to learn ALSA, the Input API or GameSDK, GGI, and make different drivers for network play over TCPIP, IPX, modem, etc. With Windows its Win32, DirectX, and mabye OpenGL. The are much bigger topics, but one you learn one, it is easy to learn them all. (Aside from GL) 4. Windows is still easier, although it has givin up that crown to BeOS. Even with RedHat 6.1 I had to type Xconfigurator in the command prompt becuase the install program didn't work right. To install GL in windows, I download, click, and type in the folder name. In Linux, I had to download, unpack, patch in the Riva GLX code, and compile, then install. To change network parameters, you can't use Linuxconf only, you have to change hosts in/etc or else GNOME complains. So although Linux is doing better everyday, don't get ahead of ourself. In the desktop market, real people are going to use it. Even somthing as simple as make install will deter them. And why would you have to anyway? Who is more of a man? The one who types "make install-linux-i386-..." or the one who clicks on the *.exe The both get the same end result.
What is wrong with a binary only driver? XF4 made binary drivers possible just so companies would port their drivers to the Linux platform. With all the whining you "I would rather have software rendered 3D than have a binary only driver" people, nVidia ought to just not bring drivers to Linux. People that fact that HW acceleration is finally coming to Linux is a good thing. One major hurdle keeping people from using Linux is the lack of decent drivers. If companies could make binary-only drivers for Linux, then we would see decent support for devices instead of some hack that "almost works now" and is in version.01.
Damn AC. Why not look at the second link and see that SPEC published the results of Lightwave, DRV, etc on those cards? Those are quite valid benchmarks.
Yea, but multiple windows isn't multiple clients. Do you run 3DMax and Truespace at the same time? 3DMax has a bunch of windows, but it is still one client. I don't play games, I do 3D animation, and any app that I use that needs the accelerated performance is also too heavy to have multiple ones running at same time.
The problem with our aguement is that you assume that a good compiler cannot do the same optimizations that a human can. To some extent its true, but its balanced by a few things.
1. Code written in a high level language is easier to maintain and more likly than no has fewer bugs.
2. Not everyone is an expert ASM coder, it takes a lot of effort to become one.
3. If you aren't an expert ASM coder, then your code will be SLOWER than the compiler generated code. I don't mean a crappy ASM coder, even pretty good won't beat the latest compilers.
If you look at a REAL optimizing compiler (Intel's is probably the best for x86, Visual C++'s is almost as good, GCC is probably a distant third, mabye fourth) you can see that most optimizations that ASM coders can do are built into the compiler. I am writing a graphics library, and it has some of the tightest algorithms and code you'll ever see. But compiling with full optimizations in Visual C++ sped it up by 3 times over non-optimized. These are line drawing and bezier curve drawing routines that are already tricked out to begin with. In addition the compiler has a lot of advantages over an ASM coder. It can keep track of machine state much better and can take advantage of shortcuts that would be to arcane for an ASM coder to notice. It can utilize special instruction sets, knows the speed of each instruction on different sets of data (ie. dec/jnz is faster on 386) So unless you are writing a very tiny routine, and have been studying ASM code for that particular proccessor (PPro, PII, etc.) for years, chances are that the compiler will kick your ass.
Slashdot has gotten to the point where a bunch of immature jackasses can actually post enough messages to drown out other ones. I propose that we be able to screen by designation (offtopic in particular) rather than just by karma. I read at
-1 because I never know if it was moderated to -1 becuase it was something like petrified natalie portman or becuase someone made a relevant, but flaming comment about Linux. We should have a designation like "immature jackass" or "basement dwelling (insert explicitive here)" so we could screen out the totally irrelevant comments from those which are relevant yet flame-worthy.
No, I am a Finaly Fantasy freak, plus I'm playing the game as we speak.
Wow! You are so COOL cuz you use linux like a REAL man! Seriously though, your comments are worthless. The highway system is easier to use than the civilian roads, they have been much safer than they used to be, again becuase of civilian use. Cars have gotten much simpler to operate. If car designers were like Linux designers, we would still be cranking up our new '00 boxters! Making something easier does not diminish its power in any way. 3 steps that would make linux MUCH easier to use. /dev, /etc/ and /var. But common tasks can be done through the prefernces applet. So I CAN do it, but if I just want to make a simple screen depth change to run a particular program (SNES 9x) I don't have to go into xconfig, find and change the setting, restart the server, play the app, then restart again to get back to normal. I have one of those fast res switching monitors and hell, I can put different colordepths and resolutions in each workspace without being annoyed! The current state of linux is that is powerful, but is ugly. Linux the kernel is a very elegant well designed piece of work, but the cruft thrown around it is junk to put it nicely.
1. Store all config files in one place, and make it standard. Screw the apps that store their files somewhere else, you don't need them. There is a REASON that registry type things have caught on! Even BeOS uses them to some extent in that ALL config files are stored in one directory. Sort of like a text based registry.
2. Super charge Linuxconf to handle all these files. Ditch the dumb netscape inspired tree config.
3. Dump the 3l33t attitude!
Power and Elegance are not mutually exclusive. Take a look at BeOS. You can mess with it as much as you want since it shares some directory layout with Unix. It has a
Hmm, these LinuxOne people seem to have something for the FF8 girls. Methinks that they need to get out more.
Actually, you got the facts wrong quite often.
A. AMD DOES have a 64 bit CPU. Its called the K8, it is a 64 bit x86 proc. It streches the x86 to 64 bits just like the 386 streched it to 32 bits. It also has a bunch of redisigns to the piplines. Look for it to be the fastest x86 proc ever.
B. The connections are quite solid. Because they share the same proc bus, same interconnect standard (PCI) and a lot of other things, the only thing that would really need to be changed is the system chipset, and only minimal changes to that. EV6 is much more than a memory access protocol. Importantly it handles physical slot standards and electrical specifications.
Damn programmers are so arrogant. You don't divide people into programmers and non programmers. Programming is NOT the most CPU intesive thing. The rank of CPU use from highest to lowest is...
3D animation, 3D modeling, video editing, gaming, 2D animation, programming (depending on what you program), everything else.
You htink that 30 minutes is too long for a compile? Try waiting 30 hours for your movie to render!
Funny thing though. Linux has the major problem that GCC has to be fixed. The Merced chip is almost entirly compiler dependant, and sure GCC runs, but does it optimize correctly? I hear Linux alpha support is pretty bad too in terms of optimizing. In this case closed source developers would have the upper hand for a while on Merced because they could use the intel standard compiler. Until GCC get support a good level of optimization support of the Merced, then Linux doesn't stand a chance on that platform. It may end up that NO OS's run on Merced at first. Linux won't have a good enough complier and W2k won't compile period.
Funny thing though. Linux has the major problem that GCC has to be fixed. The Merced chip is almost entirly compiler dependant, and sure GCC runs, but does it optimize correctly? I hear Linux alpha support is pretty bad too in terms of optimizing. In this case closed source developers would have the upper hand for a while on Merced because they could use the intel standard compiler. Until GCC get support a good level of optimization support of the Merced, then Linux doesn't stand a chance on that platform.
Sorry, but ever stop coding to run Photoshop, Quake, or a video compressor? SSE does help and I know in Photoshop filters apply twice as fast. And once game developers can get the SIMD thing down cold, we should see a 50% increase vs. the 15% increase we get with SIMD now. (3DNow! and SSE)
Actually if I remember correctly there were never 486DX2s, just 486DX4s which actually had a 3x clock. (Damn marketing.) In that case I doubt that the Pentium was ever smoked by the 486 considering its faster FPU and 2 integer pipes.
Actually, the guy who responded to you is right. There is talk that the Merced will be slower than the Willamete for running x86 code, thus Willamate is an x86 proc.
What is this root you speak of? I recently installed Redhat 6.1 This was my routine with stuff that ought not to be there commented. //WHY? //Why not an option in the menu. I can change my widget set up not my cursor?
1. Put in floppy and CD_ROM.
2. Rebooted.
3. Went into installer.
4. Chose custom install.
5. Had to give a user-name and password
6. Had to give hostname and ip address//What the hell is an IP address?
7. Had to set up X//Why can't I just click on a preferances panel?
8. Had to chose mount points//Whats a mount point?
9. Had to choose to install Lilo//Whats lilo?
10. Had to choose packages//Need better names.
11. Chose time zones.
12. Rebooted.
13. Taken to login prompt.
14. Typed in username password.
15. Had to type Xconfigurator to configure X//Again cuz it didn't configure my TNT correctly.
16. Had to type startx//Why doesn't redhat boot into the GUI the first time.
17. Finally got into KDE and looked around for a configuration utility. Here KDE beat windows. With big button albeit unlabled, right on the taskbar. (BeOS beats them both, of the 3 options on the Be menu, one is a clearly labled preferances app.)
18. Configured my desktop.
19. Tried sounds but they didn't worked.
20. Started sndconfig via. XTerm. Gave me a warning that it shouldn't be run in graphical mode. I ignored the warning but note that there is no easy way to boot into text mode after you have asked Xconfigurator to boot into KDM. (you have to change the runlevel.)
21. Had to give the irqs and dmas, and port address of my ISA AWE64 PnP.//It should know them. 2.2 is supposedly plug and play.
22. Looked up the xsetroot utility to change my cursor.
Windows was significantly easier.
1. Same thing as Linux, rebooted,etc.
2. The install app asked my what my CDkey was.
3. Chose custom install.
4. Chose the applications to load.
5. Gave me a list of detected hardware, asked if everything was there.
6. Waited half an hour for the damn thing to install.
7. Rebooted 3 times as it detected my hardware.
8. The install program detected all my hardware, installed drivers.
9. Right clicked on desktop and chose settings.
10. Downloaded a new theme and went to the theme manager to chose my cursor.
BeOS was by far the easiest.
1. Put disc in CD_ROM.
2. Installed partition magic.
3. Partition magic rebooted. I chose the 1.5 GB partition.//Not as hard as Linux, but harder then windows. Probably as easy as it gets since the power to chose the partition is really imporant.
4. Rebooted.
5. Had 2 checkboxes, extras, optional and a drop down menu for the partition to install to.
6. Hit start.
7. Asked if I wanted to install bootman, chose the OSs to boot.
8. Rebooted.
9. OS booted in 10 seconds into the desktop.
10. Clicked on preferences and chose screen depth, and multiple workspaces, and wall paper.
So while Linux is much easier to install then it used to be, it still isn't as easy as it ought to be.
Continueing my previous rant. Abstraction is BAD. X should not build network protocols into itself. That should be in a higher level app. So say X was a simple direct to the hardware windowing system. Then I built something on top of that with a client that talks to a server that talks to X. Now if I'm not using the network transparent stuff, then I don't have to have it loaded. IE. If I am running 3D Studio, I don't have to have the think connect to itself over a socket. It is as dumb as putting printing functions in a widget set, oh wait, I just described QT didn't I?
Modern hardware should not need to catch up. The OS ought to be a thin layer to build on, not a massive app framework that developers add pieces to to build an application. If the OS can't run comfortable on a Pentium 90 then it is useless,because even on a Pentium 700 it is still using nearly 1/7 of the proccessing time for itself.
Modern hardware should not need to catch up. If the OS can't run comfortable on a Pentium 90 then it is useless,because even on a Pentium 700 it is still using nearly 1/7 of the proccessing time for itself.
Don't diss message passing and microkernels until you've tried it. Sure NT sucks, but it would suck even it it was monolithic. (ie. 9x sucks, but has no relation to Linux, even though they are both monolithic, no?) Try programming for BeOS. Messaging is blazingly fast, and the microkernel design speeds up the OS instead of slowing it down.
But isn't a microkernel and the Linux kernel very different. Mach is a much better microkernel because it was designed to be a microkernel. Linux is any thing but "micro" and I don't think it would mesh well with a microkernel design.
Yea, thats why the microkernel based BeOS is so much faster than Linux? As is QNX and NextStep? The advantage of a Microkernel is two-fold.
A. Stability. Gets all the yucky drivers out of kernel space, plus the microkernel can restart any of the servers. There is a BeOS program that can restart the app server. Its fun to take down the servers one by one and watch the system not crash.
B. Speed. The whole concept of a server greatly enhances the speed of the computer. Most current CPUs are very parrallel and multiple threads enchance the performance of a system. It is so much easier to extensivly multi-thread the OS when you use a microkernel design. Any overhead associated with the server design is overshadowed by the performance benefits. Say I am making a GL app on BeOS on a dual proc machine. I call a function through the OpenGL kit, which calls the OpenGL server to execute the function, and immediatly returns. The GL server merrily goes on its way executing the call on one proc. Then my program could use the other proc to calculate more stuff, make another call, which the GL server would execute on the other proc, or whatever.
You run GL apps on thin clients? The only place where mutli user would be applicable is when you have massive graphics hardware. (My CS lab has a bunch of SGIs that groups share.) But the article was on Linux and the TNT, thus running it on multiuser would be stupid.
But the fact is that 99.999% of Linux users have NOT written their own OS (out of 10 million only 1, Linus, has) Thus, wouldn't it be better for the people who USE the OS, not just the idea, to have decent drivers? Besided, developer ought not need to know the HW specs, they should be coding to the API. You just say you want source because you stand behind free software, right? But what about when that free software undermine our favorite OS? OpenSource drivers certainly aren't helping Linux. And if Linux wants a mass appeal (people like having their favorite whatever succeed) then it has to embrace both open AND closed source. Doing otherwise is just being closed minded in the other direction.
You can't go fortelling the downfall of Microsoft just yet, and even if they do, *nix based OSs might not cause it. There are many places where MS has the lead on Linux, even technically. /etc or else GNOME complains.
A. MS has a larger and much better library of apps. Even the best Linux apps are no match for their Windows counterparts. Netspace vs. IE, IE is faster, lighter weight, and even the Win32 Netspace is better in terms of speed, looks, and fonts. Truespace or 3DMax vs. ??? Blender? Blender has the worst interface I have ever seen in a 3D app, and still can't match the ease and power of Truespace or MAX. Office vs. 'nuff said.
Also, the general quality and polish of windows apps is better. Sure there are a lot of apps for Linux, but name more than a handfull that are really commercial DESKTOP (not server) quality? This is majorly dependant on interface rather than anything else. KDE still doesn't have a decent all in one media player, GIMP still relys too much on menus, GNOME and its whole tree paradigm is really annoying, etc.
B. Windows is technically superior in a lot of ways. It has much better media handling. Videos play more smoothly, sound jerks less, and even WGL is faster than Mesa. DirectX is without equal, OSSFree doesn't have the acceleration and features of DirectSounds, Mesa can't match OpenGL (which integrates pretty well into DirectX,) DirectDraw might or might not be on par with GGI (I doubt it, most drivers are heavily DDraw tuned.) And DirectInput can support a huge amount of devices. Sure it is a bitch to program, but Linux can't top it. And it still has a better driver model (although its pretty close these days.) and better threading (NT at least)
C. Windows is a moving target. If MS can successfully meld NT and 98 in Millenium, then Linux might have another mile to go.
D. The API is easier to learn. Win32 might be convultulated, but it is cohesive. To write a windowed program in Linux with the features I have in Windows (in C), I have to learn X, GNOME, and OSS. If I want DirectX like features, then I have to learn ALSA, the Input API or GameSDK, GGI, and make different drivers for network play over TCPIP, IPX, modem, etc. With Windows its Win32, DirectX, and mabye OpenGL. The are much bigger topics, but one you learn one, it is easy to learn them all. (Aside from GL)
4. Windows is still easier, although it has givin up that crown to BeOS. Even with RedHat 6.1 I had to type Xconfigurator in the command prompt becuase the install program didn't work right. To install GL in windows, I download, click, and type in the folder name. In Linux, I had to download, unpack, patch in the Riva GLX code, and compile, then install. To change network parameters, you can't use Linuxconf only, you have to change hosts in
So although Linux is doing better everyday, don't get ahead of ourself. In the desktop market, real people are going to use it. Even somthing as simple as make install will deter them. And why would you have to anyway? Who is more of a man? The one who types "make install-linux-i386-..." or the one who clicks on the *.exe The both get the same end result.
What is wrong with a binary only driver? XF4 made binary drivers possible just so companies would port their drivers to the Linux platform. With all the whining you "I would rather have software rendered 3D than have a binary only driver" people, nVidia ought to just not bring drivers to Linux. People that fact that HW acceleration is finally coming to Linux is a good thing. One major hurdle keeping people from using Linux is the lack of decent drivers. If companies could make binary-only drivers for Linux, then we would see decent support for devices instead of some hack that "almost works now" and is in version .01.
Damn AC. Why not look at the second link and see that SPEC published the results of Lightwave, DRV, etc on those cards? Those are quite valid benchmarks.
Yea, but multiple windows isn't multiple clients. Do you run 3DMax and Truespace at the same time? 3DMax has a bunch of windows, but it is still one client. I don't play games, I do 3D animation, and any app that I use that needs the accelerated performance is also too heavy to have multiple ones running at same time.