Documente Academic
Documente Profesional
Documente Cultură
Cuprins
Sistem de operare - Noiuni generale Funciile unui sistem de operare Componentele unui sistem de operare Servicii pentru aplicaii Categorii de programe Resursele sistemului de calcul
Introducere
Un sistem de calcul nu poate s prelucreze date
fr s fie programat; Un program - succesiune de instruciuni ce converg ctre soluia problemei ce se rezolv. Exist dou categorii de programe: 1). Programe de aplicaii - destinate s rezolve probleme specifice; acestea efectueaz prelucrri ale datelor, n concordan cu cerinele problemei.
Introducere
2). Programe de sistem - coordoneaz operarea
circuitelor sistemului, asistnd la dezvoltarea programelor de aplicaii; ele sunt proiectate s faciliteze utilizarea eficient a resurselor sistemului de calcul i s ajute la dezvoltarea si execuia programelor de aplicaii. Programele de sistem sunt scrise pentru anumite categorii de sisteme de calcul i nu pot fi folosite pe orice calculator; Sunt furnizate de ctre productorii sistemelor de calcul sau alte firme specializate; Sunt proiectate s corespund unei game variate de solicitri.
4
generale i se adreseaz tuturor utilizatorilor sistemului de calcul. Sistemul de operare (SO) - acioneaz ca o interfa ntre sistemul de calcul i utilizator. Sistemul de operare are rolul de a coordona i supraveghea funcionarea calculatorului i de a realiza comunicarea ntre utilizator i sistemul de calcul.
Sistemul de programare cuprinde componentele software care permit utilizatorilor s realizeze programe executabile n sistemul de calcul. Cuprinde pachete de programe dedicate, specifice fiecrui limbaj de programare folosit de utilizator.
5
(software utilitar), care include programe cu un grad mare de generalitate, puse la dispoziia utilizatorilor pentru a realiza anumite prelucrri specifice asupra informaiilor, prelucrri comune pentru toi utilizatorii unui sistem de calcul. Software de aplicaie
6
DEFINIIE
Un sistem de operare este o colecie
integrat de programe de sistem, ce ofer utilizatorului posibilitatea folosirii eficiente a sistemului de calcul, concurnd la dezvoltarea programelor de aplicaie.
ca o interfaa ntre componenta hardware a unui sistem de calcul i utilizator, reprezentat prin programele sale de aplicaie (fig.1.1).
Organizarea SO
Majoritatea sistemelor de operare sunt
organizate pe dou niveluri: 1). Nivelul fizic care este mai apropiat de partea de hardware, interfernd cu aceasta printr-un sistem de ntreruperi ce semnalizeaz anumite evenimente deosebite ce au loc n sistem; n acel moment va da controlul unor rutine de pe nivelul logic n vederea tratrii acestora i al informrii utilizatorului despre cauzele care le-au generat.
9
Organizarea SO
2) Nivelul logic este mai apropiat de utilizator, interfernd cu acesta prin: - comenzi ce specific execuia anumitor subfuncii ale sistemului de operare; - macroinstruciuni; - limbaje de programare; - mesaje ctre utilizator; - ntreruperi solicitate de ctre software.
10
utilizatori, un sistem de operare trebuie s fie capabil a ndeplini urmtoarele funcii: 1). Oferirea posibilitii de pregtire i lansare n execuie a programelor de aplicaie (fig.1.2.); n acest scop, un sistem de operare trebuie s dispun de cel puin urmtoarele componente: - un editor de texte pentru a introduce i modifica un program surs (PS) scris ntr-un limbaj de programare; - un translator pentru limbajul de programare folosit (asamblor, compilator sau interpretor), care s traduc instruciunile programului surs, ntr-o form recunoscut de sistemul de calcul (form binar) - program obiect sau module obiect (PO);
11
13
programelor prin: - identificarea programelor ce se execut i a necesarului de resurse; - alocarea memoriei interne i a dispozitivelor periferice; - identificarea i protecia coleciilor de date.
14
15
16
programe ce se execut simultan, prin urmrirea modului de execuie a instruciunilor programelor, depistarea i tratarea erorilor, lansarea n execuie a operaiilor de intrare/ieire
17
18
Componente SO
n mod tradiional, sistemul de operare este
constituit din trei componente: nucleu (denumit i kernel), shell (interpretor de comenzi) i sistemul de fiiere.
Nucleul include funciile de nivel jos care vor fi ncrcate n memorie dup execuia procesului de iniializare a calculatorului.
Un exemplu este modulul care realizeaz controlul fluxului de date ntre memorie i unitile de I/E. Pentru sistemul de operare MS-DOS, nucleul este fiierul ascuns msdos.sys (ibmdos.com).
19
Componente SO
Shell-ul sau interpretorul de comenzi asigur interfaa ntre utilizator i calculator (spre exemplu, shell-ul sistemului de operare MSDOS este fiierul command.com). Sistemul de fiiere - reprezint, pe scurt, modalitatea de organizare a fiierelor pe disc. Exist o diversitate de sisteme de fiiere, de la FAT16, FAT32 i NTFS pentru sistemul de operare Windows pn la NFS (Network File System), RFS (Remote File Sharing) i AFS (Andrew File System) pentru sisteme de operare din familia UNIX.
20
21
utilizatorul interactiv (sau operatorul de sistem) despre starea operaional i orice eroare care poate apare; Pe calculatoarele care realizeaz prelucrri paralele, sistemul de operare poate decide modul n care este divizat programul, astfel nct s fie executat pe mai multe procesoare n acelai timp.
22
Categorii de programe
Din punct de vedere functional,
control, care cuprinde programe ce au rolul de a asigura utilizarea eficient a resurselor sistemului de calcul.
Componenta de servicii, care
cuprinde programe destinate minimizrii efortului uman implicat de utilizarea sistemului de calcul.
23
sistem de calcul secvenial cu program memorat, este necesar ncrcarea acestui program n memoria intern a sistemului de calcul.
Sub controlul unitii centrale de
unittii aritmetico-logice (UAL), pentru efectuarea de operatii aritmetice sau logice asupra datelor prelucrate de program; Alocarea unui dispozitiv periferic, pentru realizarea unui schimb de informatii ntre acesta si memoria intern afectat programului;
25
de spatiu n memoria extern a sistem de calcul, pentru stocarea informaiilor manevrate de program; Accesarea unei anumite structuri de date (de ex. un fiier din memoria extern); Apelul, pentru execuie, a unui alt program, ncrcat n memoria intern sau memorat n memoria extern a sistemului de calcul, etc.
26
sistemul de operare le pune la dispoziia utilizatorului, se constituie din totalitatea componentelor fizice sau logice ale sistemului de calcul, care pot fi solicitate, la un moment dat, n timpul execuiei unui program. Execuia unui program se definete ca o succesiune de procese care se realizeaz sub controlul sistemului de operare.
27
Procesul
Reprezint o secven de activiti care se
28
proces, sistemul de operare trebuie s aib rspuns la urmtoarele ntrebri, dup caz:
dac resursa cerut exist n sistem ; dac ea este disponibil; ct din resurs este disponibil; pentru ct timp poate fi alocat resursa; dac resursa este deja alocat altui proces, dac ea mai este necesar procesului cruia i este alocat.
29
SISTEME DE OPERARE
GESTONAREA RESURSELOR
Crei solicitri i se aloc resursa; Ct din resurs se aloc; n ce moment se face alocarea; Pentru ct timp se face alocarea resursei.
Alocarea efectiv a resursei se efectueaz odat cu actualizarea informaiilor legate de starea ei;
La initiativa procesului care a solicitat-o, atunci cnd ea nu mai este necesar procesului; La initiativa sistemului de operare, pentru a fi alocat i altor procese.
de lansare n execuie a unui program, activitatea de gestionare a alocrii resurselor sistemului de calcul, pe toat durata executrii programului, ca i operaiile efectuate la ncheierea execuiei acestuia, sunt funcii realizate de componenta de comand i control a sistemului de operare.
4.
Planificarea, lansarea i urmrirea execuiei programelor; Gestionarea resurselor sistemului de calcul; Depistarea i tratarea evenimentelor deosebite care apar n timpul execuiei programelor; Asigurarea proteciei informaiilor manevrate de diverse programe (aceste programe pot fi ale sistemului de operare sau programe utilizator).
Nucleul sistemului de operare, cu funcia de coordonare a activitii sistemului de calcul i a celorlalte componente ale SO. Aceast component este rezident n memoria intern pe toat durata funcionrii sistemului de calcul i se mai numete monitorul rezident al SO. Cte o component de gestionare pentru fiecare tip de resurs din sistem.
Componenta de servicii - CS
CS a SO s-a dezvoltat odat cu cerinele utilizatorilor sistemelor de calcul. Gradul de accesibilitate al unui sistem de calcul, ca i complexitatea sarcinilor pe care utilizatorul le poate rezolva cu ajutorul lui, sunt influenate de existena i eficiena programelor de sistem incluse n componenta de servicii. Programele de servicii se execut sub supravegherea programelor de comand i control, ca orice program de aplicaie.
Unul sau mai multe programe ncrctor pentru SO, care lanseaz automat programe ale SO la pornirea sistemului de calcul; Programe de tip interpretor de comenzi, adic acele programe care preiau comenzile adresate SO de ctre utilizator, asigu-rnd astfel comunicarea ntre utilizator i sistemul de operare; Funcia de gestionare a dialogului cu utilizatorul, fie n mod comand, oferind mecanisme de editare a comenzilor, fie n mod grafic, prin intermediul unei interfee grafice cu utilizatorul (GUI - Graphical User Interface); Funcia de nlnuire prin date a comenzilor SO are mecanismul pipe, de interpretare a comenzilor agregate sub forma unor macrouri sau a unor fiiere de comenzi ;
9
Componenta de servicii
Functia de asisten on line pentru SO, cunoscut ca Help-ul sistemului de operare; Funcia de tipul plug and play care ofer faciliti de autodetecie a echipamentelor nou instalate n sistem i permite reconfigurarea hardware, cu uurin, a sistemului, ca i notificarea schimbrii configurrii sistemului, de exemplu prin cderea unui echipament din sistem; Funcia care ofer suportul pentru utilizarea limbii naionale, adic adaptarea informaiilor cu caracter naional (semn monetar, marc zecimal) conform rii selectate ; Funcii pentru configurarea personalizat a mediului de lucru cu sistemul de calcul, de exemplu pentru utilizatori cu opiuni speciale de manevrare a echipamentelor (tastatur, mouse, etc.)
10
Pentru utilizarea eficient a resurselor sistemului de calcul, unele SO pot gestiona execuia concurent mai multor procese, asigurnd proceselor din sistem accesul concurent la resursele sistemului sau partajarea resurselor . Aceasta nseamn c, la un moment dat, n sistem se pot afla n execuie mai multe procese care concureaz ntre ele pentru accesul la resursele sistemului iar SO gestioneaz resursele sistemului pentru satisfacerea ct mai multor cereri ale acestor procese pentru alocarea de resurse.
11
Din punctul de vedere al accesului utilizatorilor la sistem i al gradului de interaciune cu sistemul, sistemele de operare pot fi:
Seriale, acele SO pentru care gradul de interaciune cu utilizatorul, n timpul prelucrrilor, este nul. De cele mai multe ori, interfaa dintre SO i utilizator nu dispune de un limbaj de comand accesibil utilizatorului obinuit, motiv pentru care comunicarea dintre utilizator i sistem nu este direct ci mediat de persoane specializate ca operatori de calculator. n timpul execuiei lucrrii sale, utilizatorul pierde total controlul asupra prelucrrii; el furnizeaz datele care se prelucreaz odat cu formularea cererii de prelucrare i primete rezultatele prelucrrii la ncheierea execuiei.
14
Interactive: sistemele de operare care permit comunicarea direct ntre utilizator i sistemul de calcul, prin intermediul unui limbaj dedicat acestui scop (limbajul de comand al So sau interfaa grafic utilizator). n plus, utilizatorul poate urmri modul n care se execut programul su i poate influena, n anumite condiii, execuia acestuia. Un SO interactiv presupune o arhitectur a sistemului de calcul care s cuprind echipamente standard de I/E dedicate comunicrii utilizatorului cu SO (terminale I/O); aceste echipamente cuprind, de obicei, o tastatur, ca echipament standard de intrare i un dispozitiv de vizualizare a informatiilor de ieire (un display sau o mini imprimant).
15
16
sunt puternic interactive, cu un limbaj de comand accesibil sau cu interfa grafic utilizator; unele sunt monouser si monotasking (MS-DOS), altele multitasking (Windows), eventual i multiuser (Unix); sunt uor configurabile, oferind proceduri automate pentru ncrcarea sau pentru instalarea sistemului de operare; ocup un spaiu redus n memoria intern; suport dezvoltri pentru a permite conectarea n reele de calculatoare sau ca terminale la sisteme de calcul mari; au funcia de gestionare a informaiei dezvoltat n direcia manevrrii unui numr mare de fiiere de dimensiuni mici;
17
Sunt interactive, multiuser i multitasking; Folosesc un limbaj de comand pentru utilizatori avizai; Procedurile de ncrcare la conectarea sistemului i de instalare a sistemului de operare sunt mai laborioase; Sunt mai rigide, n cazul modificrii configuraiei hardware; Asigur un sistem de prioritti de execuie dezvoltat; Sunt orientate pentru lucrul cu mai muli utilizatori, oferind un sistem complex de protecie a informaiei; Sunt orientate pentru lucrul cu multe terminale, putnd ndeplini funcia de concentrator de date;
18
seriale sau interactive, multitasking; limbaj de comand pentru utilizatori specializai; gestioneaz un numr mare de echipamente periferice; orientate pentru prelucrri complexe i pentru volume mari de date.
19
20
Generalitatea - capacitatea algoritmului de a descrie modul de rezolvare a unui anumit tip de problem ; Universalitatea: odat definit modul de rezolvare, algoritmul trebuie s fie aplicabil, indiferent de setul de date pe care le prelucreaz ; Finitudinea garanteaz faptul c execuia algoritmului se ncheie, dup un numr finit de pai, indiferent de setul de date care sunt prelucrate ; Completitudinea este proprietatea care asigur faptul c algoritmul rezolv integral problema abordat : nu exist variante ale prelucrrii netratate ;
21
Proprieti care definesc modalitatea de descriere a algoritmului, de exemplu : concizia, claritatea i rigurozitatea definirii acestuia ; Executabilitatea este proprietatea algoritmului de a descrie prelucrrile numai prin intermediul unor operaii care pot fi executate n sistemul de calcul ; Eficiena algoritmului msoar gradul n care executarea acestuia se realizeaz n timp minim i, n general, cu un consum ct mai redus de resurse.
22
Sistemul de programare
Cuprinde acele instrumente software (programe sau pachete de programe) care fac posibil generarea programelor executabile n sistemul de calcul. El poate fi alctuit din urmtoarele categorii de software : programele editoare de text- permit introducerea i modificarea interactiv a informaiei (Ex. - programe surs);
aceste programe editoare trebuie s aib caracteristica WYSIWYG (What You See Is What You Get) adic s nu introduc automat caractere suplimentare n programul surs editat ;
23
Programe translatoare
Programele translatoare pentru limbajele de programare, transform programele surs, scrise ntr-un limbaj de programare, n programe obiect, scrise n limbaj main, prin operaia de translatare (traducere sau compilare). Dup natura transformrii pe care o realizeaz, programele translatoare pot fi :
24
Programe de compilare
1. 2. 3.
Realizeaz transformarea programului surs n program obiect ; Acest categorie include : Asambloare, care traduc programe surs scrise ntr-un limbaj de asamblare Compilatoare specifice fiecrui limbaj de programare de nivel nalt ; Interpretoare, care, odat cu compilarea programului surs, realizeaz i execuia acestuia, instruciune cu instruciune ;
25
Programe de compilare
3. Editoare de legturi , care transform programele din format obiect n programe executabile, realiznd, dac este cazul, integrarea mai multor module obiect ntr-un singur program executabil ; Programele depanatoare , interactive sau nu, care permit monitorizarea execuiei unui program n vederea localizrii erorilor de execuie ; Mediile de programare , care reprezint aplicaii mai complexe, care includ toate funciile prezentate mai sus, utilizate pentru generarea unui program executabil.
26
4. 5.
Activitatea de compilare a unui program surs poate fi descompus n mai multe faze, care corespunde, fiecare, unei funcii logice asigurate de programul translator, i care asigur urmtoarele operaii :
analiza lexical a programului surs se realizeaz la nivelul fiecrei linii program i const n :
eliminarea caracterelor nesemnificative (de exemplu spaiile, comentariile, etc) identificarea unitilor logice ale limbajului de programare, de tipul operatorilor, cuvintelor rezervate, identificatorilor, constantelor, etc. i nscrierea acestora n structuri tabelare numite tabele de simboluri ;
27
28
Analiza sintactic
Are ca obiectiv principal identificarea, n programul surs, a construciilor sintactice de baz (instruciuni, expresii, liste, etc.) i interpretarea coninutului lor, prin generarea unor structuri proprii de descriere a fiecreia, prin intermediul unei structuri arborescente, numit arbore de derivare ;
29
Activitatea de compilare
Analiza semantic ce are ca obiectiv interpretarea fiecrei construcii sintactice identificate. Pe baza arborelui de derivare definit i folosind tabela de simboluri, se genereaz seturile de instruciuni elementare care corespund fiecrei construcii sintactice identificate. Aceste instruciuni sunt formulate ntr-un format de trecere ctre codul main, numit cod intermediar, dar nc sunt independente de acesta ; Optimizarea codului intermediar, prin nlturarea variabilelor neutilizate, a instruciunilor redundante, etc ;
30
Compilarea
Alocarea memoriei, pentru entitile din programul surs care vor fi ncrcate n memoria intern, n timpul execuiei programului ; alocarea se face utiliznd tabela de simboluri i asociind la fiecare astfel de entitate o locaie de memorie, calculat relativ la adresa de nceput a programului i denumit adres relocabil ; Optimizarea dependent de calculator a codului intermediar, prin alocarea regitrilor de lucru ai procesorului i generarea codului obiect sunt operaii care depind de calculator ; n toate etapele are loc detectarea i nregistrarea erorilor de utilizare a limbajului de programare, erori numite erori de compilare.
31
Compilare
32
Editorul de legturi
33
Editorul de legaturi
Editorul de legturi grupeaz mai multe module obiect (rezultate n urma compilrii sau preluate din biblioteci de module obiect) i genereaz segmentele programului executabil. Segmentul reprezint o colecie ordonat de seciuni, ntre care au fost rezolvate legturile definite prin elementele de comunicaie. Un segment se caracterizeaz prin nume, o adres de intrare n segment, adic adresa primei instruciuni executabile a segmentului, i modulele obiect care l alctuiesc.
34
Segmentarea programelor
Pentru programul executabil se poate defini o structur arborescent de segmente, dintre care unul este segmentul principal, numit rdcin , iar celelalte segmente sunt subordonate rdcinii i, eventual, unele fa de altele.
35
Raportul de subordonare este determinat de ordinea de nlnuire, n execuie, a segm.; segmentele de pe acelai nivel sunt cele ntre care nu sunt definite elemente de comunicare; acestea se pot reacoperi n memoria intern, n timpul execuiei programului, sau se pot executa n paralel.
36
Segmentarea programelor
Este procedeul de mprire a unui program n segmente, a.. s fie posibil ca n timpul execuiei programului s fie ncrcat permanent, n memoria intern, numai segmentul rdcin; Segmentele subordonate pot s fie ncrcate pe rnd, prin reacoperirea segmentelor ntre care nu exist raporturi de subordonare, sau pot fi executate n paralel.
37
Pentru aceasta, odat cu generarea programului executabil, editorul de legturi construiete i tabela de legturi asociat
Numele segmentului rdcin i a celorlalte segmente; Adresele segmentelor, n programul executabil, relativ la adresa 0 de memorare a programului executabil; Lungimea fiecrui segment; Punctul de intrare n program, adic adresa primei instruciuni executabile din program.
38
Erori
Activitatea
de programare trebuie s aib n vedere i posibilitatea apariiei unor erori i necesitatea depistrii i nlturrii acestora. Erorile care apar n programe pot fi : erori de sintax, generate de nerespectarea regulilor de utilizare a limbajului de programare folosit ;
Erori
erori de asamblare, atunci cnd n program se fac referiri la variabile sau proceduri nedefinite ;
erori de execuie, care pot fi generate de erori de logic n algoritmul folosit sau de un anumit context de date care nu a fost tratat corespunztor n algoritm ;
de exemplu : valori nepermise ale operanzilor, executarea necontrolat a instruciunilor repetitive, ncercarea de a accesa zone interzise din memoria intern, etc.
40
Programe depanatoare
Erorile de execuie sunt, de obicei, erori de algoritm ; Pentru nlturarea lor este necesar localizarea i determinarea naturii acestora. Identificarea unei astfel de erori se face comparnd varianta ideal de execuie a programului, conform algoritmului, cu o execuie concret ; Se compar rezultatele intermediare obinute i ordinea de executare a instruciunilor.
41
Pentru sistemele interactive au fost dezvoltate programe care permit o depanare dinamic, desfurat n timpul execuiei programului. Aceste programe se numesc programe depanatoare .
42
Programe depanatoare
Activitatea unui program depanator const n monitorizarea execuiei programului utilizator prin :
lansarea n execuie a acestuia executarea controlat a acestuia, prin posibilitatea de suspendare a execuiei i de preluare a controlului : n momentul apariiei unui eveniment deosebit, n timpul execuiei dup executarea fiecrei instruciuni (execuie pas cu pas) n puncte anume alese din program i marcate ca puncte de ntrerupere a execuiei (breakpoints) ;
43
prelund controlul, programul depanator pune la dispoziia utilizatorului instrumente specializate pentru evaluarea modului n care se execut programul : posibilitatea vizualizrii valorilor variabilelor din program; evaluarea unor expresii definite de utilizator; modificarea valorii unor locaii de memorie aferente programului, etc.
44
Programe depanatoare
Programul depanator ofer, de asemenea, informaii legate de contextul de execuie al programului, de modul de utilizare a resurselor sistem, etc. Dup forma programului care se execut, depanatoarele sunt :
45
execuiei programului la nivelul programului executabil. Activitatea de depanare se face pornind de la imaginea programului executabil, ncrcat n memoria intern ; se lucreaz cu adrese fizice, cod main i cu forma de reprezentare intern a datelor. Fiecare sistem de operare dispune de un astfel de depanator : ODT pentru RSX, DDT pentru CP/M, DEBUG pentru MS-DOS, adb pentru UNIX ;
46
Depanatoare simbolice -monitorizeaz execuia programului utilizator la nivelul programului surs, lucrnd la nivel de linie program i identificator de variabil ; De obicei, limbajele de programare de nivel nalt sunt prevzute cu depanator simbolic.
47
Programe utilitare
Sistemul de programe utilitare (software utilitar), care include programe cu un grad mare de generalitate; Sunt puse la dispoziia utilizatorilor pentru a realiza anumite prelucrri specifice asupra informaiilor, prelucrri comune pentru toi utilizatorii unui sistem de calcul.
48
Exemple:
Programe care permit exploatarea componentelor hardware ale calculatorului n condiii optime ; Realizeaz:
verificarea strii de funcionare a echipamentelor hardware, configurarea parametrilor lor de funcionare, optimizarea modului de utilizare a componentelor hardware ale sistemului de calcul ;
49
Exemple:
Programe pentru organizarea informaiei pe suporturile de date : programe de arhivare a datelor, programe pentru gestionarea bibliotecilor de date, programe pentru organizarea datelor prin operaii de sortare, interclasare, compactare, programe pentru realizarea conversiilor de suport, etc.
50
Exemple
51
Exemple:
Medii de prelucrare complex a datelor organizate sub form de text, imagine, sunet sau sub form de tabele ; Aceste instrumente software pot fi folosite direct de utilizatori neprofesioniti, pentru dezvoltarea unor aplicaii, sau pot fi folosite de proiectanii de software, ca instrumente de mare productivitate.
52
Exemple
Suprafee de operare : Aplicaii specifice sistemelor interactive, care nlocuiesc dialogul utilizatorului cu sistemul, prin intermediul limbajului de comand al sistemului de operare, cu interfee de lucru prietenoase , etc.
53
evidenierea fiecrei resurse; adoptarea unei strategii pentru determinarea n orice moment crui proces s-i aloce resursa, ct din resurs, la ce moment de timp i cuanta de timp alocat; s aloce resursele, iar la terminarea activitii s le dezaloce.
n acest scop, programele de comandcontrol ale sistemului de operare au fost grupate n 4 categorii, corespunztor funciilor ndeplinite:
1) 2) 3) 4)
funcia de gestiune a memoriei funcia de gestiune a procesorului (CPU) gestiunea dispozitivelor periferice gestiunea informaiei
Funcia de gestiune a memoriei Const n: evidena acestei resurse: ct memorie este alocat i pentru care programe; ce proces primete memorie, la ce moment i n ce cantitate - n cazul multiprogramrii; aloc pri din memorie i asigur metode de acces i protecie pentru procesele solicitante; dezaloc zonele de memorie alocate.
5
Funcia de gestiune a procesorului (CPU) Se refer la: evidena procesoarelor i strilor acestora ("traffic controller"); decide cine poate s utilizeze procesorul ("proccesor scheduler"), la ce moment de timp i pentru ct timp; aloc procesorul la un proces prin pregtirea i ncrcarea unor registre hardware; retrage alocarea cnd procesul renun la utilizarea procesorului, s-a terminat sau a depit cuanta de timp alocat.
6
Gestiunea informaiei
Care se materializeaz n: evidenierea resursei (informaia), localizarea ei, utilizarea, starea, etc. (File System); decide cine utilizeaz informaia, impune protecia cerut i ofer rutine de acces necesare; aloc resursele prin deschiderea fiierului (OPEN); dezaloc resursele prin nchiderea fiierului (CLOSE).
8
10
efectuarea controlului de paritate asupra datelor i informaiilor de control; urmrirea ndeplinirii condiiilor de execuie a comenzii; generarea informaiei de stare a dispozitivelor periferice i a unitilor de control care se prezint canalului la iniierea i respectiv, prelucrarea modului n care s-a terminat transferul de date; conversia formatului datelor din codul acceptat de dispozitivul periferic, n codul acceptat de CPU la citire sau invers la scriere.
11
Canalele de transfer
Dirijeaz fluxul de informaie ntre memoria intern i dispozitivele periferice degrevnd CPU de sarcina tratrii proceselor de I/E ndeplinind ca principale funcii:
transformarea informaiei de comand primit de la CPU n semnale acceptate de ctre unitile de control ale dispozitivelor periferice; prelucrarea controlului transferului de date i eliberarea CPU pentru alte lucrri; asamblarea sau dezasamblarea datelor transferate ntre dispozitivele periferice i memoria intern;
12
Canalele de transfer
sincronizarea
transferului de date cu activitatea CPU; controlul adresei care reprezint sursa sau destinaia transferului de date n memoria intern, inclusiv verificarea proteciei memoriei; generarea informaiei de stare a canalului, pe care o ine la dispoziia CPU.
13
14
15
Un sistem de intrare/ieire poate fi organizat n urmtoarele moduri: un canal de I/E poate fi utilizat n mod partajat de dou CPU folosind un controller pentru canalul de I/E- situaie ntlnit la sistemele de calcul exploatate n multiprelucrare; o unitate de control poate fi partajat ntre mai multe canale, situaie n care pentru acelai dispozitiv periferic exist mai multe ci de acces, iar doua CPU partajeaz aceeai unitate de control;
16
dispozitivele periferice de I/E pot fi partajate ntre mai multe uniti de control ataate la diferite canale de I/E ale aceleiai CPU sau la canalele mai multor CPU. n acest caz, este solicitat aceeai unitate de control, existnd mai multe ci prin care dispozitivul periferic poate transmite sau recepiona date (fig.3.8.).
17
19
alocarea
dispozitivului periferic, a unitii de control i a canalului pentru proces; dezalocarea la nivelul procesului.
20
Gestiunea dispozitivelor periferice prin metode hardware 1) operarea dispozitivului periferic, independent, fr asistena canalului sau unitii de control; 2) disciplina buffer care implic existena unui buffer pentru date n dispozitivul periferic sau al unitii de control, ce ar permite unui dispozitiv periferic lent s lucreze independent de canal;
21
3) ci de acces multiple, concretizate n mai multe ci de acces pentru fiecare dispozitiv periferic. n acest caz, driverele pentru gestiunea dispozitivelor periferice vor ine evidena cilor de acces i vor determina ruta liber pentru servirea unei cereri de intrare/ieire la dispozitivul periferic solicitat; 4) multiplexarea canalului prin execuia unor programe de canal multiple, ceea ce nseamn o implementare hardware a multiprogramrii pentru programele de canal
22
25
Gestiunea dispozitivelor periferice de catre sistemul de operare 4) dispozitive periferice utilizate partajat (Shared Devices) sunt partajate ntre mai multe procese concurente, ceea ce implic:
interferena cererilor din partea proceselor; protecia mpotriva acceselor neautorizate.
5) dispozitive periferice virtuale sunt dispozitive periferice ce pot fi convertite pentru a putea fi utilizate partajat prin sistemul Spooling.
26
Utilizarea partajat a resurselor unui sistem de calcul este determinat de insuficiena la un moment dat a resurselor necesare execuiei simultane a proceselor create de utilizatori. Gestiunea procesoarelor are ca scop asigurarea procesoarelor la procesele create . Fiecrui program de aplicaie, sistemul de operare i asociaz o serie de procese.
Termeni utilizati
Procesul reprezint un program n execuie (program de serviciu, de aplicaie sau rutin a sistemului de operare). Procesorul reprezint componenta capabil s execute un program (CPU sau canal). Programul este o secven de instruciuni, iar procesul o serie de activiti (taskuri) executate prin program. Activitatea (task) este o unitate de lucru intern creat de sistemul de operare, atunci cnd o etap din lucrare este acceptat de sistemul de calcul. Lucrarea reprezint o colecie de activiti (taskuri) ce se execut de ctre sistemul de calcul.
Procesele concurente numite i procese paralele, presupun c la un moment dat, mai multe programe pot fi urmrite ntre punctul de ncepere i terminare a execuiei; n acest caz procesele interacioneaz n dou moduri:
indirect, prin concurarea la aceeai resurs a sistemului; - direct, prin utilizarea simultan a acelorai resurse.
-
ntr-un fir de ateptare circular, ca alt proces s renune la preteniile de utilizare a unei resurse; interblocarea poate fi nlturat prin mecanisme cum sunt:
prealocarea resurselor partajate; alocarea controlului n avans de execuie;
Sincronizarea proceselor
Sincronizarea proceselor include mecanisme prin care anumite procese vor fi oprite la un moment dat, pn ce apar anumite evenimente ce se afl sub controlul altei activiti. Problema sincronizrii apare datorit partajrii resurselor n legtur cu alocarea proceselor pentru execuie i comunicaia ntre procese care genereaz dou aspecte:
-
apariia condiiei de competiie ntre procese care se ivete atunci cnd planificarea unor procese pentru execuie devine critic deoarece parametrii pentru planificarea execuiei provin din calcule diferite; tendina de a obine resursa de ctre procese ar putea genera interblocarea acestora.
Mecanismele de sincronizare
1) bii de atenie Prin aceast modalitate, orice resurs partajat de "n" procese va dispune de un bit de atenie
"lock-bit" folosindu-se convenia: - lock-bit = 0 - resursa este disponibil; - lock-bit = 1 - resursa este n folosin.
-
10
1) bii de atenie
nainte ca un proces s aib acces la un procesor, acesta va verifica starea lock-bitului: dac lock-bit = 0 atunci este permis acestui proces s aib acces la procesor, iar la terminarea execuiei va trece lock-bit-ul n starea iniial 0; dac pe parcursul execuiei un alt proces va solicita procesorul, acesta va gsi lock-bit-ul n starea 1, el fiind trecut n starea de ateptare pn cnd lock-bit-ul devine 0.
11
Mecanismele de sincronizare
2) mecanisme de ateptare i semnalizare Inconvenientul sincronizrii proceselor prin lock-bit const n continuarea secvenei de testare a lock-bit -ului pentru comutarea din starea 1 n starea 0; Atunci cnd procesorul alocat unui proces ncheie execuia, acesta va introduce un semnal de legtur (pointer) prin care unul din procesele blocate din lista celor care ateapt, este sesizat c resursa pentru care a fost blocat a devenit liber; n acest moment, procesul care ctig competiia este trecut din lista de procese blocate, n lista proceselor gata de execuie, urmnd s fie din nou planificat pentru reluarea execuiei din punctul n care a fost ntrerupt.
12
Mecanismele de sincronizare
3) calculul semafoarelor prin operaiile P i V P i V sunt primitive care opereaz pe semafoarele S constituite din variabile ce iau valori ntregi (nu numai 0 i 1). Mecanismul se desfoar astfel:
P(S): decrementeaz valoarea lui S cu 1 i dac S <= 0 atunci ateapt; V(S): incrementeaz valoarea lui S cu 1 i dac S <= 0 atunci semnal.
13
Mecanismele de sincronizare
4) comunicarea direct de tip SEND/RECEIVE Mecanismele de sincronizare anterioare realizeaz comunicaii indirecte. Sincronizarea se poate realiza i ntr-o manier direct, prin intermediul primitivelor SEND (Proces1, mesaj) i RECEIVE(Proces2, mesaj).
14
Mecanismele de sincronizare
5) cutii potale Cutiile potale sunt constituite din zone tampon din memoria dinamic, tratat ca dispozitiv periferic de intrare/ieire. Fiecare activitate creeaz o cutie potal cu informaii ce pot fi extrase de celelalte activiti nainte de lansarea n execuie.
15
Gestiunea memoriei
16
Gestiunea memoriei
Gestiunea memoriei are rolul de a decide cum trebuie organizat informaia pe cele dou nivele i cnd trebuie transferat informaia ntre acestea; tehnicile de gestiune a lucrrilor (multiprogramare, multitasking, time-sharing,etc) implic existena unor metode eficiente pentru gestiunea memoriei: tehnici de alocare dinamic i memoria virtual.
17
Gestiunea memoriei
Obiectivul activitii de gestiune a memoriei este de a furniza o vitez de execuie sporit a programelor, prin meninerea n memoria intern a acelor pri din programe care sunt referite cu o frecven mare de ctre CPU (de regul, programe independente ntre ele)
18
Gestiunea memoriei
deoarece n memoria intern exist simultan mai multe programe independente ntre ele, pentru a utiliza eficient CPU apar urmtoarele aspecte:
-
introducerea n memoria intern a programului ce urmeaz a fi executat necesit un spaiu de memorie determinat de dimensiunea sa, de spaiul liber din memoria intern n acel moment i de modul de ocupare al memoriei interne de ctre alte programe; pentru zonele de memorie alocate diferitelor programe, trebuie s se asigure protecia acestora fa de anumite interferene i adresri cu alte programe.
19
20
21
Alocarea
22
memoriei interne se poate realiza: - static cnd programul este ncrcat iniial n orice zon liber din memoria intern. n momentul solicitrii unei ntreruperi, acesta este transferat n memoria extern urmnd a fi reluat dup tratarea ntreruperii. - dinamic cnd adresele relative ale instruciunilor programului dup editarea de legturi, nu sunt translatate n adrese fizice n faza de ncrcare a programului n memoria intern, ci doar n momentul execuiei instruciunilor.
Memoria virtual
Conceptul unui singur nivel de memoriedenumit memorie virtual- ofer utilizatorului iluzia c memoria intern are o capacitate foarte mare, partea de hardware realiznd automat transferul informaiei din memoria intern n memoria extern i invers.
23
Adres virtual
O adres folosit de programator se numete adres virtual, iar adresa real unde este memorat se numete adres fizic (dimensiunea spaiului de adrese virtuale este mult mai mare dect dimensiunea spaiului de adrese reale).
24
Funcia de translatare a unei adrese virtuale ai n adres real bj se poate defini astfel:
-
ft = 0 dac informaia de la adresa virtual solicitat (ai) nu este n acel moment rezident n memoria intern; ft = bj dac adresa virtual ai gsete rezident adresa real bj n memoria intern.
25
26
Dac procesorul refer adresa virtual ai, aceasta se introduce n registrul de adrese virtuale RV, registrul REZIDENT este resetat (pus pe 0), iar registrul de ACCES setat (pus pe 1), iniializndu-se procesul de translatare:
-
dac se gsete cu ai o intrare n tabela ft, atunci coninutul gsit se introduce n registrul de adrese fizice al memoriei interne RM, avnd loc extragerea din memoria intern a informaiei solicitat de procesor de la adresa real bj; dac nu se gsete o intrare n ft, atunci RM = 0, registrul REZIDENT este setat i are loc iniierea celor 3 algoritmi care vor aduce din memoria extern n memoria intern informaia referita de procesor, actualiznd totodat i tabela de descriere a funciei de translatare ft.
27
Organizarea la nivel de pagin conduce la reducerea necesarului de informaie coninut n tabela ft deoarece spaiul de adrese este divizat n blocuri de dimensiune constant numite pagini. Dimensiunea paginii virtuale coincide cu dimensiunea paginii reale ceea ce implic netranslatarea adresei cuvntului de pagin.
28
Pentru orice adres virtual ai se asociaz perechea (P,C) unde P reprezint numrul cuvintelor din pagin, iar C numrul unui cuvnt referit din P. Prin P se intr n tabela de pagini, la unul din cuvintele de la 0 la 2p, de unde se extrage componenta Q de o anumit dimensiune; dac:
-
RM (Q) are coninut nenul, atunci adresa solicitat de procesor are drept corespondent o pagin de memorie rezident n memoria intern; RM (Q) = 0 atunci adresa virtual solicitat nu are adres de pagin real n memoria intern, ceea ce conduce la declanarea celor 3 algoritmi ca urmare a setrii registrului de REZIDENT.
30
Organizarea la nivel de segment mparte spaiul de memorie n blocuri de dimensiune variabil, numite segmente (pot fi module de program sau anumite structuri de date)
virtual referit de procesor const din numele segmentului S i numele cuvntului din segment C; adresa de memorie unde ncepe segmentul S reprezint adresa de baz R, iar prin D se specific dimensiunea segmentului. Adresa real determinat prin R+C se obine dac registrul de buffer conine adresa extras din memoria tabelei de segmente, efectundu-se i comparaia dintre C i D; dac R = 0, atunci se vor declana cei trei algoritmi.
32
Organizarea la nivel de segment-pagin divide adresele virtuale i adresele fizice n segmente, iar segmentele n pagini, n vederea fructificrii avantajelor celor dou metode de organizare:
-
paginarea, care ofer implementarea simpl i cel mai sigur mijloc de protecie a informaiei; segmentarea, care satisface ntr-o mai mare msur cerinele programatorului prin divizarea n segmente, deci innd seama de logica programului (fig.3.7.).
33
34
Prin S din RV se caut n MTS; dac se gsete o adres, aceasta este reprezentat prin:
-R -adresatabeleide pagini; -D -dimensiuneasegmentuluiexprimatnpaginiiintrodus apoi n registrul de buffer.
35
limitarea frecvenei transferului de date i programe; - conservarea execuiei programelor din memoria intern, n timp ce alte programe sunt n ateptare n memoria extern; - transferul datelor i programelor din memoria intern atunci cnd procesele le solicit.
-
36
Componenta BIOS
Conine un set de programe care asigur: 1. Autotestarea la punerea sub tensiune, operaie denumit POST (Power-On Self Test).
-
n acest test procesorul se autoverific i apoi verific timer-ul sistemului i memoria RAM.
Componenta BIOS
2. Suportul software pentru dispozitivele periferice standard - n felul acesta izoleaz SO de ceea ce este specific hardware-ului (de ex., componenta BIOS conine codurile apelurilor de sistem pentru citirea i scrierea de la adresele absolute de pe disc, pentru citirea unui caracter de la tastatur sau pentru afiarea unui caracter pe ecran); 3. Rutina pentru iniializarea sistemului; 4. Programul de ncrcare a primului sector logic de pe discul flexibil sau hard disc.
Incrctorul bootstrap
La pornirea calculatorului se pornete ncrctorul bootstrap care este localizat n cipul BIOS. Acesta asigur testarea componentelor hardware ale calculatorului i ncrcarea sistemului de operare n memoria RAM. Exist dou modaliti de pornire a calculatorului:
Pornirea la rece (cold-boot); Pornirea la cald (warm-boot), care se realizeaz prin apsarea tastelor Ctrl+Alt+Delete.
Pornirea la rece
Implic urmtorii pai: 1)Sursa de curent - se iniializeaz; chipset-ul plcii de baz ateapt pentru semnalul Power Good din partea sursei; 2) BIOS ROM - procesorul localizeaz programul de boot (iniializare) al BIOS-ului; 3) POST - BIOS-ul ruleaz secvena POST. Dac apare o eroare major, procesul de boot se oprete;
Pornirea la rece
4) Video - BIOS-ul caut programul BIOS pentru
placa video i l execut pentru iniializarea plcii video; 5) Alte dispozitive BIOS - BIOS-ul caut programe BIOS pentru alte echipamente BIOS (hard disk) i le execut; 6) Ecranul de pornire - BIOS-ul afieaz ecranul de pornire; 7) Memoria - BIOS-ul testeaz alte componente ale calculatorului i efectueaz un test de memorie;
Pornirea la rece
8) Hardware - BIOS-ul testeaz sistemul pentru a gsi componentele hardware (de exemplu hard-discuri); 9) Plug and Play - Configurarea dispozitivelor Plug and Play; 10) Ecranul de configurare - BIOS-ul afieaz un sumar al configuraiei hardware a sistemului; 11) Discul de boot - BIOS-ul caut un disc de boot pe baza secvenei de iniializare;
Pornirea la rece
12) Boot record - BIOS-ul caut primul dispozitiv de boot din secven pentru MBR (Master Boot Record) de pe un disc hard sau VBS (Volume Boot Sector) de pe o dischet floppy; 13) SO - BIOS-ul ncepe s iniializeze sistemul de operare, moment n care acesta preia controlul de la BIOS; 14) Eroare - dac BIOS-ul nu gsete un dispozitiv de iniializare n cadrul secvenei de boot, va afia un mesaj de eroare i va bloca sistemul.
10
AMIBIOS (American Megatrends, Inc.) PhoenixBIOS (Phoenix Technologies Ltd.) AwardBIOS (Award Software, Inc.)
11
BIOS-ul este situat pe un cip de pe placa de baz a calculatorului. Acest cip este fie sub form dreptunghiular - DIP (Dual In-line Package) sau sub form ptrat - PLCC (Plastic Leaded Chip Carrier figura 2.2 ) .
12
Cip-uri BIOS
Aceast
capacitate mai mare ofer productorilor posibilitatea de a include mai multe faciliti dect n cazul cipurilor mai vechi de dimensiune mai redus, de 1Mb. Totodat, trebuie tiut c dimensiunea cipului BIOS nu are legtur cu performanele sale.
Tipul i dimensiunea cipului BIOS se stabilesc n funcie de funcionalitile oferite i de costuri i nu n funcie de performane.
13
Nucleul
Nucleul conine partea sistemului de operare independent de calculator i se gsete ntr-un alt fiier ascuns, MSDOS.SYS (IBMDOS.COM). Are rolul de a gestiona procesele, memoria i sistemul de fiiere, ca i interpretarea tuturor apelurilor de sistem.
14
Fisierul COMMAND.COM
Dup nucleu, cea de-a treia parte a sistemului de operare este shell-ul reprezentat prin fiierul COMMAND.COM . Totui acesta poate fi nlocuit de ctre utilizator. Fiierul COMMAND.COM realizeaz interfaa dintre utilizator i nucleul sistemului de operare, coninnd:
o parte rezident care este totdeauna n memorie; o parte nerezident, ce se ncarc n partea superioar a memoriei, la limita celor 640 KB i poate fi nlocuit.
15
16
17
18
sectorul de BOOT (primul sector logic); sectorul FAT (tabela de alocare a fiierelor); copii FAT; directorul principal sau rdcin (ROOT); zona de date.
19
20
Sectorul de BOOT
n sectorul de BOOT sunt coninute date care descriu formatul discului i prin intermediul crora sistemul de operare MS-DOS poateutiliza discul. sector include:
-
Acest
comanda de salt la procedura BOOT; numele productorului i numrul de versiune; numrul de octei/sector; numrul de sectoare/cluster (cluster - unitate de alocare, avnd un numr de sectoare);
21
numrul de sectoare rezervate (naintea primului FAT); numrul de de FAT-uri; numrul de intrri n primul director; numrul de sectoare/disc; tipul discului; numrul de sectoare din FAT; numrul de sectoare/pist; numrul de capetelor de scriere/citire; numrul de sectoarelor ascunse; procedura BOOT (ncrcarea fiierelor de sistem); tabela de partiionare (la hard disc); extensie a procedurii BOOT.
22
Sectorul de BOOT
numele fiierului (8 octei); extensia (3 octei); atributul de director sau fiier obinuit (1 octet +10 octei neutilizai); data i ora (2 octei +2 octei); primul cluster (2 octei); dimensiunea n octei (4 octei).
23
Comenzi MS-DOS
comanda - specific numele comenzii; parantezele drepte [ ] - indic elementele opionale; parametru - poate include urmtoarele elemente:
-
unitatea de disc flexibil reprezentat prin A: sau B:; unitatea de hard disc reprezentat prin C:, D: sau E:.
24
Comenzi MS-DOS
Dac elementul unitatea de disc se omite se va considera unitatea implicit, aceasta fiind unitatea de disc curent al crui nume apare ca prim liter n prompterul comenzii. Pentru a schimba discul curent se tasteaz numele discului urmat de caracterul dou puncte (:).
25
Comenzi MS-DOS
A:\>D: <ENTER>
D:\>
26
Comenzi MS-DOS
calea - specific ruta prin care se identific locul unui fiier sau director din structura arborescent.
[\][nume1_director]\[nume2_director]
Primul caracter (backslash \) impune ca identificarea s nceap cu directorul rdcin (ROOT). Dac acesta se omite, cutarea ncepe din directorul curent. Aa cum este memorat unitatea de disc implicit, se poate memora i directorul implicit pentru fiecare unitate de disc.
27
Comenzi MS-DOS
MS-DOS afieaz calea directorului curent de pe discul curent, ca parte a prompterului.
nume_fisier.ext - specific numele unui fiier care poate avea pn la opt caractere i poate fi urmat de punct ( . ) i o extensie de pn la trei caractere. - specificator de fiier - conine elementele descrise anterior:
-
[disc:][cale] [\]nume_fisier[.ext]
28
29
a) directorul rdcin al discului curent (directorul curent este altul dect directorul rdcin) vom folosi comanda: md \cont b) directorul curent, vom folosi comanda: md cont
30
CHDIR
CHDIR (Change Directory) este o comandintern utilizat pentru a vizualiza numele directorului curent sau pentru a schimba directorul curent. Sintaxa acestei comenzi este: chdir [disc:] cale sau cd [disc:] cale Exemplu 1. Pentru a schimba directorul curent \STUD\STUD5 de pe discul implicit n:
a) directorul printe ( \STUD) b) directorul rdcin ( \)
31
RMDIR
RMDIR (Remove Directory) este o comand intern utilizat pentru tergerea unui director. Sintaxa general este: rmdir [disc:] cale sau rd [disc:] cale Exemplu Prin comanda: RD A:\STUD\STUD3 se va terge subdirectorul STUD3 din directorul STUD de pe discul A: dac este gol.
32
TREE
TREE este o comand extern prin care se afieazstructura arborescent a directoarelor de pe discul specificat. Sintaxa generaleste: tree [disc:] cale [/f][/a] unde:
/f - listeaz i numele fiierelor din fiecare director /a - la afiare se utilizeaz caracterele ASCII text n loc de caracterele grafice pentru a reprezenta legturile cu subdirectoarele.
Exemplu Prin comanda: TREE A: /F > PRN listarea se face la imprimant. Aici a fost utilizat caracterul special > prin care se face redirectarea rezultatului comenzii ctre un dispozitiv special, imprimanta n cazul nostru (identificat de numele generic special, PRN).
33
XCOPY
XCOPY este o comand extern pentru copiereafiierelor i directoarelor, incluznd subdirectoarele. Sintaxa general a acestei comenzi este: xcopy sursa [dest][/a][/m][/d:data][/p][/s][/e][/v][/w] unde: sursa/destinaia - poate fi o unitate de disc sau o cale; /A - copierea numai a fiierelor surs care au atributul de arhivare setat fr a l modifica; /M - copierea numai a fiierelor surs care au atributul de arhivare setat, atributul de arhivare va fi modificat; /D:date - copiaz fiierele surs modificate la sau dup data specificat; /P - cere confirmarea naintea copierii fiecrui fiier; /S - copiaz directoarele i subdirectoarele, n afar de situaia n care sunt goale; /E - copiaz toate subdirectoarele, chiar dac sunt goale; /V - verificarea identitii fiecrui fiier destinaie (deja copiat) cu fiierul surs; /W - genereaz o pauz naintea operaiei de copiere a fiierelor.
34
PATH
PATH este o comand intern prin care se stabilete caleade cutare pentru fiierele executabile (.EXE, .BAT, .COM). Odat stabilitaceast cale, fiierele executabile vor fi cutate n directoarele specificate dePATH. Sintaxa general a comenzii este: path [[disc:] cale [; [disc:] cale][;]] Pentru afiarea cilor curente de cutare se utilizeaz comanda apelat fr nici un parametru: PATH .
Exemplu S presupunem c programul PROGRAM.COM se gsete numai n directorul STUD3 de pe discul A: , iar unitatea de disc implicit este Comanda: path \stud;\stud1\stud2;a:\stud3
C:
instruiete sistemul de operare s identifice comenzile (orice fiier executabileste echivalent unei comenzi) lansate nti n directorul curent, apoi n C:\STUD; dup aceea n C:\STUD1\STUD2 i n final n A:\STUD3.
35
36
/P - permite listarea informaiei n pagini; /W - realizeaz afiarea condensat a listei; /A[[:]atribute] - se vor lista numai numele acelor fiiere i directoare care dein atributele specificate; atribute: h/- h fiiere ascunse/nu sunt ascunse; s/- s fiiere sistem/altele dect sistem; d/- d directoare/nu directoare; a/- a fiiere de arhivare/nu de arhivare; r/- r fiiere ce se pot numai citi/citi i scrie.
ordine: n/- n ordine alfabetic dup nume A-Z/Z-A; e/- e ordine alfabetic dup extensie A-Z/Z-A; d/- d dup dat; s/- s dup mrime; g/- g directoarele naintea/dup fiiere. /S - listeaz orice apariie n directorul specificat i n toate subdirectoarele acestuia a numelui de fiier specificat; /B - listeaz numele unui director sau fiier pe o linie; /L - listarea neordonat a numelor fiierelor i directoarelor cu litere mici.
37
Exemple 1. Comanda: DIR /S /O /P Dac directorul curent este directorul rdcin se va obine o listare a tuturor directoarelor de pe discul implicit. Lista fiecrui director este ordonat alfabetic, iar ntre afiarea a dou ecrane succesive se execut o pauz.
TYPE
Comanda TYPE este o comand intern prin care se vizualizeaz coninutul unui fiier text. Sintaxa general este: type [disc:][cale]nume_fisier.ext Exemplu Prin comanda: TYPE MANUAL.TXT se va afia coninutul fiierului MANUAL.TXT din directorul curent. Pentru a se executa o pauz cnd ecranul este plin se va include i comanda MORE, astfel linia de comand devine: TYPE MANUAL.TXT | MORE n acest ultim caz a fost utilizat simbolul special pipe ( | ) prin care rezultatul comenzii TYPE este redirectat ctre comanda MORE care realizeaz afiarea ecran cu ecran.
38
COPY
COPY este o comand intern prin care se copiaz unul sau mai multe fiiere. Sintaxa general a acestei comenzi este: copy [/a][/b]sursa[/a/b][+sursa[/a/b][+]][dest[/a/b]][/v] unde:
/A se folosete pentru fiiere text de tip ASCII; /B se folosete pentru fiiere binare; /V verific dac noile fiiere sunt corecte.
39
COPY
Exemple 1. Copierea unui fiier cu acelai nume. Presupunem c unitatea implicit de disc este A:. Comanda: COPY D:\PROG.DAT copiaz fiierul PROG.DAT din directorul rdcin al unitii de disc D n directorul curent al discului implicit A, fr a schimba numele fiierului. Prin comanda: COPY D:\PROG.DAT D:\STUD se copiaz fiierul PROG.DAT din directorul rdcin al discului D: n directorul STUD de pe aceeai unitate. Fiierul copiat are acelai nume cu fiierul original.
40
RENAME
Comanda RENAME (sau REN) este o comand intern pentru redenumirea unui fiier sau a unor fiiere. Sintaxa general a acestei comenzi este:
-
unde nume_vechi reprezint vechiul nume al fiierului iar nume_nou reprezint noul nume ce va fi atribuit.
Exemple 1. Comanda: REN A:\STUD\TABEL.DAT TABEL1.DAT redenumete fiierul TABEL.DAT din directorul \STUD de pe unitatea A: n TABEL1.DAT.
41
DEL (ERASE)
Comanda DEL (ERASE) este o comand intern care realizeaz tergerea fiierelor. Sintaxa general este: del [disc:][cale] nume_fisier [/p] sau erase [disc:][cale] nume_fisier [/p]
/p - cere confirmarea (Y/N?) nainte de a terge fiierul specificat. Exemplu: - Comanda: DEL C:\STUD\STUD3\*.* terge toate fiierelor din directorul \STUD\STUD3. Dac s-a utilizat *.* n zona numelui de fiier, MS-DOS afieaz un mesaj pentru a verifica dac se dorete tergerea tuturor fiierelor: "Are you sure (Y/N) ?" Tastnd Y i apoi <ENTER> se execut operaia de tergere.
-
42
43
44
Comenzi pipe
Dac se dorete ca ieirea unei comenzi s fie intrare pentru alta se vor tasta comenzile pe o singur linie de comand, fiind separate prin simbolul pipe , linie vertical ( | ). Exemple: Fie linia de comand: DIR | SORT 1.
1.
Lista obinut prin comanda DIR va fi folosit ca intrare pentru comanda SORT, astfel nct pe ecran va apare o list ordonat alfabetic.
2.
Linia de comand: DIR | SORT | MORE afieaz aceeai list ca n exemplul precedent, afiarea fcndu-se de data aceasta ecran cu ecran.
45
WINDOWS
Arhitectura mediului Windows a fost proiectat astfel nct s fie asigura-t protecia taskurilor executate simultan. Protecia se bazeaz pe ierarhia de tutel potrivit creia un task poate s acceseze numai taskurile situate pe un nivel superior (fig. 5.1.)
2
Windows 95 i Windows NT 4.0 spre deosebire de versiunile precedente, utilizeaz modelul de memorie nedifereniat. Modelul este suportat pe PC-urile AT386 sau superioare. Prin aceasta nu se elimin mecanismul de segmentare, ns sistemul de operare ignor aceast capacitate.
Adresare n Windows
n modul de adresare nedifereniat, fiecare registru conine o adres pe 32 de bii divizat n trei cmpuri, fiecrui cmp corespunzndu-i un anumit nivel de protecie (fig. 5.3.): 1) localizarea tabelei de pagini, care solicit volumul total de memorie necesar; numrul de pagini din tabel corespunde cu numrul de pagini de 4 K alocate aplicaiei (o aplicaie ce solicit 100 K de RAM, are 25 de intrri); 2) localizarea paginii n tabela de pagini; 3) localizarea oricrui byte din pagina de 4 K, prin adunarea deplasrii (off set) - biii 0-11.
Arhitectura de baz
Arhitectura de baz i componentele mediului Windows sunt redate n fig. 5.4. Sistemul VM ( Virtual Mode ) Sistemul VM furnizeaz majoritatea funciilor destinate utilizatorului; este alctuit din urmtoarele componente :
Arhitectura de baz
Windows const dintr-o combinaie de aplicaii pe 16 bii i 32 de bii; pentru a permite comunicaia ntre cele dou categorii de aplicaii, Windows folosete un strat de conversie (thunk layer), constituind o stiv aferent sensului de comunicaie ( fig. 5.5 ). Alturi de stratul de conversie, asemntor altor sisteme de operare ce execut multitasking (OS/2,UNIX), Windows folosete pentru realizarea legturii ntre aplicaii fiiere DLL (Dynamic Link Library).
9
Arhitectura de baz
Exist dou forme de legare ( linking ) sub Windows (sau OS/2 sau UNIX). Prima legtur combin toate modulele obiecte necesare pentru a crea o aplicaie unic; legarea are loc dup ce programatorul termin de copiat codul. Al doilea ciclu de legare are loc atunci cnd utilizatorul trece la ncrcarea aplicaiei .Aici este momentul n care intervine DLL. Fiecare aplicaie Windows are referine nerezolvate la funcii (numite apeluri de biblioteci de import). Aceste apeluri ncarc un fiier DLL care conine codul necesar pentru. a satisface acel apel de funcie .
10
12
13
14
Structura Windows
Indiferent ce API utilizeaz, orice aplicaie va adresa trei componente de baz: versiunile pe 16 bii ale acestor fiiere sunt GDI.EXE, USER.EXE i KRNL 386.EXE, iar versiunile pe 32 de bii sunt GDI32.DLL,USER32.DLL i KERNEL32.DLL: Kernel - nucleul Windows (KERNEL386.EXE sau KERNEL32.DLL) furnizeaz suport pentru funciile de nivel jos de care are nevoie o aplicaie pentru a rula. Aceast component nu trateaz nici cu mediul i nici cu echipamentele; ea interacioneaz numai cu Windows nsui .
15
Structura Windows
Graphical Device Interface - mediul ecipamentelor grafice (GDI.EXE sau GDI32.DLL). User - utilizator (USER.EXE sau USER32.DLL). Windows este bazat n ntregime pe ferestre . Are nevoie de un administrator care s urmreasc toate ferestrele create de aplicaii pentru a afia diverse tipuri de informaii. Ori de cte ori o aplicaie afieaz o pictogram sau un buton, folosete un anumit tip de funcie inclus n USER.
16
17
19
Sistemul de baz
Sistemul de baz conine toate serviciile sistemului de operare : a) controlul fiierelor - ofer o interfa pentru toate echipamentele conectate la PC; b) servicii de reea - ofer faciliti de lucru n reeaua Microsoft i lucrul n mod protejat pentru majoritatea produselor LAN; c) servicii de sistem de operare care includ caracteris-ticile PNP, solicitri ale utilizatorului i ale sistemului de operare;
20
Sistemul de baz
d) gestiunea mainii virtuale se ocup de :
programarea execuiei taskurilor; lansarea n execuie i oprirea oricrei aplicaii din sistem; controlul memoriei virtuale prin intermediul interfeei API; controlul tuturor operaiilor de alocare a memoriei, inclusiv acionarea ca un server DPMI (interfaa pentru modul protejat DOS) pentru aplicaii MS DOS care ruleaz n mod protejat; comunicaia dintre taskuri care filtreaz toate cererile pentru DDE (Data Dynamic Exchange) i OLE (Object Linking and Embeding);
modul real, ceea ce implic o comutare permanent ntre modul real i cel protejat; VxD ( Virtual x Driver ) care va comunica cu sistemul fr comutarea n modul real.
21
Arhitectura Windows 98
1.
2.
3.
Arhitectura de baz din Windows 98 ofer numeroase avantaje pentru utilizator : Sistem de operare pe 32 de bii n modul protejat, complet integrat - dispare astfel necesitatea unui exemplar MS - DOS separat ; Sistem multitasking controlat i multifir - aceste caracteristici asigura reacia corespunztoare a sistemului i procesarea n fundal; Sistem de fiiere instalabile pe 32 de bii - sisteme cum ar fi VFAT, sistemul de fiiere pentru CD-ROM (CFS), FAT32 i redirectoare de reea, asigur performane superioare, posibilitatea utilizrii denumirilor lungi de fiiere i o arhitectur deschis care permite evoluii viitoare ;
22
Arhitectura Windows 98
4.
5.
6.
7.
8.
Drivere de dispozitiv pe 32 de bii disponibile n ntregul sistem care asigura performane superioare i utilizarea eficient a memoriei; Nucleu integral pe 32 de bii cuprinde componente de gestionare a memoriei, secveniator i componente de gestionare a proceselor; Soliditate a sistemului i faciliti de eliberare a memoriei ceea ce elibereaz memoria la terminarea sau blocarea aplicaiilor; Configurare dinamic a mediului astfel c necesitatea interveniei utilizatorului pentru a-i configura calculatorul este redus; Capacitate superioar a sistemului face ca limitele de acces la resursele sistemului n cazul rulrii simultane a mai multor aplicaii s fie mai flexibile
23
Windows 98
Windows 98 ofer urmtoarele servicii de sistem:
gestionarea proceselor i firelor de execuie; comunicaii i sincronizare ntre procese; subsistem Win32 complet controlat; servicii I/O pentru CD-ROM i hard disc; servicii I/O de reea; servicii de tiprire; operaii grafice de nivel nalt; gestionarea ferestrelor.
24
Windows 98
Pentru a rspunde cerinelor de compatibilitate cu aplicaiile i driverele existente, de micorare a dimensiunii setului de lucru al sistemului de operare i mbuntire a performanelor sistemului, Windows 98 folosete o combinaie de cod pe 32 de bii i pe 16 bii. n general, codul pe 32 de bii este folosit n Windows 98 pentru a mbunti performanele sistemului, n timp ce codul pe 16 bii rspunde cerinelor de reducere a dimensiunii sistemului i de meninere a compatibilitii cu aplicaiile i driverele existente (fig. 5.7.).
25
Windows 98
Driverele de dispozitiv virtual din Windows 98 preiau funcionalitile unor drivere de dispozitiv n modul real sub MS-DOS, eliminnd necesitatea ncrcrii lor MS-DOS. Aceast tehnic asigur o amprent minim n memoria convenional, performane ridicate, precum i fiabilitatea respectiv stabilitatea sistemului.
26
27
Windows 98
Windows 98 asigur compatibilitatea cu magistralele USB, cu interfeele pentru controllerele-gazd Universal i Open i cu dispozitivele USB pentru intrri de la utilizator. Arhitectura integrat a sistemului de operare Windows 98 permite rularea de aplicaii sub MSDOS, Win16 i Win32. Componentele sistemului sunt mprite ntre nivelul 0 i nivelul 3, realiznd diferite niveluri de protecie ( fig. 5.8.) Nivelul 3 este protejat de alte procese n derulare, prin serviciile asigurate de arhitectura procesorului Intel. Nivelul 0 este format din serviciile de nivel sczut ale sistemului de operare cum ar fi gestionarea sistemului de fiiere i a componentelor virtuale.
28
29
Windows 98
Facilitile din Windows 98 care asigur soliditatea sistemului de operare sunt:
mai bun reiniializare local; eliberarea firelor de execuie ale driverelor de dispozitiv virtual la ncheierea procesului; urmrirea strii firelor de execuie; validarea parametrilor driverelor de dispozitiv virtual.
30
Windows 98
Windows 98 asigur protecia memoriei pentru rularea aplicaiilor sub MS-DOS, mpiedicnd aplicaiile s suprascrie zona de sistem MS-DOS n modul real. La nchiderea unui sistem virtual sub Windows 98 fie prin procedura normal cnd utilizatorul prsete aplicaia sau solicit o reiniializare local, fie accidental cnd se blocheaz aplicaia, sunt eliberate toate resursele alocate sistemului virtual. Windows 98 asigur faciliti pentru aplicaiile sub Win16 i compatibilitatea cu aplicaiile sub Windows existente, meninnd solicitrile de memorie la un nivel redus.
31
Windows 98
Aplicaiile sub Win 32 beneficiaz i de sistemul de multitasking controlat, de un spaiu de adres liniar (nu segmentat) i de un set API cu numeroase faciliti. Aplicaiile sub Win32 folosesc iruri separate de mesaje pentru a asigura soliditatea sistemului. Sistemul preia mesajele din irul de intrare i le transmite aplicaiei corespunztoare sub Win32 sau sub sistemului Win16, n cazul n care mesajul este destinat unei aplicaii sub Win16 (fig. 5.9.).
32
33
platforma pentru inovaii; simplitate, vitez i putere; fiabilitate i posibiliti de administrare superioare; integrare Internet.
34
Win32 Driver Model (WDM) este un nou model de driver universal pentru Windows 98 i Microsoft Windows NT 5.0 i permite ca noile dispozitive s aib un singur driver pentru ambele sisteme de operare. FAT32, versiunea mbuntit a sistemului de fiiere FAT (tabela de alocare a fiierelor) permite formarea discurilor de peste 2 G ca o singur unitate. Pentru mai mult flexibilitate, Windows 98 conine i un utilitar de conversie grafica
35
FAT32
FAT32, care poate converti rapid i sigur o unitate de disc de la versiunea FAT iniial, la FAT32. Windows 98 include suport pentru interfaa de configurare avansat i de gestionare a consumului (Advanced Configuration and Power InterfaceACPI). n afar de facilitatea ACPI, Windows 98 ofer suport pentru extensiile Advanced Power Management (APM) 1.2, inclusiv pentru oprirea hard discului, pentru interfaa PCMCIA, pentru dezactivarea modemului i reluarea funcionrii n cazul apelului telefonic.
36
Defragmentare a discului pentru a mri viteza de rulare a aplicaiilor utilizate frecvent. n acest scop, aplicaia Wizard creeaz un fiier jurnal (log), cu ajutorul cruia identific programele folosite cel mai des. Prin plasarea tuturor fiierelor unei aplicaii n aceeai zon de pe hard disc, se va mbunti viteza de rulare a aplicaiei respective. Aplicaia Windows Tune Up Wizard permite planificarea unei zile i a unei ore n fiecare sptmn, n care calculatorul s efectueze singur o operaie de "curare", adic s tearg fiierele inutile i s efectueze defragmentarea discului pentru aplicaiile folosite frecvent, astfel nct acestea s ruleze ct mai rapid.
37
Windows 98 este compatibil cu standardul Infrared Data Association (IrDA) pentru conectare fr fir. Suportul pentru IrDA le permite utilizatorilor sistemului de operare Windows 98, s se conecteze cu uurin la dispozitivele periferice sau la alte calculatoare, fr a folosi cabluri de conectare. Acest set de drivere asigur calculatoarelor portabile (laptop) sau de birou (desktop) dotate cu echipament pentru conectare prin radiaii infraroii, posibilitatea de lucru n reea, de transfer de fiiere i de tiprire fr fir, prin intermediul altor dispozitive compatibile IrDA care lucreaz pe baz de radiaii infraroii.
38
Point-to-point Tunneling Protocol (PPTP) ofer posibilitatea de a utiliza reele de date publice, cum este Internet, pentru a crea reele virtuale private prin conectarea unor calculatoare client cu serverele de reea. PPTP furnizeaz un sistem de ncapsulare a protocolului n scopul folosirii protocoalelor multiple prin intermediul legturilor TCP/IP i criptrii datelor pentru garantarea confidenialitii, transmiterea de informaii prin reele neprotejate devenind n acest fel mai sigur.
39
ActiveMovie este o nou arhitectur multimedia pentru Windows, prin care se obine o redare video de o calitate ridicat i un set extensibil de interfee cu ajutorul crora se pot crea aplicaii i instrumente media.
Windows 98 ofer suport pentru programele realizate de alte firme care folosesc extensiile Intel Pentium Multimedia Extensions (MMX) pentru a beneficia de facilitile audio i video ale noii generaii de procesoare Intel Pentium. Ofer servicii client pentru reele NetWare care sunt compatibile cu Novell NetWare Directory Services (NDS). Acestea permit utilizatorilor s se conecteze la servere Novell NetWare 4.x rulnd NDS pentru a obine accesul la fiiere i la resurse de tiprire.
40
System Update este un nou serviciu bazat pe Web care scaneaz calculatorul pentru a afla componentele hardware i software instalate, iar apoi compara aceste informaii cu cele dintr-o baz de date actualizat, pentru a stabili dac exist drivere sau fiiere de sistem mai noi. n cazul n care gsete drivere sau fiiere de sistem mai recente, acest serviciu poate s le instaleze n mod automat. Exist chiar i o funcie de anulare (rollback), care poate elimina driverul instalat automat de Internet System Update. System File Checker este un nou utilitar care furnizeaz o modalitate simpl de a verifica dac fiierele de sistem din Windows 98 nu au fost modificate sau alterate. El include i un mecanism simplu pentru refacerea versiunilor originale ale fiierelor de sistem, n cazul n care acestea au fost modificate.
41
- Microsoft Outlook Expres, o aplicaie client cu toate facilitile pentru e-mail i citirea mesajelor - Microsoft NetMeeting, o soluie complet pentru conferine n Internet care ofer funcionaliti bazate pe standarde audio, de date i video - Microsoft NetShow, care permite urmrirea transmiterii radio /TV n direct sau nregistrate, fr ateptare pentru ncrcare sau reducerea performanelor reelei - Microsoft FrontPad, un editor HTML de tip WYSING (what you see is what you get) bazat pe versiunea complet a programului Microsoft FrontPage97, care ofer faciliti de editare HTML, ce permit chiar i utilizatorilor nceptori s creeze cu uurin pagini Web - Personal Web Server care furnizeaz o modalitate simpl de publicare a paginilor Web n reele locale sau n Internet.
42
Windows 2000
Windows 95/98 i NT desprite n ultimii ani, sunt combinate n noul produs universal Windows 2000, dotat pentru aplicaii profesionale, multimedia, jocuri cu o mare amprent asupra securitii datelor. Windows este considerat cel puin ncepnd cu versiunea 98, ca un sistem de operare destul de stabil. La Windows NT, acest lucru a stat n fruntea prioritilor dezvoltatorilor, chiar ncepnd cu versiunea 5.1. Productorii au ncercat s elimine din Windows 2000, ecranul albastru la declanarea unor erori vitale (suprnumit i Blue Screen of Death) folosind verificarea automat a registrelor, realiznd automat un backup al celor mai importante DLL-uri, afectnd domenii strict delimitate pentru aplicaiile ncrcate i implementnd noile sisteme de fiiere FAT 32 i NTFS 5.
43
Windows 2000
n timp ce Windows NT ofer pentru un start sigur modul VGA i revenirea la ultima configuraie funcional recunoscut, n Windows 2000 exist un meniu de boot extins care apare la start dup ce se apas tasta F8. Aceasta const n principal din aceleai nregistrri ca i n meniul din Windows 95/98:
Safe Mode cu drivere de reea (ncarc n plus suportul de reea pentru Windows 2000); Safe Mode cu solicitare de introducere a datelor (pornete Windows 2000 cu o configuraie minimal a driverelor i renun la ncrcarea interfeei grafice, ajungndu-se n modul linie de comand);
44
Windows 2000
Activare protocol de start (lansarea i executarea serviciilor i a driverelor); Activarea modului VGA (lanseaz Windows cu driverul standard VGA); Ultima configuraie funcional cunoscut (folosete setrile ultimului proces de boot reuit); Restaurarea serviciului de directoare (controller de domeniu Windows 2000 care activeaz noi servicii directoare din Windows 2000 - e posibil astfel accesarea sistemului prin intermediul unei reele); Lansarea normal (Windows booteaz cu toate driverele i uneltele de sistem).
45
Windows 2000
Microsoft a integrat NTFS 5 n Windows 2000 incompatibil cu predecesorul sau NTFS din Windows NT 4. Cu Windows 2000, administratorul are posibilitatea de a acorda fiecrui utilizator un anumit spaiu de stocare pe partiie. nainte de epuizarea acestui spaiu, utilizatorul este avertizat. Dup aceea, sistemul nu mai accept stocarea datelor utilizatorului respectiv. De asemenea, este posibil codificarea directoarelor i fiierelor automat si in timp real. Sistemul de operare poate atribui o unitate de disc oarecare unui director vid dintr-o partiie NTFS. n acest fel se poate atribui, de exemplu unitatea CDROM directorului C:\CDROM.
46
Windows 2000
Este anulata astfel limitarea la cele 26 litere ale alfabetului pentru unitile de disc. Un alt lucru important introdus de noul sistem de fiiere este USN-Journal (Update Sequence Number) ce reprezint un cod care preia modificrile fiecrui fiier i director; codurile sunt stocate n Windows 2000 ntr-o baza de date i anume USN-Journal, care este utilizabil pentru orice program. Cu ajutorul acestui jurnal pot fi realizate de exemplu, programe de backup eficiente.
47
Windows 2000
Un utilizator obinuit, cu drepturi limitate n Windows 2000, nu va simi o prea mare diferen fa de Windows 95/98. Exista n continuare obinuitul taskbar (bara de lucru) i butonul de start. Nici n ceea ce privete desktop-ul nu sunt modificri, fcnd abstracie de pictogramele care au suferit unele modificri. n schimb, un administrator va trebui sa se adapteze cu noua configurare a sistemului, mai clar dect Windows NT i cu mai multe posibiliti; funciile ns, nu se mai gsesc n acelai loc.
48
Windows 2000
Nucleul administrrii Windows 2000 l reprezint Microsoft Management Console(MMC) care se gsete sub denumirea de Computer Management, apelabil din Control Panel/Administrative Tools, ori prin intermediul meniului contextual din My Computer. MMC reunete sub o singur interfa Device Manager , informaiile de sistem din Windows 95/98 i programele de configurare care se afl n Windows NT, directorul Administrative Tools(Common). MMC este mprit n trei domenii: System Tools Storage Services and Aplications Exist ns posibilitatea adugrii de snap-in-uri.
49
Windows 2000
Din System Tools fac parte: Event Viewer System Information Un nou director Performance Logs and Alerts Directorul Shared Folders(permite controlul partajrii resurselor pe fiecare disc) Device Manager Local Users and Groups, corespunztor utilizatorilor din NT.
50
n Storage se gsete:
Managerul de hard disc Programul de defragmentare nou ataat Vizualizarea unitilor logice (Logical Drives) Directorul Removable Storage care permite gestionarea comun a unitilor CD-ROM, DAT, ZIP i a celorlalte unitti de acest fel.
51
52
Protocolul PPTP
Windows 2000 este optimizat pentru utilizarea n reea, incluznd noi funcii, n idea de a securiza conexiunile de reea cu utilizatorii aflai la distan mare. Astfel, este integrat protocolul PPTP (Point-toPoint Tunneling Protocol) i L2TP (Layer 2 Tunneling Protocol), ceea ce permite crearea reelelor private virtuale(VPN). Conexiunea on-line comun ncepnd de la grupuri de lucru mai mici este permis deja n Windows 98 SE prin Internet Connection Sharing, ea gsindu-se i n Windows 2000. Cu ajutorul acestei funcii este posibil realizarea de conexiuni la Internet printr-un modem utilizat n comun.
53
Active Directory permite n cutarea de calculatoare, imprimante sau persoane n ntreaga reea sau n imediata apropiere; IntelliMirror permite att deservirea de la distan a workstation-urilor, ct i stocarea pe server de profiluri detaliate de utilizatori.
54
Reeaua poate fi configurat n aa fel nct fiecare utilizator poate gsi pe orice calculator setrile personale. n momentul n care se conecteaz n reea, Windows 2000 configureaz att desktop-ul personalizat ct i aplicaiile (Microsoft a unificat setrile de reea Dial-up Networking i accesul RAS care pot fi accesate prin Properties din meniul contextual al Network Neighborhood), a. configurarea reelei cu adaptor, protocoale, etc., nu mai poate fi accesat direct prin meniul contextual din Network Neighborhood, ci numai prin Local Area Connection/Properties din acest meniu.
55
56
57
Programul de defragmentare
Funcia de cutare ruleaz printr-o interfa HTML i utilizeaz opional pentru accelerare, un index care preia coninutul fiierelor pe unitatea local. Acest lucru funcioneaz ns numai pe partiii NTFS.
58
Dintre facilitile multimedia, Windows 2000 poate configura redarea digital a CDurilor audio. Astfel, datele de sunet nu mai ajung prin cablul analogic la placa de sunet, ci prin bus-ul PCI sau ISA. Cablul audio nu mai este necesar, dar este nevoie ca i unitatea CD-ROM s suporte aceast facilitate. Sunt recunoscute fr probleme o mulime de componente care apoi sunt integrate n sistem. n plus, fa de Windows NT, exist i suport pentru joystick.
59
Windows 2000
Funciile din Windows 95/98 i NT pentru sincronizarea fiierelor cu un Notebook au fost extinse i n Windows 2000. Nu mai exist Briefcase, n schimb la accesarea directorului Network Neighborhood n meniul contextual al Explorer-ului se gsete comanda Make Available Offline. Prin intermediul comenzii Synchronize din meniul Start poate fi reglementat sincronizarea datelor i actualizarea de pagini Web. Pentru utilizarea pe notebook-uri, Windows 2000 pune la dispoziie standardul ACPI. Setrile corespund n mare celor din Windows 98, dar au fost extinse cu alte scheme de energie pentru un consum minim al bateriei; o noutate o constituie modul Hibernate care salveaz stadiul actual al aplicaiilor deschise, restaurndu-l automat la repornirea Windows-ului.
60
Windows 2000
Windows 2000 reunete securitatea i stabilitatea din Windows NT cu facilitile multimedia i confortul din Windows 98. Comenzile i funciile care se leag din punct de vedere tematic, se gsesc n acelai director. Cutarea unui dialog pentru instalarea unui nou driver a fost eliminat. Device Manager din Windows NT a fost nlocuit cu cel din 98 mult mai intuitiv. n Windows 2000, Microsoft a unificat elemente din sistemele de operare Windows 95/98 i NT. Dac programele pentru Windows 95/98 erau destinate n special utilizatorilor particulari, NT este dedicat n primul rnd profesionitilor care au nevoie de o securitate crescut a datelor i care lucreaz ntr-o reea.
61
Avantajele oferite de Windows 2000 pentru utilizatorii Windows 95/98 se pot rezuma astfel: Sistemul de operare va rula fr probleme pe un calculator cu dotare modern i toate componentele vor fi recunoscute i integrate n sistem. Nu sunt necesare alte investiii pentru hardware; Setup-ul i instalarea altor componente se va desfura mai simplu dect n Windows 98, datorit facilitilor Plug&Play mbuntite; exist o serie de asisteni care ofer ajutor n caz de nevoie;
62
Conexiunea la Internet sau chiar la o mic reea este simplificat; Windows 2000 ofer faciliti multimedia mbuntite fa de Windows 98; Interfaa nu presupune o perioada de acomodare, semannd cu cea din Windows 98 cu Internet Explorer 5; Blocrile sunt rare datorit mecanismului de protecie, sistemul rezistnd la instalarea unor programe obscure, care puneau n pericol versiunile anterioare; Datorit profilurilor de utilizatori departajate, Windows 2000 este mai bine protejat mpotriva comenzilor eronate, iar datele importante pot fi bine protejate mpotriva tergerii lor; totodat, accesul la Internet poate fi limitat pentru anumite persoane.
63
64
66
Programul de back-up integrat, permite salvarea automat a datelor de pe workstation-uri pe server, fr s fie nevoie de programe suplimentare; Conexiunile n reea a diferitelor staii de lucru ntre ele sau cu serverul, sunt mai flexibile dect n Windows NT; Exist o versiune n mai multe limbi a lui Windows 2000, destinat utilizrii n ntreprinderi mixte, permind apelarea meniurilor i a funciei de help n orice limb.
67
Noiuni introductive
UNIX este un sistem de operare timesharing universal. Principala sa caracteristic este portabilitatea - disponibilitatea sa pentru majoritatea sistemelor de calcul (supercalculatoare, mainframes, minicalculatoare, sisteme de birotic, microcalculatoare).
2
Noiuni introductive
Necesitatea standardizrii i unificrii sistemelor de operare, n special a interfeei cu utilizatorul; Pstrarea n condiiile transferului pe alte sisteme de calcul, a structurii volumelor i fiierelor; Asigurarea unor niveluri superioare de portabilitate a produselor program; Posibilitatea interconectrii de sisteme cu arhitecturi, tipuri i puteri diferite, sub acelai sistem de operare. Independena software-ului de aplicaii, fa de evoluia hardware.
3
In anul 1969 apare prima versiune experimental scris n limbaj de asamblare pentru minicalculatoarele PDP-11, al firmei DEC (Digital Equipment Corporation) pentru un singur utilizator (monouser); odat cu primul compilator pentru limbajul C (1972), UNIX a fost rescris n acest limbaj cu scopul asigurrii portabilitii. n 1978 s-a realizat prima implementare comercial IS/1 (Interactive System One), urmat la scurt timp de versiunea XENIX a firmei Microsoft. n 1980, UNIX s-a impus ca principal soluie de standardizare in domeniul sistemelor de operare, reprezentnd o modalitate de realizare a sistemelor deschise pentru toate categoriile de sisteme de calcul.
4
Caracteristici de baz:
Este un sistem de operare time - sharing, multiuser i multitasking; Asigur protecia fiierelor i execuiei, prin existena unor parole i drepturi de acces; Dispune de intrri/ieiri generalizate prin care operaiile de intrare/ieire sunt integrate n sistemul de fiiere; Existena unui sistem de ntreruperi logice pentru sincronizarea proceselor reentrante i asincrone multiple; Managementul spaiului afectat execuiei proceselor i controlul timpului de acces la procesele n ateptare, se face prin transferul de pagini ntre memoria RAM i cea extern;
Caracteristicile de baz:
Existena unei interfee simple i interactive (SHELL) prin care se asigur dialogul utilizatorului cu sistemul de operare; Caracterul de sistem deschis este conferit de asigurarea att a portabilitii sistemului de operare, ct i a software-ului de aplicaie; Acoperirea unei vaste game de aplicaii: compilatoare, sisteme de gestiune a bazelor de date (Oracle, Gupta), reele de calculatoare, inteligen artificial, simulare, gestiune, statistic, instruire asistat de calculator, etc.; Permite execuia aplicaiilor n MS-DOS, n paralel cu execuia de procese sub UNIX (submeniu pentru MS-DOS); ntreinere i dezvoltare facil.
10
11
Este de remarcat faptul c orice nivel comunic numai cu nivelul imediat inferior sau superior, furniznd servicii pentru nivelul imediat superior. Scopul principal al SO este acela de a controla resursele hardware ale sistemului; Se poate aprecia c SO acioneaz ca o interfa ntre utilizator reprezentat prin programele de aplicaie pe care acesta le lanseaz n execuie i componenta hardware (fig. 6.3.).
12
13
14
* Bourne Shell (bsh) i Bourne Again Shell (bash) al crui productor este firma AT&T; bsh a fost prima variant a interpreterelor de comenzi; * C Shell (csh) elaborat de firma Sun Microsystem; interpreterul are o sintax a comenzilor similar cu cea a limbajului C; * Korn Shell (ksh) ce se constituie ca o mbinare a variantelor anterioare.
15
16
17
Asemntor MS-DOS-ului care n cursul dezvoltrii sale a fost dotat cu interfeele grafice Windows, UNIX-ul a ncorporat ca principale interfee grafice: * X/Windows al firmei MIT, folosit i de SCO n versiunile Open DeskTop (ODT); * Open Look al crei productor au fost firmele AT&T i SUN; * DEC Windows a firmei DEC. Prin urmare, exist o ierarhizare a straturilor ce se interpun ntre utilizator i nucleul sistemului de operare redat n fig. 6.5.
18
FIG.6.5
19
Principalele variante de sisteme de operare UNIX existente astzi n domeniul software-ului de sistem precum i sistemul de baz pe care sunt fundamentate sunt redate n fig. 6.6.
20
Sistemul de operare UNIX System V SysV (System Five) lucreaz cu urmtoarele tipuri de fiiere:
1.
Fiiere obinuite Aceste fiiere sunt constituite dintr-un ir de bytes (memorai de obicei pe disc) terminat cu un marker de sfrit de fiier (EOF). irul este divizat n linii de text terminate cu caracterul "new line" (CR). Restricii- de lungime, format utilizat;
21
Fiiere speciale
Fiiere speciale se constituie ca o interfa ntre programele utilizator i rutinele nucleului sistemului de operare, ce lucreaz direct cu dispozitivele periferice de intrare/ieire. Astfel, utilizatorul va trata perifericele de intrare/ieire ca fiiere, activarea unui astfel de fiier coinciznd cu activarea driverului dispozitivului periferic asociat.
22
23
Tipuri de fiiere
Cataloage de fiiere (directori) Directorii sunt cataloage de fiiere ce conin numele fiierelor componente i adresa fizic pe unitate simbolizat prin: . (un singur punct) identific numele directorului propriu, numit Home directory (2 bytes); .. (dou puncte) identific numele directorului printe n care fiierul cu un anumit index (inod) apare ca subdirector (14 bytes). Aceste fiiere nu se pot citi/scrie direct de utilizator, operaiile efectundu-se prin directive de sistem.
24
25
Identificarea n cadrul structurii arborescente se realizeaz prin numele fiierului precedat de calea n care se afl; specificarea cii se poate realiza n dou moduri: -absolut, porninddin directorulrdcin /root; -relativ, pornindde la directorulcurent.
26
Comenzi Unix
Schimbarea directorului curent se realizeaz prin intermediul comenzii: $cd cale unde cale poate fi specificat: - spre extremitile arborelui, prin specificarea subdirectorului dorit; - spre baza arborelui, ceea ce presupune specificarea complet a cii; Spre deosebire de MS-DOS, la UNIX nu apare la prompter calea curent; determinarea cii curente se face prin comanda: $pwd (print work directory) care va afia calea complet;
27
Comenzi Unix
Prin comanda $cd se revine n directorul utilizatorului atribuit la nceputul sesiunii de lucru de ctre administratorul de sistem (Home directory). Crearea unui director (este permis numai n directorul propriu atribuit de administratorul sistemului) se va specifica prin comanda: $mkdir nume_director tergerea unui director se efectueaz prin comanda: $rmdir nume_director Operaia este validat numai dac directorul este vid i utilizatorul are acest drept la calea respectiv.
28
/tmp spaiu temporar de manevr folosit de programele de sistem; /root / unix nucleul sistemului de operare, direcionnd sistemul ctre /aixps2/unix.std;
30
31
32
33
La crearea unui fiier, se asociaz att un identificator de proprietar (uid) ct i un identificator de grup (gid), ambele atribuite de ctre administratorul de sistem. Cuvntul care pstreaz fiierele i drepturile de acces are urmtorul format:
34
UNIX
Interpretorul de comenzi
Ke e sistemul supervizor care ncarc toate procesele i le execut n manier proprie la un moment dat; Shell este singura cale prin care utilizatorul poate comunica cu Kernel-ul cu privire la: care programe s le execute; cine s le execute; ce s fac cu ieirea; alte servicii utilizator; comunicarea dorinelor utilizatorului ctre Kernel. Shell primete comenzile de la utilizator, le decodific i comunic dorinele acestuia la Kernel, deci toate comunicaiile dintre utilizator i Kernel sunt conduse prin Shell.
2
Comenzi Shell
Dup conectarea utilizatorului la o sesiune de lucru, este invocat automat Shell-ul (prin apariia prompterului $), care informeaz utilizatorul c ateapt comenzi ce se vor introduce de la tastatur. n continuare interpreterul de comenzi Shell execut urmtoarele activiti: decodific linia de comand (caut programul); anun Kernell s execute programul i ateapt (sau nu) terminarea execuiei; primete rspunsul Kernell i afieaz rspunsul i prompterul $; reia ciclic secvena, pn la introducerea CTRL/D pe care o interpreteaz ca "sfrit transmisie de la tastatur"; anun Kernell s deconecteze utilizatorul.
Comenzi Shell
Linia de comand are forma: $comand argumente unde argumente pot fi:
- nume de fiiere, eventual calea n care se gsesc; - opiuni urmate imediat dup comand i precedate de (specifice fiecrei comenzi).
-l indic forma lung a unui serviciu efectuat de comand; -sl serviciu lung, fr imprimare.
tastatura, ca fiier de intrare standard avnd atribuit descriptorul asociat 0 (stdin); monitorul, ca fiier standard de ieire avnd asociat numrul 1 (stdout); fiierul de afiare a erorilor cu descriptorul asociat 2 (stderr).
< pentru redirectare intrare standard; > pentru redirectare ieire standard; >> pentru redirectare ieire i adugare la fiierul existent.
Fiiere standard
De exemplu
$ls -l > nf1 listare directori forma lung n nf1 care pierde coninutul iniial; $ls -l >> nf1 idem, dar coninutul iniial nu se pierde.
Caracterele speciale (wildcards) "*" i "?" au aceeai semnificaie ca la MS-DOS, operatorul de negare fiind "!". [..] specific o list de caractere ordonate sau identificate individual (separate prin virgul).
Fiiere standard
De exemplu $rm stud. [!a-m][2,4,9] terge fiierele cu numele stud ce nu conin la extensie una din literele de la a la m urmate de 2, 4, 9 (exemplu: stud.x9)
Fiiere standard
Toate intrrile de la tastatur sunt intorduse ntr-o zon de buffer (arie de memorie rezervat pentru stocarea caracterelor recepionate) pn cnd sunt solicitate de Shell, deci Shell nu prelucreaz imediat intrrile; la un moment dat Shell va decodifica aceste intrri, pe parcursul creia nu va desfura alte activiti; se poate astfel imagina c Shell execut dou activiti distincte conectate printr-o conduct avnd rolul de:
preluarea caracterelor de la tastatur i memorarea lor ntr-un buffer; citirea caracterelor din buffer i decodificarea lor.
Efectuarea coreciilor pentru caracterele introduse, se poate realiza prin operaii de:
tergere a unui caracter (prin "#" sau backspace introduse imediat dup caracterele ce se vor terge); tergerea unei linii (prin "@" sau CTRL/X dup linia introdus).
Prin comanda: $stty erase % kill & se pot nlocui caracterele de tergere "#" cu "%" i " @ " cu " & ".
viteza terminalului exprimat n bauds (bytes/s) care poate fi modificat; caracterele de tergere erase='#', kill='@'; verificarea imparitii, a terminatorului de linie i a ecoului caracterelor introduse.
10
Multitasking i ateptare
Comanda $who
arat care utilizator este conectat, pe ce terminal i la ce moment. UNIX permite multitasking (mai multe task-uri ce se execut concomitent) ceea ce implic apariia prompter-ului $ fr a atepta execuia complet a task-ului lansat n execuie i posibilitatea lansrii altei comenzi; pentru a specifica execuia (fr ateptarea terminrii) unui task se folosete caracterul & astfel:
la care Kernel arat numrul de identificare al procesului (pidp rocess id entification), de exemplu 31 ; fr a atepta terminarea execuiei comand1 furnizeaz prompterul $ pentru a introduce alt comand, comenzile 1 i 2 executndu-se concomitent.
11
Shell
Multitasking i ateptare
Dac prima comand este un task n execuie iar comanda2 este un program interactiv (de exemplu, editorul vi ), comanda2 de ctre utilizator cnd va termina editarea, iar task-ul lansat prin comanda11 este neinteractiv (se mai numete proces background deoarece execuia sa este invizibil n timpul ct utilizatorul este ocupat cu editorul vi ). Dac utilizatorul dorete oprirea task-ului background va specifica acest lucru prin comanda: $kill 31 unde 31 este numrul de identificare al procesului (pid-ul). Observaie: pot fi lansate n execuie mai multe procese background. Comanda $ps (process status) arat ce procese au fost lansate n execuie, prin ce comand i ct timp au fost executate, care sunt n execuie, pentru care utilizator, etc.
se va
12
who va produce la ieire toi utilizatorii conectai; sort sorteaz alfabetic; 14 lpr scrie la imprimant prin spooler.
este apelat o procedur Shell ce conine intrrile n fiierul specificat prin numele nf ;
Aceast comand implic dou copii Shell: una la pornirea sistemului, iar cealalt la solicitarea execuiei procedurii (prima procedur Shell preia intrri de la tastatur, iar a doua procedur preia intrrile din fiierul nf).
15
17
20
Puterea limbajului de comand const n posibilitatea de a utiliza diferite programe tratate ca instruciuni, mpreun cu mecanismele de interconectare puse la dispoziie de ctre Shell. Un program lansat n execuie primete anumite iruri de caractere ce formeaz mediul asociat; prin Shell, se pot introduce i alte iruri de caractere n mediu.
21
Fiiere de comenzi
Dac se dorete execuia listei de comenzi n cadrul unui proces curent, atunci se va specifica acest lucru prin: {list_comenzi} Exemplu: $pwd;{cd /usr/user1;pwd);pwd prin careefectul comenzii cd se pstreaz i dup terminarea listei de comenzi cuprinse ntre acolade.
prin care efectul comenzii cd este anulat de ntlnirea parantezei nchise, deoarece cd a schimbat calea numai pentru subprocesul lansat pentru executarea acelei liste de comenzi.
22
Fiiere de comenzi
Exemple 1) Pentru afiarea coninutului unui director al crui nume este transmis ca parametru, unscript posibil ar putea fi: $dir (){ >if [ $1 ==] then >echo "Apel incorect" >return 1 >else >(cd $1;pwd) >ls -al $1 >return 0 >fi >} care se va utiliza prin: $dir /usr/user1
23
Fiiere de comenzi
2) Secvena urmtoare ncearc s lanseze n execuie prog1.x; dac nu-l gsete, se va afia mesajul "Nu exista fisierul prog1.x"
if [-x $HOME/prog1.x] then $HOME/prog1.x else echo "Nu exista fisierul prog1.x" fi
[-x] afieaz comenzile i argumentele rezultatelor execuiei, prin substituiri efectuate naintea execuiei.
24
Fiiere de comenzi
Secvena: case $1 in a)x=alfa;; b)x=beta;; g)x=gamma;; *)x=$1;; case echo $x
va afia ce se va afla n parametrul specificat prin execuia procedurii ( $0 procedura, $1 primul parametru): alfa dac parametrul conine a; beta dac parametrul conine b; gamma dac parametrul conine g; coninut $1 dac parametrul nu conine a, b sau g;
25
Aa cum s-a menionat n acest capitol, o parte a programelor de comand i control sunt rezidente n RAM alctuind nucleul sistemului de operare (Kernel) ncrcat odat cu pornirea sistemului de calcul. Nucleul sistemului se operare UNIX este acea parte a programelor de comand i control care activeaz i controleaz:
alocarea timpului main; spaiul de memorie; canalele de comunicaie ctre diverse taskuri executate de utilizator la un moment dat.
26
Structur i funcii
Nucleul sistemului de operare este alctuit din urmtoarele componente: programul supervizor central; rutine de serviciu pentru o serie de activiti cum ar fi de exemplu, scrierea n memorie, gestiunea ceasului sistem, etc. n mod normal, utilizatorul folosete comenzile Shell care dirijeaz execuia programelor dorite sub supervizorul Kernel, acesta fiind astfel invizibil utilizatorului. Pentru utilizator, sistemul de operare UNIX apare ca fiind alctuit din: un set de programe, fiecare corespunznd unei anumite comenzi; Shell-ul care dirijeaz comenzile i coordoneaz execuia programelor utilizatorului.
27
un set de programe de servicii care execut funciile legate de sarcinile hardware i software; Kernel-ul care coordoneaz execuia programelor de servicii, specificate sub forma unor comenzi adresate ctre Shell. Programele de servicii sunt apelate atunci cnd sunt necesare (zona de tranziente), n timp ce supervizorul este rezident n RAM, constituind mediul software de baz pentru orice evenimente
din sistem.
28
Nucleul sistemului de operarePrincipalele funcii ndeplinite de nucleul sistemului de operare: -planificarea, coordonarea i gestionarea execuiei proceselor; -furnizarea de servicii de sistem cum sunt: tratarea operaiilor de intrare/ieire i gestiunea fiierelor; -manipularea operaiilor dependente de hardware, ntreruperile i funciile de sistem; -gestiunea memoriei.
29
Nucleul UNIX este alctuit din aproximativ 10000 de linii ce constituie codul programului care, n funcie de sistem, se transform ntr-un numr mai mare sau mai mic de cuvinte main (sau bytes); dintre acestea, 5 - 10% din totalul codului programelor (Shell, utilitare, KERNEL i celelalte) este variabil funcie de sistemul de calcul i de setul de utilitare (fig. 6.8.). Aa cum rezult din fig. 6.8, o mare parte din aceste programe este destinat gestiunii memoriei i gestiunii proceselor, aceast parte evideniind: - coninutul stivei; - coninutul registrelor sistemului; - detalii de mediu, cnd procesele sunt introduse n memorie i rspund la ntreruperile procesorului. 30
31
Primitivele de sistem sunt specifice fiecrui sistem de calcul (scrise n limbaj de asamblareaproximativ 1000 linii codul programului), ele coninnd: - operaii de intrare/ieire de baz;
comutarea execuiei ntre procese; permiterea sau inhibarea ntreruperilor hardware; resetarea prioritilor ntreruperilor; alte operaii.
Accesarea primitivelor de sistem se realizeaz prin apeluri (directive) de sistem (system calls) din programe n C sau n limbaj de asamblare.
32
Procese i stri
utilizator, cnd execut un program sau proces; sistem (Kernel), cnd execut un cod sistem.
ceasul- care ntrerupe orice alt program cu frecvena de 60 Hz, rutina de ceas permind reevaluarea prioritilor proceselor i implicit schimbarea procesului; n absena altor ntreruperi, ceasul realizeaz divizarea timpului, ceea ce permite ca sistemul s fie mprit ntre mai muli utilizatori;
33
Procese i stri
apeluri de sistem prin care utilizatorul solicit diverse servicii oferite de sistemul de operare; cele care realizeaz operaii de intrare/ieire conducnd la suspendarea procesului apelator pe durata transmiterii datelor; cereri de serviciu ale perifericelor de intrare/ieire.
34
Procese i stri
Informaiile necesare procesului sunt memorate n: a) tabela proceselor constituit n memorie, ce conine o intrare pentru fiecare proces detaliind starea acestuia:
localizarea procesului; adresa de memorie i adresa de evacuare; mrimea procesului; numrul de identificare; identificatorul utilizat;
b) tabela utilizator, care este ataat fiecrui proces activ la rutinele nucleului lui (fig.6.9).
35
Procese i stri
Crearea unui proces implic astfel iniializarea unei intrri n tabela procesului, care iniializeaz o tabel a utilizatorului crend totodat textul real i datele pentru proces.
36
Procese i stri
Schimbarea strii unui proces (se execut, ateapt, este evacuat, este ncrcat, primete un semnal) este o activitate ce se focalizeaz pe tabela procesului (fig. 6.10.):
37
Fig.6.10
38
Procese i stri
- terminarea unui proces implic eliberarea intrrii sale n tabela proceselor, putnd fi folosit pentru alte procese; -cnd procesul este activ, au loc alte evenimente, de exemplu ateptarea terminrii unei operaii de intrare/ieire; - pe durata suspendrii unui proces, tabela utilizatorilor nu este accesat sau modificat; - dac procesul este evacuat pe disc, este evacuat i tabela utilizator n cadrul imaginii procesului; tabela utilizator (structur a utlizatorului) conine n acel moment:
39
Procese i stri
- numele de identificare al utilizatorului i al grupului din care face parte, pentru stabilirea drepturilor de acces; - pointerii din tabela de fiiere existente n sistem, pentru toate fiierele deschise; - un pointer ctre inod-ul directorului curent n tabela de inod-uri; - o list a rspunsurilor pentru diverse semnale. Informaia curent despre un proces se schimb prin execuia directivei chdir cnd este schimbat valoarea pointerului ctre inod-ul directorului curent.
40
41
Fisiere
La UNIX exist dou tipuri de fiiere pipe, fiecare genernd anumite particulariti ale modului n care se realizeaz comunicaia: 1) fiiere fr nume care se creaz cu directiva pipe(p) unde p reprezint descriptorul de fiier astfel: p[0] pentru citire p[1] pentru scriere. De remarcat c n blocurile alocate fiierelor (de regul numai primele 10 blocuri de disc) alocarea se realizeaz conform algoritmului Round-Robin.
43
Fisiere
2) Fiierele pipe cu nume ofer cteva faciliti comparativ cu fiierele pipe fr nume: - se creaz ntr-un director ca orice fiier obinuit prin directiva mknod cu tipul fiierului 010000; - la deschiderea sa prin directiva open, se poate specifica blocarea procesului ce ncearc s deschid pentru citire un fiier pipe nedeschis anterior pentru scriere; - se va terge explicit prin directiva unlink; - datorit unui nume de identificare este permis accesarea lui de ctre orice procese independente.
44
Zonele de memorie comune permit proceselor s utilizeze n comun, o zon de memorie prin transferul unei zone din spaiul virtual al proceselor; accesul este controlat integral de programator. O zon de memorie comun este definit prin:
* numrul de identificare al utilizatorului care a creat zona, al utilizatorului curent i al grupului; * dimensiunea segmentului; * identificatorul procesului care a accesat zona de memorie; * numrul de procese care partajeaz aceast zon; * alte informaii.
45
Principiul de comunicaie prin intermediul cozilor de mesaje const n comunicarea prin intermediul unei cozi circulare de mesaje gestionat de nucleul sistemului de operare. Transmiterea se realizeaz cu sincronizare, deci procesele ce solicit primiri de mesaje se vor bloca pn ce recepioneaz mesajul solicitat, iar cele ce doresc s emit, se vor bloca dac nu exist nici un proces care s recepioneze iar coada de mesaje este plin. Mesajele ce se transmit sunt caracterizate printr-un tip (reprezentat printr-un numr la alegere), iar recepia se poate face prin specificarea tipului.
46
47
Fisiere
Fiierele disc sunt organizate fizic n blocuri de 512 bytes, fiecare fiier avnd alocat un numr ntreg de blocuri. Blocurile nu trebuie s fie neaprat contigue pe disc, spre deosebite de alte sisteme ce impun acest lucru. Atribuirile standard pentru fiiere implicit sunt: 0 fiier standard de intrare - tastatur; 1 fiier standard de ieire - ecranul terminalului; 2 ecranul de intrare al terminalului, ce servete gestionrii mesajelor de eroare i a 48 informaiilor de diagnostic.
Fisiere
Identificarea fiierelor se realizeaz prin: - intrrile din directori care identific fiierele printr-un numr de index asociat fiecrui fiier; numrul de index pentru orice volum fizic, este punctator ntr-o alt tabel rezident pe volum (index-list); - intrrile n lista de indeci ale fiecrui volum, conin un numr de intrri numite inod-uri, motiv pentru care lista de indeci se mai numete tabel de inod-uri; - un inod conine o serie de informaii cu privire la fiecare fiier: * numrul de identificare al user care a creat fiierul; * starea de protecie a fiierului (ReadOnly,Open,etc); * 13 cuvinte ce arat blocurile unitii ocupate de fiier; * dimensiunea fiierului; * data la care a avut loc ultima modificare; * de cte ori a fost referit n directori; * biii de identificare a directorilor, fiierelor speciale i a fiierelor mari.
49
Fisiere
Corespondena nume fiier-index este disponibil prin comanda ls-i i se numete legtur (link), aceasta servind drept mijloc de identificare i gestiune a fiierului; alte comenzi ce afecteaz legturile: mv - mut legtura; ln - creaz o legtur; rm - terge o legtur;
50
51
Unix vs MS-Dos
52
53
SCALABILITATEA I SECURITATEA
54
SISTEMUL DE CONTROL
55
Shell
Acest termen este mult mai simplu de explicat si echivalat: promptul DOS este un shell pentru sistemul de operare DOS - din el se pot lansa n execuie programe, se pot da comenzi pentru copiere, tergere, mutare fiiere etc.
56
In UNIX exista ceva similar, insa exista mai multe standarde shell (bash, csh, sh, ksh) si in plus la un moment dat pot fi rulate mai multe shell-uri (cam ca in Windows, unde se pot rula mai multe DOS prompt-uri); nu conteaz tipul lor, ele sunt tratate de sistemul de operare ca simple programe.
57
Sistem de fiiere
n UNIX se ntlnete acelai stil de structura arborescenta cu directoare i subdirectoare ca i n DOS. Se pot utiliza nume lungi (256 de caractere) i se face diferena ntre litere mici i mari. Sub UNIX nu mai au importanta extensiile fiierelor. Sub DOS exista atribute ale fiierelor, dar in UNIX exista ceva mai avansat: drepturi asociate fiecrui fiier pentru citire, scriere i execuie n triplu exemplar - pentru proprietarul fiierului, pentru grupul din care face parte acest proprietar si pentru alii (dac vrei s le vedei, tastai "ls -l").
58
Chiar daca un fiier este executabil, el nu poate fi rulat daca nu are setat dreptul de execuie pentru cel care-l lanseaz - nu are importanta daca i-ai pus extensia exe in virtutea obinuinei. Pentru a naviga si pentru a manipula fiiere, putei folosi comenzi asemntoare celor DOS: cp - copy, ls dir, cd, rm - del etc.
59
Drivere
In DOS, driverele se ncarc din CONFIG.SYS (de exemplu, device = c:\dos\himem.sys), pe cnd in UNIX-urile tradiionale driverele sunt incluse in kernel (atunci cnd este compilat kernel-ul se specifica acele drivere ce vor fi cldite in kernel). Solutia moderna este cea a nucleelor modulare: se pot ncarc dinamic module ce conin drivere (pentru floppy, de exemplu) si nu mai este nevoie de recompilarea kernelului.
60
Aceasta metoda asigura un consum mai mic de memorie, deoarece la un moment dat se ncarc in memorie numai driverele utile, pentru perifericele (CD, unitate de banda etc.) instalate.
61
1. CREAREA PROCESELOR
Un proces este un program in execuie. Un proces este dinamic, pe cnd programul este static. Pentru un program executabil pot exista la un moment dat unul sau mai multe procese asocite, numite instane. Un proces sub UNIX este constituit din:
Segmentul de cod
Reprezinta partea pur, nemodificabil a programului. Teoretic n timpul execuiei se poate modifica orice instruciune a programului (ca i datele), dar acest lucru nu este recomandat i este evitat sau chiar interzis prin mecanisme ale sistemului de operare. Sub UNIX mai multe procese care au segmente de cod identice, pot utiliza n comun o singur copie din memorie a acestor segmente de cod.
Segmentul de date
Cuprinde att zonele alocate static, nc de la nceputul execuiei programului, ct i zonele alocate dinamic n timpul execuiei, prin funcii cum ar fi: malloc, calloc, realloc, sau free.
4
Segmentul de stiva
Cuprinde informaiile prin care se realizeaz apelurile la funcii i proceduri: n stiva se stocheaz parametrii de apel i datele locale, care se terg la ncheierea procedurii sau funciei. Execuia unui proces utilizator se poate face n dou moduri: mod utilizator, n care procesul are acces numai la propria zona de cod, date i stiv; mod nucleu, n care procesul poate avea acces la structurile de date ale nucleului (nucleul devine o parte integrant a procesului utilizator)
5
Un proces trece din modul de lucru utilizator n modul nucleu cnd lanseaz un apel sistem sau cnd genereaz o ntrerupere. Pentru aceasta situaie, oricarui proces i se asociaz o stiva nucleu, care va stoca parametrii afereni apelurilor sistem.
Un proces are ataate mai multe atribute dintre care cele mai importante sunt: IDentificatorul procesului (PID -unic), ID printe, ID grup, ID utilizator real, ID utilizator efectiv, etc. Un proces are atasati diveri descriptori: structuri de date care pstreaza starea plus toate informaiile eseniale pentru continuarea procesului, din locul n care execuia sa a fost suspendat la un moment dat.
Prin copierea codului procesului parinte: - operaia de creare proces fiu se numete n acest caz fork (duplicare); - procesul fiu primete un identificator (PID) diferit fa de cel al printelui; - controlul este dat procesului fiu, exact n locul n care se afl procesul printe; - procesul fiu ruleaz n paralel cu procesul printe.
2. Prin punerea n execuie de ctre procesul printe a unei noi imagini, provenind dintr-un fiier executabil de pe disc:
- operaia de creare proces fiu se numete n acest caz exec; - procesul fiu primete acelai identificator ca i printele; - controlul este dat procesului fiu din punctul de start; - procesul printe este nlocuit de procesul fiu (se sinucide prin crearea fiului).
10
De multe ori se considera ca metoda 2 nu este o metod veritabil de creare procese (n sens UNIX - cu PID diferit!) i se spune c singura modalitate de creare de noi procese sub UNIX este apelul sistem fork.
Singurul proces de sub UNIX care nu a fost creat ca urmare a unui fork, este procesul cu PID 0, numit swapper.
11
Exemplu:
# include <stdio.h> # include <sys/types.h> int main (void) { pid_t pid_fiu ; pid_fiu = fork( ) ; printf(Identificator proces :\n, pid_fiu) ; }
12
14
Aceste stri (care se ntlnesc la toate sistemele de operare ce lucreaz n regim de multiprogramare UC), pot avea n cazul UNIX unele particulariti.
15
Starile unui proces sub UNIX, precum i tranzitiile ntre stri sunt :
16
n urma apelului sistem fork se ncearc duplicarea procesului care a lansat fork. Dac exist memorie intern suficient pentru a se face aceast duplicare, procesul fiu se va crea i va fi trecut in starea READY (gata de execuie). Din starea READY, procesul nou creat (dac are o prioritate corespunztoare) va trece n starea RUN n mod nucleu, iar apoi, dup ncheierea apelului fork, n starea RUN n mod utilizator.
17
Dac ntreruperea de ceas apare ct timp procesul ruleaz n modul nucleu, i dac dup tratarea nteruperii de ceas nucleul decide c UC va fi acordat altui proces dect celui ce rula mai nainte, acesta va fi trecut n starea READY preemptat. Un proces care ruleaz n mod nucleu (a lansat un apel sistem) i care trebuie s atepte un eveniment, este trecut n starea WAIT pn la producerea acelui eveniment.
18
Pentru terminarea un proces lanseaz apelul sistem exit, i ca urmare el este trecut n starea TERMINAT (zombie), caz n care i pstreaza intrarea n tabela proceselor, dar nu mai dispune de nici o resurs. Intrarea sa din tabela proceselor va fi eliberat de printe sau de procesul init.
19
20
5. APLICAII
I.
II. 1.
S se studieze paginile de manual ale apelurilor sistem fork, vfork, getpid, getppid, ps, nice, kill, fg. S se rezolve exerciiile urmtoare: S se testeze comanda ps. S se explice semnificaia valorilor ce apar n coloana ce reprezint starea procesului. S se gseasc corespondena cu starile prezentate n sectiunea 3 a acestei prezentri- dac exist vreuna.
21
1.
S se creeze un script Shell care cicleaz la infinit. S se lanseze n background cu prioritate redus. S se opreasc apoi procesul respectiv.
22
2. S se implementeze i testeze exemplul din paragraful 2. S se modifice acest exemplu astfel nct pe ecran s apar o singur valoare, PID-ul procesului fiu. S se trateze cazurile de eroare.
23
3.
S se modifice ex. de la sectiunea 2 a. s se afieze att PID-ul procesului fiu ct i al procesului printe, pentru ambele procese. S se modifice acest exemplu a. procesul fiu s cicleze la infinit iar procesul printe s se termine i invers. n care din cele dou variante unul dintre procese devine zombie?
24
5.
S se creeze un script shell care afiseaz arborescent toate procesele care ruleaz n sistem, similar cu comanda pstree. Indicaie:ps, cut, recursivitate.
25