+ All Categories
Home > Documents > Sisteme de Operare1

Sisteme de Operare1

Date post: 03-Jun-2018
Category:
Upload: ala-mushkei
View: 217 times
Download: 0 times
Share this document with a friend

of 200

Transcript
  • 8/12/2019 Sisteme de Operare1

    1/200

    SISTEME DE

    OPERARE

    autor: Cebotaru Eugenia

    [email protected]

  • 8/12/2019 Sisteme de Operare1

    2/200

    ntrebri???

    Ce este un sistem de operare?Care este menirea sistemului de operare?

    Care sunt componentele sistemului de calcul?

    Ce este Hardware?

  • 8/12/2019 Sisteme de Operare1

    3/200

    Ce este un sistem de operare?

    Sistemul de operareeste un program

    care acioneaz ca o interfantre:

    utilizatorulunui sistem de calculi

    hardware-ul acestuia.

  • 8/12/2019 Sisteme de Operare1

    4/200

    Menirea SO:

    Este de a crea un mediu n care

    utilizatorul

    s poatexecuta programe cu mai mult uurin.

    p.d.a.p.

    de a asigura utilizarea eficient a hardware-ului.

  • 8/12/2019 Sisteme de Operare1

    5/200

    Componente ale sistemului de calcul

    Cele mai importante componente ale aproapeoricrui sistem de calcul sunt:

    hardware,

    sistem de operare,

    programe de aplicaii,

    utilizatori.

  • 8/12/2019 Sisteme de Operare1

    6/200

    Hardware

    Hardware-ulfurnizeazresursele de baz pentru

    efectuarea calculelor.

  • 8/12/2019 Sisteme de Operare1

    7/200

    Programele de aplicaii

    definesc modul n carevor fi folosite aceste resurse

    pentru a rezolva

    problemele de calculale utilizatorilor.

  • 8/12/2019 Sisteme de Operare1

    8/200

    Sistemul de operare (SO)

    controleazi coordoneazutilizarea hardware-ului

    ntre diferite

    programe de aplicaiiale utilizatorilor.

  • 8/12/2019 Sisteme de Operare1

    9/200

    DefiniieSO furnizeaz

    instrumentelecu ajutorul crora s fie folosite

    n mod corespunztorresursele de baz

    ale sistemului de calcul(hardware, software).

  • 8/12/2019 Sisteme de Operare1

    10/200

    DefiniieSistemul de operare

    poate fi privit ca

    administrator al resurselor

    pe care le alocn funcie de necesitile

    programelori utilizatorilor

    astfel nct exploatarea sistemului de calcul

    s fie corecti eficient.

  • 8/12/2019 Sisteme de Operare1

    11/200

    DefiniieUn SO poate fi privit ca un program de controlcare urmrete:

    efectuarea programelor utilizatorilor pentru a putea prevenieventualele erori,

    folosirea necorespunztoare a sistemului de calcul,

    are ca principal sarcin operareai controlulcu/i asupradispozitivelor de I/O.

    Def. pune accentul pe necesitatea controlului

    asupra dispozitivelor de I/Oi a

    programelor utilizatorilor.

  • 8/12/2019 Sisteme de Operare1

    12/200

    Un SO (Operating system)

    reprezint un produs de tipSoftware

    care este parte component a unui sistem,

    echipament sau aparat computerizat,

    i care se ocup de

    gestionareai coordonarea

    activitilor acestuia.

    http://ro.wikipedia.org/wiki/Softwarehttp://ro.wikipedia.org/wiki/Software
  • 8/12/2019 Sisteme de Operare1

    13/200

    Sistemul computerizat poate fi: un computer,

    o staie de lucru(workstation),

    un server,

    un PC,

    un notebook,

    un netbook,

    un smartphone,

    un aparat de navigaie rutier,

    un e-bookreader sau i

    un alt sistem cu "inteligen" proprie.

    http://ro.wikipedia.org/wiki/Computerhttp://ro.wikipedia.org/wiki/Sta%C8%9Bie_de_lucruhttp://ro.wikipedia.org/wiki/Serverhttp://ro.wikipedia.org/wiki/PChttp://ro.wikipedia.org/wiki/Calculator_portabilhttp://ro.wikipedia.org/wiki/Netbookhttp://ro.wikipedia.org/wiki/Smartphonehttp://ro.wikipedia.org/wiki/E-bookhttp://ro.wikipedia.org/wiki/E-bookhttp://ro.wikipedia.org/wiki/E-bookhttp://ro.wikipedia.org/wiki/E-bookhttp://ro.wikipedia.org/wiki/Smartphonehttp://ro.wikipedia.org/wiki/Netbookhttp://ro.wikipedia.org/wiki/Calculator_portabilhttp://ro.wikipedia.org/wiki/PChttp://ro.wikipedia.org/wiki/Serverhttp://ro.wikipedia.org/wiki/Sta%C8%9Bie_de_lucruhttp://ro.wikipedia.org/wiki/Computer
  • 8/12/2019 Sisteme de Operare1

    14/200

    Sistemul de operare

    joac i rolul de gazdpentru aplicaiile

    care ruleazpe echipamentul

    (hardwareul) respectiv.

    http://ro.wikipedia.org/wiki/Hardwarehttp://ro.wikipedia.org/wiki/Hardware
  • 8/12/2019 Sisteme de Operare1

    15/200

    Exemple de sisteme de operare:BSD

    BS2000, BS3000

    BeOS

    DOS, PC-DOS, MS-DOS

    iOS (Apple)

    Linux, AIX, HP-UX

    Mac OS

    Mac OS X

    OSEK-VDX

    Solaris

    Ubuntu

    UNIX

    webOS

    Windows

    z/OS

    Android (SO)

    http://ro.wikipedia.org/wiki/BSDhttp://ro.wikipedia.org/w/index.php?title=BS2000&action=edit&redlink=1http://ro.wikipedia.org/w/index.php?title=BS3000&action=edit&redlink=1http://ro.wikipedia.org/wiki/BeOShttp://ro.wikipedia.org/wiki/DOShttp://ro.wikipedia.org/w/index.php?title=PC-DOS&action=edit&redlink=1http://ro.wikipedia.org/wiki/MS-DOShttp://ro.wikipedia.org/wiki/IOS_(Apple)http://ro.wikipedia.org/wiki/Linuxhttp://ro.wikipedia.org/wiki/IBM_AIXhttp://ro.wikipedia.org/w/index.php?title=HP-UX&action=edit&redlink=1http://ro.wikipedia.org/wiki/Mac_OShttp://ro.wikipedia.org/wiki/Mac_OS_Xhttp://ro.wikipedia.org/wiki/OSEK-VDXhttp://ro.wikipedia.org/wiki/Solarishttp://ro.wikipedia.org/wiki/Ubuntuhttp://ro.wikipedia.org/wiki/UNIXhttp://ro.wikipedia.org/wiki/WebOShttp://ro.wikipedia.org/wiki/Windowshttp://ro.wikipedia.org/w/index.php?title=Z/OS&action=edit&redlink=1http://ro.wikipedia.org/wiki/Android_(sistem_de_operare)http://ro.wikipedia.org/wiki/Android_(sistem_de_operare)http://ro.wikipedia.org/wiki/Android_(sistem_de_operare)http://ro.wikipedia.org/wiki/Android_(sistem_de_operare)http://ro.wikipedia.org/wiki/Android_(sistem_de_operare)http://ro.wikipedia.org/w/index.php?title=Z/OS&action=edit&redlink=1http://ro.wikipedia.org/wiki/Windowshttp://ro.wikipedia.org/wiki/WebOShttp://ro.wikipedia.org/wiki/UNIXhttp://ro.wikipedia.org/wiki/Ubuntuhttp://ro.wikipedia.org/wiki/Solarishttp://ro.wikipedia.org/wiki/OSEK-VDXhttp://ro.wikipedia.org/wiki/OSEK-VDXhttp://ro.wikipedia.org/wiki/OSEK-VDXhttp://ro.wikipedia.org/wiki/Mac_OS_Xhttp://ro.wikipedia.org/wiki/Mac_OShttp://ro.wikipedia.org/w/index.php?title=HP-UX&action=edit&redlink=1http://ro.wikipedia.org/w/index.php?title=HP-UX&action=edit&redlink=1http://ro.wikipedia.org/w/index.php?title=HP-UX&action=edit&redlink=1http://ro.wikipedia.org/wiki/IBM_AIXhttp://ro.wikipedia.org/wiki/Linuxhttp://ro.wikipedia.org/wiki/IOS_(Apple)http://ro.wikipedia.org/wiki/MS-DOShttp://ro.wikipedia.org/wiki/MS-DOShttp://ro.wikipedia.org/wiki/MS-DOShttp://ro.wikipedia.org/w/index.php?title=PC-DOS&action=edit&redlink=1http://ro.wikipedia.org/w/index.php?title=PC-DOS&action=edit&redlink=1http://ro.wikipedia.org/w/index.php?title=PC-DOS&action=edit&redlink=1http://ro.wikipedia.org/wiki/DOShttp://ro.wikipedia.org/wiki/BeOShttp://ro.wikipedia.org/w/index.php?title=BS3000&action=edit&redlink=1http://ro.wikipedia.org/w/index.php?title=BS2000&action=edit&redlink=1http://ro.wikipedia.org/wiki/BSD
  • 8/12/2019 Sisteme de Operare1

    16/200

    Funciile comune

    de controli alocarea resurselor ce sunt necesare

    programelor de aplicaiisunt cumulate

    ntr-o singur component

    software: Sistemul de Operare.

  • 8/12/2019 Sisteme de Operare1

    17/200

    Deci: Cele mai vechi sisteme de calcul

    erau formate uneori din hardwarei puteau fi utilizate

    prin intermediul unei console:programatorulscria liniile de program i

    apoi opera programuldirect de la aceast consol.

  • 8/12/2019 Sisteme de Operare1

    18/200

    n concluzie,

    ncrcarea programului n memorie,precizarea adresei de nceput,

    lansarea n execuie se realizau manual,cu ajutorul

    comutatoarelor panoului frontal .

  • 8/12/2019 Sisteme de Operare1

    19/200

    Evoluia programului

    putea fi urmrit de ctre operatorprin intermediul semnalelor luminoase

    ale consolei.

    Datele de ieire se tipreau sau erauperforate pe band de hrtiesau cartele

    pentru a fi tiprite ulterior.Programatorul ndeplinea i funcia de operator.

  • 8/12/2019 Sisteme de Operare1

    20/200

    Alocarea timpului de lucru n sistemse planific de cele mai multe ori

    cu ajutorul unei scheme de rezervare

    n care fiecare utilizator i scria

    numelei zona de timp

    pe care dorea s o foloseasc

    pentru propriile programe.

  • 8/12/2019 Sisteme de Operare1

    21/200

    n cazul n care un utilizator

    nu reuea s executei s depaneze programul

    n perioada de timp pe care i-o rezervase,era nevoit s abandoneze lucrul,

    deoarece zona de timp urmtoareera alocat altui utilizator.

  • 8/12/2019 Sisteme de Operare1

    22/200

    Cu trecerea timpului,

    o atenie deosebit a fostacordat rutinelor

    care realizau operaii de I/O,deoarece fiecare dispozitiv de I/O

    avea caracteristici aparte,necesitnd o programare adecvat.

  • 8/12/2019 Sisteme de Operare1

    23/200

    Pentru fiecare astfel de dispozitiv

    a fost scris cte o subrutin special,

    numit driver, care s tie

    cum trebuie s fie folosite:

    buffer-ele,

    flag-urile,

    registrii,

    biii de control,

    biii de stare proprii dispozitivului.

  • 8/12/2019 Sisteme de Operare1

    24/200

    Buffer

    Este o memorienecesar pentru

    stocarea temporar

    a unorinformaii.

  • 8/12/2019 Sisteme de Operare1

    25/200

    Buffer

    Dac tipreti foarte repede i

    procesorul de cuvinte

    nu poate s afieze att de repede

    caracterele tiprite,

    caracterele culesesunt stocate ntr-un buffer.

    ff

  • 8/12/2019 Sisteme de Operare1

    26/200

    Buffer

    n mod similar,

    dac tipreti un document

    nainte s deschizi imprimanta,

    datele de tiprit

    sunt stocate ntr-un buffer

    pn cnd imprimanta este gata de tiprit.

  • 8/12/2019 Sisteme de Operare1

    27/200

    Pentru realizarea operaiilor de I/O

    utilizatorul nu mai era nevoits includ n program

    codul necesar,

    ci putea s apeleze doar

    driver-ul

    corespunztor din bibliotec.

  • 8/12/2019 Sisteme de Operare1

    28/200

    Apariia compilatoarelor

    destinate l imbajelor de nivel nalta determinat o nou cretere

    a complexitii operriin sistemele de calcul,

    uurnd n acelai timpmunca programatorilor.

  • 8/12/2019 Sisteme de Operare1

    29/200

    Pregtirea execuiei unui program scris

    n limbaj de nivel nalt presupune:ncrcarea compilatorului n memoriede pe banda

    magnetic,

    citirea programului sursde pe un cititor decartele,

    depanarea programului executabildirect prinintermediul consolei.

  • 8/12/2019 Sisteme de Operare1

    30/200

    Compilator

    este un program(sau set de programe)

    care traduce textul unui program

    scris ntr-un limbaj de programare(surs)

    ntr-un alt limbaj de calculator, (int).

    Sursa original se numete de obiceicod surs

    iar rezul tatul cod obiect.

    http://ro.wikipedia.org/wiki/Programhttp://ro.wikipedia.org/wiki/Limbaj_de_programarehttp://ro.wikipedia.org/wiki/Cod_surs%C4%83http://ro.wikipedia.org/w/index.php?title=Cod_obiect&action=edit&redlink=1http://ro.wikipedia.org/w/index.php?title=Cod_obiect&action=edit&redlink=1http://ro.wikipedia.org/wiki/Cod_surs%C4%83http://ro.wikipedia.org/wiki/Limbaj_de_programarehttp://ro.wikipedia.org/wiki/Program
  • 8/12/2019 Sisteme de Operare1

    31/200

    Numele de compilator

    este folosit pentru un programcare traduce dintr-un limbaj

    high-levelntr-unul low-level.Un program care face operaia invers se

    numete decompilator,

    iar unul care traduce ntre dou limbajehigh-levelse numete translator.

    http://ro.wikipedia.org/w/index.php?title=Decompilator&action=edit&redlink=1http://ro.wikipedia.org/w/index.php?title=Decompilator&action=edit&redlink=1
  • 8/12/2019 Sisteme de Operare1

    32/200

    I .2. Monitor izare

    simpl

  • 8/12/2019 Sisteme de Operare1

    33/200

    Timpii de pregtire a operaiilor n cadrul unuisistem de calcul

    constituiau o adevrat problem.

    Ca remediu, s-a adugat o dubl soluie: s-a creat postul de operator cal i f icat, astfel nct

    programatorul nu mai avea acces direct la sistemul decalcul,

    s-a hotrt gruparea job-ur i lorn funcie de resurselenecesare, astfel nct acestea s fie executate n grup(prelucrarea de tip batch adic pe lotur i).

  • 8/12/2019 Sisteme de Operare1

    34/200

    Astfel,programatoriifurnizeaz

    cartelele perforate

    sau benzilece conineau programele,

    precum i o scurt descriere ajob-ur i lor,

    operatorulgrupa acestejob-ur ii

    le lansa n execuie,

    colecta rezultatelei

    le transmitea napoi fiecrui utilizator.

  • 8/12/2019 Sisteme de Operare1

    35/200

    Operatorul

    nu putea depana un programpe care nu l cunotea,

    de aceea era necesar

    furnizarea unor informaii de control

    programatorului.

  • 8/12/2019 Sisteme de Operare1

    36/200

    Pentru eliminarea

    timpilor moria fost introdussecvenierea automat a job-urilor,

    lund astfel natereprimul SO rudimentar.

    (Careabiancepesseformeze,

    careestelanceputuldezvoltriisale)

    ______________________

    http://www.archeus.ro/lingvistica/Gramatica?query=Carehttp://www.archeus.ro/lingvistica/CautareDex?query=ABIAhttp://www.archeus.ro/lingvistica/CautareDex?query=%C3%8ENCEPEhttp://www.archeus.ro/lingvistica/CautareDex?query=S%C4%82http://www.archeus.ro/lingvistica/CautareDex?query=SEhttp://www.archeus.ro/lingvistica/CautareDex?query=FORMAhttp://www.archeus.ro/lingvistica/Gramatica?query=carehttp://www.archeus.ro/lingvistica/CautareDex?query=FIhttp://www.archeus.ro/lingvistica/CautareDex?query=LAhttp://www.archeus.ro/lingvistica/CautareDex?query=%C3%8ENCEPUThttp://www.archeus.ro/lingvistica/CautareDex?query=DEZVOLTAREhttp://www.archeus.ro/lingvistica/CautareDex?query=SALEhttp://www.archeus.ro/lingvistica/CautareDex?query=SALEhttp://www.archeus.ro/lingvistica/CautareDex?query=DEZVOLTAREhttp://www.archeus.ro/lingvistica/CautareDex?query=%C3%8ENCEPUThttp://www.archeus.ro/lingvistica/CautareDex?query=LAhttp://www.archeus.ro/lingvistica/CautareDex?query=FIhttp://www.archeus.ro/lingvistica/Gramatica?query=carehttp://www.archeus.ro/lingvistica/CautareDex?query=FORMAhttp://www.archeus.ro/lingvistica/CautareDex?query=SEhttp://www.archeus.ro/lingvistica/CautareDex?query=S%C4%82http://www.archeus.ro/lingvistica/CautareDex?query=%C3%8ENCEPEhttp://www.archeus.ro/lingvistica/CautareDex?query=ABIAhttp://www.archeus.ro/lingvistica/Gramatica?query=Care
  • 8/12/2019 Sisteme de Operare1

    37/200

    Cu ajutorul unui mic programnumit

    moni tor rezident,care se afl permanent n memorie,

    s-a putut realizatransferarea automat a controlului

    de la un job laalt job care l urmai

    de la un programlaalt program

    n cadrul aceluiai job.

  • 8/12/2019 Sisteme de Operare1

    38/200

    Succesiunea etapelor de transfer era:

    moni tor - program1 - moni tor - program2 - moni tor

    Pentru ca monitoruls tie

    ce program trebuia lansat n execuie,

    operatoruli furniza

    o scurt descriere a programelor,

    precum i a datelor cu care se execut rularea.

  • 8/12/2019 Sisteme de Operare1

    39/200

    Pentru a deosebi

    cartelele de comandde cartelele ce conineau programul

    sau datele,se foloseau caractere speciale

    n diferite coloane($sau //).

  • 8/12/2019 Sisteme de Operare1

    40/200

    Cele mai importante componente ale unui

    moni tor rezident erau:

    interpretorul cartelelor de comand

    (n momentul execuiei traduce fiecare comand nlimbaj main);

    modulul ce realizeaz ncrcarea n memoriea

    programelor de sistemia programelor de aplicaie(leader);

    diverse dispozitive.

  • 8/12/2019 Sisteme de Operare1

    41/200

    I.3. Operare off-l ine

    i operare on-l ine

    simultan

    cu mai multe periferice

    (spooling) *ghem, bobin

  • 8/12/2019 Sisteme de Operare1

    42/200

    Diferena considerabil de vitez

    a operrii existent ntreUnitatea Centrali

    dispozitivele mecanicede I /O

    contribuia substanial

    la scderea eficienei

    sistemului de calcul.

  • 8/12/2019 Sisteme de Operare1

    43/200

    A nceput s fie folosit

    aa-numita

    operare off-l inea cititoarelor de cartele

    i a imprimantelor.

  • 8/12/2019 Sisteme de Operare1

    44/200

    Carteleleerau copiate

    pe band magneticpn n momentul n care

    band magnetic se completa,

    dup care informaiile puteau fi citite

    n memoria calculatoruluicu ajutorulunitilor de band magnetic.

  • 8/12/2019 Sisteme de Operare1

    45/200

    n mod asemntor

    se realiza

    iscrierearezultatelor

    pe o band magnetic.

    Principalul avantaj

  • 8/12/2019 Sisteme de Operare1

    46/200

    Principalul avantaj

    al acestui mod de operare

    era posibilitatea ca o aceeaiUC(Unitate Central)

    s foloseasc mai multe sisteme de cititor

    de cartele-bandi band-imprimant

    care s lucreze simultan

    i s furnizeze suficient band magnetic

    pentru ca timpul de lucru al UC

    s fie utilizat aproape complet.

    Od t ff li

  • 8/12/2019 Sisteme de Operare1

    47/200

    Odat cu operarea off-line,

    a aprut i noiunea de

    independen fa de dispozitiva programelor(necesitatea ca o aceeai operaie de I/O s poat fi realizat pe diferite dispozitive de I/O);

    programele au fost scrise astfel nct s utilizeze:

    dispozitive logicede I /O,

    corespondena dintreacestea,

    dispozitivele f izice

    fiind indicat de ctre cartelele de comand.

  • 8/12/2019 Sisteme de Operare1

    48/200

    Odat cu apariia

    discur i lor magnetice,

    pregtirea

    off-l ine a job-ur i lor

    a fost abandonat.

  • 8/12/2019 Sisteme de Operare1

    49/200

    Discur i le magnetice

    au permis operarea on-line,

    simultan,

    cu mai multe periferice

    (spooling:

    Simul taneous Peripheral Operation On-L ine).

  • 8/12/2019 Sisteme de Operare1

    50/200

    Discul magnetic,

    privit ca un bufferde dimensiuni mari,

    poate fi folosit n scopul

    citirii a ct mai multor informaii

    de la dispozitivele de intrareial stocrii fiierelor de ieire,

    pn n momentul n caredispozitivele de ieire

    devin disponibile i le pot prelua.

  • 8/12/2019 Sisteme de Operare1

    51/200

    Disculare capacitatea

    de a nmagazina informaiireferitoare la mai multejob-ur i,

    a cror eviden este inut

    cu ajutorul unui

    tabel gestionat de ctre SO.

  • 8/12/2019 Sisteme de Operare1

    52/200

    Deoarece pe disc pot exista i

    job-ur i gata de a fi executate,aceast structur de date purtnd denumirea

    derezerva de job-ur i (job pool),

    SO poate s decid ordinea n care vor filansate n execuie,

    astfel nct s fie mbuntit

    timpul de ocupare a UC.

  • 8/12/2019 Sisteme de Operare1

    53/200

    Devine deci posibil

    plani f icarea job-ur i lor (job schedul ing)

    i este abandonat metoda de lucru

    ce se baza pe regula

    primul sosit - pr imul servit.

  • 8/12/2019 Sisteme de Operare1

    54/200

    Metoda de operare a on-line,

    simultan, cu mai multe periferice,asigur utilizarea

    la vitez foarte mare:

    att a UC,

    ct i a dispozitivelor de I/O.

  • 8/12/2019 Sisteme de Operare1

    55/200

    I.4. Lucrulcu zone tampon

    (buffering)

    *tampon

  • 8/12/2019 Sisteme de Operare1

    56/200

    Lucrul cu zone tampon

    este strict legat delucrul cu ntreruper i

    i reprezint

    o funcie a SO.

  • 8/12/2019 Sisteme de Operare1

    57/200

    Pentru fiecare dispozitiv de I/O,

    monitorul rezidentsaudriver-ele dispozitiv

    includ buffere

    sistem pentru intrri/ieiri.

    n cazul lucrului cu ntreruper i

  • 8/12/2019 Sisteme de Operare1

    58/200

    n cazul lucrului cu ntreruper i

    fiecare controllereste dedicat

    unui anumit tip de dispozitiv i

    gestioneaz ozon buffer local,

    precum i un set de registr i speciali,

    avnd ca sarcin

    transferarea datelor ntre

    dispozitiv i zona sa de buffer.

    t l i ii ii

  • 8/12/2019 Sisteme de Operare1

    59/200

    n momentul iniierii

    unei operaii de I/O,UCnscrie

    registr i i control ler-uluii apoi i reia

    secvena normal de lucru.

    Controller ul examineaz:

  • 8/12/2019 Sisteme de Operare1

    60/200

    Controller-ulexamineaz:

    coninutul registrilor,

    afl ce operaie trebuie efectuat (citire sauscriere),

    d comanda nceperii transferului de date,pentru ca n momentul terminrii

    s informeze UCprin emiterea uneintreruper i.

  • 8/12/2019 Sisteme de Operare1

    61/200

    n momentul primir i i ntreruper i i,

    UC i oprete activitatea curent itransfer controlul

    la o locaie fix de memorie

    n care, de obicei,

    este nscris adresa de nceput

    a rutinei de tratare a ntreruper i i .

  • 8/12/2019 Sisteme de Operare1

    62/200

    Rutinatransfer

    datele din

    buffer-ullocalal dispozitivului

    n memoria principal.

  • 8/12/2019 Sisteme de Operare1

    63/200

    La terminarea acestei operaii,

    UC i reia activitateantrerupt anterior,

    n acest mod putndu-se realiza

    operarea concurent cu UCi cu dispozitivele de I/O.

    1 Principalele funcii ale sistemului de

  • 8/12/2019 Sisteme de Operare1

    64/200

    1. Principalele funcii ale sistemului dentreruper isunt:

    transferarea controlului rutinei detratare a ntreruperii;

    aceast funcie se realizeaz prinrezervarea unui set de locaii n zonaadreselor mici de memorie

    (pr imele 100, de exemplu)n care s seafle adresele tuturor rutinelor detratare a ntreruperilor;

    2 P i i l l f ii l i t l i d

  • 8/12/2019 Sisteme de Operare1

    65/200

    2. Principalele funcii ale sistemului dentreruper isunt:

    salvarea adresei instruciunii pe care oexecut UC n momentul n care a primitntreruperea,

    precum i salvarea contextului

    (de exemplu, starea unor registr i).

    Aceasta se poate face ntr-o locaie fix,ntr-o locaie indexat prin numruldispozitivului sau n stiv.

    S l t d i d l t

  • 8/12/2019 Sisteme de Operare1

    66/200

    Scopul metodei de lucru cu zone tampon

    este creterea eficieneisistemului de calcul

    prin folosirea ct mai complet:

    a timpului de lucru al UC,

    al dispozitivelor per i fer ice.

    D i f i f t itit i

  • 8/12/2019 Sisteme de Operare1

    67/200

    Dup ce informaia a fost citit i

    UC este gata s nceap s o prelucreze:

    se d comanda dispozitivului de intrare s

    iniieze imediat urmtoarea citire,realizndu-se astfel ocuparea simultan a

    UC i a dispozitivului de intrare.

  • 8/12/2019 Sisteme de Operare1

    68/200

    n mod asemntor se realizeaz

    scr ierea datelor UCcreeaz datele care sunt stocate

    ntr-un buffer

    pn n momentul n care

    vor putea fi preluate

    de ctredispozitivul de ieire

    .

  • 8/12/2019 Sisteme de Operare1

    69/200

    Dac viteza medie a UC

    (n nregistrri / sec)i a dispozitivelor de I /Oeste aceeai,

    UC trece puin nainteasau puin n urma dispozitivelor de I/O,

    toate fiind folositeaproape de capacitatea maxim.

    D UC di

  • 8/12/2019 Sisteme de Operare1

    70/200

    Dac UC este, n medie,

    mai rapid dectun dispozitiv de intrare,

    metoda de lucru

    cu zone tamponnu este de mare ajutor.

  • 8/12/2019 Sisteme de Operare1

    71/200

    Dac UC este

    totdeauna mai rapid,

    ea va gsi mereu

    un buffergol

    i va trebui s atepteaciunea dispozitivului de intrare.

    P t i

  • 8/12/2019 Sisteme de Operare1

    72/200

    Pentru scr iere,

    UC va putea funcionala puterea maxim,

    dar va trebui s atepte

    intervenia dispozitivului de ieire

    n cazul n care

    toate buffer-ele sunt pline.

    Aceast situaie apare la job ur i le l imitate I /O

  • 8/12/2019 Sisteme de Operare1

    73/200

    Aceast situaie apare lajob-ur i le l imitate I /O,

    pentru care numrul total de operaii de I/O

    este foarte mare n comparaie

    cu numrul calculelor efectuatei, deoarece

    UC este mai rapid dect dispozitivele de I/O,

    viteza de execuie este limitat

    de viteza dispozitivelor i nu de cea a UC.

    L l lt t

  • 8/12/2019 Sisteme de Operare1

    74/200

    La cealalt extrem,

    n cazuljob-ur i lor l imitate

    din punctul de vedere al UC,

    volumul calculelor este att de mare nct

    buffer-elede intraresunt totdeauna pline,

    iar

    buffer-ele de ieiresunt totdeauna goale.

    UC i l

  • 8/12/2019 Sisteme de Operare1

    75/200

    UC nu poate ine pasul

    cu dispozitivele de I/O.Prin urmare,

    lucrul cu zone tampon

    este folositor,

    dar nu este suficient.

  • 8/12/2019 Sisteme de Operare1

    76/200

    I.5. Multiprogramare

    n general

  • 8/12/2019 Sisteme de Operare1

    77/200

    n general,

    un singur program utilizatornu poate s asigure

    ocuparea permanent:att a UC,

    ct i a dispozitivelor de I/O.

    Posibilitatea de a stoca

  • 8/12/2019 Sisteme de Operare1

    78/200

    Posibilitatea de a stoca

    pedisc magnetic

    o rezerv dejob-ur i

    i

    planificarea corespunztoare a acestora

    n vederea execuieipermit folosirea multiprogramrii,

    o tehnic ce are drept scopmbuntirea timpului de ocupare a UC.

    ntr un sistem multiprogramat

  • 8/12/2019 Sisteme de Operare1

    79/200

    ntr-un sistem multiprogramat,

    dacjob-ul

    aflat n execuie

    trebuie s atepte la un moment dat

    realizarea unei operaii de I/O,UC nu va sta nefolosit,

    ci va fi alocat altui jobn acest scop de ctre SO.

    Atta vreme

  • 8/12/2019 Sisteme de Operare1

    80/200

    Atta vreme

    ct rezerva de job-ur inu este vid,

    UC lucreaz din plin.

  • 8/12/2019 Sisteme de Operare1

    81/200

    I.6. Sisteme de tip

    time-sharing*Partajarea

    *mprirea

    n cazul sistemelor cu prelucrare pe loturi

  • 8/12/2019 Sisteme de Operare1

    82/200

    n cazul sistemelor cu prelucrare pe loturi

    (de tip batch),accesul la programe i date

    se fcea n mod secvenial,astfel nct,

    la un moment dat se putea executa

    un singur program de aplicaie.

    O caracteristic

  • 8/12/2019 Sisteme de Operare1

    83/200

    O caracteristic

    a sistemelorde tip batcheste

    lipsa de interaciune

    ntreuti l izator ijobn timpul execuiei.

    Job ul este pregtit i

  • 8/12/2019 Sisteme de Operare1

    84/200

    Job-uleste pregtit i

    prezentat pentru a fi executat iar,dup un anumit timp,

    numit turnaround time,se vizualizeaz rezultatul.

    *timp de rspuns

    Utilizarea sistemelor

  • 8/12/2019 Sisteme de Operare1

    85/200

    Utilizarea sistemelor

    de tip batch

    este indicat n cazul

    job-urilorcu durat de execuie mare i

    care nu necesit prea mult comunicareutilizator-sistem.

    Sistemele de calcul

  • 8/12/2019 Sisteme de Operare1

    86/200

    Sistemele de calcul

    convenionale, interactive, permit

    comunicarea ntre utilizator i sistem:

    utilizatorul transmite comenzi SO sau,

    direct, unui program

    (de obicei prin intermediul tastaturii)

    i primete rspunsul imediat.

    Sistemele interactive

  • 8/12/2019 Sisteme de Operare1

    87/200

    Sistemele interactive

    sunt folosite de obicei

    atunci cnd se dorete

    executarea unorjob-ur i compuse

    din mai multe secvene

    de scurt durat i

    al cror rezultat nu poate fi prevzut.

    SO de tip time-sharing

  • 8/12/2019 Sisteme de Operare1

    88/200

    SO de tip time sharing

    au aprut din dorina

    de a realiza utilizarea interactiv

    a sistemelor de calcul

    la un pre de cost rezonabil.

    SO de tip time-sharing

  • 8/12/2019 Sisteme de Operare1

    89/200

    SO de tip time sharing

    Datorit planificrii UC i multiprogramrii,

    un acelai sistem de calcul:

    poate fi folosit simultan de ctre mai muli

    utilizatori,

    deservii n ferestre de timp diferite, darsuf icient de mici pentru a da impresia unei

    execuii nentrerupte a programelor.

    Ideea de baz este destul de simpl:

  • 8/12/2019 Sisteme de Operare1

    90/200

    n memoria sistemului,

    f iecare uti l izatorare un program separata crui execuie necesit

    o perioad de timp scurtpn n momentul ncheierii sau

    pn n momentul n care este necesar

    realizarea unei operaii de I/O,

    ce poate fi de tip interactiv.

    Deoarece aceste operaii

  • 8/12/2019 Sisteme de Operare1

    91/200

    Deoarece aceste operaii

    se realizeaz la nivelulvitezei umane de operare,

    ele necesit

    o perioad de timpdestul de lung.

  • 8/12/2019 Sisteme de Operare1

    92/200

    Exemplu:operaia de intrare

    este condiionat

    de viteza cu caresunt apsate tastele.

    Pe durata unor astfel de operaii

  • 8/12/2019 Sisteme de Operare1

    93/200

    Pe durata unor astfel de operaii,

    pentru a eliminatimpii de nefolosire a UC,

    SO va comuta rapid controlul UC

    asupra programului

    unui alt utilizator.

    Deoarece pentru fiecare utilizator este necesar numai

  • 8/12/2019 Sisteme de Operare1

    94/200

    o micperioad din timpul de lucru al UC i

    controlul este comutat rapidde la un utilizator la altul,

    fiecare dintre acetia are impresia

    c lucreaz singur n sistem,n timp ce, de fapt,

    sistemul de calcul

    este folosit n comun de ctre mai muli utilizatori.

  • 8/12/2019 Sisteme de Operare1

    95/200

    I .7. Mecanisme

    de protecie

    Un SO este bine proiectat

  • 8/12/2019 Sisteme de Operare1

    96/200

    Un SO este bine proiectat

    numai atunci cnd poate asigura

    execuia corect a programelor,

    chiar n cazul existenei

    unui program scris incorect.

    Multe dintre erorile de programare

  • 8/12/2019 Sisteme de Operare1

    97/200

    Multe dintre erorile de programare

    pot fi detectate

    de ctre hardware

    i sunt controlate

    n mod normalde ctre monitorul rezident.

    Dac ntr un program

  • 8/12/2019 Sisteme de Operare1

    98/200

    Dac ntr-un program

    apare o instruciune nepermissau o greeal de eroare a memoriei,

    hardware-ul va genera o ntrerupere

    ctre monitorul rezident, numit

    capcan (trap).

    Termenul de capcan

  • 8/12/2019 Sisteme de Operare1

    99/200

    Termenul de capcan

    este folosit pentru a desemnao ntrerupere intern,

    generat de obiceica urmare a apariiei

    unei erori n program.

    Acionnd ca o ntrerupere,

  • 8/12/2019 Sisteme de Operare1

    100/200

    p ,

    aceasta va determina

    memorarea contorului program

    asociat ultimei instruciuni

    i va da controlul

    unei rutine a moni torului rezident.

  • 8/12/2019 Sisteme de Operare1

    101/200

    Pentru a realiza protejarea tuturor programelor,

  • 8/12/2019 Sisteme de Operare1

    102/200

    datelor i resurselor fa de toate erorile

    ce pot s apar n funcionare,sunt necesare 3 tipuri de protecie:

    protejarea operaiilor de I/O,protejarea memoriei iprotejarea UC.

    Protejarea operaiilor de I/O

  • 8/12/2019 Sisteme de Operare1

    103/200

    Pentru ca sistemul de calcul

    s se comporte diferit fa de SO,pe de-o parte, i fa de programele utilizator,

    pe de alt parte,

    au fost adugate dou moduri de operare distincte:

    modul uti l izator i

    modul moni tor (numit i mod supervizor sau modsistem).

    Protejarea operaiilor de I/O

  • 8/12/2019 Sisteme de Operare1

    104/200

    Pentru indicarea modului curent de operare

    a fost adugat hardware-ului

    un bit cu urmtoarea semnificaie:

    0=monitor; 1=utilizator.Atunci cnd monitorul rezident cedeaz

    controlul unui program utilizator,se trece n mod utilizator,

    bitul de mod primind valoarea 1.

  • 8/12/2019 Sisteme de Operare1

    105/200

    Protejarea memoriei

  • 8/12/2019 Sisteme de Operare1

    106/200

    j

    n general, se dorete protejarea moni torului rezident

    fa de eventualele aciuni ale programelor utilizator,precum i protejarea programelor utilizator unulfa de altul.

    Toate aceste sarcini revin hardware-ului.Protejarea coninutului memoriei situate nainte i

    dup zona ocupat de un program executabil sepoate realiza folosind doi registrii limit, care sstocheze valorile limitelor superioar i inferioar aleadreselor fizice ce pot fi generate de un anumitprogram utilizator.

    Registrii limit pot fi nscrii numai de ctre SO cu ajutorul uneiinstruciuni privilegiate speciale deci nu pot fi accesate n nici

  • 8/12/2019 Sisteme de Operare1

    107/200

    instruciuni privilegiate speciale, deci nu pot fi accesate n niciun fel de ctre programele utilizator, execuia instruciunilorprivilegiate fcndu-se numai n mod monitor.

    n timpul execuiei, fiecare adres generat n mod utilizatoreste comparat cu valorile coninute n registrii limit, astfel

    nct dac un program care se execut n mod utilizatorncearc s acceseze memoria rezervat monitorului sau altuiutilizator, se genereaz o capcan spre monitor ce va fitratat ca eroare fatal.

    Acest mecanism mpiedic programul utilizator s modifice

    (accidental sau intenionat) codul sau structurile de datedestinate monitorului sau altor programe utilizator.

    Protejarea UC

  • 8/12/2019 Sisteme de Operare1

    108/200

    jPentru ca UC s nu fie monopolizat de ctre un singur

    utilizator, n arhitectura sistemelor de calcul a fost inclus untemporizator(timer)ce poate fi programat pentru a ntrerupefuncionarea calculatorului dup o anumit perioad de timpcu durat fix sau variabil.

    Implementarea unui temporizatorcu durat variabil se

    realizeaz, de obicei, cu ajutorul unui ceas i a unuinumrtor:

    SO seteaz numrtorul i apoi, la fiecare tact de ceas,numrtorul este decrementat, pn cnd, ajungnd la

    valoarea 0, se genereaz o ntrerupere.

    Instruciunile cu ajutorul crora poate fi modificat modul deoperare al timer-ului sunt privilegiate.

  • 8/12/2019 Sisteme de Operare1

    109/200

    I I . Structura sistemelorde operare

    II.1. Componentele sistemelor de operare

  • 8/12/2019 Sisteme de Operare1

    110/200

    n general, crearea unui software complex,

    aa cum este un SO,este posibil numai prin modularizare,

    fiecare component fiind bine definit iavnd intrri, ieiri i

    funcionalitate bine precizate.

    Gestionarea proceselor

  • 8/12/2019 Sisteme de Operare1

    111/200

    Menirea UC este att de a asigura execuia programelorutilizator, ct i de a realiza alte activiti, toate acesteapurtnd numele generic de

    procese.

    Un proces poate fi definit ca un program aflat n execuie i poatecrea, la rndul su, subprocese cu execuie de tip concurent.

    Un program constituie o entitate pasiv, n timp ce procesul esteo entitate activ.

    Procesul se execut n mod secvenial i are nevoie de anumiteresurse care i se aloc n momentul crerii sale (UC, memorie,fiiere, dispozitive de I/O etc.), i de nite informaii deiniializare pentru a ti ce i cum s prelucreze.

    Procesele pot fi att de tip utilizator, ct i de tip sistem.

    SO are urmtoarele funcii:

  • 8/12/2019 Sisteme de Operare1

    112/200

    Din punctul de vedere al gestionrii programelor aflate n execuie, SO areurmtoarele funcii:

    crearea i desfiinarea proceselor;

    suspendarea i reluarea proceselor;

    asigurarea mecanismelor necesaresincronizrii proceselor;

    asigurarea mecanismelor necesare

    comunicaiei ntre procese;asigurarea mecanismelor pentru asigurarea

    interblocrilor.

    Gestionarea memoriei

  • 8/12/2019 Sisteme de Operare1

    113/200

    Memoria reprezint o colecie de cuvinte sau de octeicare pot fi accesate prin precizarea adresei ce le esteasociat.

    Interaciunea dintre UC i memorie se realizeaz prinscrieri/citiri la/de la adresele de memorie specificate.

    Execuia unui program presupune ncrcarea sa nmemorie, dup ce au fost stabilite adresele absolute;

    n timpul execuiei, programul acceseazinstruciunile i datele din memorie prin intermediul

    adreselor, iar n momentul ncheierii, spaiul ocupateste eventual declarat disponibil, n el putnd fi

    ncrcat i executat un alt program.

    SO are urmtoarele funcii:

  • 8/12/2019 Sisteme de Operare1

    114/200

    Din punctul de vedere al gestionrii memoriei,

    SO are urmtoarele funcii:pstrarea evidenei partiiilor de memorie

    folosite la un moment dat, precum i a

    utilizatorilor acestora;selectarea procesului ce va fi ncrcat n

    memorie atunci cnd spaiul devine

    disponibil;alocarea spaiului de memorie, precum i

    operaia invers.

    Gestionarea memoriei auxiliare

  • 8/12/2019 Sisteme de Operare1

    115/200

    n timpul execuiei, att programele ct i datele aferentetrebuie s se afle n memoria principal.

    Deoarece aceasta are o dimensiune prea mic pentru a puteagzdui toate programele mpreun cu datelecorespunztoare, apare necesitatea ca sistemul de calcul srealizeze o memorare secundar cu ajutorul creia s

    descarcememoria principal.Marea majoritate a sistemelor de calcul moderne utilizeaz

    pentru aceast operaie discurile magnetice.

    Programele utilitare sunt pstrate pe disc pn n momentul ncare este necesar ncrcarea lor n memoria principal iapoi folosesc discul att ca surs, ct i ca destinaie aprocesului.

    SO are urmtoarele funcii:

  • 8/12/2019 Sisteme de Operare1

    116/200

    Din punctul de vedere

    al gestionrii discului magnetic,

    SO are urmtoarele funcii:

    gestionarea spaiului liber pe disc;

    alocarea memoriei pe disc;

    planificarea lucrului cu discul.

    Sistemul de intrri/ieiri (I/O)

  • 8/12/2019 Sisteme de Operare1

    117/200

    Unul dintre scopurile SO

    este s uureze munca utilizatorului uman

    i prin preluarea sarcinii de dialogare

    cu dispozitivele de I/O.n general, sistemul de I/O are n componen:

    un sistem de buffere;

    un cod general driverde dispozitiv;

    direver-epentru dispozitivele hardwarespecifice.

  • 8/12/2019 Sisteme de Operare1

    118/200

    Sistemul de protecie

  • 8/12/2019 Sisteme de Operare1

    119/200

    Proteciareprezint

    mecanismul definit de ctre SO

    cu ajutorul cruia poate fi controlat

    accesul programelor,

    proceselor

    sau uti l izator i lor la resurse.

    Sistemul de protecie

  • 8/12/2019 Sisteme de Operare1

    120/200

    Un SO prevzut

    cu mecanisme de protecie

    poate asigura mijloacele necesare

    pentru a face distincia

    ntre o utilizare permisi

    o utilizare neautorizat.

    Legarea n reea

  • 8/12/2019 Sisteme de Operare1

    121/200

    Un sistem distr ibui t reprezint un ansamblu de procesoare

    care nu folosesc n comun aceeai memorie sau unacelai ceas.

    Fiecare procesor are o memorie local, iar comunicaiantre procesoare se realizeaz prin intermediul

    magistralelor de mare vitez sau prin linii telefonice.Legtura ntre procesoarele ce compun sistemul se

    realizeaz cu ajutorul unei reele de comunicaie cepoate avea diverse configuraii i care poate fi conectatcomplet sau parial.

    Sistemele distribuite asigur o vitez de calcul sporit, obun disponibilitate a datelor, precum i o fiabilitate

    ridicat necesitnd SO cu caracteristici speciale

    Sistemul de interpretare a comenzilor

  • 8/12/2019 Sisteme de Operare1

    122/200

    Una dintre cele mai importante componente

    ale SO este interpretorul de comenzi,

    care se execut iniial

    la nceperea rulrii unui jobsau atunci cnd unul dintre utilizatorii

    unui sistem de tip time-sharing

    cere pentru prima dat

    permisiunea de intrare n sistem.

    Sistemul de interpretare a comenzilor

  • 8/12/2019 Sisteme de Operare1

    123/200

    O alt funcie important a acestui modul

    software este citireai interpretareainstruciunilor de comand

    prin intermediul crora utilizatorul:furnizeaz comenzi sistemului icare se refer la gestionarea proceselor,a operaiilor de I/O,a memoriei auxiliare,a memoriei principale,accesarea sistemului de fiiere,

    protecia i conectarea prin intermediul reelei

  • 8/12/2019 Sisteme de Operare1

    124/200

    I I .2. Sarcini le

    sistemelor de operare

    O prim categorie de funcii existente n cadrul oricrui SO aredrept scop crearea mediului n care s se execute n mod

  • 8/12/2019 Sisteme de Operare1

    125/200

    drept scop crearea mediului n care s se execute n modcorespunztor programele, urmrind n acelai timp

    uurarea sarcinii programatorului uman.Dintre acestea pot fi menionate:

    executarea programelor;

    realizarea operaiilor de I/O;manevrarea sistemelor de fiiere;

    detectarea erorilor.

    O alt categorie de funcii este cea destinat realizrii uneioperaii eficiente n cadrul sistemului de calcul.

    Apeluri de sistem

  • 8/12/2019 Sisteme de Operare1

    126/200

    reprezint interfaa dintre un program aflat n

    execuie i SO.Ele sunt disponibile att sub form de instruciuni

    scrise n limbaje de asamblare, ct i ca funcii sausubrutine apelabile n cadrul programelor scrise n

    limbaj de nivel nalt.Apelul de sistem poate fi generat prin intermediul unei

    rutine specializate, sau direct.

    Realizarea unui apel de sistem presupune existena mai multorinformaii al cror numr i tip depinde de tipul sistemului de

    l l l SO i l l l i i i

  • 8/12/2019 Sisteme de Operare1

    127/200

    calcul, al SO i al apelului propriu-zis.

    n general, transmiterea parametrilor ctre SO se realizeaz ndou moduri.

    Cea mai simpl metod este folosirea registrilor.

    Totui, de multe ori, se ntmpl ca numrul parametrilor s fie

    mai mare dect numrul registrilor, caz n care se prefer ceade-a doua metod care presupune stocarea parametrilor nmemorie, ntr-un bloc sau tabel, adresa blocului fiind nscrisca parametru ntr-un registru.

    Proiectanii SO prefer aceast ultim metod, uneori chiar ncazul n care numrul parametrilor nu depete numrulregistrilor.

    Apelurile de sistem pot fi clasificate n trei mari categorii:

  • 8/12/2019 Sisteme de Operare1

    128/200

    Apeluri de sistem destinate:

    controlului proceselor sau al job-urilor;

    gestionrii dispozitivelor i a fiierelor;

    gestionrii informaiilor.

    Apelur i de sistem destinate contr olului proceselor sau al job-ur i lor

    Execuia unui program se poate ncheia normal (end) sau forat

  • 8/12/2019 Sisteme de Operare1

    129/200

    Execuia unui program se poate ncheia normal (end)sau forat(abort).

    n cazul terminrii normale, prin intermediul apelului de sistem,SO transfer controlul interpretorului de comenzi care citeteurmtoarea comand.

    Dac ns programul detecteaz o eroare n timpul execuiei sau

    n datele utilizate i decide s se ncheie forat, poate finecesar mai nti efectuarea unui vidaj de memoriei afiareaunui mesaj de eroare, dup care se apeleaz interpretorul decomenzi.

    ntr-un sistem de tip interactiv, utilizatorul va furniza o noucomand, corespunztoare erorii depistate.

    ntr-un sistem de tip batch, n mod obinuit, interpretorul decomenzi ncheie ntregul job i trece la tratarea urmtorului.

  • 8/12/2019 Sisteme de Operare1

    130/200

    Crearea unui nou job sau a unui nou proces presupune iexistena controlului asupra execuiei sale, adic posibilitatea

  • 8/12/2019 Sisteme de Operare1

    131/200

    determinrii i resetrii atributelor (caracteristicilor) job-uluisau ale altui proces: prioritatea, timpul maxim de execuie

    permis etc. (get process attr ibutes i set process attr ibutes).n cazul n care se dorete forarea ncheierii unui job sau a unui

    proces creat anterior, se folosete un apel de sistem numitterminate process.

    Dac ns nu se dorete terminarea forat a unui job sau a unuiproces nou creat, se ateapt ncheierea normal a execuiei.

    Aceast ateptare dureaz un anumit interval de timp (wait time), sau, de cele mai multe ori, dureaz pn n momentul

    apariiei unui anumit eveniment (wait event), care va fisemnalat de ctre job-ul sau procesul respectiv (ignalevent).

    Apeluri de sistem destinate gestionrii dispozitivelor i a fiierelor

  • 8/12/2019 Sisteme de Operare1

    132/200

    n cadrul categoriei de apeluri de sistem care au ca

    obiect fiierele pot fi menionate: crearea (create) i tergerea fiierelor (delete), pentru care

    este necesar s se cunoasc numele i unele dintre atributelefiierelor;

    deschiderea fiierelor (open);

    citirea (read), scrierea (write) i repoziionarea (repoition)nfiier;

    nchiderea fiierului (close) care indic nchiderea sesiunii delucru cu fiierul respectiv.

    Atunci cnd sistemul de fiiere este structurat n directoare, estenecesar ca acelai set de operaii s se poat aplica i asupradirectoarelor

  • 8/12/2019 Sisteme de Operare1

    133/200

    directoarelor.

    n plus, att pentru fiiere, ct i pentru directoare, este bine s

    se poat determina valoarea diferitelor atribute (get f i leattribute) i, eventual, acestea s poat fi resetate (set f i leattribute).

    Atributele fiierului includ numele su, tipul, codurile deprotecie etc.

    Fiierele pot fi considerate dispozitive aleatoare sau virtuale i,de aceea, multe dintre apelurile de sistem folosite n cazulfiierelor sunt folosite i n cazul dispozitivelor.

    Totui, n cazul sistemelor multi-utilizator, trebuie fcut mai

    nti o cerere ctre dispozitiv (request ), pentru a asigurafolosirea sa exclusiv, iar la ncheierea sesiunii de lucru estenecesar ca acesta s fie disponibilizat (release).

    Funciile descrise sunt similare cu open/close folosite n cazulfiierelor.

    Apeluri de sistem destinate gestionrii informaiilor

  • 8/12/2019 Sisteme de Operare1

    134/200

    O mare parte dintre apelurile de sistem

    au fost create cu scopul

    de a asigura transferarea informaiilor

    ntre programul utilizator

    i sistemul de operare

    (Ex., cele care furnizeazora i data curent ).

    Apeluri de sistem destinate gestionrii informaiilor

  • 8/12/2019 Sisteme de Operare1

    135/200

    Alte apeluri furnizeaz informaii despre sistem:

    numrul curent de utilizatori,

    numrul de versiune al SO,

    spaiul total al memoriei neocupate sauspaiul total disponibil pe discul magnetic etc.

    Programe de sistem

  • 8/12/2019 Sisteme de Operare1

    136/200

    n funcie de operaiilepe care le realizeaz,

    programele de sistem

    pot fi grupaten cteva mari categorii:

    Programe de sistem

  • 8/12/2019 Sisteme de Operare1

    137/200

    Gestionarea fiierelor:

    crearea,

    tergerea,

    copierea,

    schimbarea numelui,

    tiprirea,

    listarea i, n general,toate operaiile care au ca obiect fiiere i

    directoare;

    Programe de sistem

  • 8/12/2019 Sisteme de Operare1

    138/200

    Informaii de stare:

    programele respective cer sistemului data,

    ora,

    totalul spaiului de memorie sau

    totalul spaiului de pe disc,numrul de utilizatori sau

    alte informaii de stare de acest tip care apoi suntformatate i

    tiprite la terminal, pe un alt dispozitiv de ieire sau sunt memorate ntr-un fiier;

    Programe de sistem

  • 8/12/2019 Sisteme de Operare1

    139/200

    Modificarea fiierelor:

    operaie ce poate fi efectuat de ctreeditoarele de texte,

    care pot crea sau modifica fiiere memorate pedisc magnetic;

    Programe de sistem

  • 8/12/2019 Sisteme de Operare1

    140/200

    Accesori i ale limbajelor de programare:

    de multe ori,

    odat cu SO sunt furnizate i compilatoare,

    asambloare i interpretoare pentrulimbajele de programare uzuale;

    Programe de sistem

  • 8/12/2019 Sisteme de Operare1

    141/200

    ncrcarea i executarea programelor:

    Pentru a fi executat, un program care a fost asamblat saucompilat, trebuie ncrcat n memorie.

    n acest scop, au fost create programe ce realizeazncrcarea

    la adresa absolut (absolute loaders), la adresa relocatabil (relocatable loaders),

    editoare de legturi (l inkage editors) i

    programe pentru ncrcare cu suprapunere (overlayloaders).

    Depanarea unui program se poate realiza cu ajutorul unorprograme specializate;

    Programe de sistem

  • 8/12/2019 Sisteme de Operare1

    142/200

    Programe de aplicaii:

    Odat cu SO sunt furnizate uneori programe ce au ca scop:

    rezolvarea unor probleme uzuale, cum ar fi formatareatextelor,

    realizarea reprezentrilor grafice, gestionarea bazelor de date,

    analiz statistic etc.

    Interpretorul de comenzi

  • 8/12/2019 Sisteme de Operare1

    143/200

    Unul dintre cele mai importante programe de sistem esteinterpretorul de comenzi, a crui principal funcie este de aafla urmtoarea comand furnizat de utilizator i de a oexecuta.

    Exist dou modaliti de implementare a comenzilor.

    Primamodalitatepresupune ca interpretorul de comenzi sconin codul pentru execuia comenzii.

    n acest caz mrimea interpretorului depinde direct de numrulde comenzi, deoarece pentru fiecare comand este necesar uncod propriu de implementare.

    Cea de-a doua modali tatepresupune existena unor programe desistem speciale, astfel nct nu mai este nevoie ca interpretorulde comenzi s neleag comanda, ci o folosete pentru aidentifica un fiier care s fie ncrcat n memorie i executat.

  • 8/12/2019 Sisteme de Operare1

    144/200

    I I .3. Structurasistemelor de operare

    Cea mai rspndit tehnic

    d i SO d

  • 8/12/2019 Sisteme de Operare1

    145/200

    de creare a unui SO modern

    este modularizarea,

    adic elaborarea unor subansamble software

    de dimensiune redus,

    bine definite din punctul de vedere:

    al intrrilor;

    al ieirilor;al funciilor pe care le ndeplinesc.

    Organizarea sistemului pe niveluri C i tili t t d d d l i i SO t

  • 8/12/2019 Sisteme de Operare1

    146/200

    Cea mai utilizat metod de modularizare a unui SO esteorganizarea sistemului pe nivelur i, fiecare nivel fiind construit

    deasupra celor de rang inferior. Hardware-ul reprezint nivelul de baza (nivelul 0 ), n timp

    ce interfaa utilizator reprezint nivelul de ordin maxim(nivelul N ).

    Un nivel reprezint implementarea unui obiect abstract caregrupeaz att datele, ct i operaiile ce pot utiliza acestedate.

    Fiecare nivel folosete numai operaiile furnizate de ctrenivelurile inferioare, necunoscnd modul n care sunt

    implementate aceste operaii, ci numai ceea ce fac ele. Existena structurilor de date i a operaiilor aparinnd

    nivelurilor inferioare este "ascuns" nivelurilor superioare.

    Organizarea sistemului pe niveluri P i t i l il f tf l t i l t

  • 8/12/2019 Sisteme de Operare1

    147/200

    Proiectarea nivelurilor se face astfel nct un nivel poatefolosi numai operaii i servicii ale nivelurilor inferioare, ceeace uureaz mult munca de depanare i verificare asistemului.

    Primul nivel poate fi depanat independent de restulsistemului deoarece, conform definiiei, folosete pentru

    implementarea funciilor sale numai hardware-ului de baz,care se presupune c e proiectat i implementat corect.

    Depanarea celui de-al doilea nivel se face pe baza buneifuncionari a primului nivel.

    Localizarea unei erori se face uor, la nivelul curent, deoarecetoate celelalte niveluri (de ordin inferior) au fost depanateanterior.

    Nucleul sistemului

  • 8/12/2019 Sisteme de Operare1

    148/200

    Partea central

    a unui SO

    este nucleul (kernel).

    Principale funcii ale nucleul sunt:

    i i i t i

  • 8/12/2019 Sisteme de Operare1

    149/200

    asigurarea unui mecanism pentru crearea i

    distrugerea proceselor;furnizarea unor instrumente care s permit

    proceselor s-i sincronizeze aciunile;

    realizarea planificrii UC, gestionriimemoriei i a dispozitivelor pentru proceselecreate;

    furnizarea unor instrumente de comunicaiecare s permit proceselor s i transmitinformaii.

  • 8/12/2019 Sisteme de Operare1

    150/200

    II.4. Proiectarea i

    implementarea

    sistemelor de operare

    Obiectivele proiectrii

  • 8/12/2019 Sisteme de Operare1

    151/200

    Prima problem care apare n proiectarea unui SO

    este definirea obiectivelor i a specificaiilorsistemului.

    La nivelul superior, proiectarea este determinat de

    alegerea hardware-ului i de tipul sistemului:cu prelucrare pe loturi,

    time-sharing, mono-utilizator,

    multi-utilizator, distribuit,n timp real sau de interes general.

    Obiectivele proiectrii

  • 8/12/2019 Sisteme de Operare1

    152/200

    Utilizatorul dorete ca sistemul s poat fi folosit i

    nvat cu uurin, sa fie fiabil, sigur i rapid.n mod asemntor, cei care proiecteaz, creeaz,

    ntrein sistemul i opereaz asupra lui doresc ca

    sistemul s fie: uor de proiectat,

    de implementat i ntreinut,

    flexibil, fiabil,

    lipsit de erori i eficient.

    Mecanisme i strategiiU i i i t d i t t i t SO

  • 8/12/2019 Sisteme de Operare1

    153/200

    Un principiu extrem de important n proiectarea SO

    este separarea strategiei (policy), care decide ceanume trebuie de fcut, de mecanism (mechanism)care arat cum trebuie fcut.

    Deciziile de tip strategic au un rol deosebit n toateproblemele de alocare a resurselor, precum i n celereferitoare la planificare.

    Separarea strategiilor de mecanisme asigur i o bun

    flexibilitate a sistemelor, deoarece, n cazul trecerii peun alt sistem, pot fi modificate doar strategiile, fr amai fi nevoie s se modifice i mecanismul de baz.

    Implementarea SOn mod tradiional etapa de implementare se realizeaz prin scrierea

  • 8/12/2019 Sisteme de Operare1

    154/200

    n mod tradiional, etapa de implementare se realizeaz prin scriereasistemului cu ajutorul limbajului de asamblare.

    n prezent, se pot folosi n acelai scop i limbajele de nivel nalt.

    Avantajele utilizrii limbajelor de nivel nalt pentru implementarea SO suntaceleai ca i n cazul scrierii programelor utilizator:

    codul poate fi scris mai repede,

    este mai compact, mai uor de neles i de depanat.Principalul dezavantaj se refer la vitez i la necesarul de memorie.

    Un compilator, orict de performant, nu poate produce cod mai bun dect unlimbaj de asamblare expert, dar este foarte probabil ca un compilator sproduc un cod cel puin tot att de bun ca i cel scris ntr-un limbaj deasamblare obinuit.

    Cu toate c dimensiunea unui SO e foarte mare, numai o mic parte acodului poate fi considerat ca fiind critic din punctul de vedere alperformanelor.

    Generarea sistemuluiDe cele mai multe ori,

  • 8/12/2019 Sisteme de Operare1

    155/200

    ,

    SO sunt proiectate n aa fel ncts poat lucra pe orice tip de calculator,

    ntr-o mare varietate de configuraii periferice.

    Din acest motiv, pentru fiecare tip de calculator

    este necesar ca SO s fie configurat

    sau generat, operaie cunoscut sub numele de

    generarea sistemului.

    Deoarece SO este furnizat de obicei pe suportmagnetic, pentru generare se folosete un program

  • 8/12/2019 Sisteme de Operare1

    156/200

    special, care citete dintr-un fiier sau cere

    operatorului informaii referitoare la configuraiahardware specific a sistemului:

    tipul de UC i opiunile instalate;

    cantitatea de memorie disponibil;dispozitivele existente n sistem;

    opiunile alese pentru SO sau

    valorile parametrilor ce vor fi folosii pentru configurare.

    Odat definite, informaiile pot fi utilizate n moduri diferite.

  • 8/12/2019 Sisteme de Operare1

    157/200

    Noiunea de proces. Definiii n cadrul SO moderne se consider ca unitate de

  • 8/12/2019 Sisteme de Operare1

    158/200

    n cadrul SO moderne, se consider ca unitate delucruprocesul secvenial,definit ca entitate activ:un program aflat n execuie ale crui instruciunisunt parcurse una cte una, la momente de timpdiferite.

    Pentru a-i ndeplini sarcinile, procesele au nevoie deanumite resurse

    (timpul de lucru al UC, memorie, fiiere, dispozitivede I/O etc.)

    care le sunt alocate n momentul crerii.

    Noiunea de proces. Definiii Dar deoarece n sistem numrul resurselor

  • 8/12/2019 Sisteme de Operare1

    159/200

    Dar, deoarece n sistem numrul resurselor

    hardwarei al celor logice este limitat, apareca evident necesitatea ca resursele s fieutilizate n comun, n context multi-utilizator.

    De asemenea, dac ntr-un sistem de calcul

    dotat cu mai multe procesoare se doretemrirea vitezei de lucru al unui program, sepoate fragmenta acest program n subtask-uricare s se execute n paralel.

    Noiunea de proces. Definiiin plus SO poate fi construit modular funciile sale realizndu-

  • 8/12/2019 Sisteme de Operare1

    160/200

    n plus, SO poate fi construit modular, funciile sale realizndu-se prin intermediul unor procese distincte, a cror execuie se

    desfoar la concuren cu cea a proceselor de tip utilizator.Exist deci argumente care justific existena proceselor

    concurente i, implicit, necesitatea includerii n cadrulsistemelor de operare a unor mecanisme destinate asigurrii

    sincronizrii i comunicrii ntre acestea.n timpul execuiei, procesul i schimbstarea (definit ca

    activitate curent a procesului) care poate fi: nou (new), activ(active), n ateptarea unui eveniment (waiting) sau oprit

    (halted).n sistemele cu multiprogramare procesele active pot atepta

    alocarea UC (adic pot figata de execuie (ready)) sau pot sfie deja n posesia acesteia (n execuie (running)).

    n cadrul SO, procesul este reprezentat prin blocul decontrol al procesului (BCP),un bloc de date careconine informaii specifice procesului la care se

  • 8/12/2019 Sisteme de Operare1

    161/200

    conine informaii specifice procesului la care se

    refer: starea procesului, valoare contorului program i a

    registrilor UC (utilizai n cazul apariiei unei ntreruperi),

    informaii despre gestionarea memoriei (valorile registrilorbaz i a registrilor limit sau a tabelei de paginare),

    informaii referitoare la sistemul de conturi utilizator,

    informaii de stare referitoare la operaiile de I/O (cererilede I/O, dispozitivele de I/O alocate procesului, listafiierelor deschise etc.),

    informaii de planificare a UC (prioritatea procesului,indicatori ctre cozilede planificare etc.).

    SO poate crea sau poate terge (desfiina) procese.

    n timpul execuiei prin intermediul apelurilor

  • 8/12/2019 Sisteme de Operare1

    162/200

    n timpul execuiei, prin intermediul apelurilor

    de sistem specializate, un proces (numitprinte) poate crea unul sau mai multeprocese noi (numite copii), fiecare dintreacestea putnd crea, la rndul lor, alte noiprocese.

    Pentru a-i ndeplini rolul, subprocesul noucreat are nevoie, n general, de anumiteresurse (timp de lucru al UC, memorie,

    fiiere, dispozitive de I/O) pe care le poateobine fie direct de la sistemul de operare, fieca subset al resurselor procesului printe.

  • 8/12/2019 Sisteme de Operare1

    163/200

    Terminarea normal a unui proces are loc

  • 8/12/2019 Sisteme de Operare1

    164/200

    Terminarea normala unui proces are loc

    dup executarea ultimei sale instruciuni,moment n care se transmit i anumite date(de informare, de exemplu) ctre procesulprinte.

    Terminarea forata unui proces (ncheiereaexecuiei sale nainte de parcurgerea tuturorinstruciunilor componente) poate fi impusprin intermediul unui apel de sistem (abort)

    generat de ctre procesul printecaretrebuie s cunoasc identitatea copiilorsi,pentru ai putea referi.

  • 8/12/2019 Sisteme de Operare1

    165/200

    Dac execuia unui proces nu poate afecta sau nu poate fi

  • 8/12/2019 Sisteme de Operare1

    166/200

    p p pafectat de ctre execuia altor procese din sistem, se spune ca

    procesul este independent. El poate fi oprit i repornit fr a genera efecte nedorite, este

    determinist (rezultatele depind numai de starea de intrare),nu se afl niciodat n aceeai stare ca i alte procese dinsistem i, evident, nu folosete n comun date (temporare sau

    permanente) cu acestea. Dac ns execuia procesului poate afecta sau poate fi

    afectat de ctre execuia altor procese din sistem, se spune caprocesul este cooperant.

    n acest caz, procesul nu este determinist (rezultatele depindde secvena relativ de execuie, nu pot fi prevzute cuanticipaie), nu este reproductibil (rezultatele nu sunt

    ntotdeauna aceleai pentru aceleai condiii de intrare), sepoate afla n aceeai stare ca i alte procese din sistem i, decele mai multe ori, folosete n comun date cu acestea.

  • 8/12/2019 Sisteme de Operare1

    167/200

    I V. Plani f icareaunitii centrale (UC)

    IV.1. DefiniiiMultiprogramareareprezint cel mai important concept folosit

    n cadrul sistemelor de operare moderne

  • 8/12/2019 Sisteme de Operare1

    168/200

    n cadrul sistemelor de operare moderne.

    Existena simultan n memorie a mai multor procese face ca,prin intermediul unui mecanism de planificare a UC, s sembunteasc eficiena global a sistemului de calcul,realizndu-se o cantitate mai mare de lucru n timp maipuin (n general, un proces folosete UC pn n momentul

    n care trebuie s atepte, de exemplu, realizarea uneioperaii de I/O.

    Fr multiprogramare, pe durata realizrii acestei operaii UCrmne inactiv.

    Altfel ns, sistemul de operare permite imediat unui alt process foloseasc UC, eliminnd timpul de ateptare din primulcaz).

    Deoarece n cadrul sistemului de calcul unitii centrale i revinesarcina complex de a executa un mare numr de procese (saujob-uri) att de tip utilizator ct i de tip sistem, planificarea

  • 8/12/2019 Sisteme de Operare1

    169/200

    j ) p p , pUCreprezint o funcie fundamental a SO.

    Acest mecanism se bazeaz n principal pe proprietateaproceselor de a se executa n forma unei succesiunii de ciclurirafalalternative de folosire a UC (ciclu rafalUC)i deateptare a realizrii unor I/O (ciclu rafalI /O).

    Prin msurarea duratei ciclurilor rafalUC s-a constatat c,dei variaz destul de mult n funcie de proces i de sistemulde calcul folosit, reprezentarea grafic a frsa-ti trimit?

    Secvenei lor de apariie este de tip exponenial sau hiper-exponenial (Figura 6 ).

    Atunci cnd un program conine n mod predominant ciclurirafalUC de scurt durat, se spune c el este limitat I/O;nmod analog, dac programul include mai ales cicluri rafalUC foarte lungi, se spune c este limitat UC.

  • 8/12/2019 Sisteme de Operare1

    170/200

    g , p

    Clasificarea programelor n funcie de proprietatea menionatinflueneaz deseori n mod hotrtor alegerea algoritmului deplanificare a UC.

    Procesele ncrcate n memorie i gata de a fi lansate n execuiesunt grupate ntr-un ir de ateptare (ir ready) n vederea

    alocrii UC.Implementarea acestui ir (numit de multe ori coadde

    ateptare) se realizeaz de obicei sub forma unei listenlanuite ale crei elemente sunt blocurile de control asociateproceselor (BCP), fiecare BCP incluznd un indicator (un

    pointer) ctre procesul care i urmeaz n irul ready.Antetul listei conine indicatorii primului, respectiv, ultimului

    BCP.

    Deoarece, pe lng UC, procesele folosesc i alteresurse ale sistemului de calcul, pentru fiecare dinaceste resurse pot exista iruri de ateptare (cozi),

  • 8/12/2019 Sisteme de Operare1

    171/200

    p p ( ),numite de exemplu iruri dispozitivsau iruri I/Odac este vorba de procesele ce ateapt eliberareaunui dispozitiv de I/O.

    n mod schematic, comportarea proceselor n raport

    cu resursele ce le sunt necesare poate fi reprezentateca n F igura 7, n care se folosesc dreptunghiuripentru iruri de ateptare i cercuri pentru resurselece deservesc irurile, iar sgeile arat evoluia

    proceselor n cadrul sistemului.

    Ori de cte ori UC devine inactiv,

    SO, prin intermediul

  • 8/12/2019 Sisteme de Operare1

    172/200

    , p

    unei componente numite planificator,

    selecteaz pentru execuie

    unul dintre procesele aflate n irul ready.Planificatorul UC poate fi:

    planificator pe termen lung (de perspectiv) sau

    planificator pe termen scurt (imediat)

    Planif icatorul pe termen scurt(numit iplanificator UC) selecteaz unul dintre

    l t d i fl t d j

  • 8/12/2019 Sisteme de Operare1

    173/200

    procesele gata de execuie aflate deja nmemoria intern i i aloc UC.

    Deoarece multe procese conin cicluri

    rafalUC foarte scurte (ctevamilisecunde ), planificatorul pe termenscurt are o frecven de execuie foartemare i, prin urmare, trebuie sa fiefoarte rapid pentru a nu irosi timpul delucru al UC.

    Plani f icatorul pe termen lung(numit i planificator de job-uri)stabilete care sunt procesele ce vor fi ncrcate n memoriaintern a sistemului pentru a fi executate atunci cnd existmai multe cereri dect posibiliti imediate de execuie.

  • 8/12/2019 Sisteme de Operare1

    174/200

    p

    De obicei, n astfel de situaii, procesele se afl memorate pe discmagnetic, de unde planificatorul pe termen lung controleazgradul multiprogramarii (numrul proceselor din memorie).

    n mod evident, frecvena de execuie a acestui tip de planificatoreste mult mai mic i el poate fi folosit mai mult timp dect

    planificatorul pe termen scurt pentru a selecta procesele.Deoarece n sistem pot exista att procese limitate I/O, ct i

    procese limitate UC, este important ca planificatorul petermen lung s aleag o proporie optim de proceseaparinnd ambelor categorii, altfel irul readyva fi aproape

    ntotdeauna gol i UC va fi folosit ineficient (numai proceselimitate I/O) sau irurile I/O i respectiv dispozitivele asociatevor fi n aceeai situaie (numai procese limitate UC).

    Exist i sisteme care folosesc un nivelsuplimentar de planificare prin intermediulunui planif icator pe termen mediu

  • 8/12/2019 Sisteme de Operare1

    175/200

    unui planif icator pe termen mediu.

    Rolul acestuia este de a modifica gradul demultiprogramare atunci cnd este necesar,evacund din memorie anumite procese (care

    altfel ar concura pentru dobndirea UC) ireintroducndu-le n momentul n carencrcarea sistemului permite reluareaexecuiei din punctul n care fusesentrerupta.

    Pentru aceasta metod se folosete nlimbajul de specialitate denumirea de

  • 8/12/2019 Sisteme de Operare1

    176/200

    swapping, ceea ce ntr-o traducere

    aproximativ ar nsemna interschimbaresau, mai sugestiv, evacuare i introducere

    din/n memorie a procesului.Plani f icatoarele pe termen mediusunt

    incluse mai ales n cadrul sistemelor de

    tip time-sharingi a celor cu memorievirtual.

    O alt component deosebit de important a SO estedispecerul, care realizeaz efectiv transferareacontrolului UC asupra procesului selectat de ctre

  • 8/12/2019 Sisteme de Operare1

    177/200

    controlului UC asupra procesului selectat de ctre

    planificatorul pe termen scurt, i la fel ca i acesta,trebuie sa fie foarte rapid pentru a putea executa nmod eficient operaiile necesare:

    ncrcarea registrilor procesului, comutarea n mod utilizator,

    efectuarea saltului la locaia corespunztoare din programulutilizator pentru nceperea/reluarea execuiei acestuia.

  • 8/12/2019 Sisteme de Operare1

    178/200

    I V.2. Criter i i

    de performan

    Atunci cnd se dorete alegerea unui algoritm deplanificare se pot lua n considerare mai multecriterii:

  • 8/12/2019 Sisteme de Operare1

    179/200

    criterii:

    gradul de utilizare al UC: teoretic, poate lua valorintre 0% i 100%, n practic ns, valorile variazntre 40% (pentru un sistem cu ncrcare redus) i90% (pentru un sistem cu ncrcare mare);

    numrul de procese executate ntr-un interval de timpprecizat (throughput): dac procesele au durata marede execuie, se poate vorbi despre un proces pe or, ntimp ce dac se lucreaz cu procese scurte, valorilepot fi, de exemplu, de 15 procese pe secund;

    durata total de execuie unui proces (turnaround time ):reprezint timpul scurs ntre momentul introduceriiprocesului n memorie i momentul ncheierii

  • 8/12/2019 Sisteme de Operare1

    180/200

    procesului n memorie i momentul ncheierii

    execuiei sale; se exprim ca suma perioadelor detimp de ateptare pentru a intra n memorie, deateptare n irul ready, de execuie (avnd alocatUC) i de realizare a operaiilor de I/O;

    durata de ateptare: algoritmul de planificare a UCinflueneaz numai mrimea duratei de timp pe careprocesul o petrece n ateptare n cadrul iruluiready; el nu afecteaz n nici un fel durata de

    execuie a procesului sau volumul de timp destinatoperaiilor de I/O.

    Acesta este motivul pentru care criteriul enunat estefolosit deseori n locul celui anterior;

  • 8/12/2019 Sisteme de Operare1

    181/200

    durata de rspuns: reprezint timpul scurs ntreformularea unei cereri i iniierea comunicriirspunsului corespunztor, fr a include duratacomunicrii propriu-zise (se obine astfel o aprecierea performanelor independent de performanele

    dispozitivelor de I/O ).Criteriul este sugestiv, de exemplu, n sistemele

    interactive n care, la un moment dat, un procespoate produce date de ieire, continund s calculezenoi rezultate n timp ce rezultatele anterioare suntprezentate utilizatorului.

    Prin alegerea unui anumit algoritm de planificare aUC se dorete n general optimizarea criteriului luat

    n considerare (maximizarea n cazul primelor dou

  • 8/12/2019 Sisteme de Operare1

    182/200

    ( p

    i, respectiv, minimizarea n cazul ultimelor trei).Deseori se recurge ns la optimizarea valorii medii sau

    se urmrete minimizarea variaiei duratei derspuns aa cum se ntmpl n cazul sistemelor detip time-sharing (se consider c un sistem cu duratade rspuns moderat i aproximativ constant estemai performant dect unul a crui durat de

    rspuns este mult mai scurt, dar variaz foartemult).

  • 8/12/2019 Sisteme de Operare1

    183/200

    I V.3. Algor itmi

    de planif icare a UC

    Prezentarea ct mai fidel a funcionarii algoritmilorde planificare a UC ar presupune utilizarea unorexemple care s includ un numr mare de procese,

  • 8/12/2019 Sisteme de Operare1

    184/200

    exemple care s includ un numr mare de procese,

    fiecare dintre ele fiind o secven de sute de ciclurirafalUC i I/O.

    Pentru ca toate acestea s nu afecteze nelegerea

    elementelor eseniale, s-a preferat folosirea unei

    variante simplificate n care fiecare proces conineun singur ciclu rafalUC, iar performanele suntapreciate cu ajutorul Duratei Medii de Ateptare

    (notat DMA ).

    Algoritmul FCFS (F irs Come F irst Served)

    (adic primul sosit-primul servit)

  • 8/12/2019 Sisteme de Operare1

    185/200

    este cel mai simplu algoritm de planificare a UC:primul proces care cere alocarea UC

    este cel care o obine.

    irul ready este de tip F IFO (F irst n F irst Out),

    (adic pr imul intrat-primul ieit):

    atunci cnd un nou proces devine gata de execuie,blocul su de control se adaug la sfaritul iruluiready; ori de cate ori devine disponibil, UC estealocat procesului aflat pe prima poziie a irului.

    Algoritmul SJFAlgoritmul SJF (Shortest Job First, adic se execut mai nti

    cel mai scurt job) ia n considerare pentru fiecare proces

  • 8/12/2019 Sisteme de Operare1

    186/200

    cel mai scurt job ) ia n considerare pentru fiecare proces

    urmtorul ciclu rafalUC pe care l conine i aloc UC(atunci cnd ea devine disponibil) procesului cu cel mai scurtciclu rafalUC urmtor existent n irul ready.

    n cazul n care exist dou procese cu aceeai durat a cicluluirafalUC urmtor, ntre ele se aplic regula FCFS.

    Se poate demonstra c planificnd un proces scurt naintea unuilung, durata de ateptare a procesului lung i, prin urmare,

    durata medie de ateptare se reduce n mod substanial.

    Din acest motiv, algoritmul SJF este optimal, asigurnd o durat

    medie de ateptare minim, oricare ar fi setul de procese luatn considerare.

    Singura problema care apare este legat de cunoaterea durateiciclului rafalUC urmtor asociat fiecrui proces analizat.

    Dac se dorete planificarea pe termen lung ntr-unsistem de tip batch, se folosete ca valoare durata

    limit a job-ului precizat de ctre fiecare utilizatorn parte (n cazul n care utilizatorul estimeaz i

  • 8/12/2019 Sisteme de Operare1

    187/200

    n parte (n cazul n care utilizatorul estimeaz i

    precizeaz o valoare prea mic, poate s apareroare de depire a limitei de timp, fiind necesarreplanificarea job-ului).

    Dac ns se dorete folosirea algoritmului pentru

    planificarea pe termen scurt, deoarece nu secunoate cu exactitate durata ciclurilor "rafal"urmtoare ale proceselor implicate, se poate realizadoar o aproximare a funcionrii reale (de exemplu,

    se poate predicta valoare unui ciclu "rafal" UC

    urmtor pe baza valorilor ciclurilor anterioare).

    Algoritmi bazai pe prioritin cadrul acestui tip de algoritm, fiecrui proces i se

  • 8/12/2019 Sisteme de Operare1

    188/200

    asociaz oprioritate (reprezentat, n general, ca unnumr cuprins ntr-o gama fixat de valori), UCfiind alocat (n momentul n care devinedisponibil) procesului cu cea mai mare prioritate

    din irul ready.SJF este un caz particular de algoritm bazat pe

    prioriti n care prioritatea fiecrui proces este un

    numr invers proporional cu mrimea ciclului"rafal" UC urmtor.

    Prioritatea se poate defini intern sau extern.

    Atunci cnd definirea este de tip intern, prioritateaprocesului se calculeaz pe baza unei entiti

  • 8/12/2019 Sisteme de Operare1

    189/200

    procesului se calculeaz pe baza unei entiti

    msurabile cum ar fi, de exemplu, limita de timp,necesarul de memorie, numrul fiierelor deschise

    sau raportul dintre numrul mediu de cicluri"rafal" I/O i numrul mediu de cicluri "rafal"

    UC.Dac definirea este de tip extern, criteriile folosite sunt

    din afara sistemului de operare: tipul i mrimeafondurilor rambursate pentru utilizarea

    calculatorului, departamentul care sponsorizeazalucrarea, factorii politici etc.

    Principala problem a algoritmilor bazai peprioriti este posibilitatea apariiei blocrii lainfinit ("nfometrii") a proceselor care sunt

    t d i d d i it t

  • 8/12/2019 Sisteme de Operare1

    190/200

    gata de execuie, dar, deoarece au prioritateredus nu reuesc sa obin accesul la UC.

    O astfel de situaie poate s apar ntr-un sistemcu ncracare mare n care se execut un

    numr considerabil de procese cu prioritateridicat; acestea vor obine mereu accesul laUC n detrimentul proceselor cu prioritateredus care este posibil s nu se mai execute

    niciodat.

    O metod de rezolvare a acestei probleme este"mbtrnirea" proceselor, o tehnic prin care semrete treptat prioritatea proceselor care se

  • 8/12/2019 Sisteme de Operare1

    191/200

    mrete treptat prioritatea proceselor care se

    constat c rmn n sistem un timp mai ndelungat.De exemplu, dac prioritile sunt cuprinse n

    domeniul 0 pn la 64, se poate stabili ca la fiecare

    10 minute s fie incrementat cu cte o unitateprioritatea proceselor rmase n ateptare.

    n acest fel, chiar i un proces cu prioritate iniiala 0 vareui ca ntr-un timp destul de scurt s ajung celmai prioritar i, prin urmare, s obin accesul laUC (s se execute).

    Algoritmi preemptiviToti algoritmii de planificare a UC descrii

    t i (FCFS SJF i l it ii b i

  • 8/12/2019 Sisteme de Operare1

    192/200

    anterior (FCFS, SJF i algoritmii bazai peprioriti) sunt algoritmi ne-preemptivi: odatalocat, UC este folosit de ctre proces pnn momentul n care acesta dorete s oelibereze (i ncheie execuia sau urmeaz sefectueze o operaie de I/O ).

    Un algoritm preemptiv permite ns ntrerupereaexecuiei unui proces n momentul n care n

    irul ready apare un alt proces cu dreptprioritar de execuie, sistemul de operarealocndu-i imediat acestuia UC.

    Algoritmi preemptiviAlgoritmul FCFS este prin definiie ne-preemtiv; ceilali doi

    algoritmi prezentai pot fi modificai, astfel nct sa devin

  • 8/12/2019 Sisteme de Operare1

    193/200

    algoritmi prezentai pot fi modificai, astfel nct sa devin

    preemptivi. SJF preemptiv se formuleaza astfel: dac n irulready sosete un proces al crui ciclu "rafal" UC urmtoreste mai scurt dect ceea ce a mai rmas de executat din ciclul"rafal" UC al procesului curent, se ntrerupe execuia celuidin urma i se aloc UC noului proces.

    Un algoritm preemptiv bazat pe prioriti funcioneaz ntr-unmod similar: ori de cte ori sosete n irul ready un nouproces, prioritatea sa este comparat cu a procesului curent;dac se constat c este mai mare, se ntrerupe execuiaprocesului curent i se aloc UC procesului nou (dacalgoritmul bazat pe prioriti este de tip ne-preemptiv,execuia nu se ntrerupe, noul proces fiind pus la nceputulirului ready, comform prioritiipe care o are i ateptndeliberarea UC).

    Algoritmul Round-RobinRound-Robin este un algoritm de planificare a UC

    proiectat special pentru sistemele de tip time

  • 8/12/2019 Sisteme de Operare1

    194/200

    proiectat special pentru sistemele de tip time-

    sharing. Principalele sale caracteristici suntdefinirea i folosirea unei cuante temporale (cuvalori cuprinse ntre 10 ms pn la 100 ms) itratarea irului ready ca ir FIFO circular.

    Planificatorul aloc pe rnd UC fiecrui proces din irpe o durat egal cu cel puin o cuant (se foloseteun timer setat n mod corespunztor). Durataciclului "rafal" UC al procesului curent este maimic dect durata cuantei, nsui procesulelibereaz UC prin emiterea unei cereri de I/O sauprin comunicarea ncheierii execuiei.

    Algoritmul Round-RobinDac ns durata ciclului rafalUC depete

    durata cuantei timer ul va genera o ntrerupere i

  • 8/12/2019 Sisteme de Operare1

    195/200

    durata cuantei, timer-ul va genera o ntrerupere i

    procesul va fi inclus la sfritul irului ready, dupce n prealabil contextul su a fost salvat n bloculde control asociat.

    Se poate spune deci ca algoritmul Round-Robin este

    un algoritm preemptiv, care asigur un timpaproape egal de ateptare pentru toate procesele dinsistem.

    ntr-adevr, dac n irul ready exist N procese i se

    lucreaz cu o cuant de valoare C, fiecare proces vafolosi n total 1/N din timpul UC, fiecare alocaredurnd cel mult C uniti de timp. ntre douaalocri succesive ctre acelai proces durata deateptare va fi de cel mult (N-1)*C uniti de timp.

    iruri de procese multinivelAtunci cnd procesele existente n sistem pot fi clasate

    n grupe diferite n funcie de anumite caracteristici

  • 8/12/2019 Sisteme de Operare1

    196/200

    n grupe diferite, n funcie de anumite caracteristici

    (de exemplu, valori ale timpului de rspuns,prioritate definit extern, necesar de memorie etc.),se utilizeaz un algoritm de planificare pentru irurimultinivel.

    irul ready este format din mai multe subiruri,fiecare dintre acestea coninnd cte o categorie deprocese i avnd propriul algoritm de planificare.

    De exemplu, se pot crea dou subiruri: unul pentru

    procese interactive (foreground) i altul pentruprocese de tip batch (background); pentru primul sepoate folosi un algoritm de tip Round-Robin, iarpentru cel de-al doilea un algoritm FCFS.

    iruri de procese multinivelEste important de reinut faptul c i ntre subiruri trebuie s

    existe un algoritm de planificare (de cele mai multe ori un

  • 8/12/2019 Sisteme de Operare1

    197/200

    e s e u go de p c e (de ce e u e o u

    algoritm preemptiv bazat pe prioriti nemodificabile).De exemplu, se poate stabili ca subirul proceselor interactive

    sa aib prioritate mai mare dect cel al proceselor de tipbatch, ceea ce va face ca procesele din al doilea subir s sepoat executa numai atunci cnd primul ir este vid; dac

    ntre timp apare un proces n primul ir, se ntrerupeexecuia procesului curent i UC este alocat noului sosit.

    O alt variant de planificare ntre subiruri este stabilirea cteunei perioade de timp n care fiecare dintre acestea s deinaUC n mod exclusiv.

    De exemplu, pentru subirul proceselor interactive se poateacorda 80% din timpul total al UC, iar pentru subirulproceselor de tip batch restul de 20%.

    iruri de procese multinivel cu feedbackSpre deosebire de algoritmul prezentat anterior, n care

    procesele odat introduse ntr-un subir rmneau n cadrul

  • 8/12/2019 Sisteme de Operare1

    198/200

    procesele, odat introduse ntr-un subir, rmneau n cadrul

    acestuia pn la ncheierea execuiei, n cazul unui algoritmde planificare pentru iruri multinivel cu feedback, sepermite mutarea unui proces dintr-un subir n altul, nfuncie de anumite caracteristici dinamice.

    Metoda favorizeaz procesele interactive i procesele limitateI/O care sunt plasate n subiruri cu prioritate ridicat,"retrogradnd" procesele care folosesc UC un timp prea

    ndelungat n subiruri cu prioritate redus. De asemenea,previne apariia fenomenului de "nfometare" (blocare la

    infinit) printr-o form de "mbtrnire": permite proceselorcare asteapt de prea mult timp n irurile de prioritateredus s "promoveze" n cadrul irurilor de prioritateridicat.

    Pentru a putea defini complet un algoritm de planificare pentruiruri multinivel cu feedback este necesar precizarea maimultor parametri:

  • 8/12/2019 Sisteme de Operare1

    199/200

    numrul de subiruri;

    algoritmul de planificare asociat fiecrui subir;

    metoda de stabilire a subirului n care intra

    procesul atunci cnd dorete s se execute; criteriul i metoda de "promovare" a unui proces

    ntr-un subir cu prioritate ridicat;

    criteriul i metoda de "retrogradare" a unui procesntr-un subir cu prioritate redus.

    Avnd un nalt grad de generalitate,

    algoritmul de planificare

  • 8/12/2019 Sisteme de Operare1

    200/200

    pentru iruri multinivel cu feedbackeste i cel mai complex,

    oferind avantajul unor performane ridicate,

    dar necesitnd n acelai timp

    un numr mare de informaii

    pentru stabilirea valorilor optime


Recommended