DOS

Тази статия е за семейството ОС. За общата концепция вижте дискова операционна система.

Вижте пояснителната страница за други значения на DOS.

FreeDOS с интерфейс с команден ред, дърво на директорията и информация за версията

DOS е семейство дискови операционни системи[1], включващи основно MS-DOS и ребрандираната версия с име IBM PC DOS, създадени през 1981, както и някои по-късни операционни системи от други производители: DR-DOS (1988), ROM-DOS (1989), PTS-DOS (1993) и FreeDOS (1998). MS-DOS доминира на пазара на IBM PC съвместими, x86-базирани персонални компютри между 1981 и 1995 г.

Много операционни системи на други производители използват акронима „DOS“, включително DOS/360 и нейните производни, използвани в мейнфрейм компютри от 1966 г. Други примери са Apple DOS, Apple ProDOS, Atari DOS, Commodore DOS, TRSDOS] и AmigoDOS.

MS-DOS (както и IBM PC-DOS, която е лицензирана от нея) и тяхната предшественица QDOS, са имитация на CP/M (Control Program / (for) Microcomputers) — доминираща операционна система за 8-битови Intel 8080 и Zilog Z80 базирани микрокомпютри.

Тя е разработена от Seattle Computer Products от Тим Патерсон като вариант на CP/M-80 от Digital Research, но като вътрешен продукт, предназначена за тестване на новата SCP 8086 CPU карта за S-100 шина. Тя не се изпълняваше на 8080 (или съвместим) процесор – нужен на CP/M-80. Тя е наречена QDOS, а също и с други имена. Microsoft я лицензира от SCP, промени я и я лицензира на IBM (продаваща се под името PC-DOS) за техните нови 'ПК' (персонални компютри), използващи процесор 8088 и много други производители. След това започна продажбата ѝ като MS-DOS.

Digital Research създава съвместим вариант, познат като „DR-DOS“, който след това става собственост (след откупуване от Digital Research) на Novell. Тя става „OpenDOS“ малко след като подразделението на Novell, занимаващо се с нея, е продадено на Caldera International, впоследствие SCO Group. След това отделена от Caldera като Lineo (по-късно преименувана на Embedix), която продава DR-DOS на новосъздадена компания, наречена Device Logics (впоследствие DRDOS Inc).

Има също свободен софтуер алтернатива наречена „FreeDOS“.

DOS е една от първите операционни системи за PC съвместими компютри, и първата, получила широко разпространение (за повече от 10 години).

IBM-PC бяха единствените с PC-DOS, докато PC съвместимите компютри от всички други производители бяха с MS-DOS. В началото PC-DOS е почти идентична с MS-DOS. Скоро безплатни версии на DOS като FreeDOS и OpenDOS се появяват.

Ранните версии на Microsoft Windows са малко повече от графична обвивка за DOS, дори следващите версии на Windows са тясно свързани с MS-DOS. Има възможност DOS програми да се изпълняват под OS/2 и Linux, използвайки емулация.

Поради дългия живот и вездесъщност на DOS в света на PC-съвместимите компютри (DOS съвместими програми бяха правени и през 1990-те), DOS често е считан за родна операционна система за PC съвместимите компютри.

Microsoft закупува без изключителни права за пласиране QDOS през декември 1980. През юли 1981 Microsoft купува изключителни права за 86-DOS, която е следващата версия на QDOS.

Първата версия PC-DOS 1.0 е представена през август 1981. Тя поддържаше до 256 КВ RAM и два 160 КВ 5.25" едностранни флопи диска.

През май 1982 PC-DOS 1.1 добави поддръжка на 320 КВ двустранни флопи дискове.

PC-DOS 2.0 и MS-DOS 2.0, представени през март 1983, са първите версии, поддържащи PC/XT и твърди дискове. Капацитетът на флопи дисковете е разширен до 180 КВ (едностранни) и 360 КВ (двустранни) чрез използването на девет сектора на пътечка вместо осем.

По същото време Microsoft обяви, че има намерение да създаде графичен потребителски интерфейс (GUI) за DOS. Първата версия – Windows 1.0 е обявена през ноември 1983, но е недовършена и не заинтересува IBM. През ноември 1985 първата завършена версия Microsoft Windows 1.01 става достъпна.

MS-DOS 3.0, пусната през септември 1984, е първата с поддръжка на 1.2 МВ флопи дискове и 32 МВ твърди дискове. MS-DOS 3.1, пусната през ноември същата година, въвежда поддръжка на мрежи.

MS-DOS 3.2, пусната през април 1986, е първата версия за продажба на дребно на MS-DOS. Тя добави поддръжка на 720 КВ 3.5" флопи дискове. Предишните версии бяха продавани само на производителите на компютри, които ги поставяха на техните компютри, защото операционната система е смятана за част от компютъра, а не като независим продукт.

MS-DOS 3.3, пусната през април 1987, поддържа логически дискове(logical disks). Физическият диск можеше да бъде разделен на няколко дяла, считани за независими дискове от операционната система. Беше добавена и поддръжка на 1.44 МВ 3.5" флопи дискове.

MS-DOS 4.0, пусната през юли 1988, поддържа дискове до 2 GB (типичните размери на диск през 1988 бяха 40 – 60 МВ) и добави пълноекранна обвивка, наречена DOS Shell. Други обвивки като Norton Commander и PCShell, вече съществуваха на пазара. През ноември 1988 Microsoft поправи много грешки във версия MS-DOS 4.01.

MS-DOS 5.0, пусната през април 1991, включваше пълноекранен BASIC интерпретатор QBasic, който също имаше и пълноекранен текстов редактор (преди това MS-DOS имаше еднолинеен текстов редактор edlin). Програма за кеширане на диска (SmartDrive), възможности за възстановяване на изтрити файлове и други подобрения. Тя имаше сериозни проблеми с някои дискови помощни програми, поправени по-късно в MS-DOS 5.01, пуснат по-късно същата година.

През март 1992 Microsoft пусна Windows 3.1, която стана първата популярна версия на Microsoft Windows, с повече от 1 000 000 продажби на графичен потребителски интерфейс.

През март 1993 MS-DOS 6.0 е пусната. Следвайки конкуренцията от Digital Research, Microsoft добави помощна програма за дискова компресия DoubleSpace. По същото време типична големина за твърд диск е 200 – 400 Мб и много от потребителите имаха крещяща нужда от повече дисково пространство. MS-DOS 6.0 имаше и програма за дефрагментиране на диска DEFRAG, програма за резервни копия MSBACKUP, оптимизация на паметта с MEMMAKER и базова програма за вирусна защита MSAV.

Започвайки с 4.0 и 5.0, MS-DOS 6.0 имаше все повече и повече грешки. Поради оплаквания от загуба на данни, Microsoft пусна обновена версия, MS-DOS 6.2, с подобрен DoubleSpace, нова програма за проверка на диска SCANDISK (подобна на fsck от Unix) и други подобрения.

Следващата версия на MS-DOS, 6.21 (пусната през март 1994), се появи заради патентни проблеми. Stac Electronics осъди Microsoft и ги принуди да премахнат DoubleSpace от тяхната операционна система.

През май 1994 Microsoft пусна MS-DOS 6.22, с друга компресираща програма DriveSpace, лицензирана от VertiSoft Systems.

MS-DOS 6.22 е последната версия на MS-DOS обществено достъпна. MS-DOS е спряна от предлагане от Microsoft на 30 ноември 2001.Microsoft Licensing Roadmap.

Microsoft пусна версии 6.23 до 6.25 за банките и американските военни организации. Тези версии предложиха поддръжка на FAT32. Оттогава MS-DOS съществува само като част от Microsoft Windows, базирани на Windows 95 (като Windows 98, Windows Me). Оригиналната версия на Microsoft Windows 95 има MS-DOS версия 7.0.

IBM пусна последната комерсиална версия на DOS – IBM PC-DOS 7.0 – в началото на 1995. Тя имаше много нови помощни програми, като антивирусна програма, пълна програма за създаване на резервни копия, поддръжка на PCMCIA, и DOS разширения за работа с писалка. Тя имаше също нови възможности за подобряване на достъпната памет и дисковото пространство.

Потребителски интерфейс

[редактиране | редактиране на кода]

DOS системите използват интерфейс с команден ред. Програмите се стартират чрез въвеждане на името на съответния файл на командния ред. DOS системите включват няколко програми, които се използват като системни инструменти, и предоставят допълнителни команди, които не се отнасят към конкретна програма (вътрешни команди).

Достъп на ниско ниво в DOS

[редактиране | редактиране на кода]

Операционната система предлага hardware abstraction layer адекватен за разработване на текстово базирани приложения, но неадекватен за достъп до голяма част от компютърния хардуер (например графичния хардуер). Логично програмистите работеха директно с хардуера. Като резултат всяко приложение трябваше да има набор от драйвери за различен хардуер (различни видове принтери и т.н.) и когато нов хардуер излезеше на пазара производителят трябваше да разработи драйвери за всички популярни приложения.

DOS и другите PC операционни системи

[редактиране | редактиране на кода]

Ранните версии на Microsoft Windows бяха програми-обвивки, работещи в DOS. Следващите версии също работеха под DOS, но разширявайки го в „защитен“ режим. Те фукционираха независимо от DOS, но имаха доста от стария код, който се изпълняваше във виртуална машина в новата операционна система, като с всяка следваща версия все повече от кода отпадаше. Windows Me е последната операционна система на Microsoft, работеща под DOS; операционните системи от типа на Windows NT (включително Windows 2000, Windows XP и всички по-нови версии на Windows, макар че те не бяха предлагани като „Windows NT“) не са базирани на DOS.

Под Linux и други UNIX системи е възможно да се емулира DOS. Най-популярните емулатори за DOS са dosemu и DOSBox.

Запазени имена на устройства в DOS

[редактиране | редактиране на кода]

В DOS има резервирани имена на файлове, които не могат да се използват независимо от разширението. Тези ограничения са валидни също и за някои версии на Windows. В някои случаи те могат да доведат до грешки или пропуски в сигурността.

Ето и част от тях: NUL:, COM1: или AUX:, COM2:, COM3:, COM4:, CON:, LPT1: или PRN:, LPT2:, LPT3:, и CLOCK$.

По-новите версии на MS-DOS и IBM-DOS позволяват използване на запазени имена на устройства без двоеточие например PRN е същото като PRN:.

NUL името на файл е пренасочено към файл „нищо“ (null file), аналогично с подобния файл на UNIX /dev/null. Най-добре е да се използва във файл с команди(batch command files) за изчистване на ненужна информация. Ако NUL се копира върху файл, който е вече създаден, то той ще бъде нулиран, т.е. нулев файл ще бъде създаден. (Тъй че, copy NUL foo е аналогично на UNIX командите cat </dev/null >foo и cp /dev/null foo.) Създавайки потребителски файл с име NUL, независимо с какво разширение, може да доведе до непредсказуеми реакции в повечето приложения. Добре написаните проложения ще генерират грешка при опит за създаване на такъв файл, но други „записват“ файла, но тъй като той е и „нищо“ всичко, което програмата записва, е загубено, а някои програми дори блокират компютъра.

Начин на именуване на устройствата

[редактиране | редактиране на кода]

В Microsoft DOS и техните производни дисковите устройства се идентифицираха с букви от латинската азбука. Стандартна практика е да се резервират букви „A“ и „B“ за флопи дисковете. На системи със само едно флопидисково устройство DOS използва и двете букви за едно устройство, и изписва покана за поставяне на дискета. Това позволява копиране от дискета на дискета (това не е много бърз метод, тъй като дисковете трябваше да се сменят по-често, отколкото трябва) или да се работи с програма от едното устройство и с данните за нея в другото. На твърдите дискове се именуваха с буквите „C“ и „D“, но след като възможността за повече логически устройства се появи на основните дялове (primary partition) на всеки диск (DOS позволява само един активен основен дял за диск) първи получаваха букви, след това процедурата се повтаря за логическите устройства в разширените дялове (extended partitions). След това се дават букви на CD-ROM, RAM дисковете и др. Това се прави по реда, по който драйверите бяха зареждани, макар че има възможност за указване на кое устройство коя буква да се присвои. На мрежовите устройства обикновено се даваха букви от края на азбуката, за да няма конфликт със системата.

Тъй като тези букви се използват директно от приложенията (за разлика от /dev/* имената в Unix-подобни операционни системи), добавянето на допълнителен твърд диск може да създаде проблеми на приложенията, може дори да се стигне до преконфигуриране или дори преинсталиране. Това се случва най-често при положение, че има логически дискове в разширения дял на оригиналния твърд диск и новият диск има основен дял, тъй като това води до смяна на буквите на логическите дискове от първия твърд диск. Но дори и новият диск да има само логически дискове в разширения дял, това все пак ще смени буквите на RAM дисковете и CD-ROMите. Тази „подривна“ система съществува по време на 9x версиите на Windows, но NT използва малко по-различна състема. Тя използва традиционната система, когато за пръв път се инсталира, но след това се опитва да запази буквите на вече съществуващите устройства, докато потребителя не ги смени.

Под Linux е възможно да се изпълняват копия на DOS и подобни чрез DOSEMU, Linux-приложение виртуална машина за изпълняване на програми в реален режим. Съществуват множество други емулатори за изпълняване на DOS на различни версии на UNIX, дори и на неx86 платформи.

DOS емулаторите се използват също и от потребители на Windows XP, тъй като тя не е 100% съвместима с DOS. Много потребители изпитват трудности с 'неподдържани' (abandonware) игри, направени за DOS. Един от най-известните емулатори, направен специално за игри, е DOSBox, изпълняващ се в прозорец (опционално и в пълноекранен режим) DOS емулатор за модерни операционни системи.

  1. DOS the Easy Way. EasyWay Downloadable Books, 1988. ISBN 0-923178-00-7.