DOS
DOS (Disk Operating System) este un sistem de operare single-tasking(o singură aplicație rulată simultan), single-user (un singur utilizator posibili) bazat pe linia de comandă. Versiunea inițială a fost creată de Microsoft în 1981 pentru IBM și s-a numit PC-DOS. Microsoft a portat și vândut apoi sistemul pe calculatoare compatibile IBM-PC fabricate de alții decât IBM sub numele de MS-DOS (Microsoft Disk Operating System). Această versiune a fost cea mai populară Pe lângă versiunile originând din cod Microsoft/IBM există și alte variante de DOS, mai mult sau mai puțin compatibile cu MS-DOS/PC-DOS precum DR-DOS și FreeDOS. Acest lucru a fost posibil datorită simplității sistemului dar și datorită originii intr-un alt sistem de operare, numit CP/M. Până la apariția Windows 95 a fost cel mai popular sistem de operare pe arhitectura x86.
Istoric
Sistemele DOS au fost concepute având în vedere performanțele micro-calculatoarelor la începutul anilor '80. Din perspectiva utilizatorilor actuali, este extrem de limitat, dar pentru standardele vremii, era un sistem comparabil cu concurența : folosea un set de comenzi relativ ușoare (de exemplu copy comparat cu PIP in CP/M), putea adresa un maxim de 640 KB de RAM (într-o epocă în care microcalculatoarele de-abia aveau 32 KB de RAM), asigura interfața utilizatorului cu discuri într-un mod interactiv și, cel mai important, consuma o cantitate redusă de resurse. Aceste facilități au dus la încheierea contractului cu IBM - un factor important în istoria viitoare a sistemului. Acest lucru, combinat cu arhitectura deschisă a IBM și cu strategia de marketing nouă a Microsoft (software vândut fie alături de hardware fie separat, spre deosebire de strategia anterioară - software parte a hardware-ului) au asigurat o pondere ridicată pe piață a MS-DOS. Sistemul original (1.0) nu suporta directoare, dischete de 3.5 inch (sau dischete de 5.25 inch cu densitate ridicată), și se baza pe încărcare de pe casetă audio în sistemul original.
Cu toată evoluția ulterioară (adăugarea suportului pentru directoare, spre exemplu), MS-DOS a devenit, la sfârșitul anilor '80, un sistem depășit. Calculatoarele aveau mai mult de 1 MB de RAM, necesitând un driver special de memorie (XMS și EMS), și programare foarte atentă pentru a putea accesa memoria, utilizatorii doreau multi-tasking (să ruleze mai multe aplicații deodată) - lucru realizat în manieră ingenioasă de programatori, prin folosirea abuzivă a mecanismului de încărcare driveri, în programe "Terminate and stay resident" care asigurau o formă foarte rudimentară de multi-tasking coordonativ, iar sistemele aveau tot mai multe componente și periferice, necesitând driveri greu de instalat și folosit. Apariția GUI (interfețe grafice bazate pe imagini) și a programelor WYSIWYG (ce vezi pe ecran este și după tipărire), pentru care DOS nu era pregătit, în calculatoare precum Apple Macintosh (pentru care Microsoft a fost unul din cei mai importanți furnizori de software în anii '80) sau Amiga a fost însă principalul motiv al înlocuirii DOS. Încercările inițiale ale Microsoft au fost eșecuri - Windows 1.0 și 2.0, interfețe grafice care rulau "deasupra" DOS nu au impresionat utilizatorii. OS/2, un alt sistem de operare, conceput de IBM și Microsoft la sfârșitul anilor '80, a ratat și el, în parte din cauza condițiilor stricte de licențiere spre terți, în parte datorită cerințelor mari de sistem (inclusiv un grad foarte ridicat de compatibilitate cu IBM care ducea la eliminarea "clonelor" și "compatibilelor" - spre exemplu OS/2 nu rulează nici astăzi în mașini virtuale moderne), dar și din cauza lipsei de interes din partea Microsoft. De-abia Windows 3.0 (un hibrid pe 16 biți cu memorie protejată, rulând parțial deasupra DOS - adică se comporta pentru DOS ca orice program obișnuit - dar având propriile system calluri, proprii driveri și un fel de kernel propriu) a fost un pas înainte pentru utilizatorii sistemelor x86.
MS-DOS și Windows 9x
Popularitatea seriei Windows 3.0 (continuată de 3.1 și 3.11, tot hibrizi bazați pe 3.0) a dus la dezvoltarea liniei Windows 9x și NT - Windows 9x, un sistem pe 32 de biți complet multi-tasking, dar în continuare parțial hibrid și Windows NT, un sistem complet nou. Astfel, MS-DOS nu a dispărut complet decât după eliminarea Windows ME, la apariția Windows XP (bazat pe Windows 2000 și NT). În Windows 95, 98 si Me, MS-DOS este folosit ca boot loader, și pentru utilizarea driverilor și system callurilor in mod 16 biți (real, pentru modul protejat se foloseau system calluri Windows). DOS era folosit și ca interpretor standard de comenzi (Command Prompt), și ca mediu inițial de instalare. Ultima versiune de DOS, integrată in Windows Me a fost MS-DOS 8.00 în 2000. Ultima versiune disponibilă separat (fără Windows) a fost MS-DOS 6.22, în 1994.
DOS astăzi
DOS este folosit astăzi într-o nișă redusă de aplicații - ca sistem embedded (încorporat în aplicații industriale) și în sisteme existente care încă nu au fost înlocuite (sisteme legacy). În aplicații industriale însă, continuă să piardă teren în fața sistemelor moderne precum Linux sau QNX, care oferă mai multe avantaje (multi-tasking, POSIX) cu un impact minim, iar în sistemele legacy este înlocuit odată cu uzura fizică sau morală a sistemelor (un exemplu de sistem legacy inlocuit recent sunt aplicațiile oferite de Ministerul Finanțelor contribuabililor pentru calculul diverselor taxe și impozite, care au fost portate recent de pe MS-DOS pe Windows sau pe web).
În versiunile de Windows contemporane derivate din Windows NT (2000, XP, 2003 și Vista), DOS nu mai există, dar interfața cu linia de comandă are comenzi cu sintaxă similară (deși este completată cu un număr de funcții suplimentare). Programele de DOS rulează cu un grad limitat de compatibilitate pe Windows 2000 și XP pe 32 de biți. Compatibilitatea cu acestea pe sistemele pe 64 de biți a fost scoasă. Pentru rularea aplicațiilor MS-DOS (jocuri vechi, programe vechi încă utile, sisteme-muzeu etc.) se pot folosi emulatoare - DosBox oferă un sistem MS-DOS complet într-o fereastră de Windows, Linux sau MacOS, special pentru aceste nevoi (inclusiv încetinirea procesorului pentru jocuri vechi). Dacă se dorește un sistem MS-DOS perfect fidel, se poate instala o copie într-un emulator precum VmWare, QEMU sau Bochs, fără probleme. Instalarea pe un sistem modern (fără emulare) este aproape imposibliă - ultima versiune de MS-DOS nu suporta procesoare cu frecvență variabilă, ACPI, USB, CD-ROM-uri (e necesar un driver special pentru acestea, pentru celelalte medii optice accesul este imposibil), plăci de sunet, partiții mai mari de 2 GB, o mare parte din placile de rețea etc.
Pornirea și inițializarea sistemului
Dos va porni în general doar din prima partiție fizică a sistemului. La inițializarea sistemului, se citește ora și data curentă din BIOS (în cazul în care acestea nu există sau nu au fost setate, utilizatorul este întrebat data și ora curentă), urmat de procesarea CONFIG.SYS (un fișier prin care se puteau inițializa driveri, precum driverii de memorie, de CD-ROM etc.), după care se proceseaza AUTOEXEC.BAT (execută un shell script (batch) pre-definit). După acestea, sistemul prezintă utilizatorului linia de comanda (prompt-ul) - de format [Partiție curentă][:][Director curent (de obicei root-ul disk-ului, adică \][simbolul promptului, adică >] - exemplu :
C:\>_
Sistemele MS-DOS mai noi de 3.0 nu au o rutină predefinită de închidere. La închiderea sistemului, se apasă pur și simplu butonul de stingere de pe carcasă. Sistemele mai vechi de 3.0 ofereau comanda park, pentru poziționarea capului de citire a hard-discului într-o poziție sigură, după care se acționa butonul de curent. După 3.0, tehnologia hard-diskurilor a făcut această operațiune nenecesară.
Caracteristici principale
Kernel : Monolitic (cu posibilitatea "ocolirii" lui prin folosirea intreruprilor de BIOS și a callurilor directe, Single Tasking, Single User, 8/16 biți) Sistem de fișiere : FAT12 (1.0 și pentru dischete), FAT16 (sistem principal), FAT32 (suport limitat in DOS 7.1, 7.9 și 8.0) Capacitate maximă pe disc : 2 GB (FAT16), 32 GB (FAT32) Management de memorie : maxim 640 KB în mod standard, extindere cu driveri speciali, nu există suport pentru memorie virtuală Interfață : Exclusiv linie de comandă (foarte rudimentară comparativ cu liniile de comandă de astăzi, și chiar cu cele din perioadă - fără autocompletion, cu pipe-uri si redirectare foarte redusă). Posibilitate de extindere folosind diverse aplicații și hibrizi (Windows 1.0-3.11, etc.) Număr de utilizatori : Foarte popular la sfârșitul anilor '80, începutul anilor '90, astăzi de importanță istorică (și nișe - aplicații industriale, emulare și aplicații legacy, dar și acestea în scădere) Predecesori : CP/M, CP/M86, anumite influențe din UNIX prin XENIX (directoare, numele unor comenzi) Succesori : Windows 9x