sâmbătă, 10 septembrie 2011

CURS 2-Ce este Sistemul de Operare(SO)

Un sistem de operare este cel mai important software care ruleaza pe un computer.El administreaza memoria,procesele computerului si tot ceea ce tine de software si hardware.El ne permite comunicarea cu computerul fara a stii vreun limbaj de programare.
Probabil ati auzit de fraza:"boot-ati(porniti) computerul",dar stiti ce inseamna acest lucru?Boot-area este procesul care are loc atunci cand apasati butonul de pornire al pc-ului.In timpul acestui proces (care dureaza in jur de un minut sau poate mai mult),computerul face urmatoarele lucruri:
-ruleaza teste pentru a fii sigur ca totul functioneaza optim
-controleaza si verifica dispozitivele hardware(de regula pe cele noi implementate)
-in final porneste sistemul de operare.
                                                    Ecranul de pornire din Windows 7
Odata ce sistemul de operare porneste,el administreaza tot ceea ce tine de software si hardware.
In cea mai mare parte a timpului,mai multe programe ruleaza concomitent,fiecare trubuind sa acceseze unitatea centrala de procesare( http://cursuri-pc-online.blogspot.com/search/label/CPU),memoria(http://cursuri-pc-online.blogspot.com/search/label/MEMORIA) si unitatea de stocare.Sistemul de operare coordoneaza aceste programe astfel incat fiecare sa obtina ce are nevoie.Fara sistemul de operare software-ul nu va putea comunica cu hardware-ul,si computerul ar fii inutil.
                                                                Widows 7,dupa pornire
Tipuri de sisteme de operare:
Multi oameni folosesc sistemele de operare care vin odata cu PC-ul(daca este deja instalat la cumpararea computerului), insa se poate face upgrade de sistem sau chear schimba sistemul initial cu un altul.
Cele mai comune trei sisteme de operare pentru computerele personale sunt:
Microsoft Widows,Apple Mac OS X si Linux
                                                              Logourile pentru Windows,Mac OS X si Linux
Sistemele de operare moderne folosesc o interfata grafica.Aceasta interfata grafica ne permite sa folosim mouse-ul prin simplul click asupra icoanelor,butoanelor si meniurilor si totul este afisat clar pe ecran printr-o combinatie de texte si ilustratii.
Fiecare interfata grafica arata diferit si creeaza o impresie despre sistemul de operare,astfel ca daca te comuti pe alt sistem de operare,acesta iti poate parea nefamiliar cu precedentul.Totusi sistemele de operare moderne sunt proiectate pentru a fii usor de utilizat ,principiile de baza ramanand asemanatoare.
                                                  Interfata grafica pentru Windows


Interfata grafica pentru OS X
Inainte de aparitia interfetei grafice,computerele foloseau o interfata bazate pe linie de comanda,ceea ce insemna ca utilizatorul trebuia sa tasteze fiecare comanda(o singura comanda la un moment dat) iar computerul afisa informatia doar sub forma de text.


vineri, 9 septembrie 2011

CURS 1-CE ESTE UN COMPUTER?

Un computer este un dispozitiv electronic care manipuleaza informatii sau date.El are abilitatile de a stoca,extrage si procesa datele.Puteti folosi computerul pentru a scrie documente,trimite e-mail-uri ,vizualiza si edita prezentarisau pentru a nviga pe internet.Este folosit in  majoritatea industriilor existente,si usureaza activitatile din aceste domenii.Este totodata si o sursa de distractie si de relaxare (jocuri,filme,socializare...etc).
Computerul personal(PC-ul) pe scurt:
Toate tipurile de computere constau in doua partii importante:
Hardware-ul reprezinta oricare din componentele computerului dumneavoastra care are structura fizica,cum ar fi monitorul,tastatura,mouse-ul...etc.
Software-ul reprezinta un set de instructiuni care ii spune hardware-ului ce sa faca.El ghideaza hardware-ul si si ii spune cum sa realizeze fiecare sarcina.Cateva exemple de software sunt:NAVIGATOARELE WEB,JOCURILE,EDITOARELE DE TEXTE cum ar fi:MICROSOFT WORD.

EXEMPLE:
Placa de baza dintru-un computer personal(PC)
(hardware)












 Microsoft Word (software)








Orice cumparati pentru computerul dumneavoastra se poate clasifica fie ca hardware fie ca software.Odata ce invatati mai multe despre aceste elemente,computerul devine ceva simplu.
Primul computer electronic,the Electronic Numerical Integrator and Computer (ENIAC),a fost inventat in 1946(cantarea vreo 30 de tone).


Care sunt diferitele tipuri de computere?
Cand oamenii aud sau vorbesc ceva despre computere,vorbesc defapt de computerele persomale(PC) cum ar fii: desktop-uri sau laptop-uri.Cu toate acestea,computerele le intalnim in diferite forme si marimi si executa diferite functii in viata noastra de zi cu zi.
Computerele Desktop:
Majoritatea oamenilor folosesc computerele la munca,scoala,acasa sau biblioteca.Ele pot fi micute,medi sau mari ca marime si de obicei locul lor este pe birou.Din moment ce ii adaugi un monitor,o tastatura si un mouse,ati obtinut ceea ce se numeste Computer Desktop.
Cele mai multe computere de acest fel sunt usor de actualizat ,de extins sau de adaugat alte componente si parti mai performante.
Un alt beneficiu al computerelor Desktop este costul.Daca comparam un Desktop si un Laptop cu aceleasi caracteristici,vom descoperi ca desktop-urile au pretul mult mai redus.
Laptopurile:
Al doilea tip de computere cu care puteti fii familiari este Laptop-ul.Laptopurile sunt alimentate de la acumulatori sau alimentatoare si sunt mai portabile fata de Descktopuri,permitandu-ne sa le folosim aproape oriunde.
Din moment ce un laptop este mult mai mic decat un desktop,este dificil sa se faca upgrade de componente.Totusi,se poate schimba memoria RAM cu una mai mare sau se poate adauga un hard-drive mai mare.
Uneori laptopul mai este numit si notebook din cauza marimii sale.
SERVER-ele:
Un Server este un computer care "distribuie" informatia catre alte computere din retea.
Multe afaceri au nevoie de un astfel de computer care gestioneaza activitatea intregului sistem in retele de calculatoare,astfel incat angajatii sa depuna si sa preia fisiere.Serverul poate fii un computer desktop normal sau poate fii unul mult mai mare.
Serverele joaca un rol important in munca de pe internet(depoziteaza paginile WEB).Atunci cand folositi browserul pentru a deschide un link,serverul WEB este cel care va furnizeaza pagina solicitata.
Alte tipuri de computere
Astazi, exista diferite tipuri de computere pe care le puteti cumpara,multe dintre ele fiind mai portabile decat laptopurile:
Tabletele:Acestea folosesc un ecran touch-sesitive pentru scriere si navigare.Din moment ce nu au nevoie de tastatura si mouse,acestea devin mai portabile decat laptopurile.
I-PAD-ul este unul din aceste exemple.


Telefoanele mobile:Multe telefoane mobile pot face o seama de lucruri pe care le fac si computerele.Aceste telefoane se mai numesc si smartphone-uri.
Consolele de jocuri:O consola de jocuri este un tip special de computer, folosit pentru a juca jocuri video.Chear daca nu au caracteristicile unui Desktop PC,multe din noile conosole,cum ar fi Nintendo Wii,pot realiza si sarcini non-gaming cum ar fi navigarea pe internet, etc.
Tv-urile:Majoritatea televizoarelor de acum permit aplicatii(sau apps-uri) cu care poti accesa diferite tipuri de continut online.Spre exemplu,iti poti vizita noile feed-uri de pe Facebook sau poti viziona online filme de pe Netflix.


PC-urile si MAC-urile
Computerele personale se impart in doua "categorii":PC si MAC.Ambele categorii indeplinesc in mare aceleasi functii,diferenta constand in aspectul fizic.



PC:Acest tip de computer a aparut sub denumirea IBM PC introdusa in 1981.Alte companii au inceput apoi sa produca computere similare dar sub denumirea IBM PC Compatible.
Inprezent acesta este cel mai comun tip de computer personal si include in mod tipic sistemul de operare WINDOWS





MAC:Computerul Macintosh introdus in 1984 a fost primul computer vandut la scara larga,cu o interfata grafica.Toate MAC-urile sunt construite de o singura companie:Apple Inc. si aproape toate folosesc sistemul de operare Mac OS X.



miercuri, 7 septembrie 2011

CURS 3 SO.Probleme de baza ale SO: memoria virtuala

Prin spatiul de adrese fizice al unui calculator se întelege memoria hardware existenta (RAM).
Prin spatiul de adrese virtuale se întelege spatiul la care calculatorul poate face referire (care depinde de numarul de linii din magistrala de adrese a procesorului).
Exemplu: un procesor cu 36 de linii în magistrala de adrese poate adresa 236octeti = 64 GB de memorie (spatiu de memorie virtuala), dar sistemul are (uzual) între 256 MB si 2 GB de memorie (spatiul de memorie fizica).
Conceptul de memorie virtuala este folosit pentru a permite rularea unor programe care necesita o capacitate de memorie mai mare decât cea fizica. Altfel spus, calculatorul „da impresia” ca are mai multa memorie decât are în realitate. În acest scop este necesar ca pe hard disc sa fie suficient spatiu pentru a memora întreg spatiul de adrese virtuale.
Atât spatiul de adrese fizice cât si cel al adreselor virtuale este împartit în pagini, de aceeasi marime.
Astfel, când în memoria RAM nu încape toata informatia aferenta unui program, pentru a face loc, sistemul de operare scrie o parte a datelor din RAM mai putin utilizate în ultimul timp, într-un un fisier ascuns de pe hard disc (swap file, fisier de schimb sau de paginare; la Windows, fisierul pagefile.sys La Linux partitia separata swap). În spatiul liber astfel creat în memoria RAM se încarca cantitatea de informatie care initial nu încapea. Când are din nou nevoie de datele pe care le-a scris anterior în fisier, sistemul de operare le reîncarca în memoria RAM si pune, daca este nevoie, alte date pe hard disc. Blocurile care compun fisierul de paginare sunt paginile.
În particular, când un program face apel la adrese care depasesc spatiul adreselor fizice (adresele respective fiind situate în spatiul adreselor virtuale) se ajunge la situatia numita defect de pagina. Sistemul de operare încarca pagina de pe hard disc care contine acea adresa, eliminând o pagina (de exemplu, pagina cea mai putin folosita în ultimul timp) din memoria fizica (o scrie în fisierul de paginare). Acest algoritm lucreaza de obicei bine, dar în anumite situatii poate da gres, asa cum se va vedea în exemplul prezentat în continuare:
 Un program contine 9 pagini virtuale (numeroate de la 0 la 8) si trebuie rulat pe un calculator care are loc doar pentru 8 pagini în memoria fizica. Programul contine o bucla mare: în pagina 8 exista o instructiune care necesita un salt în pagina 0. Continutul memoriei din momentul initial este prezentat în prima coloana, a), din tabelul de mai jos. Dupa parcurgerea ultimelor instructiuni din Pagina 7, trebuie accesata Pagina 8, aflata pe hard disc. În acest scop, se salveaza în fisierul de paginare pagina cea mai putin folosita în ultimul timp, adica Pagina 0, iar în locul ei se aduce Pagina 8, asa cum se observa în a doua coloana, b), a tablelului.
Parcurgerea paginii 8 va avea ca efect executia instructiunii de salt, care necesita Pagina 0. Ca urmare, aceasta va fi încarcata în memorie din fisierul de paginare, în locul Paginii 1, cea mai putin folosita în ultimul timp, obtinându-se situatia din a treia coloana, c) din tabel. Dupa parcurgerea Paginii 0, programul va avea nevoie sa acceseze Pagina 1, care tocmai a fost salvata în fisierul de paginare. De aici înainte, de fiecare data când este trebuie sa se treaca la pagina urmatoare, aceasta trebuie încarcata din hard disc, ceea ce micsoreaza viteza de lucru, confirmând ca în acest caz, algoritmul de eliminare a paginilor nu functioneaza corespunzator.
Actiunile corespunzatoare memoriei virtuale se fac fara ca utilizatorul sa stie. Având în vedere ca hard discul este mai lent, performantele calculatorului scad în momentul utilizarii memoriei virtuale.

Exemplu pentru Windows XP.
În Windows XP se pot stabili caracteristici referitoare la memoria virtuala (Control Panel/ System/ Advanced/ Settings/ Advanced): unitatea de disc pe care se realizeaza fisierul de paginare, marimea initiala a fisierului de paginare, marimea maxima a aceluiasi fisier . De asemenea, Windows prezinta valoarea minim permisa, valoarea recomandata (1,5 x memoria RAM), respectiv valoarea actuala pentru marimea fisierului de paginare. Se recomanda ca valoarea initiala sa nu fie mai mica decât valoarea ceruta de Windows.
Pentru cresterea performantelor la utilizarea memoriei virtuale se recomanda:
-crearea unui fisier de paginare pe fiecare disc;
-marirea dimensiunii fisierului de paginare;
-dimensiunea initiala sa fie egala cu cea maxima

Miniaplicatia din Control Panel/Administative Tools/Performance , indica numarul de pagini de memorie pe secunda care trebuie mutate de Windows între memorie si hard-disc, o mare parte din acestea reprezentând-o datele comutate între memorie si fisierul de paginare. În diagrama respectiva se poate observa variatia numarului de pagini (cu galben), care are un maxim de aproape 100, vizibil la circa 2/3 din intervalul de timp (1 min. 40 sec.) prezentat. Se observa de asemenea valorile numerice de 4,356 pentru valoarea medie (Average), respectiv, 96,003 pentru valoarea maxima (Maximum).
Aplicatie
În continuare se descrie un experiment care evidentiaza existenta memoriei virtuale. În acest scop se încarca de mai multe ori, succesiv, programul MATLAB.
Se urmaresc: fereastra Performance din Windows Task Manager (disponibila prin Ctrl+Alt+Del),si fereastra corespunzatoare configurarii fisierului de paginare memoria virtuala . În prima fereastra se urmaresc parametrii:PF(PageFile) Usage, care reprezinta memoria totala folosita de sistemul de operare
(suma dintre cantitatea de informatie existenta în memoria RAM si cantitatea de informatie existenta în fisierul de paginare)
Limit (arata valoarea maxima de memorie care poate fi folosita), este suma dintremarimea memoriei fizice si marimea fisierului de paginare, disponibila prin valoarea dincâmpul Currently allocated Physical Memory (meoria RAM existenta fizic).
În a doua fereastra se urmareste valoarea parametrului Currently allocated (se
precizeaza ca  fereastra corespunzatoare configurarii fisierului de paginare-memoria virtuala a fost captata de pe un alt calculator, încât valorile existente nu corespund cu aplicatia descrisa).
Tabelul urmator prezinta valorile acestor parametrii în functie de numarul de încarcari ale
programului MATLAB.
Din tabel se pot observa urmatoarele:
-la un moment dat (încarcarea 3 a MATLAB-ului) marimea memoriei totale folosite (PF Usage) o depaseste pe cea fizica (Physical Memory);
-când marimea memoriei totale folosite se apropie de valoarea Limit (începând cu a 9- a încarcare a MATLAB-ului), sistemul de operare mareste continuu marimea fisierului de paginare alocat (Currently allocated).
De retinut ca marirea necesarului de memorie RAM poate fi facuta si prin declararea în MATLAB a unor variabile de tip matrice cu un numar mare de linii si coloane, în acest fel nemaifiind necesara încarcarea de un asa mare numar de ori a MATLAB-ului.
Exemplu: daca se defineste o variabila cu 1000 de linii si 10000 de coloane, memoria alocata va fi de 1000×10000×8 B = 8×107 B = 8×107 /(1024×1024) MB = 76,3 MB (pentru fiecare element al matricei se aloca 64 biti sau 8 B).

marți, 6 septembrie 2011

Masina Virtuala

Masina Virtuala - o posibilitate de a rula mai multe sisteme de operare
Are urmatoarele facilitati:
-permite rularea mai multor SO pe acelasi calculator (desi doar unul este cu adevarat SO, celelalte apeleaza la primul pentru a-si îndeplini cerintele)
-nu este necesara repornirea (cu alegerea unui alt SO) pentru a rula un alt SO
-necesita instalarea celorlalte SO
Exemplu: Virtual Box (Sun)
Termeni folositi în acest mediu:

Host OS: SO (sistemul de operare) al calculatorului pe care Virtual Box se instaleaza
Guest OS: SO care ruleaza în interiorul masinii virtuale
Masina virtuala
a) un mediu special în care Guest OS ruleaza (o fereastra)
b)un set de parametri (memorie RAM, hard disc, unitate CD) care permite rularea
Guest OS
OS host suportate
Windows hosts:
– Windows XP, all service packs (32-bit)
– Windows Server 2003 (32-bit)
– Windows Vista (32-bit and 64-bit[1]).
– Windows Server 2008 (32-bit and 64-bit)
– Windows 7 (32-bit and 64-bit)
Mac OS X hosts:[2]
– 10.5 (Leopard, 32-bit)
– 10.6 (Snow Leopard, 32-bit and 64-bit)
Linux hosts (32-bit and 64-bit[3]). Among others, this includes:
– Debian GNU/Linux 3.1 ("sarge"), 4.0 ("etch") and 5.0 ("lenny")
– Fedora Core 4 to 11
– Gentoo Linux
– Redhat Enterprise Linux 4 and 5
– SUSE Linux 9 and 10, openSUSE 10.3, 11.0 and 11.1
– Ubuntu 6.06 ("Dapper Drake"), 6.10 ("Edgy Eft"), 7.04 ("Feisty Fawn"), 7.10 ("Gutsy
Gibbon"), 8.04 ("Hardy Heron"), 8.10 ("Intrepid Ibex"), 9.04 ("Jaunty Jackalope").
– Mandriva 2007.1, 2008.0 and 2009.1
Solaris hosts (32-bit and 64-bit[4])
-OpenSolaris (2008.05 and higher, "Nevada" build 86 and higher)
– Solaris 10 (u5 and higher)

OS guest suportate
Windows NT 4.0
Windows 2000 / XP / Server 2003 / Vista / Server 2008 / Windows 7.
DOS / Windows 3.x / 95 / 98 / ME
Linux 2.4
Linux 2.6
– Fedora Core 4, 5, 6, 7, 8, 9 and 11;
– Redhat Enterprise Linux 3, 4 and 5;
– SUSE, openSUSE Linux 9, 10.0, 10.1, 10.2, 10.3, 11.0 si 11.1;
– Ubuntu 5.10, 6.06, 7.04, 7.10, 8.04, 8.10 and 9.04.
Solaris 10, OpenSolaris
FreeBSD
OpenBSD
OS/2 Warp 4.5

CURS2 S.O.-UTILIZAREA HARD-DISCULUI

În vederea utilizarii unui hard-disc, acesta trebuie sa suporte urmatoarele prelucrari:
1. Formatarea fizica sau de nivel jos.
2. Partitionarea
3. Formatarea logica sau de nivel înalt.
  Pentru dischete nu este necesar punctul 2, iar punctele 1 si 3 se realizeaza de catre producator.
    Pentru hard-discuri punctul 1 este realizat de producator, iar punctele 2 si 3 trebuie realizate de cei care asambleaza calculatorul, sau oridecâteori se doreste o reconfigurare a calculatorului.
1. Formatarea fizica
Consta în realizarea structurii de piste si sectoare pe fiecare platan al hard discului. Un sector contine 512 octeti pentru date. Fiecare sector este precedat de un preambul sau adresa care contine numarul cilindrului, numarul capului si numarul sectorului. Sectorul este urmat de un grup de octeti care reprezinta un cod corector de erori. În procesul de formatare se lasa doar locul pentru octetii care vor forma codul corector, urmând ca ei sa fie scrisi în cadrul procesului de scriere a informatiei pe hard disc si cititi în cadrul operatiunilor de citire. De asemenea, în cadrul acestui proces de formatare fizica mai sunt adaugate si alte informatii care permit identificarea începutului si sfârsitului de sector. În plus, asa cum se va vedea ulterior, o anumita parte din spatiul discului este rezervata pentru gestionarea informatiilor de pe disc. În final, se poate spune ca hard discul formatat va avea o capacitate mai mica cu circa 15% fata de capacitatea discului neformatat.
Formatarea fizica este executata de producator, si cu rare exceptii, nu ar trebui efectuata niciodata de utilizatorul final. Exceptie: repararea unui format deteriorat care nu mai poate fi citit sau scris. Pentru realizarea acesteia, producatorii de hard discuri pun la dispozitie programe speciale.

2. Partitionarea

Pentru a fi accesibil unui sistem de operare, un hard disc trebuie partitionat.
Partitionarea este împartirea hard discului în mai multe segmente (partitii) încât sistemul de operare sa aiba impresia ca fiecare partitie este un hard disc separat. În plus, partitionarea face posibila utilizarea mai multor sisteme de operare pe acelasi calculator.
Initial, un PC continea un singur tip de fisiere. Ulterior, a aparut necesitatea folosirii mai multor sisteme de operare, fiecare cu propriul sau sistem de fisiere, pe acelasi calculator.
Exista câteva reguli dupa care se face o astfel de partitie:
-un numar de maximum 4 partitii pot fi realizate pe un hard disc;
-numai o partitie poate fi la un moment dat activa, cea de pe care se încarca sistemul de operare;
-din cele 4 partitii, toate 4 pot fi primare sau pot fi 3 primare, iar una poate fi realizata ca partitie DOS extinsa, care apoi va putea fi divizata în mai multe partitii logice multiple.
-partitia activa poate fi aleasa doar dintre cele primare. În urma partitionarii, pe primul sector (cilindrul 0, capul 0, sectorul 1) de pe hard disc se vor înscrie un program simplu (master boot code) si un fisier de date (master partition table) într-un format standard, care alcatuiesc înregistrarea principala de încarcare (Master Boot Record, MBR).

Master boot code contine un mic program executat de BIOS a carui principala functie este de a transfera controlul sistemului partitiei hard discului care a fost determinata ca activa (încarcabila sau boot-abila), pentru a finaliza încarcarea sistemului de operare.

Termenul boot provine de la cuvântul bootstrap (curelusa pentru cizma) si descrie metoda prin care PC-ul devine operational. La fel cum se încalta o cizma tragând mai întâi de curelusa de la spate, PC-ul încarca sistemul de operare prin încarcarea mai întâi, a unui mic program care poate apoi sa traga întregul sistem de operare în memorie.
Master partition table contine printre altele, urmatoarele informatii, pentru fiecare din cele 4 partitii posibil de realizat:
-daca partitia este activa (va permite încarcarea sistemului de operare);
-marimea partitiei;
-punctul de început si de sfârsit al partitiei (cilindru, cap, sector).
Exemple practice:
1. Un calculator cu o singura partitie, C: (Chiar si în acest caz hard discul trebuie partitionat!).
2. Un calculator cu o partitie primara (C:) si o partitie extinsa divizata în trei partitii logice (D:, E:, F:).
Exista doua diferente între partitiile primare si cele extinse: sistemele de operare pot fi încarcate doar de pe partitiile primare(i), iar sistemul aloca diferit denumirile celor doua tipuri de partitii(ii).
Partitiile hard discului se mai numesc si volume.
Modul de atribuire a literelor de catre sistem pentru partitii se bazeaza pe urmatoarele reguli:
1. Unitatile de discheta au rezervate literele A si B.
2. În continuare sunt atribuite litere partitiilor primare, începând cu C.
3. În final, se atribuie litere partitiilor extinse.
Observatie: Regulie 2 si 3 se aplica sistemelor de operare Windows 95/98/Milenium. Pentru Windows NT/2000/XP literele partitiilor se aloca în ordinea realizarii partitiilor.
Pentru exemplificare, se considera un calculator cu un hard disc care are o partitie primara si una extinsa cu doua partitii logice multiple (Windows 98). Apoi i se ataseaza un hard disc suplimentar care are o partitie primara si una extinsa cu o partitie logica. În tabelul de mai jos se prezinta denumirile partitiilor (volumelor) înainte si dupa atasarea celui de-al doilea hard disc.

Se observa ca în acest fel se schimba denumirea partitiilor primului hard disc, ceea ce poate fi un dezavantaj. Pentru a elimina aceasta situatie se recomanda sa nu se realizeze partitii primare decât pe discul care contine sistemul de operare.

Dupa epuizarea tuturor partitiilor de pe hard discuri se atribuie litere unitatilor de CDROM sau DVD. Daca calculatorul ar fi avut sistemul de opearare Windows XP, partitiile hard discului 2 ar fi fost F si G. Exista totusi posibilitati de modificare a literelor alocate acestor dispozitive, cum se va vedea în paragraful urmator.

























3. Formatarea logica
În principiu, în cadrul formatarii logice, SO pregateste hard discul pentru operatiile de
scriere si citire: sterge informatia existenta, testeaza toate sectoarele discului, le marcheaza pe
cele defecte, iar apoi scrie structurile necesare pentru a gestiona fisierele de pe disc.
Formatarea logica se face pentru fiecare partitie realizata în etapa de partitionare si
realizeaza urmatoarele elemente:

-Sectorul de încarcare al volumului (înregistrarea de încarcare); acesta este diferit de MBR, care controleaza întregul disc, dar totusi similar ca si concept.
-Tabela de alocare a fisierelor (FAT), în doua copii consecutive
-Directorul radacina
Dupa aceasta formatare, pe hard disc ramâne Zona de date, în care utilizatorul va înscrie date.
Sectorul de încarcare al volumului contine urmatoarele date:
-numarul de octeti pe sector (de obicei 512);
-numarul de sectoare pe unitatea de alocare (cluster);
-numarul de sectoare pe pista;
-tipul de tabela FAT
În plus, sectorul de încarcare, contine instructiunile programului de încarcare al sistemului de operare, care este apelat de MBR. Desi fiecare partitie are un loc pentru acest program, pentru partitiile care nu sunt active, acest loc este neutilizat.
Directorul radacina
Un director este o baza de date care contine informatii despre fisierele memorate pe disc. Exista doua tipuri principale de directoare: directorul radacina si subdirectoarele. Orice volum dat are un singur director radacina, care este plasat dupa cele doua copii ale FAT. Acesta contine 512 intrari, fiecare cu 32 de biti.
Subdirectoarele sunt la fel ca si directorul radacina, dar sunt plasate în zona de date, si nu au limita de 512 intrari. Un director sau subdirector contine urmatoarele informatii, referitoare la fisierele sau subdirectoarele pe care le contin: numele, ziua, ora si data crearii, atributele (printre altele, daca este fisier sau director) marimea si intrarea în tabela FAT.
De remarcat ca stergerea unui fisier nu elimina informatia memorata în unitatile de alocare (clusteri). Astfel, în tabela FAT, locatiile corespunzatoare clusterilor acelui fisier se înlocuiesc cu 0 si primul caracter al numelui fisierului din director se înlocuieste cu numarul 229 (codul ASCII pentru caracterul s). Exista metode (programe) prin care informatia poate fi refacuta.

Modalitati practice de realizare a partitionarii si formatarii.
1. Programul utilitar fdisk. Cu acesta se lucreaza din linia de comanda, în stil DOS.
2. Programul SETUP inclus în CD-ul de instalare al oricarui SO. Aici se considera
Windows XP. 3. Control Panel/Administrative Tools/Computer Management.
În toate cazurile, se poate partitiona si formata atât un hard disc gol (nou) sau unul cu date. În acest din urma caz sunt afisate partitiile existente, care apoi pot fi sterse pe rând, bineînteles cu pierderea datelor.
În faza de partitionare, se permite alegerea marimii (în MB sau GB) a partitiei, dintrun interval admisibil; o marime mai mica permite ramânerea de spatiu nepartitionat.
În faza de formatare se alege sistemul de fisiere si marimea unitatii de alocare (cluster).
În continuare se descriu pe scurt cele 3 modalitati.
1. În cazul programului fdisk, formatarea se face cu comanda format, care se da în
linia de comanda, format C:

2. În cazul utilizarii programului inclus în Windows XP, se realizeaza doar partitiile, urmând ca apoi sa se stabileasca partitia pe care se va instala SO, care va fi mai întâi formatata, permitându-se alegerea tipului sistemului de fisiere (FAT 32 sau NTFS).
3. Celelalte partitii pot fi formatate (FAT 32 sau NTFS) dupa instalarea sistemului de operare. Daca în faza initiala când se realizeaza partitiile se lasa si spatiu nepartitionat, se mai pot crea partitii si dupa instalarea SO.
De asemenea se pot reformata partitiile existente, sau se pot sterge partitii, pentru a crea altele noi. În ambele cazuri se vor pierde însa datele. Nu se poate actiona asupra partitiei care contine sistemul de operare.
La Win XP, pentru realizarea acestor operatii (dupa instalarea sistemului de operare) se poate folosi miniaplicatia Computer Management/Disk Management din Control Panel (o accesare mai rapida: clic dreapta pe My Computer si apoi Manage). Numai pentru formatare, se poate folosi urmatorul procedeu: clic dreapta pe simbolul partitiei respective în My Computer si apoi Format. De asemenea, se poate modifica litera alocata unei partitii (exceptând-o pe cea pentru încarcare).
În concluzie, partitionarea permite selectarea urmatoarelor caracteristici:
marime (în MB/GB) ;tip (primara, extinsa/logica) ;litera (D, E,....)
În schimb, formatarea permite selectarea urmatoarelor caracteristici: sistemul de fisiere (FAT 32 sau NTFS); varianta quick (rapid) nu face testul fiecarui sector, din acest motiv dureaza mai putin.
marimea unitatii de alocare: default, 512 B, 1024 B, 2048B,... numele partitiei, optional (Date, de exemplu).

În imaginea de mai jos se prezinta o fereastra din aplicatia care realizeaza partitionarea si formatarea în
Windows XP. Identificati toate partitiile (nume, tip-dupa culoare, sistem de fisiere, marime) precum si spatiul nealocat.

Exista posibilitatea manipularii partitiilor fara a distruge datele prin utilizarea unor programe specializate cum ar fi Partition Magic, produs de firma PowerQuest. Printre altele, acest program are urmatoarele facilitati:
-permite realizarea de partitii noi prin micsorarea celor existente
-unirea unor partitii existente
-modificarea marimii unei partitii existente
-permite instalarea unui sistem de operare suplimentar
Mai jos se prezinta o fereastra din programul Partition Magic



Asa cum s-a spus anterior, realizarea mai multor partitii permite utilizarea mai multor sisteme de operare pe acelasi calculator, adica asa numita încarcare duala sau multipla.
În continuare sunt prezentati pasii care sunt executati la pornirea calculatorului:
1. Programul din BIOS citeste MBR (Master Boot Record).
2. MBR cauta partitia activa.
3. MBR copiaza în memoria RAM sectorul 0 (de încarcare) partitiei active si îl executa.
4. Sectorul de încarcare al partitiei (MBV) indica programul NT loader pe care îl executa.
5. NT loader citeste continutul fisierului BOOOT.INI.
În acest moment se va afisa un meniu (continutul fisierului BOOOT.INI) din care utilizatorul va alege sistemul de operare care doreste sa-l încarce.

Exemplul :
Se folosesc sistemele de operare Windows XP si Xandros Presto (distributie Linux, nu necesita partitie separata, este instalata ca o aplicatie Windows).
Folosind comanda bootcfg, data de la prompterul DOS de poate vedea continutul fisierului boot.ini:

Se pot observa cele doua sisteme de operare instalate (Windows XP si Xandros Prestp), cel care se va încarca automat (Windows XP), precum si timpul dupa care se realizeaza aceasta actiune (25 sec.). Cele doua sisteme de operare se pot vedea de asemenea folosind si Control Panel :

Exemplul 3: Windows XP si Linux pe partitii diferite
1. Instalare WindowsXP
-se creaza o partitie (NTFS sau FAT 32) pentru a partaja date.
2. Instalare Linux (RedHat)
-necesita 2 partitii: /root si swap
-se impune ca programul Linux Loader sa nu suprascrie înregistrarea Master
Boot Record a WindowsXP
3. Sectorul de încarcare Linux trebuie localizat, iar apoi copiat, sub numele
bootsect.lnx pe partitia în care este instalat WindowsXP
4.Se modifica fisierul boot.ini, adaugând o intrare:
C:\bootsect.lnx= “Linux Red Hat ”

Realizarea unui Live CD sau Live memory-stick pentru distributia UBUNTU

    Mai întâi este necesar un fisier imagine: Ubuntu-9.04-desktop-i386.iso, disponibil pentru descarcare la adresa (http://www.ubuntu.com/). Se copiaza apoi acest fisier imagine pe un CD (se foloseste optiunea Burn Image File dintr-un program specializat de scriere pe CD).
Sau, acelasi fisier imagine se copiaza pe un memory stick (se foloseste programul unetbootin disponibil la adresa, http://unetbootin.sourceforge.net/, nu necesita instalare, se lanseaza în executie imediat)
  Având CD-ul în unitate (sau memory stick-ul în USB), se da Restart, apoi se apasa tasta F12 care permite afisarea unui meniu din care se alege dispozitivul hardware pentru încarcarea sistemului de opearare (Boot Menu), se alege CD-ROM (sau USB) si în câteva zeci de secunde sistemul de operare poate fi utilizat. Partitiile existente pe hard disc si create sub Windows sunt recunoscute în totalitate.


CURS1 SO.Generalitati despre SO(sistemul de operare)

      Un sistem de operare este un set de programe care:
a) asigura gestionarea resurselor unui sistem de calcul, implementând algoritmi care trebuie sa maximizeze performantele acestuia;
b) realizeaza o interfata între utilizator si sistem de calcul, extinzând dar si simplificând setul de operatii disponibile.
Sistemul de operare se interpune între programele de aplicatii (aflate pe nivelul cel mai de sus într-o structura stratificata a unui calculator) si BIOS, care este deasupra nivelului hardware al sistemului de calcul (nivelul cel mai de jos). 
  BIOS (basic input/output system) reprezinta software-ul de nivelul cel mai de jos care controleaza hardware-ul calculatorului.

Combinatia dintre BIOS-ul placii de baza (ROM BIOS), BIOS-ul modulelor adaptoare si driverele încarcate de pe disc alcatuiesc întregul BIOS.
Un PC contine o structura sub forma a patru straturi: 
-hardware
-BIOS
-Sisteme de operare
-Programe de aplicatii


Scopul acestui concept, de echipament stratificat, este de a permite unui anumit sistem de operare si aplicatiilor sa ruleze pe structuri hardware diferite.

De exemplu, daca o aplicatie cere sistemului de operare salvarea unui fisier, aplicatia nu trebuie sa stie cum sa salveze pe disc. Ea este izolata de hardware, poate fi rulata pe orice echipament, comunicând cu sistemul de operare. Sistemul de operare comunica apoi cu BIOS-ul sau cu driverele.
Producatorii de hardware sunt cei care care realizeaza driverele necesare. Ele sunt de obicei specifice sistemului de operare. Totusi acestea sunt grupate astfel: pentru Windows 95/98/ Me sau pentru Windows NT, 2000, XP.
Deoarece BIOS-ul arata la fel pentru toate sistemele de operare, indiferent de hardware-ul cu care face legatura, acelasi sistem de operare poate sa lucreze pe o varietate de sisteme hardware.
   BIOS-ul din ROM-ul placii de baza contine driverele initiale pentru pornirea corecta a sistemului de operare. Primele variante de BIOS contineau drivere pentru componentele initiale ale sistemului: tastatura, unitatea de discheta, unitatea de hard disc. Ulterior calculatorului i s-au adaugat componente hardware pentru care nu existau drivere în BIOS-ul placii de baza: adaptoare video, unitati CD-ROM, hard discuri SCSI, porturi USB.
Pentru rezolvarea acestei situatii a fost mai simplu ca noile drivere sa fie copiate pe hard disc si sa fie încarcate odata cu sistemul, decât sa se construiasca BIOS-uri noi pe placile de baza. Aceste drivere nu trebuie sa fie active în timpul încarcarii sistemului.
Afisarea pe monitor este însa necesara înainte de încarcarea sistemului de operare.
Având în vedere acest lucru, s-a ajuns la ideea ca programul din ROM-ul placii de baza sa poata scana sloturile pentru depistarea modulelor adaptoare pe care exista ROM. În momentul identificarii unui astfel de modul, programul din acel ROM este executat, înainte de încarcarea sistemului de operare. În acest fel, ROM-ul placii de baza nu mai trebuie modificat.
În afara de adaptorul video, alte module adaptoare care contin ROM sunt adaptoarele SCSI, placile de retea (pentru terminale fara hard disc) sau module adaptoare IDE. 
   BIOS-ul placii de baza are în principiu urmatoarele 4 functii principale:
1.POST (Power-On Self Test) Programul POST testeaza procesorul memoria, cipset-ul, adaptorul video, unitatile de disc, tastatura.

În principiu, programul POST realizeaza urmatoarele actiuni:
-determina daca exista vreun circuit BIOS pe placa video; daca exista, executa programul respectiv, având ca efect initializarea placii video, încât aceasta poate fi folosita pentru comanda monitorului în vederea afisarii; ca prim mesaj, pe monitor apare o notita referitoare la drepturile de autor, (contine informatii despre BIOS: producator, an, serie, etc), numita si ecranul Startup;
-determina daca alte dispozitive au BIOS propriu, de exemplu hard discul;
-verifica memoria principala, pentru a afla marimea ei si daca functioneaza corect;
-verifica si celelalte dispozitivele standard (tastatura, mouse, porturi) ale PC-ului, pentru a vedea daca exista si functioneaza normal; daca BIOS-ul accepta standardul Plug and Play, detecteaza si configureaza dispozitivele Plug and Play.
-ofera utilizatorului posibilitatea de a modifica parametrii pentru dispozitivele standard care exista în PC, prin intrarea în programul CMOS Setup (în acest scop trebuie apasata o tasta, de exemplu Delete sau F2, în functie de versiunea BIOS-ului); acesti parametri (date) sunt înscrisi într-o zona de memorie numita RAM CMOS, cu o capacitate de 64 octeti; aceasta memorie contine un circuit integrat de tip CMOS alimentat de la o baterie, pentru a memora informatiile când calculatorul e deconectat de la tensiunea de alimentare; tot acest circuit contine ceasul care masoara data si ora;
-construieste câteva tabele de date care pastreaza o evidenta clara a numarului de porturi seriale si paralele, a unitatilor de stocare magnetica si a celorlalte dispozitive standard din PC;
În final, cauta sistemul de operare si îl încarca în memoria principala, dupa care acesta preia controlul asupra calculatorului.

2.CMOS setup. Acest program permite configurarea parametrilor placii de baza si ai cipset-ului, a datei, orei, parolelor, unitatilor de disc, precum si succesiunea unitatilor de încarcare.

3.Bootstrap loader. Este o rutina care cauta pe unitatile de disc din sistem un sector principal valid de încarcare. Daca este gasit, programul pe care îl contine este executat. Apoi, programul din sectorul principal de încarcare continua procesul de încarcare cu sectorul de încarcare al sistemului de operare.
4.BIOS. Contine colectia de drivere utilizate ca o interfata între sistemul de operare si hardware-ul sistemului, la încarcare si în timpul functionarii. Când se ruleaza în modul DOS sau Windows în Safe Mod (un mod de lucru în care se încarca doar driverele de baza), se ruleaza numai aceste drivere pentru ca de pe disc nu se încarca nici unul.

Pe tot parcursul rularii programului BIOS, pot fi afisate mesaje corespunzatoare când sunt detectate erori, în unele cazuri programul putându-se opri din rulare. Daca erorile se refera la placa video, nu pot fi afisate mesaje de eroare, folosindu-se semnalizarea sonora.

    Responsabilitati ale unui sistem de operare:
a) Interfata cu utilizatorul. Exista doua componente ale acestei interfete: comenzile si apelurile sistem. Comenzile sunt introduse direct de utilizatori si sunt prelucrate de
interpretorul de comenzi. Apelurile sistem sunt folosite indirect de utilizatori, se declanseaza în timpul executiei programelor.
Din acest punct de vedere exista sisteme de operare cu interfata grafica sau cu interfata prin linie de comanda. Primele au ca elemente de baza ferestrele, simbolurile grafice (pictograme sau iconite), sau meniurile. Pentru selectarea diferitelor variante se foloseste mouse-ul, combinatii de taste sau tastele sageti. SO cu interfata prin linia de comanda folosesc exclusiv tastele pentru introducerea comenzilor.
b) Gestionarea fisierelor. Fisierele reprezinta modalitatea în care se pastreaza pe termen lung informatia în sistemele de calcul. Uzual acestea sunt memorate pe discuri magnetice sau optice. Gestionarea fisierelor trateaza aspecte legate de: crearea si stergerea fisierelor, controlul accesului la fisiere, citirea si scrierea din/în fisiere, organizarea colectiei de fisiere.
c) Gestionarea perifericelor. Sistemul de operare, nu utilizatorul, este cel care controleaza direct perifericele (imprimanta, tastatura, mouse-ul, monitorul), deoarece utilizatorul nu poate cunoaste toate detaliile referitoare la acestea.
d) Gestionarea memoriei. O prima cerinta este gestionarea memoriei principale (RAM), în care este încarcat însusi SO, dar si programele utilizator. Daca mai multe programe utilizator se afla simultan în memorie, SO trebuie sa rezolve problemele de împartire a memoriei disponibile între programe. În plus, aceasta responsabilitate a SO are în grija si gestionarea memoriei secundare (hard disc), nu atât în ce priveste fisierele, ci referitor la procedeul de memorie virtuala, folosit pentru a extinde memoria principala.
e) Gestionarea proceselor. Un proces reprezinta un program în executie sub controlul SO. Majoritatea SO prevad posibilitatea existentei simultane a mai multor procese. Rezulta necesitatea de a controla modul în care ele fac uz de procesor, încât toate sa progreseze în mod echitabil. Procesele interactioneaza si în vederea utilizarii altor resurse decât procesorul (periferice, memorie).


f) Tratarea erorilor. SO trebuie sa fie pregatit pentru a reactiona la o mare diversitate de erori, care provin atât din hardware cât si din software. SO trebuie sa detecteze erorile, si, în masura posibilitatilor, sa permita continuarea lucrului. Unele erori sunt transparente utilizatorului, iar la altele acesta trebuie sa intervina. Legat de tratarea erorilor sunt conceptele de siguranta în functionare si de protectie a informatiilor dintr-un calculator.
g) Gestionarea sistemului. În aceasta categorie intra instalarea sistemului de operare însusi, ajustarea caracteristicilor sale la un anumit sistem de calcul, pornirea si oprirea functionarii calculatorului.

    Clasificare a sistemelor de operare
   a) Sisteme de operare monoutilizator (single user) si monoproces (single task).Un singur utilizator poate efectua un program la un moment dat. Practic, aceste sisteme de operare sunt de domeniul trecutului.
b) Sisteme de operare monoutilizator si multiproces (multitasking)
Exemple tipice: calculatoare cu Windows sau Macintosh. În acelasi timp sunt în operare mai multe programe. Ex: se editeaza un fisier Word, se descarca un fisier de pe Internet, se tipareste un document la imprimanta, toate în acelasi timp.
c) Sisteme multiutilizator (multiuser)
Un astfel de sistem de operare permite mai multor utilizatori sa foloseasca simultan resursele unui calculator. SO trebuie sa vegheze ca cerintele diferitilor utilizatori sa fie echilibrate, fiecare dintre programele pe care ei le utilizeaza sa aibe suficiente resurse. Unix este exemplu tipic de sistem de operare multiutilizator, la fel ca si Windows NT sau Windows 2000.

     Cea mai importanta parte a unui sistem de operare este nucleul (kernel).
Nucleul este o colectie de functii („apeluri de sistem”) care pot fi executate de programele utilizatorilor si care îndeplinesc functiuni utile. Nucleul unui sistem de operare are privilegii în raport cu programele scrise de utilizatorii obisnuiti. Astfel, anumite operatii sunt permise numai nucleului, în timp ce programele utilizatorilor nu le pot efectua, ci doar beneficiaza de ceea ce face nucleul. De pilda utilizatorii nu pot accesa discul în nici un fel; ei au la dispozitie însa un set de functii ale nucleului care fac tot ceea ce are nevoie utilizatorul: creaza si sterg fisiere, permit scrierea datelor si citirea lor în fisiere, precum si accesul controlat la aceste resurse.

Instructiunile întelese de controlere sunt de nivel extrem de scazut. De exemplu, pentru a scrie un sir de octeti pe disc, trebuie trimis controlerului de disc un program care specifica locul precis pe disc (partitie, cilindru, cap, sector), codul operatiei (scriere), adresa în memorie unde se afla octetii, numarul lor. Dupa terminare trebuie aflat daca totul a mers cum trebuie: pozitia pe disc la care s-a ajuns (daca s-a ajuns în alt loc decît se astepta nu este bine), daca datele s-au scris, daca nu de ce nu (eroare tranzitorie, disc protejat,); daca nu a mers bine trebuie încercat (daca are sens) de mai multe ori, sau trebuie initializat controlerul, sau trebuie trimis capul hard-disc-ului la începutul discului (recalibrare).

Metoda universal folosita actualmente, prin care controlerul atrage atentia procesorului ca s-a petrecut ceva (de exemplu s-a terminat transferul, sau s-a produs o eroare) este întreruperea (a se revedea cap. 3). În cazul exemplului de mai sus, dupa ce a programat controlerul de hard-disc, procesorul face altceva. Cînd controlerul a terminat operatia (indiferent de rezultat), genereaza o întrerupere pentru a atrage atentia asupra sa. În consecinta, procesorul se va ocupa de controler.

Motivatia pentru care accesul utilizatorului este interzis la disc este în principal legata de integritatea discului: daca programe diferite ar vrea sa foloseasca fiecare pentru sine discul într-un alt fel, ar putea sa interfereze între ele. Nucleul ofera un acces limitat la disc. De exemplu, datele scrise în fisiere diferite nu au nici o legatura unele cu altele, pentru ca modificarea fiecaruia dintre fisiere este supervizata atent de nucleu.
Functiile nucleului sunt comune tuturor programelor care se executa pe acel calculator, fie ca programele se executa unul dupa altul sau simultan. De fapt una din misiunile esentiale ale nucleului este lansarea programelor în executie (se numesc procese) si controlarea executiei lor. El trebuie sa gaseasca pentru noul proces un loc în memorie, sa citeasca întregul fisier, si apoi sa sara la prima instructiune citita
Toate nucleele moderne suporta executia simultana a mai multor procese (ceea ce se numeste multitasking sau multiprogramare). Multiprogramarea poate fi reala, în cazul în care calculatorul are mai multe procesoare, sau simulata prin ceea ce se numeste „time-sharing” (punerea în comun a timpului): oprirea unor programe din executie temporar pentru a executa altele. Ratiunea principala pentru time-sharing este una economica: nu toate partile unui calculator functioneaza cu aceeasi viteza, deci daca doua dintre ele comunica, cea mai rapida trebuie sa astepte dupa cea mai lenta (discul de pilda este de cam un milion de ori mai lent decît procesorul).

Procesoarele au o facilitate care faciliteaza activitatea nucleului: contin niveluri  de securitate numite inele:

Inelul interior (0) are cele mai multe drepturi, iar cel exterior (3) cele mai putine.
Procesele care ruleaza în Ring 0 au acces la toate instructiunile procesorului si la memorie.
Aici opereaza nucleul. Driverele de dispozitive ruleaza în Ring 1 si Ring 2. Procesele care ruleaza în Ring 3, corespunzatoare programelor aplicatie nu pot accesa hardware-ul decât prin
intermediul lui Ring 0. Faptul ca driverele ruleaza în inele cu drepturi mari este principala cauza a blocarilor sistemului de operare. O scoatere a lor pe Ring 3 ar face sistemul mai stabil, dar mai lent. Aceasta idee sta la baza cercetarilor care se fac în aceasta perioada în laboratoarele Microsoft Research pentru a dezvolta un nou sistem de operare, numit Singularity.O varianta de test poate fi descarcata de la adresa:
www.codeplex.com/singularity.

     Calculatoarele de tip PC folosesc sisteme de operare Windows. Cele de tip Macintosh folosesc sistemul OS X. Calculatoarele de tip server ale multor companii sunt dotate cu sisteme de operare UNIX.
  Primul calculator IBM PC (1981) era dotat cu un sistem de operare MS-DOS. Acesta continea un interpretor de linie de comanda (Shell), cu multe caracteristici împrumutate de la Unix, era monoutilizator si rula pe 16 biti.
Urmatoarele tipuri de PC-uri au fost înzestrate cu variante superioare de DOS. Apoi, inspirati de succesul lui Macintosh, producatorii au decis sa doteze DOS-ul cu o interfata grafica numita Windows, în 1985. Primele 3 variante, pâna la Windows 3.11 nu erau sisteme
de operare reale, ci doar interfete grafice pentru utilizator, care rulau peste MS-DOS, care detinea controlul asupra calculatorului. Toate programele rulau în acelasi spatiu de memorie si o eroare aparuta în oricare dintre ele putea bloca întregul sistem.

Windows 95, aparut în 1995 nu a eliminat MS-DOS, introducând versiunea 7.0 a acestuia. Cele doua contineau împreuna majoritatea caracteristicilor unui sistem de operare
complet (memorie virtuala, gestiunea proceselor). Era folosit vechiul sistem de fisiere de la DOS (FAT-Fat Allocation Table 16), singura îmbunatatire majora fiind numele lungi de fisiere (254 de caractere) în locul variantei de 8 caractere permisa de DOS.
Varianta Windows 98 continea (înca) o versiune de DOS (7.1), dar a introdus un alt standard de organizare a informatiei pe discuri, FAT 32, care permitea gestionarea unor hard discuri de capacitati mai mari. Avea în plus o interfata cu utilizatorul îmbunatatita care îngloba facilitati pentru Internet si multimedia.


Ultima varianta, îmbunatatita, a lui Windows 98 a fost Windows ME (Milenium Edition). Acesta a prezentat o gama larga de functii pentru multimedia si imagini. 
Aceste trei tipuri de Windows (95, 98, Me) nu mai aveau nevoie de DOS, dar îl foloseau pentru unele operatii sau programe mai vechi. Trucurile de gestionare necesare pentru rularea aplicatiilor DOS, a vechilor aplicatii Windows pe 16 de biti, precum si a celor noi pe 32 de biti pe aceeasi platforma hardware duceau la frecvente reîncarcari si blocari ale sistemului.

Între timp, Microsoft lucra la un alt produs: Windows NT (New Technology). Acesta se dorea un înlocuitor pentru celelalte versiuni de Windows, dar aparitia sa a întârziat mult (prima versiune, NT 3.1 a aparut în 1993, iar a doua NT 4.0 în 1996), fiiind apoi dirijat catre utilizatorii profesionali. Acesta era un sistem de operare complet nou, pe 32 de biti, care nu folosea DOS ca fundatie. Folosea un sistem de fisiere de asemenea complet nou, NTFS (New Technology File System). A avut doua variante: server si statie de lucru (workstation). Versiunea server este conceputa pentru calculatoare care lucreaza ca servere într-o retea locala. La un astfel de server pot fi conectati mai multi utilizatori care pot rula programe, pot accesa fisiere sau pot tipari la imprimanta. A avut ca puncte forte stabilitatea si securitatea. Accepta însa un hardware multimedia mai redus decât Win 98 si nu avea suport pentru Plug
and Play.


Windows 2000, lansat la începutul anului 2000, a fost un continuator al lui NT în ce priveste securitatea si stabilitatea, dar a luat multe caracteristici de la Windows 98 (Plug and Play, Multimedia). Continea suport pentru porturile si dispozitivele USB si IEEE 1394. A introdus o versiune a sistemului de NTFS avansata, care accepta comprimarea si criptarea fisierelor, si de asemenea accepta sistemul FAT 32. Windows XP (eXPerience) este o varianta de Windows complet noua în raport cu celelalte. Poate fi descris ca o combinatie între caracteristicile de securitate, stabilitate si lucru în retea din Windows 2000 si caracteristicile multimedia si de tratare a erorilor din Windows Me. Are o interfata grafica noua si o varianta îmbunatatita de Internet Explorer. Contine suport pentru scrierea CD si DVD. Contine de asemenea noi faciltati pentru reactualizarea (UpDate) driverelor de dispozitiv prin Internet. (Un driver de dispozitiv este un program care permite sistemului de operare sa comunice cu un anumit dispozitiv hardware: imprimanta, mouse, tastatura).



Windows XP contine circa 40 milioane linii de program. Comparativ, Win2000 contine 29 milioane de linii iar Win 98 contine 13 milioane de linii.
Alte facilitati ale Windows XP:


-contine drivere pentru sute de dispozitive hardware; daca nu poate localiza driverul corespunzator pentru un anumit dispozitiv hardware, verifica automat situl Web Microsoft Windows Update;
-este mai stabil decât toate celelate versiuni de Windows; în acest sens, proiectarea interna protejeaza nucleul sistemului; acesta nu are niciodata o interfata directa cu aplicatiile sau cu componentele hardware, care ar putea bloca sau deteriora sistemul; aplicatiile si componenetele hardware fac cereri catre subsisteme care apoi solicita atentia nucleului.
Cele mai recente sisteme de operare de tip Windows sunt Windows Vista, aparut în 2007 si, respectiv, Windows 7, lansat recent, în octombrie 2009.


Nucleul Windows XP ca si cel din Windows 2000 îsi au radacinile în Unix. Unix este un sistem de operare multitasking foarte popular, dezvoltat de Bell Labs la începutul anilor ’70. A fost conceput de programatori pentru programatori. De fapt, limbajul C a fost dezvoltat doar pentru scrierea sistemului de operare Unix.

Unix a fost sistemul de operare predominant pentru statiile de lucru conectate la servere, în special datorita posibilitatilor de lucru multiutilizator si performantelor solide.
Nucleul Unix a fost initial suficient de mic pentru a putea fi cunoscut de o singura persoana. Facilitatile de comunicare în retea si mai apoi facilitatile pentru interfata grafica l-au marit considerabil dar totusi a ramas suficient de mic astfel ca acest lucru îl face foarte potrivit pentru servere de retea.
Ca si varianta de Unix se poate mentiona FreeBSD (Berkley Software Distribution), bazat pe versiunea Berkeley 4.4. De-a lungul anilor au aparut mai multe versiuni asemanatoare cu Unix. Neavând licente, aceste versiuni nu au putut fi numite Unix ci sisteme de operare de tip Unix (Unix like). În 1984 a fost creata o singura specificatie Unix, în speranta de a crea o piata mai coerenta.

Varianta de Unix cu cost redus, numita Linux, a revitalizat Unix-ul pe toate
platformele. Acesta a fost introdus de un finlandez, Linus Torvalds, în 1991. Evolutia sa este spectaculoasa, fiind considerat în prezent un rival pentru sistemele de tip Windows. Are multe
dintre caracteristicile din Windows NT/2000/XP cum ar fi multitasking real, memorie virtuala, conectare la retea prin protocolul TCP-IP. Linux este un sistem deschis, care se dezvolta prin contributia voluntara a unui numar tot mai mare de programatori, care promoveaza ideea de software gratuit (free software-open source). Pe lânga varianta de fisier executabil care permite instalarea, exista disponibil si codul sursa (la nivel de linie de program) care poate fi înteles, modificat si facut apoi disponibil pentru dezvoltari ulterioare.

Un dezavantaj al sistemelor Linux o reprezinta faptul ca nu exista aplicatii similare celor din Windows care sa ruleze sub Linux. Cu oarecare întârziere, au aparut totusi aplicatii de baza pentru Linux: WordPerfect Office 2000 for Linux, StarOffice 5.2, OpenOffice.org sunt produse similare cu Microsoft Office. De asemenea, o alta aplicatie este Corel DRAW for Linux. Un alt dezavantaj al Linux-ului comparativ cu Windows-ul îl reprezinta numarul mult mai mic de drivere cu care este înzestrat.
Scurta comparatie Windows XP-Linux
-Windows XP necesita un calculator relativ recent, cu cel putin 128 MB de RAM, în timp ce Linux poate rula cu succes chiar si pe sisteme 486.
-Windows XP este disponibil în numai doua versiuni (Home si Professional), iar Linux este disponibil în mult mai multe variante
-Windows XP este un sistem de operare bazat pe o interfata grafica cu utilizatorul (GUI), în timp ce Linux se bazeaza în principal pe linia de comanda (desi are doua interfete mai cunoscute, KDE si Gnome).
-Windows-ul contine mai multe divere decât orice varianta Linux.
În ultimul timp au aparut numeroase variante de Linux, numite si distributii Linux: Red Hat, Fedora, Linux Mint Gloria, Ubuntu. Pentru instalare pe hard disc, acestea au nevoie de cel putin 2 partitii una pentru sistemul de operare si una pentru memoria virtuala (partitia swap). Exista mai multe posibilitati de a rula un astfel de sistem de operare:
1. Instalare sub Windows (ca o aplicatie)
2. Instalare duala alaturi de Windows (doua sisteme de operare). În acest caz este nevoie de cel putin 2 partitii (una pentru sistemul de operare) si una pentru memoria virtuala (partitia swap).
3. „Live” CD sau Live memory stick USB. Permit rularea sistemului de operare direct de pe suportul amovibil (CD sau memoria USB) fara instalare instalare pe hard disc. În acest fel, sistemul de operare deja instalat nu este afectat.