Lunduke
Comedy • Gaming • News • Science & Tech
Myth: Windows 3.1 was just a shell on top of DOS
Bonus Myth: Windows 3.1 did not have real multitasking
May 22, 2023
post photo preview

The computer industry is filled to the brim with myths.  One such myth -- a myth that just won't seem to die -- goes something like this:

"Windows 3.1 was not really an operating system.  It was just a shell on top of DOS."

Let's just put this to bed right now.  To consider Windows 3.1 to simply be simply a shell on top of DOS is wildly -- wildly -- incorrect.

When Windows 3.1 is launched, DOS is unloaded.

While Windows 3.1 does, most certainly, take advantage of DOS to provide some DOS-specific features... DOS is, in reality, mostly used as a boot loader to get Windows 3.1 running.  In many ways -- in this scenario -- DOS is acting a great deal like GRUB does on a Linux system... acting as a boot loader that then launches the kernel.

To showcase just how powerful (and misunderstood) Windows 3.1 really is... let's also dispel another myth:

"Windows 3.1 did not have real multitasking"

Did Windows 3.1 have "real" multitasking?  You bet your bottom it did!


Before we go further, for those not in the know, here is a super fast (super high level) primer on the two types of multitasking we'll be talking about:

 

Cooperative Multitasking -- Each application is responsible for giving up time to the other software running on the computer.  This is typically viewed as less powerful as it relies on each application being "well behaved" in order for the entire system to work efficiently.

 

Preemptive Multitasking -- The operating system itself is responsible for allocating CPU time to each application.  Which means the individual pieces of software didn't even need to be designed with multitasking in mind (in many cases).

 

This is a wild simplification.  But for the sake of this topic, it'll do.


Windows 3.1 actually consists of two different "kernels" -- two virtual machines that run different types of software:

  • Win386 : A protected mode hypervisor
  • System VM : aka "The Windows 3.1 kernel" that ran individual Win16 applications

Win386 ran individual "V8086" processes -- which was a key feature of the Intel 386 processor running in Protected Mode -- in a completely preemptive multitasking way.

This is key: All DOS applications ran as independent "V8086'' processes.

Which means that, if you were running DOS software under Windows 3.1... every single DOS application was preemptively multitasked.  Seriously.  Those DOS applications were designed to run in a single-tasking system (DOS) and, thanks to Windows 3.1's powerful Win386 hypervisor, were now running in a modern, preemptive multitasking system.

Then that "System VM" was running, as one of those "V8086" processes, which is a cooperative multitasking kernel.  Within that kernel is where each of the Windows 3.1 applications were run.  These pieces of "Win16" software (aka "16 bit Windows") were cooperatively sharing one V8086.

And all of this was happening with DOS acting -- more or less -- as a boot loader.

So.

Was Windows 3.1 merely a "Shell on top of DOS"?

Heck, no.  If that's the case, that means "Linux" is nothing more than a "Shell on top of GRUB".

And did Windows 3.1 have "real multitasking"?

You be your sweet bippy.  In fact... it had both of the two types of multitasking: preemptive and cooperative.  Which is a heck of a lot more than classic MacOS could say...

Windows 3.1 had a lot of flaws.  In fact, you could write an entire book about all of the problems with that system.  But, just the same, it was an incredibly powerful OS... that was most certainly not just a "shell on top of DOS".

The next time you run across someone trying to sell that tired, busted myth... send them here.

community logo
Join the Lunduke Community
To read more articles like this, sign up and join my community today
23
What else you may like…
Videos
Podcasts
Posts
Articles
January 25, 2023
Lunduke blasted by a 9 foot tall Tesla Coil

Back in 2014, LinuxFest Northwest threw a big conference party at a place called "The Spark Museum" in Bellingham, Washington. Basically a museum of retro electronics (old radios, tv sets, and whatnot). Really cool place.

At the Spark Museum they had a 9 foot tall Tesla Coil -- which blasts out 4.6 million volts. This particular Tesla coil (one of the largest in the world) was originally owned by Cirque du Soleil... they were trying to incorporate it into a Vegas show. Legend has it someone got badly hurt (or worse) and that part of the show was scrapped.

So the Spark Museum picked that Tesla Coil up.

Then they built a big, man-sized Faraday cage that looks like something a super-villain would have, stored on his volcano island, in a steampunk novel -- complete with a battered, old-style dentist chair inside of it.

The conference organizers were given the chance to put three people inside the Faraday cage at once... and blast them with the Tesla coil.

Because I'm the luckiest darned ...

00:01:04
December 02, 2022
How to Pronounce Tech Words (part 2)

Curious how to properly say BIOS? WiFi? SCSI? GUID? SQL? Lunduke, the world's foremost authority on "saying stuff" (tm), will elucidate for you.

00:05:54
November 28, 2022
TempleOS lives on -- Forked and renamed

A quick look at the history of TempleOS — including the current forked version, known as “ZealOS”.

It’s a weird, wild ride.

00:20:22
"No Politics" - Lunduke’s Big Tech Show - May 30th, 2023 - Ep 007

Lunduke’s Big Tech Show - May 30th, 2023 - Ep 007

Doubling down on the "No Politics" rule here at Lunduke.Locals.com. And expanding an official "Code of Conduct" used here. Sorta. Kinda. 😉

"No Politics" - Lunduke’s Big Tech Show - May 30th, 2023 - Ep 007
"An A.I.-Free Zone" - Lunduke’s Big Tech Show - May 29th, 2023 - Ep 006

Lunduke’s Big Tech Show - May 29th, 2023 - Ep 006

I am declaring The Lunduke Journal to be an "A.I.-Free Zone". No Artificial Intelligence generated content. Period. From myself or the community.

Content for Human Nerds by Human Nerds. (tm)

"An A.I.-Free Zone" - Lunduke’s Big Tech Show - May 29th, 2023 - Ep 006
"Internet bots, Fedora layoffs, & C64 Games" - Lunduke’s Big Tech Show - May 15th, 2023

Lunduke’s Big Tech Show - May 15th, 2023 - Episode 001

Topics for today’s show includes:

  • Taking a stand against Artificial Intelligence.
  • Is 47% of Internet traffic just… bots?
  • Fedora Linux Project Manager among the mass Red Hat layoffs.
  • Tech layoffs for 2023 closing in on 200,000.
  • Layoffs last week at Microsoft, Stack Overflow, Akamai, and LinkedIn.
  • Asahi Linux goes to war against Xorg. And it’s very entertaining.
  • A brand new game (Zeta Wing 2) released for Commodore 64.
"Internet bots, Fedora layoffs, & C64 Games" - Lunduke’s Big Tech Show - May 15th, 2023

I feel attacked!

post photo preview

Did you become a programmer with the dream of learning all there was to know about computers?

I sure did.

That’s why I don’t understand why some “programmers” are willing to throw themselves away by replacing their own thought with AI generated code.

Isn’t every novel task an opportunity to grow one’s expertise? Even the ordinary ones help strengthen mental pathways, and you never know when you might have an epiphany. Isn’t that the whole point? Service to the art?

6 hours ago

BWAHAHAHAHOUHAHA-HAHA!
I honestly did not expect ChatGPT to fail so badly! (I will not paste any of its output, Lunduke!)
It's my first time to directly use ChatGPT. I just couldn't come up with anything I want to know that it could reliably tell me. Until today when I realised I keep receiving requests by some relatives to do a bash oneliner for some text files and I'd be offloaded if I could just tell them how to do it themselves in PowerShell but it'll be long before I've learnt what I need so I have the option to ask an RTFM-level-stupid question on StackOverflow or... to test out the great deceiver. So I sacrificed the confidentiality of my name, surname and friggin' phone number to have a go. I'll paste here just my input but you'll be well able to deduce how it went:
^^^^^^^^^^^^^^^
I want to remove duplicate whitespace from a text file on a Windows 10/11 PC. On Linux with bash what I would do is:
$ cat spacious.txt | tr -s [:space:] > compact.txt
What is the easiest way to do the same ...

"macOS Sucks" next weekend!
Saturday, June 10th, at 12pm Central

Just a quick reminder that "macOS Sucks" will be taking place this next weekend!

Saturday, June 10th, at Noon Central Time.  That is:

  • 10am Pacific
  • 1pm Eastern
  • 5pm UTC

The live video will stream only on Lunduke.Locals.com -- and will only be available to subscribers.  So make sure you have full access to Lunduke.Locals.com by then!

I've been looking forward to this show for a long, long time.  I have several decades worth of complaints about Mac OS (or "macOS" or whatever the heck Apple is calling it at any given moment) saved up.  And I need to vent.

The live show will last roughly 1 hour and the full recording will be posted later on in the day for those who miss the live version (or simply want to watch it... repeatedly... because it's going to be awesome).

Again: Both the live and recorded version will only be available on Lunduke.Locals.com.  And only for full subscribers / supporters.

Read full Article
Funny Programming Pictures Part XXXV

I laughed no less than three times while putting this together.  THREE TIMES I SAY.

Image

 

zc1hvg1lw63b1.jpg?width=500&auto=webp&v=enabled&s=b29cdd9fe9c02d10ea99cbb616cb2123fbde699a

 

67tzpkf4j13b1.png

 

g7y70q1osg3b1.png?width=815&auto=webp&v=enabled&s=7f24a428882e7c388c2009a432886fd6fb22c3ab

 

nysng6xhz13b1.jpg

 

Image

 

mc03y4575d2b1.png

 

8z2yvnczpp2b1.jpg?width=960&auto=webp&v=enabled&s=a0339f621b5dc338d1c87f28b864b55b1cc1e81e

 

 

zcffb0mi2k2b1.png

 

Image

 

Image

 

z51cqsfi5f2b1.png

 

roclzb42st2b1.png

 

Read full Article
post photo preview
MkLinux: The delightfully weird PowerPC Mac Linux Distro of the 1990s
Co-Developed by Apple, with Linux running as a user-mode task. Seriously.

In 1996 -- just two years after Linux, itself, hit version 1.0 -- a version of Red Hat Linux was ported to PowerPC Macintosh computers... by Apple.

Seriously.

The very same Apple that currently opposes people running macOS on any non-sanctioned hardware -- and who fights (rather hard) to keep non-macOS systems from running on Apple hardware -- used to actively help port other systems to the Macintosh computers.  My-oh-my how times have changed.

Known as MkLinux -- short for "Micro-Kernel Linux" -- the development was a joint project between Apple and "The Open Group Research Institute" in France.  And it was a truly fascinating beast... because it wasn't quite your typical "Linux" system.

In fact, MkLinux really consisted of two different kernels:

  1. "Open Group Mach" -- a variation of the Mach microkernel which had been ported to a number of platforms, including: HP PA-RISC, x86, and (of course) PowerPC Macintosh.
  2. "Linux" -- a port of the Linux kernel itself.

What made MkLinux so strange... is that "Open Group Mach" was the lowest level kernel.  It would boot the system and provide a subset of hardware access... then "Linux" would actually be run as a task within "Open Group Mach".

A user mode task, no less!  Yes, in MkLinux... the "Linux" kernel is run as a standard, user-mode application!

Wild!

Over the years, MkLinux gained support for a number of different PowerPC Macintosh models (including some G3-based machines)... and, reportedly, had somewhere between 50,000 and 100,000 total users before eventually being all but abandoned by Apple and moving to become a small, community project.

I have personally run MkLinux on a Power Macintosh 6100 running at 66 Mhz.  Was it a speed demon?  No.  It felt quite a bit more sluggish than MacOS (7.x or 8.0) on the same system.  But, you know what?  It was a surprisingly usable Linux system!  Mostly stable, and fairly high quality!

In order to preserve some of the memory of this marvelously weird Linux "distribution", what follows is a bit of a visual tour of what using MkLinux was like on PowerPC Macs of the 1990s.

The official MkLinux website (note that it was hosted by Apple itself):

0141f1.jpg

As part of the installation process, you would place the Mach Kernel and bootloader into your Mac Extensions folder.

 

The MkLinux boot screen (a MacOS application that launched when your Mac booted... with buttons that let you choose whether to boot Mk Linux or MacOS):

Splash Screen

The MkLinux Installer!  Note this is a slightly modified version of the old Red Hat installer:

Installation Path

What kind of Mouse?  An ADB (Apple Desktop Bus) mouse, naturally!

MouseConfig Screen

Screenshot from a PowerBook 1400cs/133 running a customized MkLinux DR3 (Developer Release 3) installation:

pb1400cs-mklinux-080119-03-gif.814865

Another screenshot of MkLinux DR3:

_resize.php?w=640&h=480&bg_color=333333&imgenc=ZmlsZa26XMvbWcvc2l0ZXMvbWcvZmlsZXMvc2NyZWVuc2hvdHMvc2NyZWVuMDMuanBnfHd3dy5tYWNpbnRvc2hyZXBvc2l0b3J5Lm9yZy83NjAtbWtsaW51eA%3D%3D

You can find an archive of the very first release of MkLinux on Archive.org, and a great deal of in-depth details at MkLinux.org.  Unfortunately, that site hasn't been udpated since 2009.  Just the same, the information is historically fascinating.

Read full Article
See More
Available on mobile and TV devices
google store google store app store app store
google store google store app tv store app tv store amazon store amazon store roku store roku store
Powered by Locals