Yet another public BSOD



  • @MasterPlanSoftware said:

    @slyadams said:

    That's true, however, if you buy a piece of hardware and all there is available is an unsigned driver, your choices are somewhat limited!
     

    You shouldn't be buying that hardware then. MS goes through a lot of trouble to post the HCL (Hardware Compatibility List). Use it, or don't be surprised if you have issues. At least certainly don't blame MS.

     

    I don't blame MS. I was simply pointing out that the cheapest (and hence most affordable) hardware often have unsigned drivers and the common man on the street buys the cheapest.

    I don't blame MS for dodgy drivers and I've not had a BSOD in over 2 years in WinXP.



  • @slyadams said:

    I don't blame MS. I was simply pointing out that the cheapest (and hence most affordable) hardware often have unsigned drivers and the common man on the street buys the cheapest.

    I don't blame MS for dodgy drivers and I've not had a BSOD in over 2 years in WinXP.

     

    Right, but as I stated originally there ARE a lot of idiots who go out and buy the cheapest hardware, and then go online flaming away that MS sucks when the device breaks or the buggy driver causes a BSOD.

    Like this ZiggyFish dumbass.



  • @MasterPlanSoftware said:

    @slyadams said:

    I don't blame MS. I was simply pointing out that the cheapest (and hence most affordable) hardware often have unsigned drivers and the common man on the street buys the cheapest.

    I don't blame MS for dodgy drivers and I've not had a BSOD in over 2 years in WinXP.

     

    Right, but as I stated originally there ARE a lot of idiots who go out and buy the cheapest hardware, and then go online flaming away that MS sucks when the device breaks or the buggy driver causes a BSOD.

    Like this ZiggyFish dumbass.

    Yeah, but you should just use my tactics with them: Eviscerate them with purely the power of your mind.



  • @slyadams said:

    Yeah, but you should just use my tactics with them: Eviscerate them with purely the power of your mind.
     

    Or the handy GreaseMonkey script. Lysis and crew are much more bearable now that I cannot see a word they say.



  • Spellchecking

    @ZiggyFish said:

    @slyadams said:

    @ZiggyFish said:

    I use linux because it does what I want it to do and is free. Whether windows does what you need is you opion. But I think people should have a choice, not one single company making an OS (does not encourage inervation). 

    Am I the only one wondering whether someone who can't even get close to spelling everyday words should be taken seriously in any kind of intellectual debate? A typo I can understand, but this is obviously a lack of education.

    Right click in the field, from the context menu, choose "Spell check this field". How difficult is that?

    I'm use to having firefox, tell me when I've spelt something wrong it's only this forum editor that doesn't tell you. 

    @slyadams said:

    You seem to have what you want: [quoteuser="ZiggyFish"]not one single company making an OS

     There is more than one company making an OS.

     

    But this clearly isn't what Microsoft want's. 

    [/quote] 


  • @RayS said:

    Can actual people be nominated for the mug, or just threads? 

    Well we could make a new mug.  The one bstorer made applies only to threads.  

    Maybe call the new one one a glass, or a brandy snifter (sans brandy).  Maybe make a billboard.  There is a local radio station that would probably put up a billboad that simply says "You suck." with a picture of a troll.  Or do one of those church signs.

    ZiggyFish, have a sign

    Feel free to come up with a better one.  

    PS I just realized I capitalized home.  Can't be buggered to fix it.  Maybe You can get into the Source and change it.  Jam it!



  • @MasterPlanSoftware said:

    @slyadams said:

    Yeah, but you should just use my tactics with them: Eviscerate them with purely the power of your mind.
     

    Or the handy GreaseMonkey script. Lysis and crew are much more bearable now that I cannot see a word they say.

    Then why do you respond to him?


  • @ZiggyFish said:

    But this clearly isn't what Microsoft want's. 

    So you've lost the "Windows doesn't do all these things Linux does" argument and now choose to go after MS as a company.  

    Here's a quarter.  Buy a clue. 



  • @Physics Phil said:

    @MasterPlanSoftware said:

    @slyadams said:

    Yeah, but you should just use my tactics with them: Eviscerate them with purely the power of your mind.
     

    Or the handy GreaseMonkey script. Lysis and crew are much more bearable now that I cannot see a word they say.

    Then why do you respond to him?
     

    When do I respond to him?



  • @ZiggyFish said:

     Also I'm not a linux fanboy...
     

    Okay, really, how do you expect anyone to take that seriously with that signature?



  • @shadowman said:

    @ZiggyFish said:

     Also I'm not a linux fanboy...
     

    Okay, really, how do you expect anyone to take that seriously with that signature?

     

    Not to mention he signed up and start spamming everything vaguely MS or *nix related with Linux fanboy crap.

    There is no better definition for Linux fanboy troll than this guy.


  • Garbage Person

    I dunno. It was quite awhile ago, and the building was quite new (a few weeks? months?) from what I remember.

    But it was DEFINITELY a kernel panic. Maybe they switched to Windows after they realized how f'ing obnoxious and unneciserily difficult to run such a setup on anything other than Windows.



  • @ZiggyFish said:

    I could give you more information, but are irrelevant to this discussion. Linux (or Unix for that matter) provides an file based(although they ant like normal files stored on disk) interface to devices(these files are normally 'mounted'(and I say mounted because it's a file system) at /dev). This allows software like X to run outside of the kernel.

    <snip bullshit/> 

     

     

    A while ago I promised not to get involved in this crap, but I can't resist here... Dude, do you realize where you're posting? Take a moment to think about the user base on this website. Probably 98% of us are IT professionals with either years of experience and certifications or high-fallutin' degrees in things like Computer Engineering and Computer Science (or both in some cases :p).

    Please don't try to lecture us on how unix/linux filesystems work, as I'm sure a lot of us were even forced to hack them apart during college. We know all this stuff already.

    Windows and unix/linux all have just as much support for dumping memory to disk. What differs between them is default configuration and implementation. When used properly, most varieties of unix/linux, and most varieties of Windows can all run equally well. I'm sure many of the people here have achieved fine uptimes (as if this was really a great measure of anything on a home pc) on their computers. I've never had any problems configuring either Windows or linux on my machines, and furthermore I've never run into problems with malicious programs, except for one time that someone walked into my dorm room in college, managed to gain admin access under Windows on my PC (I had been doing some maintenance and forgot to lock it before I went out), and decided to use Internet Explorer to view a large amount of porn.



  • This thread makes me cry. In a good way. It's so nice to see sensible people on the internet, all I ever meet are the kinds who spell MS with a $.

     

    In the year since I've bought this laptop, I've rebooted maybe half a dozen times. I hibernate constantly, I run photoshop, play video games. It's never gotten slow or unstable.

    I haven't seen a BSOD in five years or so. Except in pictures. On this website. 



  • @Isuwen said:

    This thread makes me cry. In a good way. It's so nice to see sensible people on the internet, all I ever meet are the kinds who spell MS with a $.

     

    In the year since I've bought this laptop, I've rebooted maybe half a dozen times. I hibernate constantly, I run photoshop, play video games. It's never gotten slow or unstable.

    I haven't seen a BSOD in five years or so. Except in pictures. On this website.

    Yeah, I know what you mean.  I've used Linux exclusively on the desktop for about 6 years now, but it truly amazes me how often Linux or OS X fanboys will mindlessly trash Windows without knowing a goddamn thing about any of the three platforms.   I have my reasons for using Linux, as I imagine you have yours for preferring Windows, but I've never had any major problems with any version of Windows built on NT.  The 9x line was a complete mess, but so was every other major OS at the time.  In 1999, Mac OS looked like Windows 3.1 and crashed if you tried to do anything (co-operative multi-tasking!) and Linux looked like crap and required a significant amount of knowledge to use.

     

    I've been an avid Slashdot reader since 1998 and I think it's a good way to keep up on tech news.  Also, if you are willing to dig, there are some truly insightful, thought-provoking and educational comments.  I rarely engage in discussions there (I didn't even register an account until 2003) because there are so many mis-informed, trolling fanboys that will derail any serious discussion.  I think TDWTF is better because so many developers here make their living off of MS.  I think people in the M$ (sorry, couldn't resist) environment are far more pragmatic than a lot of Linux or OS X users, and they are willing to listen to reason because they choose their tools for practical and not ideological purposes.  Honestly, I've been flamed on Slashdot so many times I hardly even bother commenting any more, and I'm an advanced Linux user!  I've noticed that people who use Microsoft products are far less likely to engage in mindless bashing of others' choice of platform.  So, yeah, I think the TDWTF forums are a pretty decent place to engage in civilized discussion.  Let's hope it stays that way...



  • @morbiuswilters said:

    @Isuwen said:

    ...Good Stuff...

    ...Good Stuff...

     

    I'll drink to that!



  • @morbiuswilters said:

    In 1999, Mac OS looked like Windows 3.1 ...

    Odd, I don't see anything close to a similarity. I switched from 3.11 to System 7.1 and the differences were pretty profound, to a degree visually, and in particular conceptually. Mac OS and Windows 3.1 are radically different systems, especially when you're comparing Win 3.1 vs Mac OS 9.

    Granted, Mac OS 9 wasn't the prettiest system around, all chunky and grey, but it was elegant with its simplicity. Besides, by 1999 it had had 32-bit icons for a while, so that helped a lot. The only thing I wish I could hack in is a 32-bit Apple menu icon :(

    @morbiuswilters said:

    ... and crashed if you tried to do anything (co-operative multi-tasking!)

    Could you elaborate on why co-operative multitasking leads to substantial instability?

    Mac OS was unstable for at least two reasons. The kernel was very fragile -- make a broken API call and it could easily poo itself. Even having done no C coding for Mac OS in my life, I've personally discovered two API calls that, with wrong arguments, crash the system. One is an overly lengthy hostname for resolution, and the other is a negative scroll bar thumb position. Mixing up and breaking resource handles for notification would also crash the kernel.

    That is, harmless bugs in code will actually trash the internal state of the kernel and bring it all down. Mark Russinovich of SysInternals has a program that will fire a steady stream of totally random data masquerading as API calls at the NT kernel and the kernel is competent enough to field them all and just kill the program if it gets irritated enough -- this is a crucial step in preventing OS crashes. The user/kernel barrier is only worthwhile as long as the kernel sanity-checks all API calls as well as its internal state, and has solid recovery contingents if anything goes wrong. (Even Windows subsystems can easily be knocked into an irrecoverably broken state, e.g. I've managed to kill DNS resolution outright before, something to do with anti-virus.)

    Mac OS also lacked virtual memory, so all applications shared the single, flat address space (in later versions I imagine this was just one page table, so you could accomplish page swapping) so programs could easily overwrite each other and the kernel, and that would also cause major trouble.

    Co-operative multitasking though is not a cause of instability, it's just a real irritation at times.



  • @Daniel Beardsmore said:

    Odd, I don't see anything close to a similarity.

    I'm not talking about UI design, I'm talking about it's fugly, plain windows.   Check out this screenshot.  This was the state of Mac OS in 1999.  Beautiful.

     

    @Daniel Beardsmore said:

    Could you elaborate on why co-operative multitasking leads to substantial instability?

    Um, because any program that encounters a bug can consume all of the CPU resources and overwrite the memory of other programs, including the kernel?

     

    Seriously, OS 9 was ugly, slow and every other time I tried to open or close a program the whole system just stopped responding and ending up giving me a "sad Mac".  I've used all kinds of OSes and I can find something positive to say about all of them, except OS 9.  Hell, it was hard even getting pissed off when OS 9 crashed for the 10th time in the same day, because it wasn't like you were using a real computer.  It would be like getting mad at a retarded kid in a wheelchair who craps his pants, you just can't expect him to function on the same level as normal people... 

     



  • @morbiuswilters said:

    Check out this screenshot. 
     

    You mean this one?

    Forbidden

    You don't have permission to access /mac/oshistory/images/macos9.jpg on this server.

     

    Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.


    Apache/1.3.41 Server at www.kernelthread.com Port 80
     
     
     
     

     



  • I had good hopes for you as an intelligent, well-read forum contributor but your foot appears to be bullet-ridden now.

    @morbiuswilters said:

    I'm not talking about UI design, I'm talking about it's fugly, plain windows.   Check out this screenshot.

    It both amuses and saddens me that you felt the need to show me a screenshot of an OS that I'm clearly familiar with. Yes, I know what Mac OS 9 looks like. I know what Windows 3.1 looks like. I don't consider either to be fugly. Not everyone gets to marry Miss Universe and drive a Ferrari. Mac OS was rather elegant in its simplicity. By comparison, I am disturbed by the number of people who seem satisified with XP's Fisher Price theme.

    @morbiuswilters said:

    Um, because any program that encounters a bug can consume all of the CPU resources and overwrite the memory of other programs, including the kernel?

    Being able to overwrite other processes is an issue with the memory model, not the scheduling model, and resource starvation is a problem on any system. My PC has 512 MB of RAM, and when I open a Google search result that ends up being some jackass's blog archive that makes Firefox choke down 800 MB of RAM, you can bet that having a program using 100% CPU and 150% of my RAM is going to cause problems. The hard drive is pwned by all the page swapping and the system grinds to a halt as more and more apps are desperately clawing back pages of memory. I even remember Netscape spiralling out of control and nearly killing a Solaris box -- even typing "kill" at a shell was nearly impossible. I also locked Linux up hard with the old crashme.com site -- the only OS I couldn't crash with crashme.com is classic Mac OS. I miss crashme.com.

    If a Mac app does get stuck in a loop, you can kill it easily -- cmd-opt-esc. The real problem with co-operative multitasking is that frozen programs hold the system hostage until you have to make a judgement call -- has the program crashed? If you kill it now, you lose your work/workspace state. If you decide it's just taking its time, you can't get any other work done.

    The stability issues you're referring to sound far more like extension conflicts, honestly, which are a whole other matter entirely.



  • @MasterPlanSoftware said:

    You mean this one?

    Goddammit, they pulled the image after I linked to it.  Meh, just found it through GIS and was too lazy to mirror it myself. 



  • @morbiuswilters said:

    Goddammit, they pulled the image after I linked to it.  Meh, just found it through GIS and was too lazy to mirror it myself.
    Actually it's a 403 and not a 404, try copying the url and going to it manually, that tends to work better.



  • @MasterPlanSoftware said:

    @morbiuswilters said:

    Check out this screenshot. 
     

    You mean this one?

    Forbidden

    Odd, it works here...



  • @Daniel Beardsmore said:

    It both amuses and saddens me that you felt the need to show me a screenshot of an OS that I'm clearly familiar with. Yes, I know what Mac OS 9 looks like. I know what Windows 3.1 looks like. I don't consider either to be fugly. Not everyone gets to marry Miss Universe and drive a Ferrari. Mac OS was rather elegant in its simplicity. By comparison, I am disturbed by the number of people who seem satisified with XP's Fisher Price theme.

    It was more for the sake of anyone else reading the thread.  Unfortunately the image was ganked and I'm too lazy to find another.  Just GIS for "os 9".  The fact that you don't consider OS 9 and Win 3.1 to be ugly kind of scares me, but it's an aesthetic point, which means there is no right answer.  However, you are the one challenging my subjective observation.  You're free to think what you want, though.  And BTW, I hate the default XP theme.  The color scheme looks like it was designed by a blind person.  They "silver" version of Luna is a little better, but if it's my machine, I always switch to the classic theme.  IMHO, Win2K probably had about the best-looking GUI I have ever used.

     

    @Daniel Beardsmore said:

    Being able to overwrite other processes is an issue with the memory model, not the scheduling model, and resource starvation is a problem on any system.

    I think this part is arguable, but I'm not interested in persuing it.  Memory sharing is part of multitasking.  The fact that the kernel provides no mechanism to protect memory, hard disks, CPU time, etc.. and just prays a program doesn't fuck things up is the definition of "cooperative multitasking".  Even if it was only the scheduling model, there is no way in hell you can seriously compare cooperative and pre-emptive scheduling in 2008, I refuse to listen to it.  Most of the problems you refer to are with the GUI becoming unresponsive, which usually is the same as a full kernel crash to most users.  However, pre-emptive multitasking is the only option in large server environments and there it makes a big difference.  Besides, if you are running a GUI you are most likely running a desktop machine and the GUI crashing is pretty much end-game anyway.  Since GUIs don't usually run on servers (Windows being the exception), this isn't as big of a deal.  Also, Windows Server seems to handle GUI problems very well, much better than I've seen any other OS.

     

    @Daniel Beardsmore said:

    The stability issues you're referring to sound far more like extension conflicts, honestly, which are a whole other matter entirely.

    No.  The stability issues are because OS 9 was an unstable POS.  Whether you like it or not, you cannot argue it was stable in any sense of the word.  I've used it on several machines with fresh installs, it doesn't matter.  The tiniest bug in a 3rd party app brings the whole system down.  That is the definition of unstable. 

     



  • @Lingerance said:

    Actually it's a 403 and not a 404, try copying the url and going to it manually, that tends to work better.

    Yeah, what I figured was they noticed the traffic and threw up an .htaccess, but I guess they are doing referer checking instead.  They allow links from Google, though, which sucks.  I tried the copy-and-paste before posting all that to see if it was just referer checking and I still got the 403, but it was probably cached by FF.  So I guess it works if you copy the URL into a new window and make sure you ctrl-shift-R if you get the 403.. 



  • @morbiuswilters said:

    I'm not talking about UI design, I'm talking about it's fugly, plain windows.   Check out this screenshot.  This was the state of Mac OS in 1999.  Beautiful.

    I don't see anything wrong with it. It looks a lot better than Win 3.1 did. It also looks better than Win9x as it has smoother edges. I used to hate the default XP theme (the "Fisher Price" one as Daniel called it), but I've gotten quite used to it. I guess it helps that blue is my favorite color. Originally I had used the silver theme, but it just didn't "feel" right. I also tried out the Royale Noir theme, but it also had something wrong with the "feel". So, I went back to Luna.



  • @morbiuswilters said:

    The fact that the kernel provides no mechanism to protect memory, hard disks, CPU time, etc.. and just prays a program doesn't fuck things up is the definition of "cooperative multitasking"

    AmigaOS has provided pre-emptive multitasking since its inception 1985, yet it has no protected memory.



  • @Daniel Beardsmore said:

    AmigaOS has provided pre-emptive multitasking since its inception 1985, yet it has no protected memory.

    Which means the pre-emptive multitasking can just be bypassed by overwriting the kernel, defeating most of the point.  In 2008 you're not going to find many people who think memory protection is not a prerequisite for pre-emptive multitasking.  So, like I said, you can consider them separate if you want and I'm not going to engage in pointless arguing over the "true meaning" of cooperative multitasking.  At the end of the day, OS 9 still fails when it comes to protecting the hardware, other processes and the user's data from buggy code.  That point still stands and trying weasel out of it is as silly as arguing that a Pinto isn't unsafe because it has seatbelts and not-blowing-up isn't "really a safety feature, it has to do with the gas tank which is a completely separate issue.." 



  • @belgariontheking said:

    I refer you to Windows 95/98 where the wrong weather patterns could cause a BSOD.  Nine or ten in a row, in fact. 

    Translation: "Well, it wasn't robust ten years ago."

    I'm... um... not particularly impressed with that observation.

    I was an early UNIX adopter, running BSD at home for my own real work while the DOS machines were just for games and my BBS. When I got hold of this new thing called the Linux kernel in the early 1990s, I checked it out and found it to be distinctly inferior to BSD.

    It remained distinctly inferior to BSD for at least ten years. However, third-party support was ubiquitous, and it was only six or seven years before I abandoned BSD for Linux simply because I couldn't get the features I wanted on BSD.

    In large part, this was not because BSD's quality was stagnant, but because the features I wanted were changing. Apple had their chance, too; I once used a Mac, and still own a working Mac SE. But the power of the command line was just too great, and the Mac dropped to the sidelines.

    Today, I'm wholeheartedly committed to Windows. I don't find it particularly better or worse than Linux or a Mac; indeed, the Mac is now based on a BSD core, and all three platforms have something very near feature-parity. But Microsoft has been changing, and the other camps aren't. The world is different; Apple and Linux could see the future better than Microsoft could, and they took better long-term positions. But now that we're moving beyond their vision, and the world is changing yet again, only Microsoft is making any real effort to learn from their mistakes... and the other guys are sounding more and more like the OLD Microsoft every day.

    Ultimately, the choice of a computing platform today is a political decision, not a technological one. So if you're a liberal, go Linux, and if you're a libertarian, go Mac. We republicans will sit over here on Windows.

    What? It's as accurate as any other parallel I've heard. ;)



  • @CDarklock said:

    But Microsoft has been changing, and the other camps aren't.
    What specifically would make you say this? Other than that, great post.



  • I couldn't resist.

    @morbiuswilters said:



    @Daniel Beardsmore said:
    Could you elaborate on why co-operative multitasking leads to substantial instability?


    Um, because any program that encounters a bug can consume all of the CPU resources and overwrite the memory of other programs, including the kernel?



    Your right to an extent. co-operative multitasking, means that each process, must do what it has to do, then give someone else the processor(or co-operate with other tasks). The problem with this is that if a task doesn't 'co-operate', the system fails. With a preemptive multitasking, the processes are given a set time to do what it has to do. whether task is finished what it has to do, the OS switches to another task.

    This is where your wrong, operating systems (can't seem to find an article on this to confirm this) like Windows 3.1 and Mac OS, didn't use memory protection. But cooperative multitasking isn't restricted to no memory protection.

    As for the look of both Windows 3.1 and Mac OS, they look good for their time. But X looked better at that time.



  • @ZiggyFish said:

    But X looked better at that time.
     

    Yep! I know I like my GUI this way!





  • @Lingerance said:

    What specifically would make you say this?

    Years of watching them. I spent about four years as a Microsoft partner in the ISV space, and then started contracting at the MS campus. While it could certainly be argued that I am no impartial observer, I was a militant anti-MS soldier on the front ranks of the open source crowd for several years before that. What led me to give MS another shot was the work they did on XP; it really was better. It wasn't good enough yet, but it was better. Vista is a further step forward; it makes some unpopular tradeoffs, but it hasn't really made life harder or networks less secure.

    Meanwhile, Apple is starting to deliver upgrades that disable your firewall, and the Linux crowd has paid zero attention to Eric Raymond's insight on desktop domination - indeed, they've criticised him for having it, and rallied instead behind Stallman... whose vision of the future has never taken reality into account in the first place. It just doesn't seem like anyone is taking this seriously except Microsoft. Apple and the Linux crowd jump up and down with glee every time bad things happen to Microsoft, and crow from the rooftops every time they do something even slightly positive themselves, but there just doesn't seem to be a lot of strategy coming from anyone else.

    I may be wrong about Apple, who are very secretive and occasionally just blast one out of the park. Last time I predicted the inevitable death of Apple, they introduced this weird iPod thing.



  • @ZiggyFish said:

    Your right to an extent. co-operative multitasking, means that each process, must do what it has to do, then give someone else the processor(or co-operate with other tasks). The problem with this is that if a task doesn't 'co-operate', the system fails. With a preemptive multitasking, the processes are given a set time to do what it has to do. whether task is finished what it has to do, the OS switches to another task.


    And what part of my previous posts made you think I wasn't clear on this?

     

    @ZiggyFish said:

    This is where your wrong, operating systems (can't seem to find an article on this to confirm this) like Windows 3.1 and Mac OS, didn't use memory protection. But cooperative multitasking isn't restricted to no memory protection.

    Wrong.  Windows pretty much always implemented some version of memory protection.  It wasn't great, but OS 9 had none whatsoever.  Windows 95+ improved on the memory protection of 3.1.  NT always had true hardware pre-emptive multitasking and memory protection.  Additionally, cooperative multitasking can be implemented without memory protection, but preemptive multitasking reliably cannot.  That's because if you allow any process to overwrite kernel space you lose any guarantee of reliable scheduling.  Since the entire fucking point of pre-emptive multitasking is to protect processes from bugs in other processes, pre-emptive multitasking without memory protection is completely useless.  This is not rocket science, it was settled by UNIX and its ancestors almost 40 years ago.  Let it go.

     

    @ZiggyFish said:

    As for the look of both Windows 3.1 and Mac OS, they look good for their time. But X looked better at that time.

    OS 9 was released 4 months before Windows 2000.  For its time, Windows 3.1 was fine but you cannot be seriously suggesting that OS 9 was anything but pathetic for a mere nine years ago.  Gnome and KDE (not X) were pretty decent by 1999, but still not up-to-par with Windows 2000.  Once again, it's an aesthetic point and if you think OS 9 looks better than Win2k, that's your opinion.  But to imply that they were anywhere close to one another in the late 90s is bullshit.



  • @morbiuswilters said:

    Wrong.  Windows pretty much always implemented some version of memory protection.  It wasn't great, but OS 9 had none whatsoever.  Windows 95+ improved on the memory protection of 3.1.  NT always had true hardware pre-emptive multitasking and memory protection.  Additionally, cooperative multitasking can be implemented without memory protection, but preemptive multitasking reliably cannot.  That's because if you allow any process to overwrite kernel space you lose any guarantee of reliable scheduling.  Since the entire fucking point of pre-emptive multitasking is to protect processes from bugs in other processes, pre-emptive multitasking without memory protection is completely useless.  This is not rocket science, it was settled by UNIX and its ancestors almost 40 years ago.  Let it go.

    Wrong, here's afew references for you.

    Quote from http://burks.brighton.ac.uk/burks/foldoc/28/72.htm 

    The effectiveness of memory protection varies from one operating system to another. In most versions of Unix it is almost impossible to corrupt another process' memory, except in some archaic implementations and Lunix (not Linux!). Under Microsoft Windows (version? hardware?) any 16 bit application(?) can circumvent the memory protection, often leading to one or more GPFs. Currently (April 1996) neither Microsoft Windows 3.1, Windows 95, nor Mac OS offer memory protection. Windows NT has it, and Mac OS System 8 will offer a form of memory protection.

      From Wikipedia

    Windows 3.x requires pre-installation of MS-DOS (or a compatible operating system), which must be booted on PC startup. Windows is started as an application program, and can be terminated at any time, returning the user to the MS-DOS prompt. MS-DOS also provides device drivers for certain tasks such as CD-ROM or network access, specifically remote disk drive or remote printer access; these drivers run in real mode. In 386 enhanced mode of Windows for Workgroups, the networking drivers are running in protected mode. Windows requires specifically written applications, and has a specific on-disk file format, which is much more complicated than the format of MS-DOS executables. It has many of its own device drivers and for the most part its own memory management system.

    Other considerations include the fact that MS-DOS does not isolate applications from the hardware and does not protect itself from applications. The memory-resident part of MS-DOS is akin to a library of routines for dealing with disk-type peripherals and loading applications from them; an MS-DOS program is free to do whatever it desires, notably replacing or bypassing part or all of MS-DOS code, temporarily or permanently—Loadlin uses this very method to boot the Linux kernel from DOS. Windows took advantage of this, and the degree to which bypassing is performed increases with most newer releases. Windows 3.1 and its 32-bit Disk Access superseded the BIOS code for accessing disks, while 32-bit File Access of Windows for Workgroups 3.11 bypassed the native MS-DOS code for accessing files. This opened the way for Windows 95's support for Long File Names, which made DOS file code and related 8.3 filename utilities obsolete.



  • @ZiggyFish said:

    trolly trolly troll troll

    What's the matter ZiggyFish.  Didn't you like the sign I made for you? 



  • Your first reference is just wrong.

     

    Windows 3.x had a form of memory protection.  Like I said, it wasn't great, but Mac OS never had any.  DOS programs and drivers could corrupt the OS, but as long as you were running in protected mode, you were pretty much safe.  Most of the Wikipedia article you posted refers to DOS, not to Windows.  If you were coding against the Windows APIs, you were using protected memory.  Nobody is arguing that non-NT Windows had fantastic memory protection or process isolation, but it had virtual memory and could catch invalid page faults.  Like most OSes, the drivers generally ran in the kernel and therefore were not protected.  Also, it did provide a remarkable level of protection for a desktop OS, especially compared to its competitors at the time.



  •  Here is a simple factual reference, instead of the FUD being spewed by the *nix fanboy....

    From: http://en.wikipedia.org/wiki/Memory_protection

    @TFA said:

    Memory protection in different operating systems

    There are very few operating systems that do not use some form of memory protection. CP/M and all variants of MS-DOS lacked it. Even then, early versions of Microsoft Windows implemented memory protection on top of DOS.

    Some operating systems that do implement memory protection include


    All that said, we already knew our new little fanboy was wrong, but the real question is this:

    If no one would ever take him serious, why does anyone even bother to argue with him anymore?

     

    He already does an excellent job of flagging himself as a useless troll, let's let it go at that. No one will mistakenly take him seriously here...



  • @MasterPlanSoftware said:

     Here is a simple factual reference, instead of the FUD being spewed by the *nix fanboy....

    The primary variety of memory protection implemented in Windows 3.1 was called the "General Protection Fault". If a process tried to use "protected" memory, it crashed. Indeed, it could crash your whole system and require a reboot. And thus, the memory was protected. Your WORK wasn't protected, but it's not called protected WORK, is it?

    The GPF was in turn a new version of the "Unrecoverable Application Error" and would later be itself split into several more detailed errors... so it didn't look like the same problem all the time. Thanks to compatibility, if you had a Windows 3 program that could reliably produce a sufficiently severe UAE, moving it to 3.1 and 95 would show you that the exact same problem still crashed Windows handily... it just gave you a different error before you had to reboot.

    You can point your finger anywhere you like to lay the blame, but as memory protection goes, Windows (of the non-NT variety) had just about the worst you could get (short of not having any) until roughly the year 2000.

    Which is still an awfully long time ago, so I don't see the point in complaining about it, but the complaint is still accurate. Windows didn't implement decent memory protection for close to 20 years. I'm perfectly capable of going on to argue that what Microsoft did with Windows was still awesome, but I'll stop now. ;)

     



  • @belgariontheking said:

    @ZiggyFish said:

    trolly trolly troll troll

    What's the matter ZiggyFish.  Didn't you like the sign I made for you? 

    Ah yes, one of the rare "post on-topic references from Wikipedia" trolls. I think you've been hanging out with MasterPlanSoftware too much.



  • @MasterPlanSoftware said:

     Here is a simple factual reference, instead of the FUD being spewed by the *nix fanboy....

    From: http://en.wikipedia.org/wiki/Memory_protection

    @TFA said:

    Memory protection in different operating systems

    There are very few operating systems that do not use some form of memory protection. CP/M and all variants of MS-DOS lacked it. Even then, early versions of Microsoft Windows implemented memory protection on top of DOS.

    Some operating systems that do implement memory protection include


    And where does it explicitly say that Windows 3.1 has real memory protection (meaning using PFs).

    @MasterPlanSoftware said:

    All that said, we already knew our new little fanboy was wrong, but the real question is this:

    If no one would ever take him serious, why does anyone even bother to argue with him anymore?

    He already does an excellent job of flagging himself as a useless troll, let's let it go at that. No one will mistakenly take him seriously here...

    I won the last battle (I proved my point), so who flags them them self as a 'useless troll'.

    But on another note, Windows was always designed for the simplicity, where as Linux was designed for stability. And as such Linux will always be more stable then windows (I can give you tons of articles showing (and often stating) this). Although it may seem like I'm bashing windows, the first comment I made was simply stating that (it was never meant to be flame bait).

    Let me make it clear, Windows has some good points (and some bad), but whether it's business or not, Microsoft doesn't want competition (have a look at most things (OOXML comes to mind) Microsoft has produced, and you will see), and as such I don't want anything to do with Microsoft. And we need to recognize what Microsoft is doing, and force Microsoft to make a better product.

    Linux ATM, I don't think is grandma ready(still have a lot to go before then), but Linux is getting better and better everyday, and more and more people are switching to Linux (or in the case of Mac, BSD), and making a bigger community (which is it's biggest strength).  It's only just become usable in the last couple of years.



  • @ZiggyFish said:

    But on another note, Windows was always designed for the simplicity, where as Linux was designed for stability. And as such Linux will always be more stable then windows (I can give you tons of articles showing (and often stating) this). Although it may seem like I'm bashing windows, the first comment I made was simply stating that (it was never meant to be flame bait).

    I still hoping I'll see one day an educated explanation what secret souce Windows (NT-based) lacks that **x based OS's posess, that makes **x inherently more secure and stable. But my hopes are getting lower. I know Windows insides. I know Unix/Linux insides, but not as thoroughly.

    Other than hordes of uneducated users rinning with Administrative privileges and installing all the crap that comes by, and lots of crappy software that requires Admin privileges to run (that's the reason the users are created as Admins by default), what's the secret? Enlighten me, please. And, please, don't mention Shatter attack. X Window system also has its http://www.securityfocus.com/bid/27350



  • @CDarklock said:

    The primary variety of memory protection implemented in Windows 3.1 was called the "General Protection Fault". If a process tried to use "protected" memory, it crashed. Indeed, it could crash your whole system and require a reboot. And thus, the memory was protected. Your WORK wasn't protected, but it's not called protected WORK, is it?

    The GPF was in turn a new version of the "Unrecoverable Application Error" and would later be itself split into several more detailed errors... so it didn't look like the same problem all the time. Thanks to compatibility, if you had a Windows 3 program that could reliably produce a sufficiently severe UAE, moving it to 3.1 and 95 would show you that the exact same problem still crashed Windows handily... it just gave you a different error before you had to reboot.

    You can point your finger anywhere you like to lay the blame, but as memory protection goes, Windows (of the non-NT variety) had just about the worst you could get (short of not having any) until roughly the year 2000.

    Which is still an awfully long time ago, so I don't see the point in complaining about it, but the complaint is still accurate. Windows didn't implement decent memory protection for close to 20 years. I'm perfectly capable of going on to argue that what Microsoft did with Windows was still awesome, but I'll stop now. ;)

     


    Wrong, wrong, wrong, wrong.  Windows 1.0, 2.0 and DOS could all run in protected mode.  Protected mode causes a hardware interrupt on invalid memory access that can be handled by the kernel.  This usually results in the kernel terminating the program.  This is the same basic mechanism that all modern OSes that run on x86 utilize to protect memory.  If you get an invalid memory access in Linux, it will terminate the program as well (segfault).  Technically, POSIX standards state that a signal (SIGSEGV) that should be sent to a program on invalid memory access.  Usually this is only used to trigger a core dump and the program still exits, losing your data.  This is the proper behavior -- if a program accesses an invalid memory address it has a serious bug and continuing execution can result in far worse problems than simple process termination.  Windows NT has a compatibility layer (SFU) that makes it mostly POSIX compliant, but I don't know if it implements SIGSEGV.

     

    Starting with Windows 2.1, many "real mode" (unprotected memory) DOS applications could be run in protected mode by utilizing a feature of the 80838 processor called Virual 8086 mode (which was removed from x64 processors when in long mode).  These apps would essentially think they were running in real mode but the processor would transparently pass memory management to the protected mode kernel.  This allowed Windows 2.1 binary compatibility with older real mode apps without comprimising the stability of the reast of the system.

     

    Starting with Windows 3.0 in 1990, Microsoft started utilizing the paging feature of the 80386 microprocessor to implement memory protection.  In technical detail, paging is quite a bit different than segmentation, but from an end-user perspective it is about the same: both are forms of memory protection, paging just has many more advantageous features.  Paging stayed with Windows up through the 9x and NT line and is used in all modern operating systems.  Older versions of Windows would often report a variety of end-user error messages for invalid page faults such as "general fault protection", "invalid page fault" or "an unrecoverable error has occurred".  UNIX derivatives still report "segmentation fault" because UNIX users cling tightly to their legacy.  In reality, segmentation is not used for any modern operating systems, although it is used for some virtualization layers (such as VMWare), a fact I learned today.

     

    Prior to Mac OS X (released in 2000), no variant of Mac OS utilized segmentation or paging.

     

    Both segmentation and paging fall under the umbrella of protected mode.  Microsoft utilized segmentation and paging as soon as it became feasible given the hardware they were working with.  "Protected mode" really wasn't that useful until the 80386 processor came out in 1985 (the segmentation provided by the 80286 was slow, buggy and very difficult to use).  This means Microsoft utilized memory protection 15 years before Mac OS did and has been utilizing it for 23 years.

     

    Finally, many of the system instabilities of the non-NT Windows line were caused by the kernel itself.  Windows started out as a bolt-on addition for DOS and eventually the Windows kernel grew into a monstrosity.  There was little internal separation from DOS legacy code, device drivers and the Win32 API.  Additionally, Windows retained support for 16-bit programs and drivers for quite some time, which resulted in the kernel becoming a buggy mess.  Microsoft liked to add undocumented APIs to the kernel for their own products to use, which made the problem worse.  Oftentimes IE or Office would call out to the kernel to handle some piece of their functionality.  The result was that the stability of the kernel itself was highly dependent on the stability of these applications.  This meant that a crash of IE had the potential to take down the whole system.  This was no longer a problem with NT because drivers, filesystems, the Win32 API and the GUI are all fairly abstracted from each other and only interact through well-defined internal kernel APIs.  In fact, in the early versions of NT many drivers and kernel services ran as user mode processes, which provided an added level of stability at a major cost in performance.  Microsoft eventually integrated most of these elements into the kernel, transforming it from a microkernel into a monolithic kernel (albeit a very segregated one).



  • Oh, and while we at the squirting contest, here is a little trivia. In what year/version the following features were supported in Windows NT+ and in Linux or your favorite Unix:

    1. Multithreading;

    2. SMP.

    3. Preemptive (multithreaded) kernel

    4. Multiprocessor kernel.

    5. Support for RAM larger than 1 GB.

    6. Support for files larger than 4GB.

    7 Support for RAM larger than 4 GB.

    8. Fail-safe filesystem.

    9. Filesystem support for transactions (at multi-file level).

    10. Volume shadow copies.

    11. Asynchronous I/O.

     



  • @ZiggyFish said:

    And where does it explicitly say that Windows 3.1 has real memory protection (meaning using PFs).

    Read my post above.  Memory protection includes segmentation and paging.  Windows 3.0 and beyond supported paging.

     

    @ZiggyFish said:

    I won the last battle (I proved my point), so who flags them them self as a 'useless troll'.

    I don't know what you are referring to here, but it makes me think you are more interested in pissing matches than actual facts.  Also, using the general quality of both of your posts as an indication of technical capability, I would say it is unlikely you proved MPS wrong, but even if you did it is still irrelevent to this discussion.

     

    @ZiggyFish said:

    But on another note, Windows was always designed for the simplicity, where as Linux was designed for stability. And as such Linux will always be more stable then windows (I can give you tons of articles showing (and often stating) this). Although it may seem like I'm bashing windows, the first comment I made was simply stating that (it was never meant to be flame bait).

    Non-NT Windows was a consumer OS and compatibility, speed, price, eye candy and features took a back seat to stability, but they were still quite stable compared to the other desktop OSes of the time.  Comparisons to UNIX are not fair as DOS/Windows was never originally meant to be a business OS.  However, over time stability did become a selling point for consumers and Microsoft shifted focus.

     

    NT was originally designed to be a business OS and was built for portability and rock-solid stability.  It has an extremely powerful and robut architecture that remains unrivaled in the kernel world.  Linux was started as a college student's project to learn about memory protection with hands-on experience.  Over time Linux got corporate backing and grew to be quite mature and stable but the primary focus is still on flexibility and openness.  Linux distributers like Red Hat and Novell often focus on stability by patching the mainline kernel builds to remove new, unstable features and to restore widely-used, deprecated features, but maintaining backwards compatiblity (which is just another type of stability) is definitely not part of the kernel maintainer's primary focus.  Microsoft eventually ported the Win32 API to run on NT and the result was a very stable OS that would work with most hardware and software users had.  One of the cool things about NT is that it can actually run different APIs on top of the same kernel, which means you can have a UNIX API running UNIX programs next to a Win32 API running Windows programs.  In fact, Microsoft has just such a product (SFU).  For obvious reasons, Microsoft hasn't put a lot of effort into promoting it or adding features to it, but it is still quite neat and hints at the power that lies at the core of NT.

     

    The Linux method of kernel development is often quick, dirty and bleeding-edge.  It results in some very cool kernel features becoming reality in short order, but it also often results in a loss of backwards-compatibility.  New features tend to be unstable and even potentially full of security holes.  I would definitely entertain the argument that the Linux method has many advantages over the NT method of a very thorough, stable, compatible and well-architected kernel.  For one, end-users such as yourself rarely get the really unstable kernel features because distro maintainers patch the kernel so it is more suitable for mainstream use.  Also, the Linux method leads to quick feedback, high-visibility of problems and quick resolution of bugs.  Anyway, this has gotten a bit off-track, but my point is that if any OS was designed for stability it was NT.



  • @morbiuswilters said:

    In reality, segmentation is not used for any modern operating systems

    Acrually, x86 Windows uses FS: to access per-thread storage and exception handler chain linkage. Think of it as a hidden base register. X64 uses a dedicated register for that.

    @morbiuswilters said:

    Oftentimes IE or Office would call out to the kernel to handle some piece of their functionality.

    That's BS. All applications call out to kernel to handle some piece of their functionality. By using a syscall or like that.

    The problem with Win9x was that there was shared memory starting at 0 to 0x100000, which was not protected. Some parts of kernel space were not protected, too. That all was too fragile.

     



  • @alegr said:

    Acrually, x86 Windows uses FS: to access per-thread storage and exception handler chain linkage. Think of it as a hidden base register. X64 uses a dedicated register for that.

    Yes, I know this, but it's obvious from my post that I meant as a segmentation as a memory protection mechanism.  Actually, both the GS and FS registers exist in x64 procs because of Windows using them, although I assume this will be deprecated at some point.

     

    @alegr said:

    That's BS. All applications call out to kernel to handle some piece of their functionality. By using a syscall or like that.

    The problem with Win9x was that there was shared memory starting at 0 to 0x100000, which was not protected. Some parts of kernel space were not protected, too. That all was too fragile.

    All applications? 

    int main() {

        return 0;

    Once again, you know what I meant.  Obviously any useful application makes use of system calls, but Microsoft added undocumented system calls to handle for IE and Office.  Inherently, this isn't so bad, but given the already fragile Windows 9x kernel, it resulted in IE or Office bugs occasionally crashing the system.  Obviously, it is very bad for any system call to result in a kernel panic.  The tight integration of IE with the kernel was a source of many instabilities and security problems.  NT cleared this up because it provided much better isolation between OS layers.  Also, Apple uses undocumented APIs for many of its applications.  I don't think there's anything wrong with that, so long as the kernel is protected from bugs in the calling applications.

     

    Any other nits you would like to pick? 



  • Just gonna do NT and Linux here... 

     

    @alegr said:

    1. Multithreading;

    NT: 1993, always supported

    Linux: 2003 for native, there were various other threading libraries available beforehand.  Threads aren't as big in the UNIX world as the Windows world.

     

    @alegr said:

    2. SMP.

    NT: 1993, always supported so long as you had the cash for the higher-end versions.

    Linux:  1996 (version 2).  Due to the mutex mechanisms used, SMP in Linux wasn't very scalable until version 2.6 (2003).

     

    @alegr said:

    3. Preemptive (multithreaded) kernel

    Uh, preemptive kernel or preemptive multitasking?

    NT: Never (PK). 1993 (PM)

    Linux: 2003 (PK), I believe.  1991 (PM), AFAIK it was always supported.

     

    @alegr said:

    4. Multiprocessor kernel.

    Since you mentioned SMP above, I guess you mean NUMA?

    NT: 2003, I believe.

    Linux: 2003

     

    @alegr said:

    5. Support for RAM larger than 1 GB.

    NT: 1996, version 4.0.

    Linux:  2001, for x86 without any nasty patches.

     

    @alegr said:

    6. Support for files larger than 4GB.

    NT: 1993 (NTFS)

    Linux: 1993 (ext2) 


    @alegr said:

    7 Support for RAM larger than 4 GB.

    NT: 2000.

    Linux: 2001, for x86 without any nasty patches.

     

    @alegr said:

    8. Fail-safe filesystem.

    NT: 1993 (NTFS)

    Linux: 1994 (XFS) 

     

    @alegr said:

    9. Filesystem support for transactions (at multi-file level).

    NT: 2006 (Vista)

    Linux: Not yet.  ZFS support is forthcoming. 

     

    @alegr said:

    10. Volume shadow copies.

    NT: 2001 (XP)

    Linux: 2003 with LVM2 (EVMS was available earlier as an add-on from IBM)

     

    @alegr said:

    11. Asynchronous I/O.

    NT: 1993

    Linux: 2003.  Not as important on Linux as the kernel has supported mmap and other methods for handling i/o for awhile.



  • @morbiuswilters said:

    @alegr said:

    3. Preemptive (multithreaded) kernel

    Uh, preemptive kernel or preemptive multitasking?

    NT: Never (PK). 1993 (PM)

    Linux: 2003 (PK), I believe.  1991 (PM), AFAIK it was always supported.

    NT kernel has always been preemptive, which means threads running in kernel mode could be preempted, just like in user mode. Multiple processes at the same time might be performing kernel calls (reentrant kernel). Linux kernel was non-reentrant for quite long time; because of that it was also non-preemptive.

    And of course, preemptive multitasking was always supported from the beginning, even though the particular question was not about it.

    @morbiuswilters said:

    @alegr said:

    8. Fail-safe filesystem.

    NT: 1993 (NTFS)

    Linux: 1994 (XFS) 

    I've read that support for SGI's XFS was included only in 2.6 kernel (2003).

     



  • @morbiuswilters said:

    Microsoft added undocumented system calls to handle for IE and Office. 

    Do you have proof?

    Just interested.


Log in to reply