s.o

14
1. Calculatorul ca sistem de prelucrare automate a datelor Calculatorul este un SPAD pentru care partea de automatizare este legata de notiunea de algorit si care permite(cel putin theoretic)schimbarea algoritmului Algoritmul este stocat de regula intr-o component numita usual memorie , sub forma unui program Programele metode de reprezentare a algoritmului Programul din memorie este scris in limbaj masina(cod masina) 2. Translatare si translatoare. Tipuri, exemple etc. Transformarea unui program dintr-un limbaj in alt limbaj se numeste translatare Daca limbajul destinatie este limbaj masina , atunci transformarea se numeste complilator , iar operatiunea se numeste compilare Dacare limbajul destinatie este limbaj de asamblare atunci operatia se numeste asamblare, iar instrumental se numeste asamblar Limbajul de asamblare este un limbaj numeric, care ofera o exemplarea simbolica pentru fiecare instructiune posibila din limbajul masina

Upload: coso-alex

Post on 15-Apr-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: S.o

1. Calculatorul ca sistem de prelucrare automate a datelor

Calculatorul este un SPAD pentru care partea de automatizare este legata de notiunea de algorit si care permite(cel putin theoretic)schimbarea algoritmului

Algoritmul este stocat de regula intr-o component numita usual memorie , sub forma unui program

Programele metode de reprezentare a algoritmului

Programul din memorie este scris in limbaj masina(cod masina)

2. Translatare si translatoare. Tipuri, exemple etc.

Transformarea unui program dintr-un limbaj in alt limbaj se numeste translatare

Daca limbajul destinatie este limbaj masina , atunci transformarea se numeste complilator , iar operatiunea se numeste compilare

Dacare limbajul destinatie este limbaj de asamblare atunci operatia se numeste asamblare, iar instrumental se numeste asamblar

Limbajul de asamblare este un limbaj numeric, care ofera o exemplarea simbolica pentru fiecare instructiune posibila din limbajul masina

Daca limbajul surasa este limbajul masina si se incearca obtinerea unui rezultat in limbaj de asamblarea sau alt limbaj, operatia se numeste “reverse engineering”

Reverse engineering pentru care limbajul destinatie este limbajul de asamblare ,operatia se mai numeste si dezamblare

Daca limbajul destinatie este un limbaj de nivel inalt,operatia se numeste decompilare

Limbajul de nivel inalt – orice limbaj care permite scrierea de programe cu cat mai putine instructiuni (limbajele de asamblare si masina nu sunt de nivel inalt)

Page 2: S.o

Instructiunea este elementul de baza al unui program , orice program are o secventa de instructiuni

3. Interpretoare si limbaje interpretate

Daca dorim ca o aplicatie scrisa in limbajul L1 sa poate fi compi;ata multi-platforma(adica, dupa caz in limbaj L2…….Ln)folosind un acelasi compilator ,Solutia este tranformarea din limbaj initial intr-un limbaj intermediar

Aceasta solutie se gaseste in lumea sistemului de operea de tip UNIX unde L1 este de regula lumbaju C, programele in C sunt sursele sitemului de operare, iar platfomele L2…..Ln sunt platform de transformare

O alta variant pentru a rula multi platform este definirea unei masini virtuale( care nu exista cu adevarat)

Masina virtuala este un program care ruleaza in interiorul unui alte masini fizice sau virtuale numite masina gazda

In cazul JVM sau a altor masini virtuale, limbajul masina al acestora se mai numeste Z-code, P-code

Daca translatorul nu translateaza aplicatia scrisa in limbajul L1, ci doar in scurte secvente sunt translatate intr-un limbaj de tip z-code ,iar aceasta este rulata de masina virtuala , spunem ca in acest caz masina virtuala este interpretator , iar activitatea se numeste interpretare

Deoarece aplicatia de interpretare ruleaza mult mai incet decat ce.a fizicata , exista incercari de definire pentru astfel de limbaje

Exemple : Cliper FOX-PRO, compilatorul V.FOX-PRO, PHP

Page 3: S.o

4. Masini von Neumann

Memoria este formata din algoritmii si date operationale

Conform teoriei lui Bohim-Iacoppini orice algorimt poate fi scris folosind 3 strucuri ortogonale doua cate doua si anume : secventa, alternativitatea si eteratia. De aceea este greu de justificat necesitatea existentei mecanismelor de tip infecattare respective a mecanismelor de autoinfectare.

Sarcina delimitarii datelor de programe revine de cele mai multe ori sistemului de operere care va folosi separarea la nivelul sitemului de fisiere, la nivelul mecanismelor de paginare a memoriei , etc.

5. Firmware si calculatoare dedicate

Firmeware= software instalat pe un calculator cu funcitonalitate ridicata care se presupune ca nu este modificat prin procedure uzuale de catre beneficiarul calculatorului

Desi nu in toate cazurile O.S nu sunt/sunt firmware-uri veritabile , vom considera ca firmware-urile sunt sisteme de operare

Exista si firmware-uri care sunt sisteme de operare reale, optimizate sa ruleze pe echipamente specific(routere pe care ruleaza Linux)

Exista calculatoare nededicate(PC, tablete…) care au sistemul de operare setate din fabrica in regim de firmware (unele calculatoare de tip Brand care permit restaurarea sistemului de operare pe baza unei informatii memorate)

6. Interfete si interconectarea calculatoarelor. Exemple

Page 4: S.o

a) Perifericele : De intrare, de iesire , de intrare si iesireb) Interfata

Definitie:

Numim INTERFATA perifericul de telecomunicatie vizibil la nivelul calculatorului si care permite interconectare cu alte calculatoare si/sau cu alte echipamente active comptibile cu interfata la nivelul canalului de comunicatii

Exemple : Dispozitive wireless, module de comunicatie prin fibra optica , placa de retea

Obs.

Unitatea de schimburi poate fi magistrala de date interna a calculatorului (caz in care inerfata este in interiorul calculatorului ); poate fi sitemul USB…

In functie de canalul de comunicatie si de protocoalele utilizate , comunicatia poate fi:

-punct la punct

-punct la multi punct

-orice punct la orice punct

PP-> IDSL

PM->ADSL,DOCSIS

Orice pct la orice pct-> ITH,WIFI(la niv interfetei)

Exista periferice care permit in mod transparent gestionarea comunicatiei intre calculatoare(se comporta ca niste bridge-uri) sau poate sa fie din doua leap-uri in acest caz fiind vorba despre un echipament active

Page 5: S.o

Obs.1 In functie de canalul de comunicatie putem lega doar doua calculatoare(interfetele acestora sau mai multe)

2. Exista posibilitatea ca un calculator sa aiba mai multe interfete

3. Faptul ca un calculator are o interfata nu inseamna ca este obligatoriu ca aceasta interfata sa fie vizibila

4. E posibil(d.p.d.v tehnic) sa am doua interfete ale aceluiasi calculator legate la canal de telecomuncatii

5. Se pot define interfete virtuale peste unul sau mai multe interfete fizice, respective peste unul sau mai multe canale de telecomunicatii

6. Calculatoarele virtuale pot avea interfate virtuale sau pot avea acces la interfetele fizice ale gazdelor direct sau indirect pentr-un mechanism de virtualizare(HAL)

S.m Bridge un dispozitiv cu cel putin 2 interfete contectate la canalele de comunicatii aferente creend un singur canal de comunicatii

Obs.

1. Conectarea unui bridge trebuie sa fie transparenta calculatoarelor conectate

2. Mutarea unui bridge este justificata uneori de motive tehnologice(cum ar fi tronsoane prea lungi)

3. Un alt exemplu de utilizare a bridge-ului este in cazul interfatarii de medii eterogene

4. Bridge-urile sunt considerate ca fiind similar echipamentelor passive intr-o retea de interconectare

Swich-urile sunt echipamente active care permit interconectarea mai multor retele intr-un singur regim usor optimizat bazat pet abele interne de adrese de retea sip e un buffer pentru date care se livreaza intarziat

Page 6: S.o

Obs. Un swich fara tabela de adrese si fara buffer care se comporta ca un bridge se numeste hub

2. Swich-ul care are interfata de tip Ethernet are memorat in Tabela de adresa MAC-urile interfetelor corespondente

3. In cazul umpleri tabelei max apare fenomenul de coliziune ce poate duce fie la blocarea swich-ului , fie la resetarea lui .

4. E posibil ca swichul sa aiba un processor si un program propriu , in acest caz el fiind un calculator dedicate

5. Exista posibiliatea ca swich-ul sa ofere functionalitati suplimentare cum ar fi cele de securitate sau mecanistem de tip shaping

6. Exista swich-uri sau alte echipmanete active superioare care permit definirea de swich-uri virtuale (VLAN)

8. Arhitectura generica a unui cluster de calculatoare

Obs.

1. Un cluster(ferma trebuie sa aiba minim un NPE si minim un NA)Comanda linux: hostname => nr de ip-uri

2. Numarul de NC-uri trebuie sa fie cat de cat mare pe a asigura:a) O putere de calcul mareb) O redundanta sporita cluster-ului

3. Exista posibilitatea ca cluster-ul sa fie organizat ca un furnizor de servicii(calculator virtual dedicate)

4. Exista clustere organizate ca un super-router

9. Procese

Proces= orice secventa de program care are o durata de viata , are mecanisme de “reproducere” precum si un spatiu propriu de evolutie

Page 7: S.o

Durata de viata(a unui process)=intervalul de timp cuprins intre nasterea unui process si moartea unui proces

Nasterea= mecanismul prin intermediul caruia apare un nou process , nasterea se face prin clonare; si exista un singur process (procesul intial) care este “creat” si nu nascut

Moartea= mecanismul prin care un process dispare la un moment dat, moartea unui process poate implica moartea altor procese

Spatiu de evolutie= zona de memorie in care un process poate gestiona structurii proprii(vizibile)

Obs.

1. Relatia de filiatie intre procese este marcata uzual prin substantive”masculine”(tata, fiu, nepot)

2. Exista un singur process care nu are tata. Acesta este procesul INIT(initializeaza O.S) si care se incarca de pe un dispozitiv de stocare sau direct inscris in firmwarul dispozitivului

3. Toate procesele trebuie sa fie identificabile, identificarea unui process se face pe baza unui numar (PID) dat de catre gestionarul de procese

Pornirea procesului de nastere(clonare) se face in urma apelarii functiei fark()

Functia fark() in caz de reusita intoarce in procesul tata PID-ul copilului

0-in caz de reusita in FIU

0+- in caz de reusita TATA

0- In caz de nereusita (in TATA)

10. Gestionarul de procese

Page 8: S.o

= o secventa de programe (eventual un process) care gestioneaza activitatile aferente nasteri si mortii proceselor, adica gestionarea tabelei de procese si gestionarea memoriei allocate unui process

Tabela de procese –contine pt fiecare PID-ul potential unui process

A) PIDB) Statut liber/ scriptC) Adresa de memorie pt memoria alocata

Memoria alocata se copiata pentru procesul fiu dupa memoria alocata procesului parinte

Codul program pentru procesul fiu se refoloseste dupa codul program al tatalui

Principalele motive pentru care gestionarul de procese intampina -1 la natere sunt:

-esuarea procesului de nastere

-inexistenta unui PID

-imposibilitatea alocarii de memorie

La moartea unui process, gestionarul de procese va elibera memoria, precum si alte resurse si se marcheaza PID-ul ca fiind liber

Obs. Algoritmul de alocare a PID-ului este propriu fiecarui gestionar de procese , de exemplu in Linux se aloca PID-uri successive pana la atingerea PID-ului maxim

Procesorul, ca resursa critica este partajat de toate procesle care vor sa aiba acces la resursa procesorului.

Page 9: S.o

Partajarea se face prin timesharing

Obs.

1. Administratorul timpului proceselor aloca cate time slot in mod dynamic proceselor in viata in functie de prioritatile atasate acestora

Proces in viata= process care a fost nascut si nu a murit

2. Prioritatea = atribut al proceselor care le permite un acces mai des/mai lung la resura procesorului

3. Pricesele se mai numesc concurente pentru ca ele sunt actorii care incearca accesul la resurse(processor sau alte resurse)

4. In cazul unui system multiproces (ex. Processor cu mai multe nuclee sau mai multe procesoare in acelasi sitem sau un sistem multi-calculator , sau un calculator vectorial) administratorul cu acces la procesoare va putea aloca in paralele mai multe procese procesoarelor la un moment dat

Moartea proceselor

Procesele pot sa moara in urmatoarele cazuri:

1) Moartea naturala2) Moartea parintelui: orice process inainte de a muri trimite semnale kill

tuturor proceselor fiu 3) La primirea semnalului kill

Kill-ul poate veni de la parinte sau de la orce alt process

Exista procese care tehnic sunt moarte( nu mai au cod si nu mai au memorie alocata , dar au PID si resurse allocate

*Alocare de process

Ex: ps axf

Kill -9 PID

Killall firefox

Page 10: S.o

12. Starile unui proces

Un process este active daca are acces la resursa numita processor

Numarul de procese active este cuprins intre 0 si numarul de procesoare

Un process inactive este un prces care traieste, dar nu are acces la resursa procesorului

Un process active devine inactive daca gestionarul de procese preia depreul de acces la processor

Un process inactive devine active daca primeste din partea gestionarului de procese dreptul de acces la processor

Obs.

Presupunand ca nr de procesoare este mai mare decat cel al proceselor active, exista posibilitatea ca , la nastere procesul sa fie direct active

Din starea de “parcat” nu se poate reveni direct la active , ci trece prin starea de inactive.

Procese zombie= procese care au murit , dar nu au murit , le vedem , deci au PID , dar care nu au eliberat toate resursele.

Comanda : top -> lista cu starea proceselor