MS-DOS (z ang. Microsoft Disk Operating System) to system operacyjny stworzony przez firmę Microsoft na podstawie nabytego przez nią kodu źródłowego systemu QDOS (z ang. Quick and Dirty Operating System - napisany szybko i na brudno system operacyjny) stworzonego przez Seattle Computers. Jest to wersja systemu operacyjnego DOS (Disk Operating System) przeznaczona dla komputerów IBM-PC opartych na platformie x86.
System MS-DOS powstał z systemu QDOS, a więc przejął większość jego podstawowych założeń i ograniczeń. System QDOS został stworzony w celu uruchamiania automatycznie przekodowanych programów systemu CP/M na platformie opartej o procesor Intel 8086. Był to 16-bitowy, prosty, tekstowy system operacyjny z licznymi ograniczeniami. Został stworzony, aby zastąpic system CP/M na platformie IBM PC.
Jądro systemu MS-DOS jest 16-bitowe i pracuje w trybie rzeczywistym procesora Intel x86. Jądro podzielone zostało na dwie częsci - MSDOS.SYS, czyli jądro właściwe oraz IO.SYS, czyli część odpowiedzialną za obsługę standardowych urządzeń i procedur wejścia-wyscia. Jądro po starcie automatycznie ładuje interpreter poleceń. Funkcje systemowe udostępnione są za pomocą przerwania 0x21, umożliwiającego podstawowe operacje na plikach, manipulację procesem aplikacji, obsługę wejścia i wyjścia oraz urządzeń.
System MS-DOS używa systemu plików typu FAT (File Allocation Table) do zapisywania lokalizacji plików na dysku twardym. Pliki są zorganizowane w drzewiastą strukturę folderów, a szczytem drzewa jest katalog główny dysku. Dysk oznaczany jest w systemie operacyjnym MS-DOS literą z dwukropkiem, tak więc katalogiem głównym dysku twardego "C:", bedzie katalog o ścieżce "C:\".
MS-DOS jest jednozadaniowym systemem operacyjnym, jednak w pąmięci może przechowywać kilka procesów, do których w razie wystąpienia pewnego zdarzenia systemowego może zostać oddana kontrola. Z tego powodu jądro systemowe udostępnia odpowiednie funkcje systemowe pozwalające na tworzenie nowych procesów, zarządzanie pamięcią procesu oraz kończenie pracy procesu, zarówno normalne jak i wyjątkowe.
Podstawowym interfejsem użytkownika systemu MS-DOS jest interpreter poleceń. Istnieje także powłoka systemowa DOS Shell, wykorzystująca grafikę tekstową do wprowadzenia częściowo graficznego interfejsu użytkownika umożliwiającego zarządzanie pamięcią dyskową i uruchamianie aplikacji. Konsola działa na zasadzie dialogu z użytkownikiem, gdy jest gotowa na przyjęcie polecenia wyświetla charakterystyczny dla tego systemu znak zachęty, który zawiera aktualną ścieżkę dyskową zakończoną znakiem ">", na przykład, gdy nasza ścieżka dyskowa to C:\FOLDER\, to znak zachęty będzie wyglądał "C:\FOLDER>". Wprowadznie polecenia opiera się na wpisaniu jego nazwy z klawiatury i wciśnięcie przycisku ENTER (czasami zwany RETURN). Podczas wykonywania, aplikacja może wyświetlać rózne komunikaty na konsoli informując użytkownika o jej przebiegu. Może także pobrać pewne dane od użytkownika, który wpisuje je za pomocą klawiatury. Gdy aplikacja zakończy działanie, interpreter jest gotowy do przetworzenia następnego polecenia.
System MS-DOS używa jedynego dostępnego w trybie rzeczywistym sposobu adresowania pamięci, a więc segmentacji. Pamięć systemu jest ograniczona zwykle do wielkości pamięci konwencjonalnej, a więc 640 kilobajtów. W pewnych okolicznościach system może użyć tzw. pamięci górnej i rozszerzyć adresowanie o 63 kb i 1008 bajtów. Jądro systemu udostępnia funkcje umożliwiające przydział, zwolnienie i zmianę rozmiaru bloku pamięci, manipulację strategią przydziału pamięci oraz pamięcią górną.