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], и AmigaDOS.

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

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 (вътрешно същия като 8086; нито вътрешно, нито външно? двата процесора са еднакви. имат еднакъв набор от инструкции), и много други производители. След това започна продажбата ѝ като MS-DOS.

Digital Research създаде съвместим вариант, познат като „DR-DOS“, който след това стана собственост на (след откупуване от Digital Research) Novell. Тя стана „OpenDOS“ малко след като подразделението на Novell, занимаващо се с нея, беше продадено на Caldera International, сега SCO. След това отделена от 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 съвместими програми бяха правени и през 90-те), 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 kB (двустранни) чрез използването на девет сектора на пътечка вместо осем.

По същото време 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 Гб (типичните размери на диск през 1988 бяха 40 – 60 Мб), и добави пълноекранна обвивка, наречена DOSSHELL. Други обвивки като 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 използва малко по-различна състема. Тя използва традиционната система, когато за пръв път се инсталира, но след това се опитва да запази буквите на вече съществуващите устройства, докато потребителя не ги смени.

DOS емулатори[редактиране | редактиране на кода]

Под 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.