⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hod.html

📁 黑客培训教程
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<html>

<head>

<title>The History of DOS</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>



<body bgcolor="#FFFFFF" text="#000000">

<div align="center"><b> <font size="5"> </font></b>

  <table width="680" border="0" cellspacing="2" cellpadding="2" align="center">

    <tr> 

      <td width="693"> 

        <pre>

                        :::::::::   ::::::::  :::::::::  :::::::::: 

                        :+:    :+: :+:    :+: :+:    :+: :+:        

                        +:+    +:+ +:+        +:+    +:+ +:+        

                        +#++:++#+  +#++:++#++ +#++:++#:  :#::+::#   

                        +#+    +#+        +#+ +#+    +#+ +#+        

                        #+#    #+# #+#    #+# #+#    #+# #+#        

                        #########   ########  ###    ### ###  

                         

              	             <a href="%20http://blacksun.box.sk" target="_blank">http://blacksun.box.sk</a>

                           _____________________________

    ______________________I       <b>   Topic:</b>             I_____________________

   \                      I                             I                    /

    \     HTML by:        I    <b>The History of DOS</b>       I   Written by:     /

    >                     I<b>(c)1999 by Paroxysm(20-11-98)</b>I                  < 

   /      <a href="mailto:black_mesa@gmx.de">Martin L.</a>       I_____________________________I   Paroxysm        \

  /___________________________>                    <_________________________\</pre>

      </td>

    </tr>

  </table>

  <p>&nbsp;</p>

  <p>&nbsp; </p>

</div>

<p><b><font size="4">Contents:</font></b></p>

<ul>

  <li><a href="#0">Disclaimer</a></li>

  <li><a href="#1">Introduction</a></li>

  <li><a href="#2">History</a></li>

  <li><a href="#3">The Memory Map</a></li>

  <li><a href="#4">Timeline and History Chart</a></li>

  <li><a href="#5">Future of DOS</a></li>

  <li><a href="#6">Postscript</a></li>

  <li><a href="#7">Bibliography</a></li>

</ul>

<p><b><font size="4"><a name="0"></a>Disclaimer:</font></b></p>

<p>Although this document is purely informative, the author claims no responsibility 

  for any misguided souls who find a way to twist its contents into anything harmful 

  or overly offensive.</p>

<p><b><font size="4"><a name="1"></a>Introduction:</font></b></p>

<p>When a computer is turned on an Operating System must be loaded into the computer's 

  memory before the user can begin using it. IBM compatible machines use an operating 

  system called MS-DOS. MS stands for &quot;MicroSoft&quot; (a trade name), while 

  DOS stands for &quot;Disk Operating System&quot;, which tells us that it's original 

  purpose was to provide an interface between a computer and its disk drives. 

  Technically, DOS is a high-level interface between an application program and 

  the computer. </p>

<p>DOS has been extended further, allowing programs to handle the likes of simple 

  memory management, disk operations, assorted system tasks (e.g. date/time), 

  user input commands and managing input/output (i/o) devices (i.e. it provides 

  operating instructions for the computer to manage both hardware and software). 

  Versions 3.1 and up also provide basic networking functions.</p>

<p>Beyond this, DOS provides the user with the important facility of file and 

  disk management (often referred to as disk-housekeeping). This part of DOS is 

  particularly crucial to the user as it was specifically designed for him or 

  her to interact with.</p>

<p>With the advent of installable device drivers and TSR (Terminate but Stay Resident) 

  programs in DOS v2.0, the basic DOS functions could be extended to handle virtually 

  any scale of operations required. This was the first instance of multiple programs 

  being run at once in DOS. Some TSR's can however interfere with the running 

  of programs. When a program is loaded into memory it assumes that it has exclusive 

  use of this memory and will not take into account the fact that another program 

  (the TSR) is also using this area. Thus a conflict can arise causing the program 

  to hang (hang means that the screen freezes and the task being executed stops 

  responding forcing the user to either switch off or reboot the computer).</p>

<p><b><font size="4"><a name="2"></a>History:</font></b></p>

<p>The development of MS-DOS/PC-DOS began in October 1980, when IBM began searching 

  the market for a suitable operating system to go with their soon to be released 

  IBM PC's (commercial Personal Computers). IBM had originally intended to use 

  Digital Research's industry standard operating system - CP/M (Control Program/Monitor 

  or Control Program for Microcomputer - originally written in 1973 by Gary Kildall 

  in his PL/M language). This was never implemented due to uncertain reasons, 

  the most likely being poor diplomatic relations between the two companies. Later, 

  IBM approached a relatively small company called Microsoft, which specialised 

  in language vending. Bill Gates and Paul Allen had written Microsoft BASIC and 

  were selling it on punched tape or disk to early PC hobbyists.</p>

<p>Earlier, in April 1980, Tim Patterson began writing an operating system for 

  use with Seattle Computer Products' 8086-based (S100 bus micros) computer. Seattle 

  Computer Products decided to come up with their own disk operating system, due 

  to delays by Digital Research in releasing a CP/M-86 operating system. By August 

  86-DOS or QDOS v0.10 (Quick and Dirty Operating System) was shipped by Seattle 

  Computer Products. It was a 16-bit version of CP/M. Even though it had been 

  created in only two man-months, the DOS worked surprisingly well. A week later, 

  the EDLIN line editor was created. EDLIN was supposed to last only six months, 

  before being replaced, but it endured for longer.</p>

<p>In September Tim Patterson showed Microsoft his 86-DOS, written for the 8086 

  chip. At this stage Microsoft had no 8086 real operating system to offer, but 

  capitalized when, in October, Microsoft's Paul Allen contacted Patterson, asking 

  for the rights to sell SCP's DOS to an unnamed client (IBM). Microsoft paid 

  less than $100 000 for the rights. Patterson's DOS v1.0 was approximately 4000 

  lines of assembler source. This code was quickly polished up and presented to 

  IBM for evaluation.</p>

<p>An agreement was reached between the two companies and IBM agreed to accept 

  86-DOS as the main operating system for their new PC. In February 1981, 86-DOS 

  was run for the first time on IBM's prototype microcomputer. Furthermore, Microsoft 

  purchased all rights to 86-DOS in July 1981.</p>

<p>In August, IBM announced the IBM 5150 PC, featuring a 4.77-MHz Intel 8088 CPU, 

  64KB RAM, 40KB ROM, one 5.25-inch floppy drive, and PC-DOS 1.0 (Microsoft's 

  MS-DOS), for $3000.</p>

<p>Thus, &quot;IBM Personal Computer DOS v1.0&quot; was available for the introduction 

  of the IBM PC in October 1981. IBM heavily subjected the program to an extensive 

  quality-assurance test and found there to be well over 300 bugs and decided 

  to rewrite the programs. This is why PC-DOS is copyrighted to both Microsoft 

  and IBM.</p>

<p>Some early OEM (Original Equipment Manufacture) versions of DOS had different 

  names such as Compaq-DOS, Z-DOS, Software Bus 86, etc. By version 2.0 Microsoft 

  had succeeded to persuade everyone but IBM to call it MS-DOS.</p>

<p>It is interesting to reflect on the fact that the IBM PC was not originally 

  meant to run MS-DOS. Instead it was supposed to use a (not yet in existence) 

  8086 version of CP/M. On the other hand, DOS was originally written before the 

  IBM PC was created. CP/M-86 would have been the main operating system except 

  for two things: Digital Research wanted $495 for CP/M-86 (considering PC-DOS 

  was basically free) and many software developers found it easier to port software 

  from CP/M into PC-DOS than into CP/M-86.</p>

<p>The IBM PC was first shipped without an operating system. IBM only started 

  including DOS when the second generation AT/339 came out. A user could order 

  one of three available operating systems: IBM PC-DOS, a version of UCSD p-System 

  (type of integrated Pascal operating system - like the improved BASIC operating 

  systems used by the Commodore 64,) and CP/M-86, which was officially an option 

  even though it was unavailable until later on. Since IBM's $39.95 DOS was much 

  cheaper than anyone else's it soon became the most popular.</p>

<p>An upgrade from DOS v3.3 to v4.0 was solely done by IBM, it was later licenced 

  back to Microsoft. In early 1990 IBM declared that it would be ceasing development 

  of DOS, handing the reigns over to Microsoft from then on.</p>

<p>Microsoft's Press' &quot;MSDOS Encyclopaedia&quot; illustrated an example of 

  a late DOS v1.25 OEM brochure. Microsoft was praising future enhancement to 

  v1.25 including XENIX-compatible pipes, process forks and multitasking, as well 

  as &quot;graphics and cursor positioning, kanji support, multi-user and hard 

  disk support and networking&quot;. Despite these large aspirations, Microsoft 

  failed to produce the forks, multitasking and multi-user support (at least in 

  US versions of DOS).</p>

<p>The notice claimed: &quot;MS-DOS has no practical limit on disk size. MS-DOS 

  uses 4-byte XENIX OS compatible pointers for a file and disk capacity of up 

  to 4 gigabytes.&quot;</p>

<p>For the record they actually delivered:</p>

XENIX-compatible pipes:<br>

DOS 2.0 (&quot;|&quot; operator)<br>

---<br>

process forks, and multitasking:<br>

eDOS 4.0 (not delivered in the US)<br>

---<br>

multi-user:<br>

never delivered<br>

---<br>

graphics and cursor positioning:<br>

DOS 2.0 (ANSI.SYS)<br>

---

<p>kanji support:<br>

  DOS 2.01, 2.25 (double-byte character set)<br>

  ---<br>

  hard disk support:<br>

  DOS 2.0 (subdirectories)<br>

  ---<br>

  networking:<br>

  DOS 3.1 (file locking support MS Networks)<br>

  DOS 6.0 (bundled Interlink in with DOS)<br>

  ---</p>

<p>Microsoft launched an aggressive marketing campaign for MS-DOS. Early Microsoft 

  advertisements promoted DOS' XENIX-like features and promised XENIX functionality 

  in future releases.</p>

<p>Microsoft had announced their intention of building a multi-user, multitasking 

  operating system since as early as 1982. They Shipped beta versions of &quot;DOS 

  4.0&quot; in 1986/87 before v3.3 was even announced. Microsoft UK had announced 

  that they had licenced v4.0 to Apricot Computers and the French Postal Service 

  was supposed to be running it.</p>

<p>MS-DOS and PC-DOS have been run on more than just the IBM-PC and clones:</p>

<p>Hardware PC Emulation:</p>

<table width="80%" border="0" cellspacing="2" cellpadding="2" align="center">

  <tr>

    <td>Apple II </td>

    <td>TransPC 8088 board</td>

  </tr>

  <tr>

    <td>Apple MacIntosh </td>

    <td>AST 80286 board</td>

  </tr>

  <tr>

    <td>Atari 400/800 </td>

    <td>Co-Power 88 board</td>

  </tr>

  <tr>

    <td>Atari ST </td>

    <td>PC-Ditto II cartridge</td>

  </tr>

  <tr>

    <td>Amiga 2000</td>

    <td>8088 or A2286D 80286 Bridge Board</td>

  </tr>

  <tr>

    <td>IBM PC/RT</td>

    <td>80286 AT adapter</td>

  </tr>

  <tr>

    <td>Kaypro 2 </td>

    <td>Co-Power Plus board</td>

  </tr>

</table>

<p>Software PC Emulation:</p>

<table width="80%" border="0" cellspacing="2" cellpadding="2" align="center">

  <tr>

    <td>Apple MacIntosh</td>

    <td>SoftPC</td>

  </tr>

  <tr>

    <td> Atari ST </td>

    <td>PC-Ditto I</td>

  </tr>

  <tr>

    <td> IBM RS/6000 </td>

    <td>DOS emulation</td>

  </tr>

</table>

<p>DOS Emulation:</p>

<table width="80%" border="0" cellspacing="2" cellpadding="2" align="center">

  <tr>

    <td>AIX (IBM RS/6000)</td>

    <td>DOS emulation with &quot;PCSIMulator&quot;</td>

  </tr>

  <tr>

    <td>OS/2 1.x </td>

    <td>DOS emulation in &quot;Compatibility Box&quot;</td>

  </tr>

  <tr>

    <td>OS/2 2.x </td>

    <td>executes Virtual DOS Machine</td>

  </tr>

  <tr>

    <td>QNX</td>

    <td>DOS window</td>

  </tr>

  <tr>

    <td>SunOS</td>

    <td>DOS window</td>

  </tr>

  <tr>

    <td>XENIX </td>

    <td>DOS emulation with DOSMerge</td>

  </tr>

</table>

<p><b><font size="4"><a name="3"></a>The Memory Map:</font></b></p>

<p>About a decade ago, standard memory configurations were 256KB, 512KB or 640KB 

  on computers. This memory was often looked at in segments of 65536 bytes or 

  64KB. The user is allocated 10 segments, or 640KB and the system is allocated 

  the remaining 6, or 384KB. The original designers of the 8088, decided that 

  no one would ever possibly need more than 1MB of memory (yeah, right!). So they 

  built the machine so that it couldn't access above 1 MB. To access the whole 

  MEG, 20 bits are needed. This allows a total of 220 combinations of bits, that 

  is 1048576 (= 1024*1024 or 1 MB) different numbers, each of which represents 

  an address of a single byte of data. The problem was that the registers only 

  had 16 bits, and if they used two registers, that would be 32 bits, which was 

  way too much (they thought). So they came up with a rather brilliant (not!) 

  way to do their addressing - they would use two registers. They decided that 

  they would not be 32bits, but the two registers would create 20 bit addressing. 

  And thus Segments and Offsets were created.</p>

<p>**Note: it helps to understand assembly code.</p>

<table width="98%" border="0" cellspacing="2" cellpadding="2" align="center">

  <tr>

    <td>OFFSET</td>

    <td align="center">=</td>

    <td>SEGMENT*16</td>

  </tr>

  <tr>

    <td>SEGMENT</td>

    <td align="center">=</td>

    <td>OFFSET/16 - note that the lower 4 bits are lost</td>

  </tr>

</table>

<p><pre>

SEGMENT * 16    |0010010000010000----| - range (0 to 65535)*16

 +                    

OFFSET          |----0100100000100010| - range (0 to 65535)

 =

20 bit address  |00101000100100100010| - range 0 to 1048575 (1 MB)

                   \----- DS -----/

                   \----- SI -----/

                     \- Overlap-/</pre>

<p>This shows how DS : SI is used to construct a 20 bit address.</p>

<p>Segment registers are: CS, DS, ES, SS. On the 386+ there are also FS &amp; 

  GS.</p>

<p>Offset registers are: BX, DI, SI, BP, SP, IP. In 386+ protected mode, any general 

  register (not a segment register) can be used as an offset register (except 

  IP, which isn't accessable).</p>

<table width="98%" border="0" cellspacing="2" cellpadding="2">

  <tr>

    <td>CS</td>

    <td align="center">:</td>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -