curs01_introducere.ppt

21
1 Punctaj și prezență Prezență: Nu sunt admise absențe la laborator. Fiecare absență se depunctează cu 0,1 din nota finală. Punctaj: 3 puncte pentru activitatea de la laborator: Un test (comenzi si shell script) Bibliografie: Laboratoare Iuliana Dorobăț, Sistemul de operare UNIX, Editura ASE, 2011. 7 puncte examen final: Bibliografia se regaseste la adresa web http://iuliana.dorobat.ase.ro/curs_so.php. Punctajul suplimentar se va adauga la nota finala. Examenul contine: Intrebari si probleme teoretice – a se studia materialele prezentate in sectiunea Activitate curs de pe website http://iuliana.dorobat.ase.ro/curs_so.php; Intrebari din activitatea de laborator (similar testului de la laborator); Un schell script de realizat.

Upload: dragos-stroe

Post on 08-Nov-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

  • *Punctaj i prezenPrezen:Nu sunt admise absene la laborator. Fiecare absen se depuncteaz cu 0,1 din nota final.Punctaj:3 puncte pentru activitatea de la laborator:Un test (comenzi si shell script)Bibliografie:LaboratoareIuliana Dorob, Sistemul de operare UNIX, Editura ASE, 2011.7 puncte examen final:Bibliografia se regaseste la adresa web http://iuliana.dorobat.ase.ro/curs_so.php.Punctajul suplimentar se va adauga la nota finala.Examenul contine:Intrebari si probleme teoretice a se studia materialele prezentate in sectiunea Activitate curs de pe website http://iuliana.dorobat.ase.ro/curs_so.php;Intrebari din activitatea de laborator (similar testului de la laborator);Un schell script de realizat.

  • *Examenul contine:Intrebari si probleme teoretice a se studia materialele prezentate in sectiunea Activitate curs de pe website http://iuliana.dorobat.ase.ro/curs_so.phpIntrebari din comenzi (similar primul test de la laborator)Un schell script de realizat

  • *Curs 11. Ce este un sistem de operare?2. Istoria sistemelor de operare3. Tipuri de sisteme de operare4. Organizarea unui sistem de calcul(revizuire)

  • *1.1. IntroducereUn sistem de calcul const din:HardwareSistem de operareAplicaii software

  • *1.2. Ce este un sistem de operare?Funciile de baz ale unui SO sunt:Extinderea mainiiSO prezint utilizatorului echivalentul unei maini extinse sau virtuale care este mai uor de programat dect hardware-ul (prin utilizarea nemijlocit a acestuia).SO furnizeaz o serie de servicii pe care programele le pot obine utiliznd instruciuni speciale numite apeluri de sistem.Gestionarea (controlul i alocarea) resurselor din perspectiva:Multiplexrii(partajrii) n timp Multiplexrii n spaiu

  • *2.1. Istoria SO (1)Sisteme batch(lot)Programatorul aduce cartela perforat la IBM1401Se citete cartela pe banda magneticOperatorul introduce banda magnetic n sistemul de calcul IBM 7094Banda magnetic rezultat n urma prelucrrilor este introdus n IBM 1401 pentru tiprirea rezultatelor

  • *2.1. Istoria SO (2)Prima generaie 1945 1955Sisteme enorme care realizau doar calcule matematice elementare. A doua generaie 1955 - 1965Sisteme cu tranzistori, sisteme batch,mainframe, limbaj de asamblare, FORTRAN.A treia generaie 1965 1980Circuite integrate,multiprogramarea, spooling, minicomputereA patra generaie 1980 presentMicrocalculatoare(personal computers), MS-DOS, GUI, Windows 95, 98, NT,2000 Me,Vista, 7,...., UNIX, Linux, network operating systems i distributed operating systems.

  • *2.2.Tipuri de sisteme de calculMicrocalculatoaresunt accesibile d.p.d.v. al preului;au dimensiuni reduse i unele tipuri pot fi portabile;pot fi folosite n orice domeniu;lucreaz n reea putnd realiza schimburi de date. Minicalculatoarecalculatoare de dimensiuni medii, mai scumpe decat PC-urile;au fost create pentru executarea unor funcii specializate: aplicaii multiutilizator, maini cu control numeric, automatizri industriale, transmisii de date ntre sisteme dispersate geografic;au putere i capacitate de stocare mai mare, UCP complex, sistem de I/O foarte dezvoltat n sensul comunicrii prin reea de periferice n sistem multiutilizator.Mainframe-urisituat ntre supercalculatoare i minicalculatoare d.p.d.v. al performantelor si al pretului;au procesorul foarte complex, volum mare de stocare n UM , sistem de I/O complex, orientat pe gestionare de staii de lucru, permit acces multiutilizator;funcioneaz de regul fr ntrerupere, ceea ce presupune accesul controlat la date i un sistem de protecie adecvat.Supercalculatoaresunt cele mai puternice, complexe i scumpe sisteme electronice de calcul;au procesorul format dintr-un numr mare de microprocesoare;sunt proiectate pentru calcul paralel;sunt utilizate n domenii care necesit prelucrarea complex a datelor, cum ar fi: reactoare nucleare, proiectarea aeronavelor, seismologie, meteorologie.

  • *3. Tipuri de SOMainframe operating systemsServer operating systemsMultiprocessor operating systemsPersonal computer operating systemsReal-time operating systemsEmbedded operating systemsSmart card operating systemsSensor node operating systems

  • *4.1. Componenta hardware a unui PCComponentele unui PC(Personal Computer)

  • *4.2. Procesorul(1)(a) Modelul pipeline(b) UCP superscalar

    Iuliana Dorobat - se execut uniti i nu instruciuni

  • *4.2. Procesorul(2)Tranziia din modul user n modul kernel

  • *4.3. MemoriaIerarhia tipurilor de memorie existenteUnde plasai n aceast ierarhie discul magnetic i discul optic?

  • *4.4. HD

  • *4.5.Memoria principal

  • *4.6. Dispozitive I/OMetode de realizare a operaiilor de I/O:ClasicProgramul genereaz un apel de sistemSO(kernelul) apeleaz driverulDriverul pornete operaia de I/O i verific permanent dac dispozitivul a finalizat comandaLa finalizarea operaiei de I/O SO red controlul programuluiUtilizarea ntreruperilorDriverul actualizeaz regitrii controlerului.Controllerul pornete dispozitivul.La finalizarea operaiei de I/O controllerul semnalizeaz acest lucru ctre controllerul de ntreruperi.n cazul n care controllerul de ntreruperi accept ntreruperea atenioneaz UCP.Controllerul de ntreruperi furnizeaz numrul dispozitivului care a generat ntreruperea ctre UCP.Prin utilizarea DMA(Direct Memory Acces) care controleaz fluxul de bii dintre memorie i controllere fr intervenia constant a UCP.

  • *4.7.Structura unui sistem Pentium

  • *De tiut...(1)Tipuri de sisteme de calcul i caracteristicile lor.Funciile SO.Ce tip de memorie se citete iniial la restartarea unui sistem de calcul?Ce reprezint ISA?La ce se refer termenul de multiplexare?Definii termenul de multiprogramare.Definii termenul de spooling.Ce reprezint GUI?Care este diferena dintre SO pentru reea i sistemele de operare distribuite?Ce tipuri de sisteme de calcul cunoatei i care sunt principalele lor caracteristici? Care sunt avantajele sistemelor paralele? Descriei multiprocesarea asimetric. Descriei multiprocesarea simetric. Descriei sistemele cluster.

  • *De tiut...(2)Clasificai SO dup destinaia lor.Descriei ciclul de baz al funcionrii unui procesor.Precizai care este diferena dintre modelul de funcionare pipeline i modelul de funcionare al unei UCP superscalare.Care sunt modurile de funcionare ale UCP?Ce reprezint un apel de sistem? Definii PSW, IP, SP.Ce tipuri de memorie cunoatei?Descriei modalitatea de funcionare a memoriei cache.Ce reprezint RAM, ROM, EEPROM, CMOS, flash RAM ?Structura unui HD i modalitatea de funcionare a unui HD.Ce reprezint MMU?Care este diferena dintre adresa fizic i cea virtual?Descriei cele trei metode de realizare a operaiilor de I/O.Ce reprezint o ntrerupere?

  • *De tiut...(3)Descriei mecanismul de funcionare al ntreruperilor.Ce reprezint DMA?Ce reprezint PCI?Ce reprezint SCSI?Ce reprezint USB?Ce reprezint IDE?Ce reprezint IEEE1394(firewire)?Ce reprezint BIOS?Descriei sistemul plug &play.Definii multitasking.Ce valoare are mode bit pentru modul kernel?Descriei mecanismul de tranziie de la modul user la modul kernel.MS-DOS a fost proiectat cu mod de operare dual?Caracterizai procesoarele multithreading i multicore.Caracterizai Sensor Node operating systems.

  • *BibliografieA. Tanembaum, Modern Operating Systems, Prentice Hall 2001, pag 1-35.A. Silberschatz, P. Galvin, Operating System Concepts, John Wiley and Sons Inc., 2005, pag 1-20.A. Tanembaum, Modern Operating Systems, Prentice Hall, 2007, pag 1-37.Gh. Dodescu, Sisteme de operare, Ed. Economic, 2003, pag 11-17.

    **Hardware const din: dispozitive fizice adic circuite integrate, fire, surse de tensiune etc.Nivelul microarhitectur grupeaz toate dispozitivele fizice pentru a forma uniti funcionale.Nivelul limbaj main se refer la totalitatea instruciunilor i hardware-ului pus la dispoziia unui programator n limbaj de asamblare. Acest nivel formeaz ISA ( Instruction Set Arhitecture).Pentru a masca nivelul mare de complexitate identificat la nivelul hardware au fost create sistemele de operare.Aplicaiile software sunt programe, sisteme informatice, etc. dezvoltate sau achiziionate de ctre utilizatori cu scopul de a rezolva probleme de ordin profesional care necesit utilizarea unui computer.*Multiplexrii n timp SO decide care program i pentru ct timp va utiliza o anumit resurs.Multiplexrii n spaiu SO decide spaiul din memorie alocat pentru fiecare program Multiplexrii n timp SO decide care program i pentru ct timp va utiliza UCP.Multiplexrii n spaiu SO decide spaiul din memorie alocat pentru fiecare program. O alt resurs care necesit multiplexare nafar de memorie este HD deoarece acesta poate stoca fiiere ale mai multor utilizatori n acelai timp.*n vederea eliminrii unor timpi mori care apreau datorit manipulrii manuale a cartelelor perforate de ctre operatori ctre/din sala de input/output au aprut sistemele batch. Sistemul IBM 1401 era specializat pe citirea, copierea i tiprirea rezultatelor i ca atare acesta a fost utilizat n vederea colectrii mai multor job-uri care erau nregistrate pe band magnetic. Banda magnetic era derulat napoi (de ctre un operator) dup care era introdus n sistemul de calcul care prelucra datele i oferea rezultatele tot pe o band magnetic. Aceasta din urm era preluat de operator i apoi trimis spre tiprire. Practic se prelucra un ntreg lot (batch) de job-uri.

    *n 1950 au aprut cartelele perforate; nu exista noiunea de limbaj de programare sau limbaj de asamblare; nu exista distincie ntre designeri, dezvoltatori, operatori, programatori i personalul de ntreinere a unei maini de calcul, fiecare main putnd fi manipulat doar de o anumit echip de persoane.Aceste sisteme de calcul sunt foarte mari i de obicei ocupau o ntreag ncpere. Astzi ele se numesc mainframe-uri. Se programa n FORTRAN sau limbaj de asamblare.IBM360 utiliza circuite integrate i ncorpora funcionalitile sistemelor IBM 1401 i 7094. n aceast perioad s-au introdus noiunile de multiprogramare i spooling. Multiprogramarea permitea ncrcarea n zona de memorie a mai multor job-uri simultan ceea ce a condus la eficientizarea activitii UCP care astfel nu atepta ncheierea tuturor operaiilor de I/O a unui job pentru a prelucra datele de intrare ale unui alt job. Spooling-ul (Simultaneous Peripheral Operation On Line) este o tehnic de citire automat a job-urilor direct de pe cartel pe disk ceea ce a dus la eliminarea benzii magnetice pe care se ncrca un lot de job-uri i ca atare a dus la dispariia sistemului batch IBM 1401.nafar de apariia microcalculatoarelor aceast perioad este semnificativ deoarece a aprut primul sistem de operare MS-DOS cruia mai trziu i s-a dezvoltat o interfa grafic GUI(Graphical User Interface). De asemenea perioda este semnificativ pentru dezvoltarea principalelor sisteme de operare care le cunoatem astzi adic Windows, UNIX i Linux (dezvoltat de un student al Tanembaum pornind de la o variant de MINIX i UNIX incluznd evident standardul IEEE pentru UNIX- POSIX). Sistemele de operare de reea (Network operating systems) nu sunt fundamental diferite de sistemele de de operare bazate pe un singur procesor. Este evident, n schimb, necesitatea existenei unei interfee i programe care s asigure conectarea i accesul de la distan pe un computer. Sistemele de operare distribuite (Distributed operating systems) funcioneaz avnd la baz mai multe procesoare i ca atare nivelul de complexitate al sistemului de operare este mult mai ridicat dect cel al SO bazate pe un singur procesor.

    **Aceste SO ofer trei tipuri de servicii: batch, transaction processing i timesharing. Sistemul batch ncorporat trateaz job-urile de rutin care nu necesit intervenia unui utilizator, procesarea tranzaciilor se refer la capacitatea acestor SO de a prelucra un numr foarte mare de cereri minore ca i nivel de prelucrare, iar sistemul de timesharing (partajare n timp) permite mai multor utilizatori s execute diferite job-uri simultan pe acelai computer cum ar fi de exemplu interogarea unei BD foarte mari.Aceste SO ruleaz pe servere care pot fi microcalculatoare foarte mari, staii de lucru sau mainframe-uri i permit utilizatorilor unei reele s partajeze simultan resurse hardware i software. Pentru a obine o putere mare de prelucrare se pot conecta multiple UCP ntr-un singur sistem. Aceste sisteme se numesc paralele, multicomputere sau multiprocesoare. Acestea necesit SO speciale care de fapt sunt variaii ale SO pentru servere care au implementate funcionaliti specifice pentru comunicare i conectivitate.Sunt destinate furnizrii de GUI pentru un singur utilizator.Sunt utilizate de obicei pentru automatizarea liniilor de producie i pot fi hard real time systems pentru care este imperativ necesar ca un anumit job s se execute exclusiv doar ntr-un anumit moment i soft real time systems care permit abateri.Sunt SO specifice unor dispozitive mobile cum ar fi PDA i smartphone-urile.Au dimensiunea unei cri de credit i conin UCP i sunt destinate realizrii unei singure funcii cum ar fi de exemplu pli electronice.*Structura unui PC este mult mai complex i o vom studia mai trziu.*Creierul fiecrui PC este UCP care extrage instruciuni din memorie i le execut. Ciclul de baz al funcionrii oricrui procesor este extrage (fetch) prima instruciune din memorie, decodific(decode) instruciunea pentru a determina tipul acesteia i operanzii, execut instruciunea. Ciclul se reia pentru fiecare instrciune.Fiecare UCP are doar un set de instruciuni care le poate executa. Deoarece accesarea memoriei n vederea extragerii unei instruciuni ia mai mult timp dect execuia ei, toate UCP conin un set de regitri. n consecin setul de instruciuni al UCP conine o serie de instruciuni care permit ncrcarea datelor din memorie ntr-un registru sau stocarea datelor dintr-un registru n zona de memorie. nafar de aceti regitri generali, exist i regitri speciali cum ar fi:PC (Program counter sau IP- Instruction Pointer pentru procesoarele Intel) care conine adresa din memorie a urmtoarei instruciuni ce va fi executatSP(Stack Pointer) care puncteaz ctre vrful stivei ncrcat n zona de memoriePSW(Program Status Word) stocheaz bii de control cum ar fi pentru setarea modului (kernel sau user), etc.Am vzut anterior c SO decide care program utilizeaz la un moment dat o resurs de exemplu UCP. Ca atare n momentul n care apare necesitatea multiplexrii n timp a UCP, SO poate opri din execuie un anumit program pentru a restarta un altul. n acest moment SO salveaz toi regitrii pentru a putea relua o execuie ntrerupt anterior.Astzi UCP are capacitatea de a executa mai multe instruciuni simultan figura (a)(se execut blocuri de instruciuni sau unit-uri). Mai avansat dect modelul pipeline este modelul din figura (b) care prezint o UCP superscalar. *Marea majoritate a UCP (exceptnd cele foarte simple de exemplu, embedded OS, pe care le gsim pe PDA) prezint dou moduri: kernel i user. Un bit de control din registrul PSW seteaz modul. n modul kernel UCP poate executa fiecare instruciune din setul su i utiliza orice component hardware. n modul utilizator evident accesul este restricionat. Pentru a obine un serviciu al SO un program (rulat n mod utilizator) trebuie s genereze un apel de sistem (system call) care invoc SO. Se genereaz o excepie(trap instruction) care modific starea bitului de mod. SO realizeaz prelucrrile n mod kernel dup care la finalizare red controlul programului care va rula n mod utilizator i va executa instruciunea ce urmeaz apelului de sistem.

    *Regitrii sunt realizai din acelai material ca i UCP i ca atare sunt o categorie de memorie cu o vitez comparativ cu a UCP. Capacitatea de stocare a acestora este de 32x32 bii pentru o UCP pe 32 bii.Memoria cache este n general controlat de hardware. Memoria principal este mprit n linii cache formate din 64 bytes care conin adresele 0->63 pe linia cache 0, adresele 64-127 pe linia cache 1, etc. Cele mai des utilizate linii cache sunt pstrate n memoria cache de nalt vitez situat n interiorul UCP. Cnd un program acceseaz zona de memorie prima dat se verific memoria cache pentru a verifica disponibilitatea datelor n aceast locaie. Dac datele se regsesc n memoria cache timpul necesar accesrii lor este de 2 bti de ceas a UCP, altfel se acceseaz memoria principal i atunci acest timp este substanial mai mare.Memoria principal sau memoria RAM (Random Acces Memory), este o memorie volatil a crui coninut dispare la deconectarea PC-ului de la sursa de curent electric.nafar de RAM PC-urile conin i ROM(Read Only memory) memorie nevolatil care nu poate fi accesat, este rapid i destul de ieftin.Memoria EEPROM (Electrical Erasable ROM) i flash RAM sunt tot nevolatile dar pot fi rescrise sau terse.Memoria CMOS(Complementary Metal Oxide Semiconductor) este volatil i este utilizat pentru memorarea orei i datei curente i ali parametri de configurare cum ar fi HD de boot. Aceasta memorie funcioneaz pe baza unei baterii.HD este de dou ori mai ieftin i prezint o capacitate de stocare mult mai mare dect RAM, timpul de acces la date este de trei ori mai mic dect al RAM, acest lucru se datoreaz faptului c HD este un dispozitiv mecanic.Banda magnetic i alte suporturi de stocare disponibile astzi.**Ce se ntmpl cnd n memorie avem nevoie s stocm mai multe programe simultan?Soluia cea mai simpl se regsete n fig (a) care reflect un PC echipat cu 2 regitri speciali numii base register i limit register.Acetia marcheaz adresa de nceput, respectiv de sfrit a zonei de memorie n care sunt ncrcate att liniile de cod precum i datele. Cnd un program se execut i se extrage o instruciune se verific dac registrul IP (Instruction Pointer) puncteaz ctre o adres mai mic dect cea reinut de limit register, caz n care se adaug coninutul IP la base register i se transmite valoarea n memorie. Astfel ne asigurm c programul nu va referi nici o zon de memorie care nu i este alocat. Aceast verificare i mapare rezult n convertirea unei adrese generat de program numit adres virtual ntr-o adres utilizat de memorie numit adres fizic.Dispozitivul care realizeaz acest lucru se numete MMU sau Memory Management Unit care se regsete fizic n UCP sau foarte aproape de aceasta i logic se interpune ntre CPU i memorie.n a doua figura este exemplificat o MMU mai complex n care dou programe partajeaz aceiai zon de memorie pentru liniile de cod dar zone de memorie diferite pentru datele cu care opereaz. MMU sunt mult mai complexe dect exemplificrile realizate motiv pentru care este important de reinut c managementul acestei uniti se realizeaz de ctre SO.Despre memorie trebuie s reinem c:Memoria cache mascheaz de fapt viteza mult mai mic a memoriei principale n comparaie cu UCP; de aici rezult c memoria cache are un impact major asupra performanei unui PC. Dac un program ruleaz de ceva timp memoria cache este ncrcat cu liniile cache specifice acestuia i ca atare ofer o performan bun. n schimb dac vrem s rulm i un alt program datorit faptului c memoria cache este deja plin va trebui ca al doilea program sa l ncrcm linie cu linie n zona de memorie. O alt problem care apare este faptul c la schimbarea de la un program la altul, regitrii MMU se modific iar acetia sunt mult mai muli dect cei patru exemplificai n fig (b). Morala este c ambele situaii sunt consumatoare de timp.

    *Dispozitivele de I/O prezint: un controller i dispozitivul propriu-zis. Controllerul accept comenzi ale SO n vederea realizrii unor operaiuni specifice dispozitivului respectiv. Controllerul furnizeaz SO o interfa simpl pentru a uura funcia acestuia de a controla dispozitivul n sine. Interfaa controllerului nu este acelai lucru ca i interfaa dispozitivului n sine. n general ceea ce SO sesizeaz este interfaa controllerului. Software-ul care interacioneaz cu controllerul se numete driver de dispozitiv. Driverele se instaleaz pe SO i ruleaz n mod kernel.Orice controller deine un numr de regitri proprii care i utilizeaz pentru a realiza comunicarea cu dispozitivul.Exist sisteme care au aceti regitri mapai n spaiul de adresare a SO pentru a putea fi scrii i citii ca oricare alte cuvinte din memorie i exist sisteme n care acestor regitri li se ataeaz un port de I/O i evident o adres pentru fiecare port.I/O se realizeaz n trei moduri. Cea mai simpl metod(prima) este:Programul genereaz un apel de sistemSO(kernelul) apeleaz driverulDriverul pornete operaia de I/O i verific permanent dac dispozitivul a finalizat comandaLa finalizarea operaiei de I/O SO red controlul programuluiAceast metod blocheaz activitatea UCP pn la finalizarea operaiei de I/O. De aceea a aprut noiunea de ntrerupere (fig )- a doua metod :Driverul spune controllerului ce s fac actualiznd regitrii acestuia.Controllerul pornete dispozitivul.La finalizarea operaiei de I/O controllerul semnalizeaz acest lucru ctre controllerul de ntreruperi.n cazul n care controllerul de ntreruperi accept ntreruperea atenioneaz UCP.Controllerul de ntreruperi furnizeaz numrul dispozitivului care a generat ntreruperea ctre UCP.n felul acesta mai multe dispozitive de I/O pot rula n acelai timp.A treia metod de a realiza operaii de I/O este prin utilizarea DMA(Direct Memory Acces) care controleaz fluxul de bii dintre memorie i controllere fr intervenia constant a UCP.UCP poate activa sau dezactiva ntreruperile. Dac mai multe dispozitive termin operaiile de I/O simultan controllerul de ntreruperi este cel care decide care va fi primul dispozitiv preluat de ctre UCP la reactivarea ntreruperilor de ctre acesta.

    *Acest sistem prezint 8 magistrale fiecare avnd funcii i rate de transfer diferite:CacheLocalMemoryPCI(Peripheal Component Interconnect)- succesor ISASCSI (Small Computer System Interface) creat pentru dispozitive ce necesit o largime de band mare(disk, scaner)USB(Universal Serial Bus)inventat pentru ataarea dispozitivelor mai lente cum ar fi mouse-ul i tastatura; toate dispozitivele USB utilizeaz un singur driver care nu necesit reboot la instalare.IDE(Integrated Drive Electronics)-utilizat pentru interconectarea cu dispozitive periferice cum ar fi CD-ROM-ulISA(Industry Standard Arhitecture) SO trebuie s controleze i configureze ntreaga structur din figur, motiv pentru care s-a proiectat un sistem numit plug and play. nainte de acest sistem fiecare dispozitiv de I/O avea ataat un nivel fix al ntreruperii i adrese fixe pentru regitri de I/O, astfel nct era necesar ca utilizatorul s fixeze nivelul de ntrerupere la instalarea unui dispozitiv pentru a nu apare conflicte. Plug and play presupune c n momentul bootrii sistemul BIOS(Basic Input Output System) scaneaz sistemul i verific ce dispozitive sunt instalate i asigneaz n mod centralizat nivelurile de ntrerupere i adresele pentru regitrii de I/O.