cd (change directory) – comandă folosită pentru a naviga prin sistemul de fişiere
cd ..
cd
cd ~
cd $HOME
cd /etc/opt
Comenzi de bază Unix/Linux
pwd (print working directory) – comandă folosită pentru afişarea directorului curent de lucru
ls (list) – comandă folosită pentru listarea conţinutului unui director
ls
ls -ls
ls -la
ls -R
ls –lR > lista.txt
Comenzi de bază Unix/Linux
mv (move) – comandă folosită pentru redenumirea unui fişier
mv file1 file2
mv file1 dir1
cp (copy) – comandă folosită pentru copierea unui fişier
cp file1 file2
Comenzi de bază Unix/Linux
rm (remove) – comandă folosită pentru ? unui fişier
rm file2
rmdir (remove directory) – comandă folosită pentru ? unui director, dacă acesta este gol
rmdir dir_gol
rm –r dir_care_nu_este_gol
Test 1
ls –l | pause
cat files > pause
cat files | more
ls –l | more
Test 2
-w
-i
-r
-F
Test 3
copy test /dir3
cp test ../dir3
copy test ../dir3
cp /notes dir3
Test 4
whoisloggedon | sort
who |sort
whois | sort
id | sort
Test 5
chmod 742 fisier
chmod 754 fisier
chmod 764 fisier
chmod 731 fisier
Test 6
chmod g+x fisier
chmod u-e fisier
chmod g+e fisier
chmod o+x fisier
Caractere de control în UNIX
Aşa numitele caractere de control sunt utilizate pentru a îndeplini anumite funcţii, precum oprirea sau continuarea afişării pe ecran, terminarea execuţiei unui program, etc.
Majoritatea tastaturilor de PC au două taste de control (inscripţionate cu Ctrl), în stânga jos, respectiv dreapta jos. Atunci când este afişată pe ecran, tasta Ctrl este reprezentată de semnul ^
-Ctrl-q – reia afişarea textului pe ecran (oprită cu Ctrl-s)
-Ctrl-c – întrerupe activitatea curentă şi se foloseşte de regulă pentru a opri procese sau afişări pe ecran.
-Ctrl-d – semnifică sfârşitul fişierului sau ieşire, fiind utilizat pentru a ieşi din unele utilitare Unix, ieşirea unei ferestre terminal sau pentru logout.
-Ctrl-u – şterge întreaga linie de comandă, fiind o modalitate rapidă de a şterge o linie de comandă pe care ne-am decis să nu o mai executăm.
-Ctrl-w – şterge ultimul cuvânt introdus la linia de comandă
-Ctrl-h – şterge ultimul caracter introdus la linia de comandă, fiind folosit atunci când tasta nu funcţionează
Determinarea tipului de fişier
Comanda file
Sintaxa generală:
file nume_fisier
Rezultatul comenzii anterioare poate fi: text, executabil, date.
-bash-3.00$ file I*
ICR.pdf: Adobe Portable Document Format (PDF) v1.4
Afişarea conţinutului unui fişier ASCII (text)
Comanda cat
Sintaxa generală:
cat nume_fisier
Comanda more
Sintaxa generală:
more nume_fisier
Comanda head
Sintaxa generală:
head [-n] nume_fisier
Comanda tail
Sintaxa generală:
tail [-n] nume_fisier
Alte comenzi pentru lucrul cu fişiere
Comanda wc (word count) –utilizată pentru a număra linii, cuvinte, octeţi sau caractere într-un fişier
Sintaxa generală:
wc [optiune] nume_fisier
unde optiunile sunt:
-l linii
-w cuvinte
-c octeţi
-m caractere
wc pico.save
4 13 64 pico.save
4 linii, 13 cuvinte, 64 de octeţi
Alte comenzi pentru lucrul cu fişiere
Comanda diff (difference) –utilizată pentru a compara două fişiere text şi a afla diferenţele dintre ele
Sintaxa generală:
diff [optiune] fisier_1 fisier_2
Rezultatul comenzii afişează diferenţele linie cu linie dintre cele două fişiere text
Putem folosi două optiuni:
-i ignoră diferenţele între litere mari şi mici
-c oferă o comparare detaliată: întâi sunt afişate datele referitoare la creare pentru cele două fişiere, apoi liniile din fisier_1, cu semnul – in faţa celor diferite faţă de cele din fisier_2. La fel pentru fisier_2, cu semnul + pentru liniile diferite faţă de fisier_1
Prezentare generală a caracteristicilor unui sistem de operare de reţea
Funcţia de bază a unui sistem de operare este aceea de a controla hardware-ul calculatorului, mediul de execuţie al programelor şi interfaţa utilizator.
Sistemul de operare asigură îndeplinirea acestor funcţii pentru un singur utilizator sau pentru mai mulţi utilizatori ce partajează calculatorul într-o manieră mai degrabă secvenţială decât concurentă.
Introducere
Prezentare generală a caracteristicilor unui sistem de operare de reţea
Spre deosebire, sistemele de operare de reţea asigură o distribuţie a funcţiunilor de-a lungul unor calculatoare conectate în reţea. Un sistem de operare de reţea depinde de sistemul de operare existent pe fiecare calculator în parte. Apoi adaugă funcţii ce permit accesul la resursele partajate. Figura 1 ne prezintă relaţiile de tip pereche, client-server şi mainframe.
Calculatoarele cu sisteme de operare de reţea au roluri specializate pentru a îndeplini accesul partajat la resurse. Sistemele client posedă software specializat ce permite ca acestea să acceseze resursele partajate ce sunt controlate de către sisteme server ce oferă răspunsuri cererilor client.
Figura 2 ne prezintă conceptul prin care datele sunt stocate pe servere şi sunt disponibile cererilor client.
Introducere
Diferenţele dintre SO-PC şi SO de reţea
Calculatoarele PC funcţionează într-o reţea ca nişte clienţi. Folosind funcţionalităţile sistemului de operare nativ PC-ului, utilizatorul este în măsură să acceseze resursele locale ale PC-ului. Aceste pot fi: aplicaţii, fişiere şi echipamente direct conectate la calculator (scanner, imprimantă, etc.)
În momentul în care un PC devine client într-un mediu de reţea, un software specializat va permite utilizatorului local să acceseze resurse care nu sunt locale (la distanţă – remote ) într-o manieră asemănătoare cu aceea în care aceste resurse ar fi locale. Sistemul de operare de reţea extinde capacitatea de conexiune a unui client PC prin asigurarea accesului la servicii la distanţă disponibile ca extensii ale sistemului de operare local.
Introducere
Diferenţele dintre SO-PC şi SO de reţea
În cazul unui sistem de operare local, cu toate că mai mulţi utilizatori pot avea conturi pe acelaşi PC, unul singur dintre aceste conturi poate fi activ la un moment dat.
Spre deosebire de acest caz, un sistem de operare de reţea permite accesul la mai multe conturi utilizator în acelaşi timp şi permite accesul concurent la resurse partajate de către mai mulţi clienţi. Serverele trebuie să ofere suport pentru mai mulţi utilizatori şi să acţioneze drept depozite de resurse ce sunt partajate pentru mai mulţi clienţi utilizator. Serverele necesită software specializat şi echipament hardware adiţional.
Serverul trebuie să asigure existenţa mai multor conturi utilizator şi să fie capabil să permită mai multor utilizatori să acceseze resursele de reţea la un moment dat.
De asemenea, un sistem de operare de reţea este un sistem multitasking. Acest lucru semnifică faptul că, intern, sistemul de operare este capabil să execute mai multe sarcini (tasks) sau procese în acelaşi timp. Sistemele de operare server realizează acest lucru printr-un cod software de planificare ce este integrat în mediul de execuţie. Acest planificator are rolul de a aloca timpul procesorului, memoria şi alte elemente ale sistemului pentru mai multe sarcini în aşa fel încât această alocare să permită partajarea resurselor sistemului.
De asemenea, un sistem de operare de reţea este un sistem multitasking. Acest lucru semnifică faptul că, intern, sistemul de operare este capabil să execute mai multe sarcini (tasks) sau procese în acelaşi timp. Sistemele de operare server realizează acest lucru printr-un cod software de planificare ce este integrat în mediul de execuţie. Acest planificator are rolul de a aloca timpul procesorului, memoria şi alte elemente ale sistemului pentru mai multe sarcini în aşa fel încât această alocare să permită partajarea resurselor sistemului.
Fiecare utilizator de pe un sistem multiutilizator are ca suport un task sau un proces separat pe server. Aceste sarcini interne sunt create în mod dinamic pe măsură ce utilizatorii se conectează la sistem sau, dimpotrivă, sunt şterse atunci când utilizatorii se deconectează de la server.
Multitasking
Multitasking şi multithreading
Figura anterioară ilustrează un server multitasking tipic, ce rulează mai multe instanţe de servicii de reţea ce sunt accesate de către mai multe sisteme client. Serverele de acest tip se regăsesc, de regulă, sub denumirea de servere de întreprindere (enterprise servers) datorită capacităţii mari de a administra date şi servicii complexe.
Serverele de tip enterprise sunt capabile să ruleze copii concurente ale unei comenzi. Acest fapt permite execuţia mai multor instanţe ale aceluiaşi serviciu sau fir de execuţie al unui program. Termenul “fir de execuţie” (thread) descrie un program ce are capacitatea de a se executa independent de altele. Sistemele de operare ce suportă “multithreading” permit programatorilor să proiecteze programe ale căror părţi divizate în fire de execuţie să fie executate concurenţial.
Servere multiprocesor
O altă caracteristică a sistemelor capabile să acţioneze ca sisteme de operare de reţea se referă la puterea de procesare. În mod obişnuit, calculatoarele personale posedă o singură unitate centrală de procesare (UCP) ce execută instrucţiunile ce alcătuiesc o anumită sarcină sau un anumit proces.
Pentru a lucra în mod eficient şi a oferi răspunsuri prompte cererilor clienţilor, un sistem de operare ce funcţionează ca sistem de operare de reţea necesită o unitate UCP foarte puternică pentru a executa mai multe sarcini sau programe. Sistemele cu unic procesor pot face faţă majorităţii sistemelor de operare de reţea dacă acestea au o viteză de execuţie suficient de mare.
Servere multiprocesor
Pentru a ajunge la viteze superioare de execuţie, unele sisteme sunt echipate cu mai multe procesoare. Aceste sisteme se numesc sisteme multiprocesor, fiind capabile să execute mai multe sarcini în paralel prin atribuirea fiecărui task unui procesor diferit.
În acest mod, cantitatea agregată de procesare pe care un sistem server poate să o realizeze într-un interval de timp este mult îmbunătăţită în cazul sistemelor multiprocesor.
Componentele de bază ale unui SO
Toate sistemele de operare (fie pentru calculatoare standalone, fie pentru servere de reţea) includ următoarele componente:
Kernel-ul (nucleul) este cel mai utilizat termen referitor la partea centrală a sistemului de operare. Nucleul reprezintă o porţiune relativ mică de cod ce este încărcată în memorie în momentul pornirii calculatorului. Acest cod cuprinde instrucţiuni ce permit kernel-ului să administreze echipamente hardware (hard-disk, mouse, etc.). Kernel-ul administrează şi controlează, de asemenea, modalitatea de alocare a memoriei, procesele de sistem şi alte programe.
Software-ul de aplicaţie şi alte componente ale sistemului de operare se bazează pe kernel pentru a oferi serviciile de bază de planificare şi acces la hardware-ul şi perifericele calculatorului.
Componentele de bază ale unui SO
Pe un sistem UNIX sau Linux, kernel-ul este reprezentat, de regulă, de către un fişier denumit “kernel”. În unele cazuri, codul kernel-ului trebuie să fie adaptat şi compilat. Dacă acest fişier devine corupt, sistemul nu va mai funcţiona.
Pe un sistem Windows întâlnim fişiere ce conţin cuvintele “kernel” sau “kern”, precum fişierul “kernel32.dll”. Acestea reprezintă fişiere deosebit de importante utilizate de către sistemul de operare. Ele constituie “baza” sistemului de operare.
Interfaţa utilizator
Interfaţa utilizator (IU) reprezintă partea “cea mai vizibilă” a unui sistem de operare. IU este componenta SO prin care utilizatorul interacţionează cu acesta din urmă.
IU acţionează ca o punte de legătură între utilizator şi kernel. IU este asemenea unui interpretor ce translatează apăsările tastelor, click-urile de mouse sau alte forme de input. Output-ul programelor poate fi organizat şi afişat de către IU. Pe sisteme UNIX sau Linux, IU se numeşte “shell”. IU pot fi grupate în două mari categorii:
IU linie de comandă (CLI - Command-Line Interface)
IU grafică (GUI – Graphical User Interface)
Interfaţa utilizator
Primele sisteme de operare pentru PC-uri desktop utilizau în exclusivitate o IU de tip linie de comandă. Interfaţa linie de comandă oferă utilizatorului un prompter, iar utilizatorul introduce comenzile prin tastarea lor. Un mediu linie de comandă reprezintă un mediu text iar utilizatorul poate obţine un rezultat doar prin introducerea comenzilor cu ajutorul tastaturii.
Utilizatorii de UNIX şi Linux pot alege dintr-o varietate de sisteme CLI (shell-uri), precum Bourne shell (sh), Korn shell (ksh), C shell (csh) sau Bourne Again Shell (bash).
Interfaţa utilizator
În zilele noastre toate sistemele de operare cunoscute oferă suport pentru interfeţe utilizator grafice. O IU de tip grafic permite utilizatorilor să administreze software-ul prin utilizarea unor obiecte vizuale precum ferestre, meniuri de tip “pull-down”, pointeri, icon-uri, etc.
Interfaţa grafică permite utilizatorului să introducă comenzi prin intermediul unui mouse sau a altui echipament de intrare de tipul “point-and-click”. Utilizatorii obişnuiţi preferă o interfaţă grafică deoarece aceasta face ca operarea să se facă mai uşor şi intuitiv. Un utilizator poate executa operaţii simple prin intermediul unei interfeţe grafice chiar fără să ştie să citească.
Preţul plătit pentru simplificarea intefeţei utilizator constă în performanţă. Sistemele grafice consumă de sute de ori mai mult spaţiu de stocare decât interfeţele linie-de-comandă. Deoarece interfeţele grafice sunt mai complicate decât cele linie-de-comandă, acestea necesită şi mult mai multă memorie RAM şi timp de execuţie din partea UCP.
Interfaţa utilizator
Datorită faptului că utilizatorul mediu preferă (şi în acelaşi timp îşi doreşte) o interfaţă grafică atunci când foloseşte un computer, interfeţele grafice sunt considerate în momentul de faţă o necesitate pentru sistemele de operare desktop. Cu toate acestea, în mod tradiţional, sistemele de operare server nu necesită suport pentru utilizatori mai puţin experimentaţi. Unele sisteme de operare de reţea pot să nu ofere suport total pentru interfeţe grafice.
În zilele noastre, majoritatea sistemelor NOS oferă suport pentru interfeţe grafice prin oferirea de module separate ce pot fi încărcate şi utilizate precum orice alt program ce rulează pe sistem. Majoritatea nu necesită ca aceste interfeţe grafice să funcţioneze, dar modulele grafice atrag utilizatorii mai puţin experimentaţi.
Administratorii de sisteme lucrează în mod tipic în medii linie-de-comandă, preferând să economisească resursele serverului şi să nu încarce modulele interfeţei grafice, mari consumatoare de resurse. Spre exemplu, UNIX-ul şi Linux-ul oferă suport grafic, dar în momentul în care sunt instalate ca sisteme NOS, deseori sunt configurate fără componente grafice. Spre deosebire de acestea, serverele Windows includ automat interfaţă grafică, încărcând astfel sistemul.
Sistemul de fişiere
Sistemul de fişiere al unui SO determină modalitatea în care fişierele sunt denumite, modul şi locul în care acestea sunt stocate pe hard-disk sau pe alt mediu de stocare. SO Windows, Macintosh, UNIX şi Linux posedă sisteme de fişiere ce utilizează o structură ierarhică.
Într-un sistem de fişiere ierarhic, fişierele sunt plasate în aşa numite “containere logice” ce sunt aranjate într-o structură de arbore. Sistemul de fişiere porneşte cu rădăcina arborelui. UNIX şi Linux denumesc containerul din vârful structurii arborescente “director”. Containerele din cadrul fiecărui director se numesc “subdirectoare”. Windows şi Macintosh utilizează termenele de “folder” şi “subfolder” pentru a descrie directoarele şi subdirectoarele.
Sistemul de fişiere
Sistemul de fişiere al unui SO determină modul în care fişierele şi directoarele sunt organizate din punct de vedere logic. Tipul sistemului de fişiere utilizat de către calculator determină modul în care fişierele pot fi securizate (sau nu) faţă de alţi utilizatori sau programe. Sistemul de fişiere defineşte, de asemenea, modul în care datele sunt aranjate în mod fizic pe mediul de stocare. Unele sisteme de fişiere utilizează spaţiul de stocare într-o manieră mai eficientă decât altele.
Un sistem de fişiere clasic este File Allocation Table (FAT). Sistemele FAT sunt administrate pe disc de către SO. Tabela FAT conţine o hartă de fişiere precum şi modul în care acestea sunt stocate pe disc. Sistemul FAT conţine referinţe către clusterele de pe disc. Clusterul este unitatea de bază a stocării logice pe disc. Un fişier poate fi stocat pe mai mulţi clusteri, dar un cluster poate conţine date provenind de la un singur fişier. Clusterii pot fi aranjaţi (sau nu) unul lângă celălalt. SO utilizează sistemul FAT pentru a identifica toţi clusterii de pe disc în care un fişiere este stocat.
Sistemul de fişiere
Există trei tipuri de sisteme FAT. Versiunea originală este aceea ce a păstrat numele de FAT, iar versiunile FAT16 şi FAT32 reprezintă versiuni îmbunătăţite ale acesteia.
Sistemul FAT original a fost folosit prima oară pe primele versiuni de MS-DOS, nefind capabil să fie utilizat pentru hard discuri mai mari sau pe sisteme de operare mai avansate precum Windows 3.1, Windows 95/98. Sistemul original FAT avea limitări şi în privinţa numelor de fişiere, putând recunoaşte nume de fişiere până la 8 caractere în lungime. Alte limitări erau cele legate de imposibilitatea utilizării hard discurilor de capacităţi mari şi de nerecunoaşterea de către SO avansate. Sistemul FAT nu putea să utilizeze în mod eficient spaţiul de pe discurile cu capacităţi mai mari. Această modalitate de utilizare ineficientă a reprezentat aceeaşi problemă cu care s-a confruntat şi FAT16 (şi a determinat apariţia lui FAT32). Spre exemplu, FAT16 a fost creat pentru a putea utiliza partiţii până la 4 GB.
Sistemul de fişiere
Cu toate că discurile mari pot fi formatate folosind FAT16, această manieră este ineficientă deoarece partiţiile mari au şi dimensiuni mai mari de clusteri. Spre exemplu, la o partiţie de 512 MB, dimensiunea clusterilor este de 8 KB. Asta înseamnă că fie şi pentru un fişier de dimensiune 1 KB, el va folosi 8 KB de spaţiu pe disc, deoarece doar un fişier poate fi stocat într-un cluster. Rezultă deci 7 KB irosiţi. Pentru a rezolva această problemă, a fost dezvoltat FAT32. Acest sistem de fişiere pe 32 de biţi utilizează clusteri de dimensiuni mai mici şi oferă suport pentru partiţii până la 2 TB.
Sistemul de fişiere
SO diferite utilizează sisteme de fişiere diferite iar unele SO pot utiliza mai multe sisteme de fişiere. Spre exemplu, deşi Windows 3.x poate utiliza doar sistemul FAT16, Windows 2000 poate utiliza FAT16, FAT32 sau NTFS (New Technology File System).
Sistemul de fişiere determină convenţiile pentru denumirea fişierelor şi formatul pentru specificarea căii (drumului) către locaţia fişierului. Aceste reguli pentru stabilirea numelor fişierelor variază în funcţie de sistemul de fişiere şi cuprind următoarele probleme:
Numărul maxim de caractere permise în numele fişierului
Numărul maxim de extensii sau sufixe
Dacă sunt admise sau nu spaţii în numele fişierelor
Dacă numele fişierelor sunt “case sensitive”
Ce caractere pot fi utilizate pentru numele fişierelor
Formatul de specificare a căii către fişier
Exemple de SO şi sisteme de fişiere suportate
SO desktop
În ultimii 20 de ani, SO desktop au evoluat permanent astfel încât acum includ interfeţe grafice sofisticate precum şi componente avansate de conectare la reţea.
Microsoft Disk Operating System (MS-DOS) este acum un SO învechit care încă este utilizat în anumite medii pentru a se asigura compatibilitatea cu vechile aplicaţii de business. Versiunile de Windows înainte de Windows 95 erau interfeţe grafice pentru DOS.
Microsoft Windows include versiunile Windows 95, 98, ME, NT, 2000 şi XP.
SO Apple Macintosh (Mac OS) include versiunile OS 8, OS 9 şi OS X (OS 10).
SO Linux include distribuţii din partea mai multor companii şi grupuri de dezvoltare software, precum Red Hat, Caldera, Santa Cruz Operation (SCO), SuSE, Slackware, Debian, etc.
SO UNIX include versiuni precum HP-UX (de la HP), Sun Solaris (de la Sun Microsystems), Berkeley System Distribution (BSD), AIX (de la IBM), etc.
SO desktop
În zilele noastre, atât dezvoltatorii cât şi utilizatorii de SO recunosc faptul că Internetul reprezintă centrul atenţiei. Deoarece reţelele de calculatoare şi Internetul au devenit o parte integrantă a modului de utilizare a unui computer personal, sistemele de operare desktop au evoluat rapid către SO de reţea.
Microsoft Windows şi Mac OS îşi regăsesc rădăcinile în cadrul primelor SO pentru PC-uri desktop. Ultimele versiuni ale acestor SO au însă integrate în nucleu componente avansate de reţea. Windows XP este construit pe tehnologia NT şi 2000 de la Microsoft (care este o tehnologie NOS), în timp ce Mac OS este contruit pe baza nucleului UNIX. UNIX este considerat a fi primul sistem de operare NOS. Precum UNIX, industria IT (Information Technology) a considerat întotdeauna Linux-ul ca un NOS în primul rând şi ca sistem de operare desktop în al doilea rând.
Sunt Windows, Linux şi UNIX SO desktop sau SO NOS?
Răspunsul la această întrebare depinde de mai mulţi factori, în care includem versiunea de SO, componentele instalate şi configurarea sistemului.
Familia Windows
MS-DOS
Microsoft a scos pe piaţă primul produs Windows (Windows 1.0) în 1985. A urmat Windows 2.0 în 1987. Prima dintre versiunile Windows funcţiona ca o interfaţă grafică ce rula “peste ” SO nativ, care era DOS (Disk Operating System). Windows era un shell ce permitea unui utilizator să administreze software-ul DOS.
Versiunea Microsoft a lui DOS (MS-DOS) a fost construită pe baza unui SO denumit 86-DOS sau QDOS (Quick and Dirty Operating System), scris de către firma Seattle Computer Products pentru a rula pe procesorul Intel 8086. IBM a utilizat pentru noua linie de PC-uri procesorul 8088, o versiune mai ieftină. Microsoft a cumpărat drepturile de comercializare QDOS şi a oferit SO MS-DOS în 1981.
MS-DOS a pornit drept un simplu SO cu o interfaţă linie-de-comandă. Proiectat pentru a rula pe procesorul pe 16 biţi (cu 8 biţi magistrala de date) Intel 8088, MS-DOS a reprezentat un SO pe 16 biţi, ce putea procesa doar 16 biţi la un moment dat.
Familia Windows
MS-DOS şi procesarea pe 16 biţi sunt învechite în era Internet şi în lumea SO cu interfaţă grafică de astăzi.
Standardul de astăzi îl constituie sistemele de operare pe 32 de biţi, existând de asemenea, şi câteva SO pe 64 de biţi. Cu toate acestea, există diverse companii ce mai utilizează încă MS-DOS pentru a rula aplicaţii de business mai vechi ce funcţionează ireproşabil. O aplicaţie veche (“legacy”) reprezintă un software depăşit ce rămâne în uz datorită investiţiei iniţiale. Unele companii au efectuat o puternică investiţie în hardware, software şi şcolarizarea angajaţilor şi găsesc că aplicaţiile MS-DOS îşi fac încă datoria cu brio.
Familia Windows
Avantajele MS-DOS:
MS-DOS este un SO simplu, ce poate fi utilizat cu resurse hardware minime.
MS-DOS este ieftin. Nu numai SO în sine, cât şi costul hardware-ului compatibil.
MS-DOS este stabil şi fiabil. Deoarece nu este un SO multitasking, nu trebuie să ne îngrijorăm de apariţia conflictelor sau supra-adresărilor de memorie ce pot duce la căderea sistemului (Ca în versiuni mai vechi de Windows, spre exemplu).
MS-DOS este uşor de învăţat şi utilizat. Cu toate că nu este la fel de intuitiv precum un SO cu interfaţă garfică, odată de un utilizator stăpâneşte sintaxa comenzilor, DOS este relativ uşor de utilizat.
Există multe programe disponibile pentru MS-DOS, având în vedere că a fost un standard timp de mulţi ani. Unele companii continuă să ruleze sistemul de operare datorită programelor proprietare sau a celor scrise special pentru MS-DOS.
Familia Windows
Dezavantaje:
MS-DOS nu poate rula programe grafice sofisticate scrise pentru sistemele moderne Windows pe 32 de biţi. Sistemul FAT al lui MS-DOS este nesecurizat şi nu face faţă mediilor multi-utilizator de astăzi.
Conectarea la reţea folosind clienţi MS-DOS este o problemă. În unele cazuri, un utilizator MS-DOS poate fi în imposibilitatea de a se conecta la resurse de reţea ce folosesc nume lungi de fişiere (peste 8 caractere).
Interfaţa linie-de-comandă este, de asemenea, hotărâtoare. Evoluţia interfeţelor grafice Windows a pornit cu versiunile Windows 1.0 şi 2.0.