Linked by Thom Holwerda on Sat 9th Feb 2013 18:54 UTC
Windows "The 16-bit Windows kernel was actually three kernels. One if you were using an 8086 processor, another if you were using an 80286 processor, and a third if you were using an 80386 processor. The 8086 kernel was a completely separate beast, but the 80286 and 80386 kernels shared a lot of code in common." As always, Raymond Chen delivers. If you don't yet follow his blog, you should. Right now. Click that bookmark or RSS button.
Order by: Score:
On a side note
by sukru on Sat 9th Feb 2013 20:33 UTC
sukru
Member since:
2006-11-19

Raymond Chen's blog is my favorite among Microsoft employees. He shows great insight into the design decisions of Windows (things like why do we have both find.exe and findstr.exe at the same time, or how was Windows memory manager changed to acomodate for SimCity's bug).

It looks like there are different cultures at Microsoft. While the business side is definitely not my favorite, there are still some technical guys who care.

Edited 2013-02-09 20:34 UTC

Reply Score: 10

RE: On a side note
by moondevil on Sat 9th Feb 2013 21:34 UTC in reply to "On a side note"
moondevil Member since:
2005-07-08

The technical side is pretty good.

I used to have my share of issues about Microsoft until I worked in a few Fortune 500 companies.

Then I realized how they are seen from the outside and the differences between engineering, marketing and business.

Eventually I came to understand why Microsoft does certain things.

Reply Score: 7

RE[2]: On a side note
by Phucked on Sat 9th Feb 2013 23:46 UTC in reply to "RE: On a side note"
Phucked Member since:
2008-09-24



Eventually I came to understand why Microsoft does certain things.


Can you tell us why they are so evil then?

Reply Score: 0

RE[3]: On a side note
by Wafflez on Sun 10th Feb 2013 00:04 UTC in reply to "RE[2]: On a side note"
Wafflez Member since:
2011-06-26

Because money is evil and by donating tons of money (Gates foundation, setting up ads in codeplex.com to give revenue to charity, etc) to humanity, Microsoft is spreading evil.

Edited 2013-02-10 00:04 UTC

Reply Score: 2

RE[4]: On a side note
by evert on Sun 10th Feb 2013 08:09 UTC in reply to "RE[3]: On a side note"
evert Member since:
2005-07-06

Microsoft was convicted in the courtroom (multiple times).

Reply Score: 0

RE[5]: On a side note
by Soulbender on Sun 10th Feb 2013 08:56 UTC in reply to "RE[4]: On a side note"
Soulbender Member since:
2005-08-18

I wasn't aware that being convicted automagically made you evil.

Reply Score: 5

RE[6]: On a side note
by lucas_maximus on Sun 10th Feb 2013 20:27 UTC in reply to "RE[5]: On a side note"
lucas_maximus Member since:
2009-08-18

A lot of people seem to have problems distinguishing evil from illegal.

Reply Score: 4

RE[5]: On a side note
by BluenoseJake on Sun 10th Feb 2013 11:12 UTC in reply to "RE[4]: On a side note"
BluenoseJake Member since:
2005-08-11

So? Breaking the law does not make one evil, Sometime the law itself may be evil. I think Apple, Facebook and Google have proven that any company will act evil, given the chance.

Reply Score: 5

RE[6]: On a side note
by siride on Sun 10th Feb 2013 14:49 UTC in reply to "RE[5]: On a side note"
siride Member since:
2006-01-02

Do you know how many big companies break laws or get sued? It's not uncommon. Microsoft is not particularly special. In fact, in the grand scheme of things, they're probably pretty tame compared to some old big corps from back in the day.

Reply Score: 3

RE[7]: On a side note
by WereCatf on Sun 10th Feb 2013 16:51 UTC in reply to "RE[6]: On a side note"
WereCatf Member since:
2006-02-15

Microsoft is not particularly special. In fact, in the grand scheme of things, they're probably pretty tame compared to some old big corps from back in the day.


Rupert Murdoch ( http://en.wikipedia.org/wiki/Rupert_Murdoch ) and his companies are good examples of this. Microsoft doesn't even touch the shit these guys pull off.

Reply Score: 8

RE[5]: On a side note
by lucas_maximus on Sun 10th Feb 2013 20:29 UTC in reply to "RE[4]: On a side note"
lucas_maximus Member since:
2009-08-18

The terrible crimes (compared to murder, rape, genocide etc) of demanding manufacturers include their OS and only that.

Really ... there is a big fucking difference between being genuinely evil and a bit of a bastard. I wish nerds would actually get this.

Reply Score: 5

RE[4]: On a side note
by allanregistos on Tue 12th Feb 2013 04:50 UTC in reply to "RE[3]: On a side note"
allanregistos Member since:
2011-02-10

Because money is evil and by donating tons of money (Gates foundation, setting up ads in codeplex.com to give revenue to charity, etc) to humanity, Microsoft is spreading evil.


Wrong. The "love of money" is what makes man do evil things. Please clarify that.

Reply Score: 1

RE[3]: On a side note
by Soulbender on Sun 10th Feb 2013 02:20 UTC in reply to "RE[2]: On a side note"
Soulbender Member since:
2005-08-18

Microsoft aren't evil, saying that they are devalues the meaning of the word.
They may be shrewd, ruthless and greedy but evil? No.
There are companies that are (say, Union Carbide or Blackwater) but MS is pretty far down on the "evil" scale.

Reply Score: 8

RE[3]: On a side note
by moondevil on Sun 10th Feb 2013 07:18 UTC in reply to "RE[2]: On a side note"
moondevil Member since:
2005-07-08

Can you tell us why they are so evil then?


Companies aren't persons, they are business. There is no good or evil in business, only profit.

Reply Score: 3

RE: On a side note
by sparkyERTW on Mon 11th Feb 2013 14:01 UTC in reply to "On a side note"
sparkyERTW Member since:
2010-06-09

It looks like there are different cultures at Microsoft. While the business side is definitely not my favorite, there are still some technical guys who care.


Same here. While I tend to take issue with a lot of the company's actions, it's often pretty clear that the developers themselves - for the most part - are commendable. They're not the ones who sue other companies, they're not the ones who make the decision not to play nice with others, and they're not the ones who spread FUD (again, for the most part). They just tend to be a bunch of people wanting to do some really cool stuff with the mighty resources M$ has, and who hope that what they create manages to slip through the management/marketing/legal divisions unscathed.

Reply Score: 2

RE[2]: On a side note
by siride on Mon 11th Feb 2013 14:10 UTC in reply to "RE: On a side note"
siride Member since:
2006-01-02

And all the backwards compatibility stuff that people complain about...that takes a huge amount of work. The fact that Windows can completely change its kernel and graphical implementation without breaking most programs written 20+ years ago is nothing short of an engineering miracle.

Reply Score: 4

RE[3]: On a side note
by Alfman on Tue 12th Feb 2013 02:08 UTC in reply to "RE[2]: On a side note"
Alfman Member since:
2011-01-28

siride,

"The fact that Windows can completely change its kernel and graphical implementation without breaking most programs written 20+ years ago is nothing short of an engineering miracle."

I mostly agree, but it hasn't been completely smooth. Some of the stuff I wrote in VB in the 90s stopped working. Of course the only reason I found out was because I was poking around my early career archive for fun. Someone would need to test a large sample of software from that era to assess how well compatibility has held up in general.

Another article that was along these lines:

http://www.osnews.com/story/26623/Why_was_Pinball_removed_from_Wind...

Reply Score: 2

RE[4]: On a side note
by siride on Tue 12th Feb 2013 02:32 UTC in reply to "RE[3]: On a side note"
siride Member since:
2006-01-02

Keyword "mostly".

And, in any case, it's much better than compared to OS X or, especially, Linux. You have to rewrite programs written for different versions of the same GUI toolkit. The only thing you can really count on is the kernel interface and, to a greater or lesser extent, glibc's interface. Everything else is subject to change (and change it does).

Reply Score: 3

No it isnt
Member since:
2005-11-14

My God Windows 3.0 sucked on the 286.

Reply Score: 5

siride Member since:
2006-01-02

So did every other OS, by modern standards.

Reply Score: 5

Alfman Member since:
2011-01-28

By the standards of the day, I suspect DOS worked as well on the 286 as it did on the 386. But yea if by modern OS you mean something that used protected mode for process isolation and timeslicing, then 386 was the first serious intel processor for that.

It predates my experience, but my understanding is that the 286 included a very buggy form of protected mode, and lacked VM86 real mode virtualization. The silly engineers at intel failed to include a way to switch the processor out of protected mode, so the chipset makers actually incorporated external logic to do a hard reset on the processor every time one needed to switch between real mode programs.

So this is how windows multitasked on the 286, by continually rebooting the cpu - a feature MS continued to include a couple generations later. I kid ;)

Reply Score: 3

moondevil Member since:
2005-07-08

By the standards of the day, I suspect DOS worked as well on the 286 as it did on the 386. But yea if by modern OS you mean something that used protected mode for process isolation and timeslicing, then 386 was the first serious intel processor for that.

It predates my experience, but my understanding is that the 286 included a very buggy form of protected mode, and lacked VM86 real mode virtualization. The silly engineers at intel failed to include a way to switch the processor out of protected mode, so the chipset makers actually incorporated external logic to do a hard reset on the processor every time one needed to switch between real mode programs.

So this is how windows multitasked on the 286, by continually rebooting the cpu - a feature MS continued to include a couple generations later. I kid ;)



You got it wrong. Let me explain as I was already a long time computer user on those days.

The 80286 already had everything a CPU needs for modern operating systems, at least 16 bit ones.

What happened was that Intel thought everyone would be so amazed with the possibilities of protected mode, that no one would care for real mode any longer, hence the no inclusion of programming instructions to switch back to real mode.

But MS-DOS users were reluctant to go 100% to Windows 3.0, specially given the hardware restrictions, lack of software and the novelty of the GUI for many of them.

So Microsoft needed a way to keep MS-DOS applications running inside Windows 3.0, that is how the continuous reset on Windows came to be.

Reply Score: 5

MOS6510 Member since:
2011-05-12

I found this magazine, which I sadly trashed later, that featured an article about the 386.

It didn't see any need for the 386, because the 286 was so great and its development would go on well in to the late 90's.

Reply Score: 5

kwan_e Member since:
2007-02-18

What happened was that Intel thought everyone would be so amazed with the possibilities of protected mode, that no one would care for real mode any longer, hence the no inclusion of programming instructions to switch back to real mode.


And history replayed itself with long mode.

Reply Score: 2

siride Member since:
2006-01-02

But long mode isn't nearly as bad as 80286 protected mode, and it wasn't invented by Intel. You can still run legacy code on 64-bit processors just fine. It's just more painful than it was. But it's 2013 and if you need to run 16-bit real mode programs, you neither need a modern processor nor a modern OS.

Reply Score: 2

Megol Member since:
2011-04-11

It's possible to switch from long mode, it isn't even hard (just setup the new environment with interrupts disabled and then clear the long mode bit).

In comparison the only way to return to real mode in the 80286 was to setup some data in the realtime clock module and then do a hardware reset. When the processor have initialized it jumps to the reset vector in the BIOS and pretty early the BIOS code checks the RTC memory and if enabled it jumps to a specified code location.

Reply Score: 2

Alfman Member since:
2011-01-28

moondevil,

"You got it wrong. Let me explain as I was already a long time computer user on those days."

I actually agree with everything (else) in your post, but was anything factually wrong in mine? It's definitely possible but your response didn't make it clear what is wrong.

I find it very strange how intel failed to anticipate the need for a mode switch, but mainboard manufacturers did by implementing the external 286 reset logic. Was there an early generation of 286 mainboards which didn't support a cpu reset?

Reply Score: 2

moondevil Member since:
2005-07-08

Your comment:

So this is how windows multitasked on the 286, by continually rebooting the cpu


This was only required if you needed to start a MS-DOS program from inside Windows. Otherwise it was running in full 16 bit protected mode with all required features.

Was there an early generation of 286 mainboards which didn't support a cpu reset?


I am not sure, but that could have been the case with Xenix systems, which did not require MS-DOS compatibility.

Reply Score: 3

Alfman Member since:
2011-01-28

moondevil,

"This was only required if you needed to start a MS-DOS program from inside Windows. Otherwise it was running in full 16 bit protected mode with all required features."

Yes of course, software could be built for the 16bit protected mode. If you want to say the 286 was capable of multi-tasking, then I'll have to admit that it's technically true, but it required all software to be rewritten for it. The 386 was intel's first processor suited for general purpose multi-tasking, that's my opinion anyways because the 286 needed external chipset logic to continuously reset itself into real mode to run the majority of software avaiable at the time.

Edited 2013-02-10 21:04 UTC

Reply Score: 2

moondevil Member since:
2005-07-08

Xenix executed in protected mode without any need of real mode.

Edited 2013-02-10 22:58 UTC

Reply Score: 4

Megol Member since:
2011-04-11

moondevil,

"You got it wrong. Let me explain as I was already a long time computer user on those days."

I actually agree with everything (else) in your post, but was anything factually wrong in mine? It's definitely possible but your response didn't make it clear what is wrong.

I find it very strange how intel failed to anticipate the need for a mode switch, but mainboard manufacturers did by implementing the external 286 reset logic. Was there an early generation of 286 mainboards which didn't support a cpu reset?


No. There could perhaps be mainboards that doesn't support the reset protocol needed but that's unlikely.
Doing the reset itself can be done in software without extra hardware by triggering a triple fault, just load the interrupt description table pointer with something faulty and then do a software interrupt.

Reply Score: 2

Alfman Member since:
2011-01-28

Megol,

"Doing the reset itself can be done in software without extra hardware by triggering a triple fault, just load the interrupt description table pointer with something faulty and then do a software interrupt."

Ah, very clever! And here I was thinking it was an oversight by the bastards at intel, how wrong I was. My faith is restored ;)

Reply Score: 2

siride Member since:
2006-01-02

Yeah, I was floored when I found out that you couldn't switch out of protected mode on the 286. I think they really learned their compatibility lesson with that, because almost all processors afterwards have been great at adding new features and modes without destroying the ability to use legacy software. DOS still boots on modern processors.

Reply Score: 3

No it isnt Member since:
2005-11-14

Actually, GEM Desktop was very robust on the 8086 compared to Windows 3.0. Of course, it sucked in different ways, mostly due to Apple being litigious bastards even back then. They invented overlapping windows, you see.

Reply Score: 6

BluenoseJake Member since:
2005-08-11

MS was sued by apple over the same stuff and lost. I wonder why they won with Gem?

Just looked it up, they were sued first, so MS just had better lawyers.

Edited 2013-02-10 13:23 UTC

Reply Score: 2

tanzam75 Member since:
2011-05-19

MS was sued by apple over the same stuff and lost. I wonder why they won with Gem?


Microsoft had a license to use the Apple user interface. Apple argued that the license only applied to Windows 1.0, and not to any subsequent release of Windows!?

Yeah, it was a totally bizarre argument. Apple lost -- as they should.

Digital Research did not have a license to use the Apple user interface. This was before the look-and-feel issue was completely settled, and they didn't have a fallback defense.

History is repeating itself in the phone world. Microsoft has a patent cross-licensing agreement with Apple. Most of the other players don't.

Edited 2013-02-10 17:39 UTC

Reply Score: 5

Not just 3.0
by henderson101 on Tue 12th Feb 2013 11:34 UTC
henderson101
Member since:
2006-05-30

Windows 3.1 had multiple Kernels too. Windows 95 shifted the differences tot he HAL, but there were multiple HAL's for the different processor families (AMD, INTEL, Cyrix etc) and if you installed Window 95 on one box, the HAL might be so specific that it wouldn't actually boot without a lot of effort on another. That issue still exists with XP (if you've ever tried to move an XP hard disk, or VM image even, to a new [virtual] machine, you'll know this specific pain.)

Reply Score: 3