Difference between pages "386BSD" and "Windows NT"

From Computer History Wiki
(Difference between pages)
Jump to: navigation, search
(How do I get this to run?!)
 
m (POSIX: avoid redir)
 
Line 1: Line 1:
{{Infobox OS  
+
{{Infobox OS
| image = 386bsd.png
+
| name = Windows NT
| caption = Logging into a 386 BSD system
+
| creator = Dave Cutler et al
| name = 386 BSD
+
| year introduced = 1993
| creator = CSRG, University of California, Berkeley
+
| architecture = Originally [[MIPS]], then [[i386]], [[DEC Alpha]], [[PowerPC]], [[Itanium]], [[x64]]
| current version = 0.1 (1992)
+
| type = Time-sharing
| year introduced = 1991
+
| multitasking = Multitasking with paging/swap
| type = Multitasking, multiuser
 
| architecture = [[i386]] theoretically portable
 
 
}}
 
}}
  
386 BSD was the first time that the [[Net/2]] project was put into a functional release onto commodity hardware, and into the public under the BSD license. As the project eventually stalled, it became the starting point for both [[NetBSD]] & [[FreeBSD]], via the patchkits.  While 386 BSD may be of historical significance, it's not up to the challenge of day to day usage, as it is a [[4.3 BSD]] based OS.
+
Windows NT is [[Microsoft]]'s first home built 32bit OS.
  
== Announcement ==
+
== Background ==
 +
[[Image:NT OS2.png|right|The NT OS/2 original logo]]
  
This is the 0.1 announcement:
+
Windows NT started life as NT OS/2.  Originally it was a future thinking version of OS/2 that would be portable, and was targeted for the coming RISC CPUs. The goal was to design a micro kernel OS that could run 32 bit POSIX binaries, 16 bit OS/2 1.x binaries, 16 bit MS-DOS & Windows binaries with an improved 32bit OS/2 API & Windowing system.  Microsoft hired Dave Cutler away from [[Digital]] to help with the implementation of the OS, back in 1988.
  
<pre>
+
It is important to remember that the NT project started in 1988, and where Microsoft was product wise. Released products in 1988 were:
                    386BSD Release 0.1
 
  
 +
Learning DOS 2.0, Microsoft Stat Pack on CD-ROM, MS-DOS 4.01, Small Business Consultant 1.0 on CD-ROM, SQL Server Network Developers Kit 1.0, Excel for OS/2, Word 5.0 for PC, Quick Basic 4.5, Excel for Windows 2.1, OS/2 Software Development kit 1.2, Microsoft Programmer’s Library on CD-ROM, Quick Basic 1.0 for Mac, MS-DOS CD-ROM Extensions 2.0, COBOL Optimizing Compiler 3.0, Flight Simulator 3.0 for PC, PowerPoint 2.01 for Mac, Learning DOS 2.0, Stat Pack 1.0
  
                      "Cut the Tape"  
+
NT OS/2 was originally targeted to the Intel i860 CPU.  This was done to keep Windows NT portable, and not fall into i386'isims into the original base source.  This is where the NT in NT comes from, processor they used was called the "N-Ten" from the i860 XR processor.  It was quickly apparent though that the i860 was NOT going to be a good workstation CPU, and the effort was quickly moved to the [[MIPS]] CPU, and Microsoft built their own motherboard design the [[JAZZ]].
                        14 July 1992
 
                      (Bastille Day)
 
                    "Vive la Revolution"  
 
  
 +
However after the 1990 release of [[Windows 3.0]], Microsoft started to shift the primary API of NT OS/2 to the Windows API.  The 16 bit emulation for [[OS/2]] applications remained, however the Graphical Interface for OS/2 programs became a separate product.  This started the rift that would end the Microsoft IBM collaboration.
  
    The success of UNIX lies not so much in new inventions but rather
+
With NT OS/2 renamed to Windows NT, the first public demonstration was the [[Windows_NT_3.1_October_1991_beta|October 1991 Comdex developers pre-release]], followed up by the [[Windows_NT_3.1_December_1991_beta|December 1991 pre-release]]. Betas were then released in July of 1992, at the Professional Developers Conference in San Francisco, followed up with another beta in October 11th, of 1992.
    in the full exploitation of a carefully selected set of fertile ideas,  
 
    and especially in showing that they can be keys to the implementation
 
    of a small yet powerful operating system.  
 
    -- Thompson & Ritchie, "The UNIX Time-Sharing System", CACM 1974.  
 
  
 +
== Architecture ==
 +
Windows NT is a micro kernel design that supported the following subsystems:
 +
*Win32
 +
*NTVDM
 +
*Win16 (WOW)
 +
*OS/2
 +
*POSIX
  
    We are pleased to  announce  the  official  release  of
+
The native API is largely undocumented, and noted by the prefixes Rtl, Zw, and NtThe Win32 API is considered it's primary API as the system services, security & console are all win32 applications.
386BSD Release 0.1, the second edition of the 386BSD operat-
 
ing system created and developed by William and Lynne Jolitz
 
and  enhanced further with novel work and contributions from
 
the dedicated 386BSD User Community. Like  its  predecessor,  
 
386BSD Release 0.0, Release 0.1 comprises an entire and com-
 
plete UNIX-like operating system for the 80386/80486-based
 
AT Personal Computer.  
 
  
 +
=== Win32 ===
 +
This is the most commonly used subsystem.  This is responsible for running the 32bit windows applications. 
  
    386BSD is intended to foster new research and develop-
+
=== NTVDM ===
ment  in operating systems and networking technology by pro-
+
Microsoft licensed SoftPC 3.0 to provide a full PC emulated experience on the RISC CPUs and for emulating IBM PC hardware on the i386, but running instructions inside a v86 virtual machine (A hardware feature of the 386 and higher CPUs).
viding this base technology in a broadly accessible  manner.
 
As  such, like its predecessor, 386BSD Release 0.1 is freely
 
redistributable and modifiable.  
 
  
 +
=== Win16 (WOW ===
 +
The Win16/WOW subsystem was a specialized copy of Windows 3.1 running in the NTVDM that would pass all the user interface calls up to the Win32 subsystem via thunking.  This allowed for a seamless operation of legacy Win16 applications.  Because this ran withing the NTVDM, even RISC machines could run legacy i286/i386/i486 Win16 programs.  This was typical for Microsoft Office 4.2 as the only known RISC port of Office was Office 97 for the Dec Alpha.
  
    As with any BSD release, there is still  much  more  to
+
=== OS/2 ===
do. Please remember to send in your REGISTRATION file, so we
+
The OS/2 subsystem was to support the transition away from 16bit OS/2 applications. Out of the box it only supported running text mode OS/2 applicationsThere was a separately sold addon for the Presentation Manager graphical applications, although it was hard to come by as Microsoft strongly discouraged it's use. An interesting note about the 16bit OS/2 subsystem is that Microsoft had provided a callback facility to allow OS/2 programs to call the Win32 API.
can add you to the SIG and regular mailing listsWe  also
 
encourage  everyone  to use  the SOFTWARE.FORM for software
 
contributions and the BUGNFIX.FORM for fixes to the system,
 
as it saves us time.  
 
  
 +
=== POSIX ===
 +
Posix compatibility was a 'hot topic' for US Government workstations.  The POSIX subsystem was thrown together to achieve a 'checkbox' on GSA contracts.  This subsystem was heavily crippled by not having a mechanism to call the Win32 API.  As such it provided an environment akin to [[Unix/32V]]. With no ability to either run, display X11, or connect via TCP/IP it was largely ignored, except by a few who used its [[vi]] tool that was included in the resource kit.
  
Features of 386BSD Release 0.1  
+
== Versions ==
 +
=== Windows NT 3.1 ===
 +
[[Image:WindowsNT 3.1 retail.jpg|100px|thumb|right|Windows NT 3.1]]
  
 +
This was the first public release of Windows NT, and the Win32 API.  NT 3.1 was released on July 27th 1993.  The build number of the initial release is 511, but later service packs increased the build number to 528.  NT 3.1 supported the i386 cpu, and the MIPS R4000.  Inside some boxes was a coupon for the Dec Alpha version.  NT 3.1 was apparently already ported to the Dec Alpha, however none of the ARC capable machines were 'production grade' so they couldn't certify for certain that it'd work.  Later copies of NT 3.1 have an ALPHA directory.
  
    386BSD Release 0.1 is intended to  be widely  used  by  
+
Windows NT 3.1 does NOT support PCI buses.  It is limited to ISA/EISA/MCA only. However some PCI peripherals can be driven by ISA drivers for things that map to ISA space... Like Video cards. To get a scope of the limited support, check out the [[Windows NT 3.1 HCL]].
those interested in "pushing the envelope" towards the for-
 
mation and development of innovative ideas in computer tech-
 
nology. As such, we have spent considerable time developing
 
a system which  is  simple  to  partition  and  install  and
 
emphasizes stability and completeness.  
 
  
 +
On the i386, the more modern INT 15h/E820h interface for querying the system memory map was not yet standardized and supported.  This meant that typically the most memory that would be recognized by NTLDR is 64Mb.  Since newer versions of NTLDR can boot older systems, installing NT 3.5 or above can overcome this limit in NT 3.1, even if the installation is to a different partition and later removed.
  
    Among the many new features of 386BSD:
+
NT 3.1 does include CDROM support, but does not support IDE CDROMs, which later became the industry standard.  It also includes support for multiple processors, although the lack of industry standards for multiprocessor i386 at the time meant a custom HAL was needed for each multiprocessor device.
  
 +
NT 3.1 did include support for long file names in NTFS, but did not include support for long file names in FAT.  The NTFS format was later updated, so Windows NT 3.5 and 3.51 include an update to NT 3.1's NTFS driver to allow NT 3.1 to access an NTFS partition that has been mounted by NT 3.5 or later.
  
*    New "Tiny 386BSD" System Installation Floppy
+
Windows NT 3.1 also only allows for a SINGLE WOW session.
  
 +
NT 3.1 also includes a [[Microsoft Mail]] client, and the ability to setup & serve workgroup postoffices.
  
*    Simplified installation procedures.  
+
There were several [[Windows NT 3.1 Betas|beta and pre-release]] versions of Windows NT 3.1.
  
 +
Windows NT 3.1 shipped in two versions, Windows NT 3.1 Advanced Server, and Windows NT 3.1.  The most recent service pack available is service pack 3.
  
*    386BSD partitioning for use on an MS-DOS system.  
+
=== Windows NT 3.5 ===
 +
[[Image:Windows NT 3.5.jpg|100px|thumb|right|Windows NT 3.5]]
  
 +
Codenamed Daytona, this release added several optimizations, and notably added support for the PCI bus, IDE CDROMs, memory above 64Mb, MPS 1.1 multiprocessor support, and the Dec Alpha CPU's shipped on the CD.  It was released on September 21st, 1994.  The build number was 807.
  
*    Compressed,    multivolume    CPIO    dump    format
+
The Windows NT 3.5 SDK included the Dec Alpha CLI tools. This version also brought a software only port of OpenGL from SGI to make Windows NT more 'workstation like'.
    binary/source/other distribution  sets on MS-DOS flop-
 
    pies.  
 
  
 +
Windows NT 3.5 replaced the TCP/IP stack from SpiderTCP to something that was built in house.  It does support DHCP, and is faster then the SpiderTCP stack.  This new TCP/IP stack was also the basis for the one in [[Windows 95]].  It is worth mentioning that [[SLIP]] & [[PPP]] were now included.  IMHO this was the EASIEST OS at the time to connect to the internet.
  
*    387 emulation.  
+
Along with the TCP/IP improvements, NT 3.5 also shipped with a Netware requester.  Netware was still late to the game with a client for Windows NT so Microsoft wrote one, and many organizations stuck with the Microsoft requester as it operated better then the Novell one.
  
 +
From a programming level NT 3.5 also finished out many of the API's that were left to be finished by the time NT 3.1 had shipped... I suspect it had more to do with spec drift then anything.
  
*    SCSI support.  
+
In preparation for the Windows 95 release, NT 3.5 included support for long file names in FAT, and attempts to run Win32 programs that require version 4.0.  It is not entirely successful, because it is missing a lot of APIs that would be included in Windows 95.  Perhaps due to a lack of planning, it does not attempt to run Win32 programs that require 3.51.
  
 +
NT 3.5 was released in two versions, Windows NT 3.5 Server and Windows NT 3.5 Workstation.  The most recent service pack available is service pack 3.
  
*    CD-ROM support.  
+
=== Windows NT 3.51 ===
 +
[[Image:Windows NT 3.51.jpg|100px|thumb|right|Windows NT 3.51]]
  
 +
This release added the PowerPC CPU support that was done by IBM.  I've heard that NT 3.51 was actually 'done' 9 months prior to it's release but Microsoft had to wait for IBM to finish the PowerPC port.  Meanwhile Microsoft did a LOT of bug fixing making this a very popular release for corporations.  While it retained the look & feel of Windows 3.1 the newshell beta was available towards the end of the products lifespan, giving NT 3.51 a Windows 95 feel.  It was released on May 30th, 1995 and it's build number was 1057.
  
*    NFS, TCP/IP and full networking.  
+
NT 3.51 was to sync a lot of user mode components from Windows 95. For developers, this included the Windows 95 common control library including the rich edit control, as well as the Windows 95 help system.  Although it may not 'look' or feel like Windows 95 in the slightest.  This was the last version of Windows NT to incorporate the Program Manager as the primary interface.  Unlike NT 3.1/3.5, Windows NT 3.51 could also run Microsoft Office 95, being the first widely available 32bit version of the popular office suite.  This support was retained in Office 97, and dropped in Office 2000.
  
 +
Although initially 32 bit Internet Explorer supported NT 3.51, this was quickly dropped and users were encouraged to use the 16 bit version.  Curiously though the HTTP stack from Internet Explorer 3 (wininet.dll) was available as a redistributable for NT 3.51.
  
*    New 386BSD "Fix-It" System Maintenance Floppy.  
+
Windows NT 3.51 shipped in two versions, Windows NT 3.51 Server and Windows NT 3.51 Workstation.  The most recent service pack available is service pack 5.
  
 +
=== Windows NT 4.0 ===
 +
[[Image:WindowsNT 4.0 japanese.jpg|100px|thumb|right|Windows NT 4.0]]
  
*    New "Additional User Software" MS-DOS floppy dump.  
+
Windows NT 4.0 was released on August 24th, 1996.  It's build number is 1381.  Initially it supported the Alpha, i386, MIPS and PowerPC CPUs.  However the MIPS cpu was dropped right after service pack 1.  The PowerPC cpu was dropped right before service pack 3.  The Dec Alpha would see mainstream support right through the Windows NT 4.0 product life cycle. It’s worth noting that the MCA bus (Microchannel) was also dropped from this release.  
  
 +
This release was the most significant user wise, as it incorporated the Windows 95 shell (newshell).  Additionally Microsoft had moved the graphics & printing from the win32 user space, into the 'executive' or kernel.  This made graphics (GDI) and printing were significantly faster.  This did have the downside that video calls, or errors in print rasterization (1 point fonts!!) could crash the entire OS.
  
We hope that while you browse through 386BSD  Release  0.1,  
+
I have to say that in my opinion this is where Windows NT went from a curiosity and joke into being a real commercial success. Prior to this, Windows NT 3.1/3.5/3.51 ran mostly win16 applications, and ran them significantly slower then Windows 3.1. However with the transition of user desktops to [[Windows 95]], corporate users now had machines with 16MB of ram, or more, and with Office 95 the beginning of 32bit productivity applications started to hit mainstream. Windows 95 proved itself to be unable to multitask that well under heavy system loads, and with Users with Pentium CPU's suddenly Windows NT was viable.  In the company where I worked (Fortune 500 type) we had users going out an buying their own copies of NT 4.0 workstation once word got around that it ran Windows 95 applications but didn’t crash 2-3x a day.   Another significant thing for users was the built in shell for Novell Netware, and how it outperformed the Novell offering.
you will take a moment to look at the CONTRIB.LIST file to
 
see the many people who have made this release possible.  
 
  
 +
Windows NT was also very popular on the server front, as installation and configuration was significantly easier then Novell Netware.  With the release of Exchange server 4.0 more and more companies started to transition their mail infrastructure to Windows NT.
 +
Along with the rest of the ‘back office’ SQL, SNA Windows NT started to ‘steal’ away the data center. 
  
Installation Procedures and New Partitioning Feature
+
Another significant aspect of Windows NT 4.0 was that it not only included TCP/IP in the product (it was an add-on for Novell Netware) but it also included a web server, ftp server & gopher server in the IIS product line.  This made IIS servers the quickest to deploy for a novice IS person.
  
 +
The downfall at the time was the numerous hotfixes for Windows NT, and how to apply them.  While waiting for the servicepacks was one thing, running NT 4.0 on the internet became a challenge as installing anything could undo a hotfix, and you had to be extra diligent about finding and verifying their installation.  Eventually Microsoft released the windows update function through Internet Explorer, alleviating most of this.
  
    Installation procedures have been simplified -- so much
+
Windows NT 4.0 shipped in three versions, Windows NT 4.0 Server, Windows NT 4.0 Enterprise and Windows NT 4.0 WorkstationThe most recent service pack available is service pack 6a.
so  that  die-hard  BSD fans just cannot believe their eyes.  
 
Simply follow the INSTALL.NOTES information available on the
 
Tiny 386BSD installation floppy to partition, install, down-
 
load, and extract the rest of the distribution. If you have
 
special  configuration requirements, you can use the "Fixit"
 
floppy and follow traditional BSD  installation  procedures.  
 
WE  RECOMMEND  YOU CHOOSE ONE APPROACH OR THE OTHER, BUT NOT
 
BOTH!
 
  
 +
=== Windows NT 4.0 Terminal Server ===
 +
[[Image:WindowsNT 4.0 terminal server.jpg|100px|thumb|right|Windows NT 4.0 Terminal Server]]
  
    If you presently have Release 0.0 on  your  drive,  we
+
This was the first Microsoft multiuser version of Windows, with technology given back from CitrixI recall Microsoft strong armed the Citrix people into this 'deal'...  Anyways it had Service pack 3 built into it, and thus only supported the Alpha & i386 CPUs. It was released around June of 1998.
recommend that you backup your work and reformat your drive.  
 
We also urge you to take advantage of the 386BSD "partition-
 
ing"  feature  if  you  canYou will be surprised how con-
 
venient it really is to use.  Now you can run MS-DOS, 386BSD
 
and  two other systems on your PC for the price of one drive
 
-- a bargain!
 
  
 +
This was more of a public alpha then a finished product.  Because applications had not been written with multiple concurrent instances running under different sessions from different users in mind, quirks were common.  It included installation and configuration utilities to tweak common applications to not freak out when more then one copy was running.
  
Careware Charity Drive
+
It included 10 connection licenses, but any connection from NT 4 or a newer version of Windows did not require a license, so over time this came to mean limited by available memory.  Since this was a 32 bit release only, memory could be exhausted within 20-50 sessions depending on the intensity of load.
  
 +
The protocol for terminal services changed significantly after this release, and support to connect to it was dropped in Windows XP service pack 2.  Nonetheless it is possible to keep around mstsc.exe and mstsxax.dll for this purpose.  The most recent client that works is distributed with Windows Server 2003.  Many features are not supported by the older protocol, and it is limited to a maximum of 256 colors.
  
    The Careware Program is a charity effort which the edi-
+
There never was a servicepack 6a, just 6 so .net will NOT install. This product was quickly replaced by the Windows 2000 Terminal Services, which honestly did a better job.
tors of DDJ have been running as a service to the community.  
 
Simply put, readers who send in a floppy and SASE mailer can
 
receive at no charge a copy of a featured piece of software.  
 
In addition, if the reader so desires, he can send  along  a
 
dollar  or  two for a charity designated by the developer of
 
the software.  It's that simple.  
 
  
 +
{{Nav Windows}}
  
    As part of the DDJ Careware charity drive, we are  mak-
+
[[Category: Microsoft Operating Systems]]
ing  available  to  the editors of DDJ the latest version of
 
our "Tiny 386BSD" installation  floppy,  with  all  proceeds
 
benefiting the Childrens Support League of the East Bay (see
 
the CAREWARE.INFO file).  Some of the  agencies  which  have
 
received funds from CSL in the past include those using com-
 
puters to  communicate  with  disabled  children,  providing
 
respite  weekends  for  abused children, counciling bereaved
 
children, and setting up safe after-school  play  areas  for
 
children in impoverished neighborhoods.
 
 
 
 
 
    Even though we have made this software freely available
 
-- with no contribution required for the use of 386BSD -- we
 
hope that the 386BSD User Community will choose to  partici-
 
pate  in this charity drive and help these children.  Simply
 
put, by sending a dollar or two  along  with  your  software
 
request, you directly benefit a child.
 
 
 
 
 
    To participate in the Careware program,  send  a  high-
 
density error-free formatted floppy and SASE mailer to: Tiny
 
386BSD, DDJ, 411 Borel Avenue, San Mateo, CA.  94402  USA.
 
 
 
 
 
    While a dollar or two may seem like a  trivial  amount,
 
it does add up.  The Brevard County Food Bank in Florida has
 
received over $3,000 in the past year alone from  supportive
 
users  of  D-Flat, and the Vermont Association for the Blind
 
and Visually Disabled has received over  $100  in  the  past
 
month  from  X-Sharp users. For these charities, a dollar or
 
two has made a difference!
 
 
 
 
 
    Now it's our turn. Just like the generous users  of  D-
 
Flat  and X-Sharp, we believe that each person in the 386BSD
 
User Community is quite willing to meet  the  challenge  and
 
help a child.
 
 
 
 
 
New Newsgroup and SIGs Forming
 
 
 
 
 
    There are many newsgroups forming which discuss 386BSD.
 
One  should  check  out M&T Online (the DDJ newsgroup), Com-
 
puserve, and BIX for 386BSD discussion forums.
 
 
 
 
 
    On the INTERNET/USENET, we are hoping to establish  our
 
own  newsgroup called "comp.os.386bsd". This newsgroup would
 
reside  alongside  the  "comp.os.mach"  and  "comp.os.linux"
 
newsgroups. Already there are over 100,000 copies of Release
 
0.0, and we hope to add to this  number  with  the  new  and
 
improved  Release  0.1.  Please  help  us to establish this
 
newsgroup devoted to the "freely available"  386BSD  system,
 
by  asking  your  news coordinator to subscribe to it. We do
 
not recommend using comp.unix.bsd, since 386BSD, like  linux
 
and mach, is not a "comp.unix" system.
 
 
 
 
 
    There are also a  number  of  386BSD  special  interest
 
groups  forming,  including  those  interested in discussing
 
shared libraries, filesystems,  networking,  windowing  sys-
 
tems,  gigabit  networking,  and so forth. Also, a number of
 
projects are getting underway focussing on  improvements  in
 
the kernel and utilities.  If you are interested in learning
 
about any of these groups, please fill out and send  in  the
 
REGISTRATION  form  and  we  will put you on the SIG mailing
 
list (along with the general 386BSD mailing list  and  user-
 
directory file).
 
 
 
 
 
Patches to the System
 
 
 
 
 
    An official patch system and  unofficial  patch  system
 
have been created (see the ROADMAP file). The first official
 
set of patches will be out later this coming week.  We  will
 
also  be  sending  out an errata list which lists found bugs
 
which are not currently covered by the latest patches.
 
 
 
 
 
Technical Information We are trying to Obtain:
 
 
 
 
 
    We are also interested in obtaining new information to
 
assist us in subsequent releases. Lack of adequate document-
 
ation limits us at the moment, so even the contribution of
 
a spare copy or photostat of accurate technical documentation
 
would be helpful. Among our specific needs are documentation
 
on Novell NE-1000/2000, 3COM 3C503, IDE command set (Connors),
 
and PS/2 Microchannel documentation (specifically PS/2 ABIOS
 
(IBM PN 68X2341, 15F2161), Options and Adapters TR (P/N
 
6322509), SCSI Adapters (P/N 68X2397, 68X2365), Mouse (P/N
 
68X2229)). In general, if you notice a shortcoming in a driver,
 
be certain we can use better technical documentation on the
 
device. Any help you can offer will be appreciated.
 
 
 
 
 
Where We Can Be Reached
 
 
 
 
 
    We  can  be  contacted  via  Compuserve  email  (CIS
 
76703,4266  or 76703.4...@compuserve.com), BIX (wjolitz), or
 
via the internet at ljol...@cardio.ucsf.edu, and through DDJ
 
and UNIX Magazin (Europe). Please be patient with responses,
 
as the 386BSD user group base is growing  daily,  and  some-
 
times  responses  are  a bit delayed. However, we do want to
 
hear from you.
 
 
 
 
 
Thank you for all your patience, support, and encouragement.
 
We wouldn't have done it without you!
 
 
 
 
 
Bill and Lynne Jolitz.
 
</pre>
 
 
 
== Where can I get a copy ==
 
 
 
At the moment the only known place to get a full copy is
 
 
 
* [http://www.oldlinux.org/Linux.old/distributions/386BSD/ oldlinux.org]
 
* [ftp://minnie.tuhs.org/BSD/386bsd-0.1/ tuhs.org]
 
 
 
Now that it's in the [[TUHS]] space, I suspect it'll be mirrored throughout [http://www.tuhs.org/ tuhs].
 
 
 
== How do I get this to run?! ==
 
The quickest way is to use [https://sourceforge.net/projects/bsd42/files/4BSD%20under%20Windows/v0.4/386BSD-0.1.exe/download 386BSD-0.1exe] which is a ready to run package for Windows users that includes a preconfigured Qemu & disk image.
 
 
 
For those who want to install it themselves, there is an evolving guide to be found here: [[Installing 386BSD on BOCHS]].
 
 
 
386 BSD is difficult to install on real hardware, and emulated hardware is difficult as well.  As of now the only known emulator that can install 386 BSD is [[Bochs]] 2.4.  I'm currently having some issues with it's disktab structure as it keeps placing the swap partition starting at 0 and overwriting itself.  The error message I keep on getting is:
 
 
 
<pre>
 
/386bsd: wd0a: overlaps open partition (b)
 
</pre>
 
 
 
I've found out that upon getting that error, just keep on rebooting and eventually it'll magically go away.  It seems to be tied to the VM crashing.
 
 
 
Once patchkit 023 is installed, 386BSD will then run under Qemu 0.11.x
 
 
 
== What Runs? ==
 
 
 
I haven't spent much time now that I've been able to apply the two patchkits in the ftp archive...  However so far, I've manage to build:
 
 
 
*[[gzip]] 1.2.4
 
*[[unzip]] 5.52
 
*[[f2c]]
 
*[[dungeon]] 2.5.6
 
*[[irc]] II-4.4
 
*[[lynx]] 2.8.2
 
 
 
{{Nav Unix}}
 

Revision as of 12:08, 2 May 2022


Windows NT
Type: Time-sharing
Creator: Dave Cutler et al
Multitasking: Multitasking with paging/swap
Architecture: Originally MIPS, then i386, DEC Alpha, PowerPC, Itanium, x64
Date Released: 1993


Windows NT is Microsoft's first home built 32bit OS.

Background

Error creating thumbnail: Unable to save thumbnail to destination

Windows NT started life as NT OS/2. Originally it was a future thinking version of OS/2 that would be portable, and was targeted for the coming RISC CPUs. The goal was to design a micro kernel OS that could run 32 bit POSIX binaries, 16 bit OS/2 1.x binaries, 16 bit MS-DOS & Windows binaries with an improved 32bit OS/2 API & Windowing system. Microsoft hired Dave Cutler away from Digital to help with the implementation of the OS, back in 1988.

It is important to remember that the NT project started in 1988, and where Microsoft was product wise. Released products in 1988 were:

Learning DOS 2.0, Microsoft Stat Pack on CD-ROM, MS-DOS 4.01, Small Business Consultant 1.0 on CD-ROM, SQL Server Network Developers Kit 1.0, Excel for OS/2, Word 5.0 for PC, Quick Basic 4.5, Excel for Windows 2.1, OS/2 Software Development kit 1.2, Microsoft Programmer’s Library on CD-ROM, Quick Basic 1.0 for Mac, MS-DOS CD-ROM Extensions 2.0, COBOL Optimizing Compiler 3.0, Flight Simulator 3.0 for PC, PowerPoint 2.01 for Mac, Learning DOS 2.0, Stat Pack 1.0

NT OS/2 was originally targeted to the Intel i860 CPU. This was done to keep Windows NT portable, and not fall into i386'isims into the original base source. This is where the NT in NT comes from, processor they used was called the "N-Ten" from the i860 XR processor. It was quickly apparent though that the i860 was NOT going to be a good workstation CPU, and the effort was quickly moved to the MIPS CPU, and Microsoft built their own motherboard design the JAZZ.

However after the 1990 release of Windows 3.0, Microsoft started to shift the primary API of NT OS/2 to the Windows API. The 16 bit emulation for OS/2 applications remained, however the Graphical Interface for OS/2 programs became a separate product. This started the rift that would end the Microsoft IBM collaboration.

With NT OS/2 renamed to Windows NT, the first public demonstration was the October 1991 Comdex developers pre-release, followed up by the December 1991 pre-release. Betas were then released in July of 1992, at the Professional Developers Conference in San Francisco, followed up with another beta in October 11th, of 1992.

Architecture

Windows NT is a micro kernel design that supported the following subsystems:

  • Win32
  • NTVDM
  • Win16 (WOW)
  • OS/2
  • POSIX

The native API is largely undocumented, and noted by the prefixes Rtl, Zw, and Nt. The Win32 API is considered it's primary API as the system services, security & console are all win32 applications.

Win32

This is the most commonly used subsystem. This is responsible for running the 32bit windows applications.

NTVDM

Microsoft licensed SoftPC 3.0 to provide a full PC emulated experience on the RISC CPUs and for emulating IBM PC hardware on the i386, but running instructions inside a v86 virtual machine (A hardware feature of the 386 and higher CPUs).

Win16 (WOW

The Win16/WOW subsystem was a specialized copy of Windows 3.1 running in the NTVDM that would pass all the user interface calls up to the Win32 subsystem via thunking. This allowed for a seamless operation of legacy Win16 applications. Because this ran withing the NTVDM, even RISC machines could run legacy i286/i386/i486 Win16 programs. This was typical for Microsoft Office 4.2 as the only known RISC port of Office was Office 97 for the Dec Alpha.

OS/2

The OS/2 subsystem was to support the transition away from 16bit OS/2 applications. Out of the box it only supported running text mode OS/2 applications. There was a separately sold addon for the Presentation Manager graphical applications, although it was hard to come by as Microsoft strongly discouraged it's use. An interesting note about the 16bit OS/2 subsystem is that Microsoft had provided a callback facility to allow OS/2 programs to call the Win32 API.

POSIX

Posix compatibility was a 'hot topic' for US Government workstations. The POSIX subsystem was thrown together to achieve a 'checkbox' on GSA contracts. This subsystem was heavily crippled by not having a mechanism to call the Win32 API. As such it provided an environment akin to Unix/32V. With no ability to either run, display X11, or connect via TCP/IP it was largely ignored, except by a few who used its vi tool that was included in the resource kit.

Versions

Windows NT 3.1

Windows NT 3.1

This was the first public release of Windows NT, and the Win32 API. NT 3.1 was released on July 27th 1993. The build number of the initial release is 511, but later service packs increased the build number to 528. NT 3.1 supported the i386 cpu, and the MIPS R4000. Inside some boxes was a coupon for the Dec Alpha version. NT 3.1 was apparently already ported to the Dec Alpha, however none of the ARC capable machines were 'production grade' so they couldn't certify for certain that it'd work. Later copies of NT 3.1 have an ALPHA directory.

Windows NT 3.1 does NOT support PCI buses. It is limited to ISA/EISA/MCA only. However some PCI peripherals can be driven by ISA drivers for things that map to ISA space... Like Video cards. To get a scope of the limited support, check out the Windows NT 3.1 HCL.

On the i386, the more modern INT 15h/E820h interface for querying the system memory map was not yet standardized and supported. This meant that typically the most memory that would be recognized by NTLDR is 64Mb. Since newer versions of NTLDR can boot older systems, installing NT 3.5 or above can overcome this limit in NT 3.1, even if the installation is to a different partition and later removed.

NT 3.1 does include CDROM support, but does not support IDE CDROMs, which later became the industry standard. It also includes support for multiple processors, although the lack of industry standards for multiprocessor i386 at the time meant a custom HAL was needed for each multiprocessor device.

NT 3.1 did include support for long file names in NTFS, but did not include support for long file names in FAT. The NTFS format was later updated, so Windows NT 3.5 and 3.51 include an update to NT 3.1's NTFS driver to allow NT 3.1 to access an NTFS partition that has been mounted by NT 3.5 or later.

Windows NT 3.1 also only allows for a SINGLE WOW session.

NT 3.1 also includes a Microsoft Mail client, and the ability to setup & serve workgroup postoffices.

There were several beta and pre-release versions of Windows NT 3.1.

Windows NT 3.1 shipped in two versions, Windows NT 3.1 Advanced Server, and Windows NT 3.1. The most recent service pack available is service pack 3.

Windows NT 3.5

Windows NT 3.5

Codenamed Daytona, this release added several optimizations, and notably added support for the PCI bus, IDE CDROMs, memory above 64Mb, MPS 1.1 multiprocessor support, and the Dec Alpha CPU's shipped on the CD. It was released on September 21st, 1994. The build number was 807.

The Windows NT 3.5 SDK included the Dec Alpha CLI tools. This version also brought a software only port of OpenGL from SGI to make Windows NT more 'workstation like'.

Windows NT 3.5 replaced the TCP/IP stack from SpiderTCP to something that was built in house. It does support DHCP, and is faster then the SpiderTCP stack. This new TCP/IP stack was also the basis for the one in Windows 95. It is worth mentioning that SLIP & PPP were now included. IMHO this was the EASIEST OS at the time to connect to the internet.

Along with the TCP/IP improvements, NT 3.5 also shipped with a Netware requester. Netware was still late to the game with a client for Windows NT so Microsoft wrote one, and many organizations stuck with the Microsoft requester as it operated better then the Novell one.

From a programming level NT 3.5 also finished out many of the API's that were left to be finished by the time NT 3.1 had shipped... I suspect it had more to do with spec drift then anything.

In preparation for the Windows 95 release, NT 3.5 included support for long file names in FAT, and attempts to run Win32 programs that require version 4.0. It is not entirely successful, because it is missing a lot of APIs that would be included in Windows 95. Perhaps due to a lack of planning, it does not attempt to run Win32 programs that require 3.51.

NT 3.5 was released in two versions, Windows NT 3.5 Server and Windows NT 3.5 Workstation. The most recent service pack available is service pack 3.

Windows NT 3.51

Windows NT 3.51

This release added the PowerPC CPU support that was done by IBM. I've heard that NT 3.51 was actually 'done' 9 months prior to it's release but Microsoft had to wait for IBM to finish the PowerPC port. Meanwhile Microsoft did a LOT of bug fixing making this a very popular release for corporations. While it retained the look & feel of Windows 3.1 the newshell beta was available towards the end of the products lifespan, giving NT 3.51 a Windows 95 feel. It was released on May 30th, 1995 and it's build number was 1057.

NT 3.51 was to sync a lot of user mode components from Windows 95. For developers, this included the Windows 95 common control library including the rich edit control, as well as the Windows 95 help system. Although it may not 'look' or feel like Windows 95 in the slightest. This was the last version of Windows NT to incorporate the Program Manager as the primary interface. Unlike NT 3.1/3.5, Windows NT 3.51 could also run Microsoft Office 95, being the first widely available 32bit version of the popular office suite. This support was retained in Office 97, and dropped in Office 2000.

Although initially 32 bit Internet Explorer supported NT 3.51, this was quickly dropped and users were encouraged to use the 16 bit version. Curiously though the HTTP stack from Internet Explorer 3 (wininet.dll) was available as a redistributable for NT 3.51.

Windows NT 3.51 shipped in two versions, Windows NT 3.51 Server and Windows NT 3.51 Workstation. The most recent service pack available is service pack 5.

Windows NT 4.0

Windows NT 4.0

Windows NT 4.0 was released on August 24th, 1996. It's build number is 1381. Initially it supported the Alpha, i386, MIPS and PowerPC CPUs. However the MIPS cpu was dropped right after service pack 1. The PowerPC cpu was dropped right before service pack 3. The Dec Alpha would see mainstream support right through the Windows NT 4.0 product life cycle. It’s worth noting that the MCA bus (Microchannel) was also dropped from this release.

This release was the most significant user wise, as it incorporated the Windows 95 shell (newshell). Additionally Microsoft had moved the graphics & printing from the win32 user space, into the 'executive' or kernel. This made graphics (GDI) and printing were significantly faster. This did have the downside that video calls, or errors in print rasterization (1 point fonts!!) could crash the entire OS.

I have to say that in my opinion this is where Windows NT went from a curiosity and joke into being a real commercial success. Prior to this, Windows NT 3.1/3.5/3.51 ran mostly win16 applications, and ran them significantly slower then Windows 3.1. However with the transition of user desktops to Windows 95, corporate users now had machines with 16MB of ram, or more, and with Office 95 the beginning of 32bit productivity applications started to hit mainstream. Windows 95 proved itself to be unable to multitask that well under heavy system loads, and with Users with Pentium CPU's suddenly Windows NT was viable. In the company where I worked (Fortune 500 type) we had users going out an buying their own copies of NT 4.0 workstation once word got around that it ran Windows 95 applications but didn’t crash 2-3x a day. Another significant thing for users was the built in shell for Novell Netware, and how it outperformed the Novell offering.

Windows NT was also very popular on the server front, as installation and configuration was significantly easier then Novell Netware. With the release of Exchange server 4.0 more and more companies started to transition their mail infrastructure to Windows NT. Along with the rest of the ‘back office’ SQL, SNA Windows NT started to ‘steal’ away the data center.

Another significant aspect of Windows NT 4.0 was that it not only included TCP/IP in the product (it was an add-on for Novell Netware) but it also included a web server, ftp server & gopher server in the IIS product line. This made IIS servers the quickest to deploy for a novice IS person.

The downfall at the time was the numerous hotfixes for Windows NT, and how to apply them. While waiting for the servicepacks was one thing, running NT 4.0 on the internet became a challenge as installing anything could undo a hotfix, and you had to be extra diligent about finding and verifying their installation. Eventually Microsoft released the windows update function through Internet Explorer, alleviating most of this.

Windows NT 4.0 shipped in three versions, Windows NT 4.0 Server, Windows NT 4.0 Enterprise and Windows NT 4.0 Workstation. The most recent service pack available is service pack 6a.

Windows NT 4.0 Terminal Server

Windows NT 4.0 Terminal Server

This was the first Microsoft multiuser version of Windows, with technology given back from Citrix. I recall Microsoft strong armed the Citrix people into this 'deal'... Anyways it had Service pack 3 built into it, and thus only supported the Alpha & i386 CPUs. It was released around June of 1998.

This was more of a public alpha then a finished product. Because applications had not been written with multiple concurrent instances running under different sessions from different users in mind, quirks were common. It included installation and configuration utilities to tweak common applications to not freak out when more then one copy was running.

It included 10 connection licenses, but any connection from NT 4 or a newer version of Windows did not require a license, so over time this came to mean limited by available memory. Since this was a 32 bit release only, memory could be exhausted within 20-50 sessions depending on the intensity of load.

The protocol for terminal services changed significantly after this release, and support to connect to it was dropped in Windows XP service pack 2. Nonetheless it is possible to keep around mstsc.exe and mstsxax.dll for this purpose. The most recent client that works is distributed with Windows Server 2003. Many features are not supported by the older protocol, and it is limited to a maximum of 256 colors.

There never was a servicepack 6a, just 6 so .net will NOT install. This product was quickly replaced by the Windows 2000 Terminal Services, which honestly did a better job.