
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. 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.
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. Do innych przykładów należą DOS dla Apple II i Atari DOS. W stacjach Commodore 1541 DOS był zapisany w pamięci ROM samego napędu, natomiast AmigaDOS stanowi podsystem AmigaOS, obejmujący m.in. obsługę plików i procesów. Systemy te nie stanowią odmian MS-DOS.
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.
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.
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ń. Później tę linię systemów rozwijała Caldera, która przejęła ją od Novella i udostępniała jako DR-DOS. W 1994 roku Jim Hall ogłosił projekt późniejszego FreeDOS.
W latach 90. XX wieku upowszechniły się graficzne środowiska i systemy operacyjne. 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. W Windows NT zgodność z programami DOS zapewniał odrębny składnik NTVDM.
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.
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.
Klasyczny DOS używa nazw plików w formacie 8.3: do ośmiu znaków nazwy i trzech znaków rozszerzenia. PC DOS 7 zapisuje informacje o przydziale miejsca plikom w tablicy FAT, a pliki i podkatalogi przechowuje w obszarze danych dysku. 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.
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. W trybie rzeczywistym nie są wykorzystywane mechanizmy ochrony pamięci dostępne w trybie chronionym, takie jak atrybuty segmentów egzekwowane przez procesor. 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.
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. 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.
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. W FreeDOS połączenie sieciowe wymaga obsługiwanego urządzenia, odpowiedniego sterownika i oprogramowania protokołów sieciowych.
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.
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. Projekt dosemu2 służy uruchamianiu programów DOS pod Linuksem. 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.
FreeDOS powstał jako projekt wolnego systemu zgodnego z DOS-em, ogłoszony przez Jima Halla 29 czerwca 1994 roku. Służy uruchamianiu starszych aplikacji i gier oraz tworzeniu nowych programów DOS. 5 kwietnia 2025 roku wydano FreeDOS 1.4; projekt udostępnia również comiesięczne wydania testowe. 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.
Systemy zgodne z DOS-em stosowano również w komputerach wbudowanych. RTD wymienia ROM-DOS firmy Datalight jako oprogramowanie dla swoich urządzeń. 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, natomiast DGCS publikował w 2025 roku aktualizacje swoich programów KPiR DOS i Płace DOS.