Documente Academic
Documente Profesional
Documente Cultură
Mostenire= creearea unei clase numita extinsa sau derivata , din alta clasa numita clas a de
baza
Polimorfism=tratarea uniforma a obiectelor din clase diferite.. Exista la clasa diferite
derivate din aceesi clasa de baza.Polimorfismul este implementat printr-un apel al unei
metode care executa metode distincte pt obioecte din clase distincte
Este posibil prin redefinirea metodelor si datelor private prin mostenire.
1
-Se cauta in spatiul starilor
-se cauta in arborii AND/OR
Asa cum am vazut mai sus, conceptul de mostenire este o notiune foarte naturala si pe care o
intalnim in viata de zi cu zi. In C++ intalnim notiunea de derivare, care este in fapt o
abstractizare a notiunii de mostenire. O clasa care adauga proprietati noi la o clasa deja
existenta vom spune ca este derivata din clasa originala. Clasa originala poarta denumirea de
clasa de baza.
Clasa derivata mosteneste toate datele si functiile membre ale clasei de baza; ea poate
adauga noi date la cele existente si poate suprascrie sau adauga functii membre. Clasa de
baza nu este afectata in nici un fel in urma acestui proces de derivare si ca urmare nu trebuie
recompilata. Declaratia si codul obiect sunt suficiente pentru crearea clasei derivate, ceea ce
permite reutilizarea si adaptarea usoara a codului deja existent, chiar daca fisierul sursa nu
este disponibil. Astfel, nu este necesar ca programatorul unei clase derivate sa cunoasca
modul de implementare a functiilor membre din componenta clasei de baza.
O notiune noua legata de derivare este cea de supraincarcare sau suprascriere a functiilor
membre. Aceasta se refera, in mod evident, la redefinirea unor functii a clasei de baza in
clasa derivata. De notat este faptul ca functiile originale din clasa parinte sunt in continuare
accesibile in clasa derivata, deci caracteristicile clasei de baza nu sunt pierdute.
Dintr-o clasa de baza pot fi derivate mai multe clase si fiecare clasa derivata poate servi mai
departe ca baza pentru alte clase derivate. Se poate astfel realiza o ierarhie de clase, care sa
modeleze adecvat sisteme complexe. Pornind de la clase simple si generale, fiecare nivel al
ierarhiei acumuleaza caracteristicile claselor "parinte" si le adauga un anumit grad de
specializare. Mai mult decat atat, in C++ este posibil ca o clasa sa mosteneasca simultan
proprietatile mai multor clase, procedura numita mostenire multipla. Construirea ierarhiei de
clase reprezinta activitatea fundamentala de realizare a unei aplicatii orientate obiect,
reprezentand in fapt faza de proiectare a respectivului sistem
4. Fis text.
Fisierul text este o succesiune de caractere ASCII încheiata cu caracterul ^Z, care are rol de
marcator de sfârsit de fisier. Deci, componentele elementare ale fisierelor text sunt
caracterele, grupate în linii. Lungimea liniilor nu este fixa, pentru separarea lor utilizându-se
un marcaj de sfârsit de linie (caracterele CR/LF).
Fisierele text pot fi create prin intermediul editoarelor si sunt direct afisabile.
2
5. Principii proiectare obiectuala.
1.Descompunerea
2.Ierarhizarea
3.Abstractizarea
Caract microcontroler-elor.
Microcontrolerul este un dispozitiv electronic complex care integreaza, pe langa unitatea
centrala de procesare ( microprocesor ), memorie, linii de intrare/iesire, comparatoare,
numaratoare, seriala, etc.
Toate aparatele inteligente fabricate astazi dispun de astfel de microcontrolere. Pot include
aici televizoarele, masinile de spalat, imprimantele, sistemele de alarma, majoritatea
aparatelor ce pot fi programate si care citesc anumiti parametri ce se modifica in timp.
Caracteristicile microcontrolerelor
· Optimizate pentru control in timp real si pentru sarcini de manipulare a datelor;
· Executie predictibila, in functie de arhitectura;
· Microcontrolerele se comporta bine la intreruperi, mai ales la evenimente externe
asincrone;
· Mai multe caracteristici de I/O, inclusiv manipularea bitilor;
· Marime mare a programului, deseori se aplica HLL;
· Set bogat de periferice on-chip.
3
6. Caracteristica metodei relationale a BD.(bazei de date)
Modelul relaţional a fost introdus de E.F. Codd în 1970 şi a constituit un moment de
răscruce în managementul datelor. Abordarea propusă de Codd era complet diferită de cele
anterioare. În modelul relaţional structura de date era reprezentată de o tabelă, de tip
spreadsheet, constituită din linii şi coloane. Fiecare linie identifică un articol şi fiecare
coloană un câmp din articol.
În limbajul relaţional tabela este realţia, linia este tuplul iar coloana atributul. Astfel
modelul relaţional este perfect fundamentat matematic de algebra relaţiilor. O tabelă este
unic identificată de o cheie primară, respectiv o coloană (câmp, atribut) sau o combinaţie
de coloane cu proprietatea că nu există două linii din tabelă care să aibe aceeaşi valoare
pentru cheia primară. Un domeniu este o mulţime de valori posibile pentru atribute
specifice relaţiei.
Cheia primară este un caz special de cheie candidată (candidate key). O cheie candidată
pentru o relaţie R este o submulţime K de atribute ale lui R cu proprietatea de unicitate şi de
ireductibilitate. Proprietatea de unicitate spune că nu există două tuple din R care să aibe
aceaşi valoare pentru K, iar proprietatea deireductibilitate constă în faptul că nici un subset
propriu al lui K nu are proprietatea de unicitate.
Cheia străină (foreign key) este un atribut sau o combinatie de atribute ale unei relatii R2
ale caror valori trebuie sa se potriveasca cu cele ale unei chei primare dintr-o alta relatie R1.
relatiile R1 si R2 nu sunt neaparat distincte. Cheia straina si cheia primara trebuie sa fie
definite neaparat pe acelasi domeniu.
7. Pointeri.
tip *nume tipul spre care< pinteaza
acces la info *p
operatorul &
&p= adresa lui p
Proprietati
se pot face atribuiri
4
pointerul poate primi valoarea NULL
comparatii intre pointeri de acelasi tip
adunarea intre un pointer si un intreg
incrementarea-decrementarea
diferenta intre doi pointeri de acelasi tip
pointeri la functii
o varoabila pointer contine o adresa
-trace-cache
8. Leg polimorfism-mostenire
-proprietatea unei aplicatii de a se comporta diferit in functie de conditiile din momentul
rularii
-pb apare in momentul in care se apeleaza o metoda( cu nume si parametrii cunoscuti ) a
unui obiect dar nu se cunoaste tipul obiectului
-acest lucru este posibil numai in cazul pointerilor la clase de baza care pot tine adresa atat a
unor obiecte ale clasei de baza cat si a oricaror ob derivate din ac clasa de baza
polimorfismul apare numai in contextul mostenirii
Mostenire= creearea unei clase numita extinsa sau derivata , din alta clasa numita clas a de
baza
Polimorfism=tratarea uniforma a obiectelor din clase diferite.. Exista la clasa diferite
derivate din aceesi clasa de baza.Polimorfismul este implementat printr-un apel al unei
metode care executa metode distincte pt obioecte din clase distincte
Este posibil prin redefinirea metodelor si datelor private prin mostenire.
Arbori de joc
Trasaturi fundamentale:
-exista 2 jucatori care muta pe rand
--la fiecare mutare, regulile definesc atat ce mutari sunt legale , cat si efectul pe care l-ar
avea fiecare mutare posibila
-fiecare jucator are informatia completa despre pozitia adversarului, inclusiv despre alegerile
pe care acesta le-ar putea face
-jocul incepe dintr-o stare specificata, adesea o anumita configuratie a pieselor pe tabla
-se sfarseste prin castigul unui jucator si pierderea celuilalt, sau prin egalitate
5
Un arbore de joc complet este o reprezentare a tuturor partidelor posibile ale unui astfel de
joc. Modul radacina este starea initiala, in care este randul primului jucator la mutare.
Succesorii sai sunt starile in care se poate ajunge din el printr-o singura mutare, succesorii
acestor stari fiind starile rezultate din replicile posibile ale celuilalt jucator...
Starile finale sunt acelea care duc la o victorie, infrangere sau remiza
-fiecare cale completa de la nodul radacina la un nod terminal da o partida completa
-un arbore se reprezinta din pdvd al unui singur jucator:
-nodurile posibile ale acestuia sunt reprezentate prin noduri OR
-mutarile pe care le poate primi in replica sunt noduri AND pt ca reprezinta
mutari la care jucatorul trebuie sa le faca fata
Fomalismul min-max
-tehnica de cautare in arborii de joc
-datorita modului in care sunt evaluate modurile jucatorul A este adesea numit max iar
jucatorul B min
9. Functii, declaratii
prototip tip_rez ume_functie(tip1,tip2,...)
corp functie
Nivelul retea
controlul functionarii subretelei de comunicatie
alegerea rutei sursa-dest
dirijare - statica tabela cablata
- dinamica algoritmi de rutare
spargerea pachetelor mari in subpachete , daca reteaua intermediara nu suporta pachete mari
Genul proxim: o colecţie de date. Datele din data warehouse provin în principal din datele
6
capturate din sistemul operaţional, dar mai pot proveni din datele de arhivă (în perioada de
constituire a depozitului) precum şi din surse externe, cum ar fi baze de date publice. Câteva
exemple posibile: date demografice (obţinute în urma unui recensământ), date statistice
(furnizate de institute specializate), date de prognoză economică (furnizate de instituţii
orientate pe studiul pieţei), date obţinute în urma unor sondaje de opinie, etc. Aceste date pot
fi cumpărate, pot fi preluate pe bază de abonament sau pot fi date publice gratuite.
Orientare tematică
Să remarcăm pentru început că datele operaţionale sunt orientate pe aplicaţii, în sensul că
organizarea lor este optimizată pentru a servi procesului tranzacţional, dinamicii sistemului.
În contrast, depozitul de date este orientat pe subiectele importante ale procesului economic,
cum ar fi: clienţi, furnizori, produse, activităţi.
Un exemplu simplu poate fi edificator: o comandă lansată de un client va fi consemnată de
sistemul operaţional printr-un set de înregistrări care vor conţine informaţii despre client,
informaţii despre produsele sau serviciile comandate, informaţii despre modul de transport şi
modul de plată, etc. Atenţia sistemului tranzacţional este orientată către consistenta cheilor,
astfel încât operaţia să păstreze consistenta. Multe dintre datele esenţiale din perspectivă
operaţională (numărul comenzii, poziţiile liniilor în cadrul comenzii, etc) sunt complet
lipsite de relevantă din perspectivă informaţională.
O consecinţă importantă a acestei orientări este redundanţa datelor. Dacă în sistemul
operaţional redundanţa este eliminată (prin procesul de normalizare) pentru a evita
anomaliile de actualizare, în depozitul de date redundanţa este creată în mod intenţionat
(prin denormalizare şi rezumare) pentru a permite un acces tematic mai facil.
Integrare
Este cel mai important aspect al depozitului de date şi, în cele din urmă, raţiunea pentru care
acesta este creat. Datele sunt adunate aici pentru a răspunde nevoilor informaţionale ale
întregii organizaţii, asigurând faptul că rapoartele generate pentru diverse compartimente
vor conţine aceleaşi rezultate. Sistemul operaţional este de cele mai multe ori format din
subsisteme semi-independente, create la momente diferite, de echipe diferite, în maniere
diferite, rezultând o babilonie care, deşi funcţională, este imposibil de folosit pentru analiză.
Contextul temporal
Sistemul operaţional al unei organizaţii tinde mereu să reflecte realitatea curentă. Astfel, el
7
se află într-o continuă evoluţie iar datele pe care le conţine sunt relevante doar pentru
momentul în care sunt accesate. Orizontul de timp pe care îl acoperă este de regulă de 60
până la 90 de zile, deoarece după acest interval tranzacţiile efectuate sunt arhivate, fiind
considerate deja de domeniul istoriei, deci neinteresante din perspectivă operativă.
Pentru nevoile analizei economice, dimpotrivă, informaţiile cu caracter istoric sunt
esenţiale, deoarece ele pun în evidentă tendinţe care reprezintă fundamentul unei prognoze
corecte. Depozitul de date se constituie într-un istoric al sistemului operaţional, constituit
dintr-o serie de "instantanee", imagini la diverse momente în timp. Orizontul de timp pe care
îl acoperă depozitul de date este de cel puţin cinci ani, ajungând uneori la zece ani, în funcţie
de dinamica evoluţiei pieţei şi, deci, de relevanta datelor cu caracter istoric pentru nevoile
analizei.
Din punct de vedere tehnic, acesta implică faptul că orice înregistrare din depozitul de date
poate fi plasată în timp. Orice cheie de acces cuprinde şi o variabilă temporală.
Permanenţa
Esenţa aplicaţiilor operaţionale este actualizarea continuă a colecţiilor de date, actualizare
realizată în general pe bază tranzacţională. Orice tranzacţie procesată implică inserarea unor
noi înregistrări, modificarea sau eventual ştergerea altora, etc. Cu totul altfel stau lucrurile în
cazul depozitului de informaţii, unde o astfel de dinamică lipseşte. Practic singura
actualizare care se realizează aici este adăugarea periodică a unor date extrase din sistemele
operative. Din punctul de vedere al aplicaţiilor care folosesc depozitul de date, accesul la
date este doar pentru citire.
Din punctul de vedere al proiectării, această diferenţă este extrem de importantă. În sistemul
operaţional, o tranzacţie trebuie să ducă colecţia de date dintr-o stare consistentă într-o altă
stare consistentă, iar această implică mecanisme extrem de complexe de menţinere a
integrităţii datelor, mai ales în situaţia sistemelor intens concurenţiale: mecanisme de
jurnalizare, mecanisme de salvare/restaurare/refacere, mecanisme de detectare a blocărilor
circulare (dead lock), etc. În cazul depozitelor de date, aceste mecanisme sunt inutile, astfel
că gradul de libertate câştigat poate fi utilizat pentru optimizarea accesului la date prin
denormalizare, statistici ale accesării datelor şi reorganizare dinamică a indexării, etc
clasificare:
creationale - modul de creeare a obiectelor
structurale- compozitia claselor si a obiectelor
comportamentale- modul in care obiectele si clasele colaboreaza pentru indeplinirea unei
anumite sarcini
8
Facade memento
Flyweight Observer
Proxy State
Strategy
Visitor
Cadre si scenarii.
Cadrele asigură o structură prin care datele noi sunt interpretate pe baza conceptelor
achiziţionate în experienţele anterioare
Scenarile sunt structuri asemănătoare cadrelor, proiectate special petru reprezentarea
secvenţelor de evenimente
O stiva este o structura de date de tip "container" (depoziteaza obiecte de un anumit tip)
organizata dupa principiul LIFO (Last In First Out). Operatiile de acces la stiva (push -
adauga un element in stiva si pop -scoate un element din stiva) sint create astfel incit pop
scoate din stiva elementul introdus cel mai recent Tabela de dispersie:
- pentru regasirea eficienta a unui obiect cand acesta nu are o valoare numerica de
identificare utilizabila direct ca indice ıntr-un tablou
– ideea: gasirea unei functii h cu o valoare numerica unica pentru fiecare obiect considerat,
ıntr-un domeniu restrans (utilizabil ca indice)
9
Var. locale, var globale
Variabile locale:
-variabile declarate in interiorul functiei
-valabile in interiorul functiei
-sunt init cu valori neprecizate
-sunt generate intr-o zona de memorie de tip stiva(LIFO)
Variabile globale:
-var declarate in afara fct
-sunt init cu valori nule
-pot fi folosite in orice cu fct cu exceptia functiilor in care apar variabile locale cu
acelasi nume(in astfel de situatii, au prioritate cele locale)
Rolul SO
Sistemul de operare reprezintă o interfaţă între utilizator şi hardware.
-SO este un program care se comporta ca un intermediar intre utilizatorul calc si hardware
Scopul unui SO este de a furniza un mediu in care un utilizator poate executa programul
-scopul principal al unui sistem de operare este in cz de a face sitemul mai usor de utilizat
-un al doilea scop este utilizarea hardware-ului intr-o maniera cat mai eficienta
-SO poate fi privit ca un alocator de resurse
-un SO este un program de control care controleaza exec progr user cu scopul prevenirii
erorilor
- o def mai comuna este aceea ca SO este un program care ruleaza tot timpul pe calculator,
de obicei numit kernell, toate celelalte programe fiind aplicatii
16. Mostenirea.
Dpdvd al relatiei de mostenire clasele implicate se numesc clase de baza si clase derivata.
Mebrii mosteniti sunt membrii propriuzisi ai clasei rezultate
-membrii noi adaugat au drepturile de acces corespunzatoare mediului de definire a lor
-tipuri de derivare: public,
Protected: privat pt incapsulare, public pt mostenire
Private
Avantajele derivarii:
-economia si reutilizarea de cod
-extensibiliatea
-polimorfism
-compromis inchis-deschis
Cautarea euristica
in cautarea oarba numarul de noduri dezvoltate este prea mare.
1)se decide ce nod urmeaza a fi dezvoltat (nu in adancime sau latime)
2) nu se genereaza orb tori succesorii
3)taierea unor noduri din arborii de cautare (prunning)
functia f de evaluare a nodurilor
A* in acelasi context f(n)=g(n)+h(n)
p. 50, 66 volovici
10
17. Variabile locale si globale
Variabile locale:
-variabile declarate in interiorul functiei
-valabile in interiorul functiei
-sunt init cu valori neprecizate
-sunt generate intr-o zona de memorie de tip stiva(LIFO)
Variabile globale:
-var declarate in afara fct
-sunt init cu valori nule
-pot fi folosite in orice cu fct cu exceptia functiilor in care apar variabile locale cu
acelasi nume(in astfel de situatii, au prioritate cele locale)
11
19. Diferenta dintre C++ si Java dpvd al mem interne.
Java garbage Colector
C++ alocare si eliberarea se afce explicit de catre programator
Retele semantice.
Volo P 140
Formate din noduri si arce care conecteaza nodurile. Ambele pot avea etichete. Nodurile
reprezinta ob, concepte sau situatii iar arcele sunt realtii intre acestea. Similaritatea
superficiala a acestor notatii este tot ce au in comun unele sisteme de tip retea semantica.
Sunt la ora actuala o schema de reprezentare f populara. Structura nod-legatura capteaza
ceva esential despre simb si pointeri din cadrul simb si despre asociatii din psihologia mem
-Ce semnifica de fapt un nod
-Cum trebuie reprezentata trecerea timpului
-care sunt regulile pt mostenirea proprietatii in retele
12
Atomicitate - o tranzactie este executata fie in integime, fie deloc
Consistenta- conservarea semantica a bazei de date.Bd este consistenta daca toate
restrictiile legate de integritate sunt sarisfacute
Izolarea- protajarea rezultatelor in cazul unor tranzactii concurente
Durabilitatea - actualizarile tranzactiilor efectuate cu succes nu sunt niciodata pierdute
Concurenta la SGBD
25. Recursivitate.
Este procedeul prin care o functie se auto-apeleaza.
- In toate subprogramele recusive exista o conditie de oprire care impiedica autoapelarea la
infinit
- recursivitatea foloseste structura de date numita stiva
- recursivitatea poate fi – directa sau indirecta (backtracking)
Invatarea pe de rost.
Volovici, p. 174
Poate fi privita in 2 modalitati:
-memorarea este o necesitate atat de fundamentala pt un program inteligentincat ea nu poate
fi considerata un proces separat de invatare
-memorarea este un subiect complex , vital pt orice sistem cognitiv si el trebuie studiat si
modelat bine
CZ: proces elementar de invatare, nu suficient de puternic pt a obtine invatrea inteligenta in
sine, dar care este o p. Inerenta si imp in orice sistem
Lucreaza prin luarea pb oe care el de performanta le-a rezolvat si prin memorarea pb si a
solutiei sale
13
Pb de proiectare a astfelor de sist:
-organizarea mem: invatarea pe de rost este utile numai dc ia mai putin timp invatarea pe
de rost decat recalcularea rez
-stabilirea mediului si pb cadrului: un sistem trebuie sa fie capabil sa fie capabil sa
detecteze atunci cand lumea s-a schimbat atat de mult incat informatia nu mai e valida
-memorare sau calcul: trebuie decis la momentul la care inf este disponibila pt prima oara
dc ea trebuie sau nu memorata(analiza cost-benefici sau met uitarii selective)
memorare- se salveaza cunostintele noi astfel incat atunci cand sunt din nou necesare
singura problema va fi gasirea lor si nu un calcul repetat
probleme:
organizarea memoriei
stabilirea mediului si problema carului
memorare sau calcul
14
Avantaje
-datele sunt memorate aproape de locul unde sunt cel mai des utilizate; eficienta
procesarii
-creste accesibiltatea la date
Nivelul aplicatie.
cel mai inalt nivel OSI, serveste drept fereastra prin care aplicatiile au acces la serviciile de
retea.reprezinta serviciile oferite direct aplicatiilor utilizator
Nivelul 7: Aplicaţie
Nivelul de vârf al modelului de referinţă OSI se numeşte nivel Aplicaţie. În ciuda numelui
său, acest nivel nu include aplicaţii. În schimb, el asigură interfaţa dintre aplicaţiile
respective şi serviciile reţelei.
Acest nivel poate fi considerat motivul iniţierii sesiunii de comunicare. De exemplu, un
client de e-mail ar putea genera o cerere de preluare a mesajelor noi de pe serverul de e-
15
mail. Această aplicaţie client generează automat o cerere către protocolul (protocoalele) de
nivel 7 corespunzător (corespunzătoare) şi lansează o sesiune de comunicaţii pentru a obţine
fişierele necesare.
16
De ce nu ajunge optimizarea basic-blocurilor?
Optimizare locala=optimizare la nivel de basic blockuri
Paralelismul la nivelul basic blockurilor este scazut, 2-3 instructiuni, deoarece majoritatea
programelor HLL sunt scrise in limbaje imperative si pt masini secventiale cu un nr limitat
de registre gradul de dependenta dintre instr adiacente este ridicat.
Asadar pt marirea nivelului de paraleslism este necesara suprapunerea executiei unor instr
situate in basic blockuri diferite, ceea ce conduce la ideea optimizarii globale
32. Stiva , arbori binari de cautare, tabela de dispersie.Care ofera operatii mai eficiente.
Stiva LIFO - cautarea ia mult timp stiva nu este ordonata
arbori binari - log2(N+1), cautare ,
tabela hash - coliziuni, cautare rapida, adaugarea la fel
17
*, & pt pointeri
Trasaturi fundamentale:
-exista 2 jucatori care muta pe rand
--la fiecare mutare, regulile definesc atat ce mutari sunt legale , cat si efectul pe care l-ar
avea fiecare mutare posibila
-fiecare jucator are informatia completa despre pozitia adversarului, inclusiv despre alegerile
pe care acesta le-ar putea face
-jocul incepe dintr-o stare specificata, adesea o anumita configuratie a pieselor pe tabla
-se sfarseste prin castigul unui jucator si pierderea celuilalt, sau prin egalitate
Un arbore de joc complet este o reprezentare a tuturor partidelor posibile ale unui astfel de
joc. Modul radacina este starea initiala, in care este randul primului jucator la mutare.
Succesorii sai sunt starile in care se poate ajunge din el printr-o singura mutare, succesorii
acestor stari fiind starile rezultate din replicile posibile ale celuilalt jucator...
Starile finale sunt acelea care duc la o victorie, infrangere sau remiza
-fiecare cale completa de la nodul radacina la un nod terminal da o partida completa
-un arbore se reprezinta din pdvd al unui singur jucator:
-nodurile posibile ale acestuia sunt reprezentate prin noduri OR
-mutarile pe care le poate primi in replica sunt noduri AND pt ca reprezinta
mutari la care jucatorul trebuie sa le faca fata
Fomalismul min-max
-tehnica de cautare in arborii de joc
-datorita modului in care sunt evaluate modurile jucatorul A este adesea numit max iar
jucatorul B min
34. Overwriting
18
Pentru a realiza o mostenire multipla este suficient sa se specifice dupa numele clasei
derivate o lista de clase de baza, separate prin virgula. Apelul constructorilor claselor de
baza se face in ordinea enumerarii claselor de baza
19
În limbajul relaţional tabela este realţia, linia este tuplul iar coloana atributul. Astfel
modelul relaţional este perfect fundamentat matematic de algebra relaţiilor. O tabelă este
unic identificată de o cheie primară, respectiv o coloană (câmp, atribut) sau o combinaţie
de coloane cu proprietatea că nu există două linii din tabelă care să aibe aceeaşi valoare
pentru cheia primară. Un domeniu este o mulţime de valori posibile pentru atribute
specifice relaţiei.
Cheia primară este un caz special de cheie candidată (candidate key). O cheie candidată
pentru o relaţie R este o submulţime K de atribute ale lui R cu proprietatea de unicitate şi de
ireductibilitate. Proprietatea de unicitate spune că nu există două tuple din R care să aibe
aceaşi valoare pentru K, iar proprietatea deireductibilitate constă în faptul că nici un subset
propriu al lui K nu are proprietatea de unicitate.
Cheia străină (foreign key) este un atribut sau o combinatie de atribute ale unei relatii R2
ale caror valori trebuie sa se potriveasca cu cele ale unei chei primare dintr-o alta relatie R1.
relatiile R1 si R2 nu sunt neaparat distincte. Cheia straina si cheia primara trebuie sa fie
definite neaparat pe acelasi domeniu.
20
-actioneaza ca un cahe de date retinand adresele care vor fi cel mai probabil referite(celor
mai uitilizate pagini trebuie sa fie translatate in hardware)
TLB are 2 functii:
-translatarea ultrarapida a adreselor virtuale localizate in TLB
-un algoritm de inlocuire a liniilor TLB atunci cand o noua adresa virtuala trebuie
actualizata in TLB
Translatarea adreselor: mapare directa
Complet asociativa
In seturi asociative
Utilizatorului i se creeaza impresia unui unic spatiu de memorie inttinsa. Numai paginile
celemai folosite sunt translatate in hardware
TLB= tabela de viteza mare(cache) care retine intrarile in paginile cele mai utilizate
proc emite adrese virtuale tabela de translatare o transforma in adresa reala, daca PR nu
este in MP atunci ea trebuie adusa (exceptie page fault). Tabela de translatare a dreselor de
pe disk si tabela de translatare a adreselor din memorie.
TLB necesar deoarece spatiul adrselor din MP este prea mare.
21