View Full Version : Something has gone horribly wrong at Microsoft!
Tsukasa Buddha
21st July 2008, 03:57 PM
So today I try to play my midi keyboard, and my computer doesn't recognize it. I look in the control panel and find it under hardware and it says it is working incorrectly. I hit troubleshoot and tell it to look on the internet. It installed stuff. Five minutes later and...
My keyboard is working!
This is impossible! That is never supposed to work!
Ahhh, my worldview has imploded upon itself, the very fabric of the universe is tearing!
Rasmus
21st July 2008, 04:00 PM
Something has gone horribly wrong at Microsoft!
Yes, it was called "MS DOS" and things went downhill from there.
(Sorry, but that was too tempting ... I'll go get my coat)
IMST
21st July 2008, 04:33 PM
Apple is cool. Their brand message is much more resonant with your demographic. Check out all those happy Mac users. You don't want to be the balding guy in a suit do you? Be the hot boy with the Mac. You want to conform to perceived peer pressure.
(Sorry, I'm trying to expand out of my normal recruit-for-a-toaster business)
Soapy Sam
21st July 2008, 04:48 PM
Actually, I believe it was called "QDOS" till WGIII bought it.
I rather liked DOS.
For me everything went to pot with Windows.
TheDaver
21st July 2008, 06:20 PM
Microsoft Windows:
32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.
I had to copypasta it.
Gagglegnash
21st July 2008, 06:47 PM
Hi
Is it a USB connector keyboard or that odd-ball DB15 thing?
Gate2501
21st July 2008, 07:42 PM
Wow, that is pretty crazy... I never use that function anymore because I found it to be effective 0% of the time.
In other news my windows vista has been running rather well aside from some boot errors.
Running Crysis on full HIGH settings about 60fps.
Windows isn't ALL bad.
fullflavormenthol
21st July 2008, 08:02 PM
Well MS has gotten a lot of their stuff together recently. With Vista I was able to network my Mac and PC solely from Finder...WTF? That isn't supposed to happen at all. My work flow between the computers has increased 10 fold and I am now finally productive on my set up. Between Leopard and Vista I am able to easily work between 3ds Max, Final Cut and Photoshop with little problem.
I am just happy to be done with the days of constaint switching of flash drives, and spending hours configuring a network with the systems.
Wudang
22nd July 2008, 01:43 AM
Surely a sign that we are in the end times.
Father Dagon
22nd July 2008, 03:07 AM
So today I try to play my midi keyboard, and my computer doesn't recognize it. I look in the control panel and find it under hardware and it says it is working incorrectly. I hit troubleshoot and tell it to look on the internet. It installed stuff. Five minutes later and...
My keyboard is working!
This is impossible! That is never supposed to work!
Ahhh, my worldview has imploded upon itself, the very fabric of the universe is tearing!What did you do before the keyboard went haywire?
erlando
22nd July 2008, 03:22 AM
Well MS has gotten a lot of their stuff together recently. With Vista I was able to network my Mac and PC solely from Finder...WTF? That isn't supposed to happen at all. My work flow between the computers has increased 10 fold and I am now finally productive on my set up. Between Leopard and Vista I am able to easily work between 3ds Max, Final Cut and Photoshop with little problem.
That's funny. I find it to be directly opposite. With XP sharing was no problem. With Vista? Forget it. No matter what I do the Vista machine is not sharing anything.
Vista is the worst thing that's happened to desktop computing since Windows ME. Maybe ever.
technoextreme
22nd July 2008, 07:14 AM
Wow, that is pretty crazy... I never use that function anymore because I found it to be effective 0% of the time.
I find it effective about 90% of the time. And that 90% of the time Im installing hardware that is so exotic you probably have no clue what it is unless your an engineer..:)
leo-rcc
22nd July 2008, 08:11 AM
I found MS was improving a great deal. After dumping the whole Win'98 and Win ME side of the OS line, and focussing on W2k and XP the quality was getting better and better.
The fact that XP is still preferred over Vista proves that XP, specially after SP2 and now SP3 is forfilling its taks very well.
Most systems here in the company are on XP, Win2000 and some on Vista. All work great, even though the W2k machines need replacing (6 years of duty is plenty). Of course the odd system crash is to be expected, I have never encountered a platform that didn't (and yes that includes Linux). 90% of the time that was either due to hardware failure, or network going down at the wrong time. It has only been rarely that the OS itself was at fault.
That said, I use Ubuntu 8.04 on my personal pc and Vista Business at work, both work like a charm. It depends on what you use it for I suppose. So far my Blackberry crashes more frequent than any of my other computers.
Jimbo07
22nd July 2008, 09:24 AM
Microsoft Windows:
32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.
I had to copypasta it.
Windows NT, 2000, and XP heritage I thought were native 32-bit OSs. :confused:
Windows 95 was a 32-bit wrapper, but I thought both DOS and Windows 3.1 were 16-bit. In fact, DOS was released for the 8086 (which was a 16-bit micro and the 8088 was the same, but had an 8-bit external bus). The only 4-bit micro I know of in that lineage was the 4004, and I don't think DOS was ever designed for it.
Gagglegnash
22nd July 2008, 10:12 AM
Hi
Windows NT, 2000, and XP heritage I thought were native 32-bit OSs. :confused:
Windows 95 was a 32-bit wrapper, but I thought both DOS and Windows 3.1 were 16-bit. In fact, DOS was released for the 8086 (which was a 16-bit micro and the 8088 was the same, but had an 8-bit external bus). The only 4-bit micro I know of in that lineage was the 4004, and I don't think DOS was ever designed for it.
http://home.comcast.net/~alsohlstrom/FogLeg.gif
It's jo - I say - it's a JOKE son!
Jimbo07
22nd July 2008, 10:18 AM
Hi
It's jo - I say - it's a JOKE son!
I know... but the last bits about the 2-bit and 1-bit would have been funnier if the 8-bit and 4-bit parts had been true! It would have been cool on more levels...
richardm
22nd July 2008, 10:30 AM
That's funny. I find it to be directly opposite. With XP sharing was no problem. With Vista? Forget it. No matter what I do the Vista machine is not sharing anything.
Vista is the worst thing that's happened to desktop computing since Windows ME. Maybe ever.
Yesterday my wife's Eee PC connected to our Vista box with no problems whatsoever. Perhaps it's just you? ;)
ddt
22nd July 2008, 12:17 PM
Windows NT, 2000, and XP heritage I thought were native 32-bit OSs. :confused:
Apart from the "it's a joke": you're right.
Windows 95 was a 32-bit wrapper, but I thought both DOS and Windows 3.1 were 16-bit. In fact, DOS was released for the 8086 (which was a 16-bit micro and the 8088 was the same, but had an 8-bit external bus). The only 4-bit micro I know of in that lineage was the 4004, and I don't think DOS was ever designed for it.
DOS (originally QDOS) was indeed for the 16-bit 8086 processor. It was a rewrite of CP/M, which was targeted at the 8-bit 8080 (IIRC) and Z-80. The 8080 on its turn was backward compatible with the 4004. Machine code originally written for the 4004 still runs on the P-4. :p
Jimbo07
22nd July 2008, 12:35 PM
The 8080 on its turn was backward compatible with the 4004.
You sure about that? From Wiki on the 8008,
The Intel 8008 ... was commissioned by Computer Terminal Corporation to implement an instruction set designed for their Datapoint 2200 programmable terminal. ... even the x86 architecture (originally a non-strict extension of the 8085) loosely resembles the original Datapoint 2200 design (every instruction of the 8008's instruction set has a direct equivalent in the 8080's larger instruction set and Intel Core 2's even larger instruction set, although the opcode values are different in all three).
The only reference to the 4004 was one of speed...
ddt
22nd July 2008, 05:15 PM
The 8080 on its turn was backward compatible with the 4004.
You sure about that? From Wiki on the 8008,
Hmmm.... no. Heard it a couple of times and never checked it. I can't find any link with specifics how the ISA's of the 4004 and the 8008/8080 compared.
Thanks for challenging it. Another myth shattered :o
Gazpacho
22nd July 2008, 05:28 PM
It's jo - I say - it's a JOKE son!
It stops being a joke when people write it into published books as history.
Windows 95 was an operating system. It had a Windows scheduler, Windows virtual memory, and Windows drivers. Raymond Chen explains the role of DOS in Windows 95 here (http://blogs.msdn.com/oldnewthing/archive/2007/12/24/6849530.aspx).
Jimbo07
22nd July 2008, 09:12 PM
Thanks for challenging it. Another myth shattered :o
I'd say PWNED, except
i) I looked it up for my own information, and
ii) kids who use words like PWNED probably don't care much for 30-year-old processors anyway. :(
...
Without looking it up, but having implemented a 4-bit processor on an FPGA for a class, I'd suggest that there is no point going from a 4-bit to an 8-bit processor unless you were going to totally redesign the instruction set in the first place!
ddt
23rd July 2008, 06:24 AM
Without looking it up, but having implemented a 4-bit processor on an FPGA for a class, I'd suggest that there is no point going from a 4-bit to an 8-bit processor unless you were going to totally redesign the instruction set in the first place!
I can't say I have ever designed a processor - the most complicated I've dabbled with in hardware were TTL counters like the 7490. From the other side, I've written assemblers. In particular, I've seen the MIPS ISA extensions for 64-bit (from a 32-bit original). It just included, e.g., an extra DADD ("double add") which does a 64-bit addition, whereas the ADD still did the addition 32-bit - so the result was always a 32-bit number. That does make sense to me: in your higher level language (C, Java, whatever) you still want to have a 32-bit, 2s-complement, signed integer type, as that's what you've been using all along.
The wiki page quote you gave does say that, though there is no binary compatibility, all instructions from the 8-bit 8008 do have an equivalent in the 64-bit Core Duo - so if you take an assembly program for the 8008 and put it through a sed or Perl-script which does the rewrite, you have an assembly program for the Core Duo.
So extending an instruction set, as opposed to redesigning it, does make sense for me - at least for those sizes we're still using (8, 16, 32 and 64 bit). And when you're using BCD (used, e.g., in COBOL), the 4 bit instructions also still make sense.
aggle-rithm
23rd July 2008, 06:40 AM
Microsoft Windows:
32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.
I had to copypasta it.
Except that they now have 64-bit extensions to the 32-bit extensions.
Here's another one:
"At Microsoft, Quality is Job Point-One!"
aggle-rithm
23rd July 2008, 06:44 AM
It stops being a joke when people write it into published books as history.
Windows 95 was an operating system. It had a Windows scheduler, Windows virtual memory, and Windows drivers. Raymond Chen explains the role of DOS in Windows 95 here (http://blogs.msdn.com/oldnewthing/archive/2007/12/24/6849530.aspx).
There was a surprising amount of debate about this...many people I knew argued that Windows 95 was just an application running in DOS, like 16-bit Windows. I think the confusion stemmed from the rumors that there was still code from the legacy version of Windows in the new version.
ddt
23rd July 2008, 07:59 AM
Windows 95 was an operating system. It had a Windows scheduler, Windows virtual memory, and Windows drivers. Raymond Chen explains the role of DOS in Windows 95 here (http://blogs.msdn.com/oldnewthing/archive/2007/12/24/6849530.aspx).
Thanks for the link. It leaves me with some questions, though, mostly of a technical nature.
1) Why did Microsoft decide to build an entirely new OS? It had developed two quite stable OS-es for the 386 architecture before - both multi-user multi-tasking systems - NT 3 and Xenix. Then why build a new one which isn't multi-user; and from a technical standpoint, I can't see a big performance loss in having the kernel administer to whom the application belongs.
2) Isn't MS-DOS a bit overkill for just a bootloader?
3) Chen mostly focuses on "file system drivers". Does he mean "block device drivers" - i.e. drivers for disk drives, CD-ROMs and disk controllers. "file system drivers" in my (Unix) lingo means the drivers that interpret the bytes from a disk into a file system structure.
4) When I read correctly, Windows-95 still lets legacy MS-DOS drivers fiddle with the interrupt vectors. That seems a bit dangerous to me - I'd rather forbid them from doing that and handle the exception that comes from a legacy driver trying to do something forbidden.
Jimbo07
23rd July 2008, 08:22 AM
I can't say I have ever designed a processor - the most complicated I've dabbled with in hardware were TTL counters like the 7490. From the other side, I've written assemblers.
Just as good. In fact, once the assembly language is spec'd, the hardware takes a mere semester to implement! :D In this case, it was the same assembly language the professor had used in previous iterations of the class. In fact, while one of our first assignments included an exercise to change assembler statements into machine code by hand, one of his previous top students had come back and written an "assembler" for him, which we used for subsequent assignments!
So extending an instruction set, as opposed to redesigning it, does make sense for me - at least for those sizes we're still using (8, 16, 32 and 64 bit). And when you're using BCD (used, e.g., in COBOL), the 4 bit instructions also still make sense.
Once you leave the 8-bit realm, I'm really only familiar with higher-level languages. One of my tougher projects in another class inadvertently involved manipulating 16-bit data with 8-bit registers. Ugh! I mean, there are solutions out there (which I basically pilfered, with proper citation, because it wasn't a learning point of the assignment).
I can see extending a 32-bit instruction set, in part because there is a lot of room in 32-bit instructions in the first place. On the other hand, 4-bit instructions really require the designer to think hard about the op-codes, because of the inherent limitations.
ETA: I should be careful with that last statement. Of course, in theory, designers would want to think very carefully about a 32-bit instruction set, in order to maximize a processor's potential. Lacking that experience, the stories I have read leave me with the impression that x86-32 involves instructions being stapled/kludged/shoehorned into an already existing architecture.
Gazpacho
25th July 2008, 12:45 AM
1) Why did Microsoft decide to build an entirely new OS? It had developed two quite stable OS-es for the 386 architecture before - both multi-user multi-tasking systems - NT 3 and Xenix.
NT required more expensive hardware than people were willing to pay for at the time. Xenix didn't offer any legacy compatibility (again, on hardware people were willing to pay for at the time).
2) Isn't MS-DOS a bit overkill for just a bootloader?No, because it was already written and it had to be there anyway for legacy compatibility.
3) Chen mostly focuses on "file system drivers". Does he mean "block device drivers" - i.e. drivers for disk drives, CD-ROMs and disk controllers. "file system drivers" in my (Unix) lingo means the drivers that interpret the bytes from a disk into a file system structure.He appears to be talking about the part of the operating system that implements the concept of a file
4) When I read correctly, Windows-95 still lets legacy MS-DOS drivers fiddle with the interrupt vectors. That seems a bit dangerous to me - I'd rather forbid them from doing that and handle the exception that comes from a legacy driver trying to do something forbidden.As I read it, Windows 95 allowed MS-DOS code to change interrupt vectors on a virtual machine, not the physical machine. Wedging into interrupts was fundamental to any kind of DOS extension, and it wasn't just drivers extending DOS but a huge number of applications as well.
Gazpacho
25th July 2008, 01:12 AM
I think the confusion stemmed from the rumors that there was still code from the legacy version of Windows in the new version.
In the sense of source code, I suppose there was. A lot of code that implements the Windows API runs in user mode.
wuschel
25th July 2008, 06:24 PM
In the sense of source code, I suppose there was. A lot of code that implements the Windows API runs in user mode.Actually, "Windows" and "NT" are two different animals. "Windows" was an OS effort by Microsoft that started in the 80's and always had a 16 bits heritage, whereas "NT" was a 32 bit OS kernel originally written by Dave Cutler (of DEC at that time) - and bought by Microsoft. "Windows NT" or "Windows/NT" originally just meant a Win32 personality on top of "NT" (there's also a completely independent Posix subsystem, but who cares...)
What I'm trying to say is that any NT based Windows arguably is just a Windows emulator sitting on top of an "NT" OS kernel.
And all of the Win32 personality is user mode code, not just "a lot".
Gazpacho
25th July 2008, 09:18 PM
Code does not need to be changed merely for the sake of changing it.
Jimbo07
26th July 2008, 12:02 AM
Code does not need to be changed merely for the sake of changing it.
What? Shut your mouth.
Every "Hello World" code example should, no must, be immediately changed to "Hello Gzorgnaxz!"
ddt
27th July 2008, 06:08 PM
whereas "NT" was a 32 bit OS kernel originally written by Dave Cutler (of DEC at that time) - and bought by Microsoft.
AFAIK, Dave Cutler wrote NT while employed by Microsoft. He had indeed worked on VMS at DEC - hence the joke that WNT is the successor of VMS.
(there's also a completely independent Posix subsystem, but who cares...)
At least the first version of the POSIX subsystem sucked balls and was only there to satisfy US govt procurement rules. I don't know if it has improved since.
And all of the Win32 personality is user mode code, not just "a lot".
But a major part of the graphics system of NT runs in kernel mode, as it turned out to be too slow when in user mode - maybe that's what Gazpacho meant?
ddt
27th July 2008, 06:20 PM
NT required more expensive hardware than people were willing to pay for at the time. Xenix didn't offer any legacy compatibility (again, on hardware people were willing to pay for at the time).
Agree about NT. But I'd think that it would be easier to provide Xenix with legacy compatibility than build a new OS from scratch. Or had Microsoft lost interest in Xenix that much by that time that it wasn't an option anymore?
He appears to be talking about the part of the operating system that implements the concept of a file
OK. But I don't understand that part then; the interpretation of the file system structure (FAT12, FAT16, ISO9660, ...) was fully implemented in Windows95, I presume - you don't need any legacy drivers for that. Those were needed for non-standard CD-drives and the likes (and most CD-drives were still non-standard at the time).
As I read it, Windows 95 allowed MS-DOS code to change interrupt vectors on a virtual machine, not the physical machine. Wedging into interrupts was fundamental to any kind of DOS extension, and it wasn't just drivers extending DOS but a huge number of applications as well.
Aargh. I can see that for drivers and TSR's, but did apps as, say, WordPerfect or Lotus 1-2-3, do that too? There's only so much you can support, I'd say. Implementing virtual machines is a pretty daring concept on hardware that doesn't really support it (i.e., all Intel CPU's until the Pacifica extensions two years ago), so I'm not surprised about it not working 100%. Even then, I wouldn't let them run in kernel mode and fiddle with the interrupt vectors, but let the hardware raise exceptions on privileged code and have the real OS handle those exceptions.
wuschel
28th July 2008, 12:28 PM
AFAIK, Dave Cutler wrote NT while employed by Microsoft. He had indeed worked on VMS at DEC
Yep, you are right! His group worked on NT only later, at Microsoft.
At least the first version of the POSIX subsystem sucked balls and was only there to satisfy US govt procurement rules. I don't know if it has improved since.
And, as I said: who cares? Wouldn't surprise me at all if they had removed it in Vista and no-one would have noticed *g*
But a major part of the graphics system of NT runs in kernel mode, as it turned out to be too slow when in user mode - maybe that's what Gazpacho meant?
While true, that is not and never has been part of the "Windows API". Semantics from here on...
wuschel
28th July 2008, 01:03 PM
Aargh. I can see that for drivers and TSR's, but did apps as, say, WordPerfect or Lotus 1-2-3, do that too?
Of all things: games! And the RTL startup code of virtually any compiler package would hook at least into ints 0,1,3,0x23 and 0x24.
There's only so much you can support, I'd say. Implementing virtual machines is a pretty daring concept on hardware that doesn't really support it (i.e., all Intel CPU's until the Pacifica extensions two years ago), so I'm not surprised about it not working 100%.
Actually, a VM86 sandbox is a pretty complete and secure emulation of a 16 bits real mode environment (as of the 8086), if done right. Hardware support for virtualization has been with us since the 80386 in that regard.
Even then, I wouldn't let them run in kernel mode and fiddle with the interrupt vectors, but let the hardware raise exceptions on privileged code and have the real OS handle those exceptions.
This is exactly how a VM86 works, or, more precisely, "V86" is a processor mode and the exact behavior of any virtual machine can be determined by the monitor, from "lightweight" as in EMM386 to "paranoid" as in NTVDM. This also applies to interrupt handling, except that writes to the IVT would not normally be trapped - because there are better ways to virtualize interrupts and you wouldn't need to, since each VM has its own IVT.
What Win95 would do, however, is to pass on certain hardware interrupts down to their respective real mode handlers (in the system VM), in turn invoking whatever DOS/TSR/BIOS code they were pointing to. This is at least true for the timer tick (int 8).
Whether this, plus the inability to launch without the underlying DOS etc., makes it an OS or an extended DOS application solely depends on how one defines "OS".
Gazpacho
1st August 2008, 12:45 AM
But a major part of the graphics system of NT runs in kernel mode, as it turned out to be too slow when in user mode - maybe that's what Gazpacho meant?
I didn't mean anything about NT at all.
I can see that for drivers and TSR's, but did apps as, say, WordPerfect or Lotus 1-2-3, do that too?
DOS, as the name indicates, was first and foremost about disks. For anything beyond that, you were likely to need an extension of some kind. If no appropriate extension came with DOS then it had to come with the application.
Hence, for example, DOOM shipping with DOS4GW to get into protected mode.
There's only so much you can support, I'd say.
"So much" had better include the applications customers need to stay in business. Technical elegance is nice when you can have it, but it's not a substitute for functionality.
wuschel
1st August 2008, 04:32 PM
DOS, as the name indicates, was first and foremost about disks. For anything beyond that, you were likely to need an extension of some kind. If no appropriate extension came with DOS then it had to come with the application.
Hence, for example, DOOM shipping with DOS4GW to get into protected mode.
Actually, DOS extenders do not so much add new APIs to DOS as they provide wrappers in order to make existing DOS/BIOS APIs accessible to protected mode code. This is at least true for DOS4GW and its kind.
It can be argued that many also contain a DPMI server, but that's "DOS Protected Mode Interface" for you, and a DPMI server is included in the box of a number of DOS versions (albeit none of MS, I think).
BTW, Disk support was the fancy and distinguishing feature for a personal computer OS at that time. Concluding from just the "D" that it were "first and foremost about disks" is like asserting that e.g. ".NET" was "first and foremost about networks"...
I understand that this is on the edge of becoming a purely semantic argument, though I had to mention this, anyway *g*
Blackadder
2nd August 2008, 04:38 PM
ooh the good old DOS days. What sweet memories. I even got some network running
under dos.
only problem was I was running out of disk space all the time, with those 40 mb harddisk and 720kb floppy, 1.44 if you were lucky
rdaneel
2nd August 2008, 05:25 PM
ooh the good old DOS days. What sweet memories. I even got some network running
under dos.
only problem was I was running out of disk space all the time, with those 40 mb harddisk and 720kb floppy, 1.44 if you were luckyBet it got really slow when the drive (http://inovis.files.wordpress.com/2007/10/flintstones.gif) got tired. :p
technoextreme
3rd August 2008, 12:26 PM
You know this reminds me of a story where Microsoft was responsible for literally crashing something. I was at robotics conference and I decided to see Microsoft's presentation on Robotics Studio. The Microsoft employee was demonstrating the software with a robot. Long story short... The Microsoft employee accidentally tipped the robot over.
© 2001-2009, James Randi Educational Foundation. All Rights Reserved.
vBulletin® v3.7.7, Copyright ©2000-2012, Jelsoft Enterprises Ltd.