Jump to content

DOS: Difference between revisions

From EDM2
Ak120 (talk | contribs)
 
(30 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Image:PCDOS.jpg|right]]
DOS is also a subsystem of OS/2, running in cohabitation with version 1.x of OS/2 and as a task in version 2 and later. Furthermore DOS is also used as a collective name for a variety of operating systems that offer compatibility with the PC DOS system to varying degrees.
The IBM Personal Computer Disk Operating System or PC-DOS, more commonly known as just DOS, is a fairly rudimentary operating system originally shipped with the IBM PC in 1981, primarily a [[CP/M]] clone with some facilities modified for a more "IBM like" behaviour or to conform to IBM naming conventions (config.sys etc.). DOS is also a subsystem of OS/2, running in cohabitation with version 1.x of OS/2 and as a task in version 2 and later. Furthermore DOS is also used as a collective name for a variety of operating systems that offer compatibility with the PC-DOS system to varying degrees.


Version 1 was so buggy it was rewritten mostly from scratch by IBM and Microsoft, which is the reason all subsequent DOS releases from Microsoft contain an IBM copyright notice, the manual for DOS was also an internal IBM product and not written by either MicroSoft or SCP.
==Products==
This lists major DOS operating system products by several companies.


==Porting issues==
;Digital Research (DRI) branch
Since we have a few given facts such as:
* [[DR DOS]]
* OS/2 command line was developed with compatibility with DOS in mind
* Novell DOS
* OS/2 has support for all known DOS [[codepages]]
* Caldera OpenDOS
* OS/2 has a DOS subsystem that is a full version of DOS v5 built in
* Caldera DR-DOS
It is somewhat apparent that porting to and especially from DOS is as easy as it gets, if you cannot get the tools or the time to make a 32 bit version for OS/2, you can in a worst case scenario run the original program under the DOS subsystem. Most plain text mode tools port with little or no changes, primarily you will have to keep note of integer and floating point values since a 32 bit system will respond differently than a 16 bit one, and there are minor API differences, not every last DOS call has a 100% equivalent in OS/2.
* Lineo DR-DOS
* DeviceLogics DR-DOS 8.1
;IBM
* [[PC DOS]], IBM DOS
;Lifeboat Associates
* SB-86 - Software Bus-86
;Microsoft (MS)
* [[MS-DOS]]
;PhysTechSoft
* PTS-DOS
;Seattle Computer Products (SCP)
* 86-DOS
;XDOS Family
* XDOS (1988)
* NSSDOS (1989)
* DOS/NT
* DOSC-C/Free-DOS/FreeDOS (1994)


====Graphic libraries====
===Operating Systems with DOS Support===
Problems can happen when you are dealing with applications that call windowing libraries and other GUI or graphic libraries, the most common libraries actually got ports to OS/2 but there remain a few reasonably common libs that never gained an OS/2 version and it may be difficult to get hold of some of the others now. If you have the source for the graphic library however you may be in luck since the OS/2 command line actually supports most of the graphic modes that DOS has and therefore porting them is relatively simple or even a straight re-compile.
As above, only major or notable versions included.
 
<div style="column-count:2;-moz-column-count:2;-webkit-column-count:2">
====Date, binary values and arithmetic issues====
* IBM OS/2 Standard Edition 1.0, Extended Edition 1.0
The only other issue to keep in mind when porting is that old software sometimes has artificial limits built into them or assumptions made that made sense at the time they were written but not today. Installers and other programs that query disk sizes in 16 bit values made sense when disk came in 5 to 30 megabyte sizes, but make no sense now with disk sizes in the terabytes. It is best to either remove such code altogether since old DOS apps are so small they are an of inconsequential size even on a small SSD or [[flash drive]] or to change any routine to a "is there enough space for this application" query rather than "how much disk space is left" query.
* IBM OS/2 Standard Edition 1.1, Extended Edition 1.1
 
* IBM OS/2 Standard Edition 1.2, Extended Edition 1.2
Dates were also commonly calculated using small integers from a set date (typically 1980-01-01 but varies), this meant that the integer value ran out around 2007, some programs assumed only 2 digits for a year which is OK if you are only calculating something that needs current dates such as a PIM, but not good for historical data, some assumed that the program would run in  the 20th century only so if they are run now they think it is 1915, so on and so forth.
* IBM OS/2 Standard Edition 1.2, Extended Edition 1.3
 
* Microsoft Windows 95
Development tools like [[Clipper]] and [[dBase]] for instance supported four digit years out of the box but programmers writing in those two languages commonly just used the last two of the date field when calculating values, this is not a difficult fix but can get a bit time consuming.
* Microsoft Windows 98
 
* Microsoft Windows 98 Second Edition
====Porting tools====
* Microsoft Windows ME
* Clipper/dBase/[[xBase]]: [[Harbour]] (Current) - [[X2C]] (Discontinued) - [[XHarbour]] (Discontinued) - [[XBase++]] (Discontinued) | All are Clipper style compilers, no-one has been making dBase like interpreted products for a while.
* PDOS
* [[Basic]]: [[Bywater Basic]] should be able to cope with code intended for early MS Basic versions.
* C/C++: [[Watcom C]] is your best choice overall since it has a number of compatible tools but is otherwise reasonably modern, old versions of [[IBM C Set]] have some compatibility with older [[Microsoft C]] and [[IBM C]] toolsets, but overall it is recommended that to use Watcom even if that costs you some extra work.
* [[Modula-2]]: All M2 for OS/2 vendors provided [[TopSpeed Modula-2]] compatibility packages for their products, but in all cases as separate downloads and not as part of the main package.
* [[Prolog]]: [[Visual Prolog]] versions up to 5.1 contained the full [[Turbo Vision]] system that could be ported to OS/2 command line, the 5.2 package drops this but it is trivial to make the 5.1 version work with 5.2.
* [[Pascal]]: Most OS/2 [[Pascal]] vendors offered some sort of [[Turbo Pascal]] compatibility, the open source [[Free Pascal]] is actually a TP clone.
 
==Known versions==
This lists major versions of DOS, minor versions such as 6.21 or 6.22 that are product specific upgrades or minor bug fix releases are not listed unless they have some specific significance.  
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* DOS Plus
* DR-DOS v5
* DR-DOS v8
* DR-DOS v8.1 (Current)
* Enhanced DR-DOS 7.01.08
:aka EDR-DOS
* FreeDOS 1.1 (Current)
* MS-DOS v1
* MS-DOS v1.1  
* MS-DOS v2
* MS-DOS v3
* MS-DOS v3.3
* MS-DOS v4
* MS-DOS v5
* MS-DOS v6
* MS-DOS v6.2
* MS-DOS v7
* MS-DOS v8 (Current)
* OpenDOS v7.01
* PC-DOS v1
* PC-DOS v1.1
* PC-DOS v1.25
* PC-DOS v2
* PC-DOS v3
* PC-DOS v3.2
* PC-DOS v3.3
* PC-DOS v4
* PC-DOS v5
* PC-DOS v6
* PC-DOS v6.1
* PC-DOS v6.3
* PC-DOS v7
* PC-DOS 2000
* PC-DOS v7.1 (Current)
* PTS-DOS 32
* ROM-DOS
</div>
</div>


====Operating systems that have a built in DOS Shell====
==DOS Shells==
As above, only major or notable versions included.
Software that runs on top of DOS and takes over the operation of the machine to varying degrees.
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
<div style="column-count:2;-moz-column-count:2;-webkit-column-count:2">
* eComStation Preview
*DESQview
* eComStation 1
*DESQview/X
* eComStation 1.1
*[[GEM]]
* eComStation 1.2
*Geos
* eComStation 1.2 R2
*[[IBM TopView]]
* eComStation 2.0
*Lotus Magellan
* eComStation 2.1
*[[Microsoft Windows]] - Versions 1 to 3.11
* eComStation 2.2 Beta
*Tandy Deskmate
* IBM OS/2 v1
*Visi On
* IBM OS/2 v1.1
*Xtree
* IBM OS/2 v1.2
* IBM OS/2 v1.3
* IBM OS/2 v1.3 Server/Lan Manager/EE
* IBM OS/2 v2
* IBM OS/2 v2.1
* IBM OS/2 Server v2/Server SMP 2.11
* IBM OS/2 Server v3
* IBM OS/2 v3
* IBM OS/2 Server v4
* IBM OS/2 v4
* IBM OS/2 Server v4.5
* IBM Warpspace on Demand 1
* IBM Warpspace on Demand 2
* IBM OS/2 v4.5 (OS/2 CP)
* Microsoft OS/2 v1
* Microsoft OS/2 v1.1
* Microsoft OS/2 v1.2
* Microsoft OS/2 v1.3
* [[Microsoft Lan Manager]]
* MS Windows 95
* MS Windows 95 OEM (FSR2/3/4)
* MS Windows 98
* MS Windows 98SE
* MS Windows ME
* MS Windows NT 3.0
* MS Windows NT 3.5
* MS Windows NT 4
* MS Windows 2000
* MS Windows XP
* MS Windows XP Tablet PC Edition
* MS Windows XP Media Center Edition
* MS Windows XP Embedded Edition (aka XP POS)
* MS Windows Vista (32 bit version only)
* MS Windows 7 (32 bit version only)
* MS Windows 8 (32 bit version only)
* MS Windows 8.1 (32 bit version only)
* MS Windows 10 (32 bit version only)
* MS Windows NT Server 3.1
* MS Windows NT Server 3.5
* MS Windows NT Server 4
* MS Windows 2000 Server
* MS Windows 2003 Server
* MS Windows 2003 Server R2
* MS Windows 2008 Server
* Windows Home Server
* [[PDOS]]
</div>
</div>


==Authors==
==Links==
* Seattle Computer Products (Original Author)
* [http://www.bttr-software.de/forum/forum.php DOS ain't dead] - Probably the most active DOS related forum out there.
* [[IBM]]  
* [http://dosprograms.info.tt/ Interesting DOS programs]
* [[Microsoft]]
* [[Digital Research]] et al.


==See also==
==See also==
* [[:Category:DOS Tools]]
* [[:Category:DOS Tools]]
==Links==
* http://www.opus.co.tt/dave/indexall.htm - Link site
* http://www.drdosprojects.de - Enhanced DR-DOS & Forums
* http://drdos.com


[[Category:Operating Systems]]
[[Category:Operating Systems]]

Latest revision as of 20:46, 11 March 2019

DOS is also a subsystem of OS/2, running in cohabitation with version 1.x of OS/2 and as a task in version 2 and later. Furthermore DOS is also used as a collective name for a variety of operating systems that offer compatibility with the PC DOS system to varying degrees.

Products

This lists major DOS operating system products by several companies.

Digital Research (DRI) branch
  • DR DOS
  • Novell DOS
  • Caldera OpenDOS
  • Caldera DR-DOS
  • Lineo DR-DOS
  • DeviceLogics DR-DOS 8.1
IBM
Lifeboat Associates
  • SB-86 - Software Bus-86
Microsoft (MS)
PhysTechSoft
  • PTS-DOS
Seattle Computer Products (SCP)
  • 86-DOS
XDOS Family
  • XDOS (1988)
  • NSSDOS (1989)
  • DOS/NT
  • DOSC-C/Free-DOS/FreeDOS (1994)

Operating Systems with DOS Support

As above, only major or notable versions included.

  • IBM OS/2 Standard Edition 1.0, Extended Edition 1.0
  • IBM OS/2 Standard Edition 1.1, Extended Edition 1.1
  • IBM OS/2 Standard Edition 1.2, Extended Edition 1.2
  • IBM OS/2 Standard Edition 1.2, Extended Edition 1.3
  • Microsoft Windows 95
  • Microsoft Windows 98
  • Microsoft Windows 98 Second Edition
  • Microsoft Windows ME
  • PDOS

DOS Shells

Software that runs on top of DOS and takes over the operation of the machine to varying degrees.

Links

See also