DOS

DOS (od ang. disk operating system, „dyskowy system operacyjny”) – rodzina systemów operacyjnych dla komputerów osobistych IBM PC i zgodnych. Obejmuje wywodzące się z 86-DOS systemy MS-DOS i PC DOS oraz implementacje zgodnych z nimi funkcji, takie jak FreeDOS[1][2]. Nazwa nie oznacza jednego produktu ani jednakowej architektury wszystkich systemów. Klasyczny MS-DOS udostępniał tekstowy interpreter poleceń, obsługę plików i mechanizmy uruchamiania programów[3].
Zakres nazwy
[edytuj | edytuj kod]Skrót DOS występował również w nazwach systemów innych architektur. IBM stosował go w dokumentacji DOS/360 dla komputerów System/360 już w latach 60. XX wieku; system ten obsługiwał wieloprogramowość i ochronę pamięci[4]. Do innych przykładów należą DOS dla Apple II[5] i Atari DOS[6]. W stacjach Commodore 1541 DOS był zapisany w pamięci ROM samego napędu[7], natomiast AmigaDOS stanowi podsystem AmigaOS, obejmujący m.in. obsługę plików i procesów[8]. Systemy te nie stanowią odmian MS-DOS.
Historia
[edytuj | edytuj kod]Tim Paterson z Seattle Computer Products stworzył dla procesora Intel 8086 system QDOS, następnie nazwany 86-DOS. Inspirował się poleceniami i interfejsami CP/M, opracowanego przez Gary’ego Kildalla około 1974 roku, lecz zastosował odmienną implementację wewnętrzną i format zapisu plików[1].
Microsoft najpierw uzyskał licencję na 86-DOS, a następnie kupił prawa do niego. W sierpniu 1981 roku wraz z IBM PC wydano PC DOS 1.0. Microsoft zachował możliwość licencjonowania systemu innym producentom jako MS-DOS. Wydana w marcu 1983 roku wersja 2.0 wprowadziła obsługę dysków twardych i podkatalogów[1].
Obok produktów Microsoftu i IBM powstawały inne systemy zgodne z DOS-em. Novell oferował Novell DOS 7 z obsługą sieci Personal NetWare i menedżerem zadań[9]. Później tę linię systemów rozwijała Caldera, która przejęła ją od Novella i udostępniała jako DR-DOS[10]. W 1994 roku Jim Hall ogłosił projekt późniejszego FreeDOS[11].
W latach 90. XX wieku upowszechniły się graficzne środowiska i systemy operacyjne[1]. Windows 3.0 uruchamiano z MS-DOS; jego tryb rozszerzony wykorzystywał procesor 80386 do równoczesnego działania aplikacji Windows i odrębnych sesji DOS[12]. W Windows NT zgodność z programami DOS zapewniał odrębny składnik NTVDM[13].
Architektura i działanie
[edytuj | edytuj kod]Uruchamianie i obsługa programów
[edytuj | edytuj kod]W klasycznym MS-DOS dla komputerów PC procedury BIOS uruchamiają kod sektora rozruchowego, który rozpoczyna ładowanie systemu. Moduł wejścia-wyjścia MS-DOS pośredniczy między jądrem a sprzętem; nie jest tym samym co BIOS zapisany w ROM komputera. W MS-DOS podstawowe moduły noszą nazwy IO.SYS i MSDOS.SYS, a w PC DOS – IBMBIO.COM i IBMDOS.COM[3].
Domyślną powłoką jest COMMAND.COM. Wykonuje wbudowane polecenia, uruchamia programy z plików COM i EXE oraz przetwarza pliki wsadowe BAT, zawierające sekwencje poleceń. Powłokę można zastąpić innym interpreterem. Programy korzystają z usług systemowych, m.in. za pośrednictwem przerwania programowego INT 21h[3][14].
Pliki i pamięć
[edytuj | edytuj kod]Klasyczny DOS używa nazw plików w formacie 8.3: do ośmiu znaków nazwy i trzech znaków rozszerzenia[1]. PC DOS 7 zapisuje informacje o przydziale miejsca plikom w tablicy FAT, a pliki i podkatalogi przechowuje w obszarze danych dysku[14]. Późniejsze implementacje rozszerzały obsługiwane formaty: producent PTS-DOS deklarował w wersji PTS-DOS 32 m.in. obsługę FAT32 i zgodność z MS-DOS 6.22 oraz 7.1[15].
Klasyczny MS-DOS działa w trybie rzeczywistym procesorów x86; dodatkowe oprogramowanie umożliwia też pracę w trybie wirtualnym 8086. Architektura IBM PC ogranicza podstawowy obszar pamięci systemu i programów do 640 KB, rezerwując resztę pierwszego megabajta m.in. dla BIOS-u i urządzeń. Dodatkową pamięć udostępniano przez rozszerzenia i sterowniki[16]. W trybie rzeczywistym nie są wykorzystywane mechanizmy ochrony pamięci dostępne w trybie chronionym, takie jak atrybuty segmentów egzekwowane przez procesor[12]. Rozszerzenia systemów mogły natomiast oferować usługi dla programów działających w trybie chronionym, np. obsługę DPMI w menedżerze pamięci Novell DOS 7[9].
Zadania i sieć
[edytuj | edytuj kod]Klasyczny MS-DOS jest systemem jednozadaniowym. Programy TSR pozostają jednak w pamięci po zakończeniu głównej części działania i mogą wykonywać określone czynności w odpowiedzi na zdarzenia, np. obsługiwać drukowanie w tle[1][3]. Odmiennym rozwiązaniem jest menedżer zadań Novell DOS 7: przy odpowiedniej ilości pamięci pozwala wykonywać kilka aplikacji równocześnie na komputerach z procesorem 386 lub nowszym, a na komputerach z procesorem 80286 umożliwia tylko przełączanie między wstrzymywanymi zadaniami[9].
Obsługa sieci zależy od implementacji i dodatkowego oprogramowania. Novell DOS 7 zawierał Personal NetWare do udostępniania plików i drukarek oraz oprogramowanie klienta NetWare[9]. W FreeDOS połączenie sieciowe wymaga obsługiwanego urządzenia, odpowiedniego sterownika i oprogramowania protokołów sieciowych[17].
Zgodność i uruchamianie oprogramowania
[edytuj | edytuj kod]Zgodność z DOS-em może dotyczyć interfejsów systemowych i zachowania poleceń, nie oznacza jednak identycznej implementacji jądra. Przykładem jest FreeDOS, którego jądro wywodzi się z DOS-C Pata Villaniego, implementuje podstawowe funkcje zgodne z MS-DOS i PC DOS i jest udostępniane na licencji GPL w wersji 2[2].
Oprogramowanie DOS można uruchamiać także w odpowiednich środowiskach zgodności i emulatorach. DOSBox emuluje procesor x86 oraz urządzenia komputera PC, m.in. układy graficzne i dźwiękowe; działa w różnych systemach operacyjnych, w tym Windows, Linux i macOS[18]. Projekt dosemu2 służy uruchamianiu programów DOS pod Linuksem[19]. NTVDM, wprowadzony w 1993 roku w rodzinie Windows NT, jest dostępny tylko w 32-bitowych wydaniach Windows dla x86, a nie w wydaniach 64-bitowych ani dla ARM[13].
Dalszy rozwój i zastosowania
[edytuj | edytuj kod]FreeDOS powstał jako projekt wolnego systemu zgodnego z DOS-em, ogłoszony przez Jima Halla 29 czerwca 1994 roku[11]. Służy uruchamianiu starszych aplikacji i gier oraz tworzeniu nowych programów DOS[20]. 5 kwietnia 2025 roku wydano FreeDOS 1.4; projekt udostępnia również comiesięczne wydania testowe[21]. Wymagania instalacyjne obejmują zgodny procesor oraz tradycyjny BIOS lub odpowiedni tryb zgodności UEFI. Projekt udostępnia m.in. instalator uruchamiany z nośnika USB[22].
Systemy zgodne z DOS-em stosowano również w komputerach wbudowanych. RTD wymienia ROM-DOS firmy Datalight jako oprogramowanie dla swoich urządzeń[23]. W Polsce oprogramowanie użytkowe dla DOS-u utrzymywano długo po jego okresie największej popularności: Comarch zakończył wsparcie linii ERP Klasyka 31 grudnia 2019 roku[24], natomiast DGCS publikował w 2025 roku aktualizacje swoich programów KPiR DOS i Płace DOS[25].
Zobacz też
[edytuj | edytuj kod]Przypisy
[edytuj | edytuj kod]- 1 2 3 4 5 6 Len Shustek: Microsoft MS-DOS early source code. computerhistory.org, 2014-03-25. [dostęp 2026-10-27]. (ang.).
- 1 2 FreeDOS kernel: README. github.com. [dostęp 2026-10-27]. (ang.).
- 1 2 3 4 Section II: Programming in the MS-DOS Environment, Articles 1–2. W: The MS-DOS Encyclopedia. Microsoft Press, 1988. (ang.).
- ↑ IBM System/360 Disk Operating System: System Control and System Service Programs. Wyd. 2. IBM, 1966, s. okładka, 10. C24-5036-1. (ang.).
- ↑ Len Shustek: Apple II DOS source code. computerhistory.org, 2013-11-12. [dostęp 2026-10-27]. (ang.).
- ↑ De Re ATARI: Dyskowy system operacyjny. [w:] De Re Atari, rozdział 9, przekład Jerzego Wałaszka [on-line]. eduinf.waw.pl. [dostęp 2026-10-27].
- ↑ Commodore 1540/1541 Service Manual: Microprocessor Control of RAM and ROM. commodore.ca. [dostęp 2026-10-27]. (ang.).
- ↑ AmigaDOS Introduction. wiki.amigaos.net. [dostęp 2026-10-27]. (ang.).
- 1 2 3 4 Novell DOS 7 User Guide. Novell, 1993, s. xix, 1-7–1-8, 13-1. (ang.).
- ↑ Caldera Support Staff: Caldera DR-DOS FAQ. ftp.zx.net.nz. [dostęp 2026-10-27]. (ang.).
- 1 2 Jim Hall: A brief history of DOS. [w:] Getting started with FreeDOS [on-line]. freedos.org. [dostęp 2026-10-27]. (ang.).
- 1 2 Matt Pietrek: Under the Hood: Happy 10th Anniversary, Windows. [w:] MSDN Magazine, lipiec 2000 [on-line]. learn.microsoft.com, 2000. [dostęp 2026-10-27]. (ang.).
- 1 2 NTVDM and 16-bit app support. learn.microsoft.com. [dostęp 2026-10-27]. (ang.).
- 1 2 PC DOS 7 Technical Update. IBM International Technical Support Organization, 1995, s. 10–12, 34. GG24-4459-00. (ang.).
- ↑ PTS-DOS 32. phystechsoft.ru. [dostęp 2026-10-27]. (ros.).
- ↑ Section II: Programming in the MS-DOS Environment, Articles 2, 9. W: The MS-DOS Encyclopedia. Microsoft Press, 1988. (ang.).
- ↑ Networking. help.fdos.org. [dostęp 2026-10-27]. (ang.).
- ↑ DOSBox – Information. dosbox.com. [dostęp 2026-10-27]. (ang.).
- ↑ dosemu2. dosemu2.github.io. [dostęp 2026-10-27]. (ang.).
- ↑ The FreeDOS Project. freedos.org. [dostęp 2026-10-27]. (ang.).
- ↑ FreeDOS 1.4. freedos.org, 2025-04-05. [dostęp 2026-10-27]. (ang.).
- ↑ Installing FreeDOS. help.freedos.org. [dostęp 2026-10-27]. (ang.).
- ↑ Third Party Support. rtd.com. [dostęp 2026-10-27]. (ang.).
- ↑ Comarch ERP Klasyka. comarch.pl. [dostęp 2026-10-27].
- ↑ Aktualizacje i powiadomienia. dgcs.pl. [dostęp 2026-10-27].