lab 2

47
STRUCTURA ŞI FUNCŢIONAREA UNUI SISTEM DE CALCUL Sistemul de calcul (SC) reprezintă ansamblul de echipamente (hardware) interconectate şi programe (software) care asigură realizarea următoarelor funcţiuni: - introducerea datelor iniţiale (de intrare); - prelucrarea acestora în conformitate cu relaţiile de calcul; - afişarea rezultatelor astfel obţinute. Efectuarea tuturor acestor operaţii este determinată de interpretarea şi execuţia instrucţiunilor programelor utilizator. Prin arhitectura unui sistem de calcul se înţelege componenta hardware a unui calculator, adică acea parte ce se ocupă de elementele fizice ale unui sistem de calcul(piesele dintr-un calculator). Prin upgrade se înţelege înlocuirea unor piese dintr-un calculator cu altele mai performante. Această operaţie trebuie să ia în considerare întreaga arhitectură a calculatorului, fiindcă unele piese noi nu pot funcţiona pe un sistem mai vechi din lipsă de compatibilitate. 1. Componenta hardware a unui SC În fig. 1 este prezentată configuraţia hardware generală a unui SC. Sunt indicate şi principalele căi de transfer a informaţiilor (magistralele) între diferitele blocuri. 1

Upload: toaderpuscas

Post on 24-Dec-2015

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: lab 2

STRUCTURA ŞI FUNCŢIONAREA UNUI SISTEM DE CALCUL

Sistemul de calcul (SC) reprezintă ansamblul de echipamente (hardware) interconectate şi programe (software) care asigură realizarea următoarelor funcţiuni:

- introducerea datelor iniţiale (de intrare);- prelucrarea acestora în conformitate cu relaţiile de calcul;- afişarea rezultatelor astfel obţinute. Efectuarea tuturor acestor operaţii este determinată de interpretarea şi execuţia

instrucţiunilor programelor utilizator.Prin arhitectura unui sistem de calcul se înţelege componenta hardware a unui calculator,

adică acea parte ce se ocupă de elementele fizice ale unui sistem de calcul(piesele dintr-un calculator).

Prin upgrade se înţelege înlocuirea unor piese dintr-un calculator cu altele mai performante. Această operaţie trebuie să ia în considerare întreaga arhitectură a calculatorului, fiindcă unele piese noi nu pot funcţiona pe un sistem mai vechi din lipsă de compatibilitate.

1. Componenta hardware a unui SC

În fig. 1 este prezentată configuraţia hardware generală a unui SC. Sunt indicate şi principalele căi de transfer a informaţiilor (magistralele) între diferitele blocuri.

PMemoria

OperativaMO

magistrala de date

magistrala de comenzi

disk fixHDD

Memoria externa ME

FDD tastatura

Echipamente periferice

Fig. 1

FDDmonitor imprimanta

1

Page 2: lab 2

Elementele fizice (resursele) minimale necesare funcţionării oricărui SC sunt: echipamentele periferice sau dispozitivele de intrare / ieşire (I/O) (tastatură,

monitor, imprimantă, mouse, etc.) prin intermediul cărora se poate efectua dialogul utilizator SC; Acestea sunt de două feluri:

-dispozitivele periferice de intrare (au rolul de a introduce datele în calculator) ex. tastatura, mouse, microfon etc.

-dispozitivele periferice de ieşire (au rolul de a extrage datele în calculator) ex. monitor, imprimantă, boxe etc.

unitatea centrală care include principalele blocuri electronice: memorie operativă - MO sau memoria RAM (Random Access Memmory), circuite de comandă şi control a funcţionării SC, plăci sau circuite necesare interconectării blocurilor externe;

memoria externă: hard – disk -ul (HDD) , unitatea de citire a dischetelor (Floppy Disk Driver -FDD), unitatea de citire a CD-ROM-urilor etc;

În perioada în care s-a redactat acest îndrumar de laborator un SC cu performanţe medii din punct de vedere al raportului preţ / performanţă are următoarea configuraţie:

- P –ul cu frecvenţa de lucru 2.6GHz;- dimensiunea de memorie RAM – 512MB;- capacitatea hard disk – ului (HDD) 80 GB;- unitate de floppy disk (FDD) de 1,44 MB;- monitor color (SVGA sau LCD);- tastatură cu 101 taste;- mouse serial sau PS/2.

În cele ce urmează se prezintă succint structura internă şi / sau modul de funcţionare ale principalelor elemente hardware. În referatele lucrărilor ulterioare, pentru o mai elocventă prezentare a instrucţiunilor se vor face referiri şi la modul în care acestea se execută în mod efectiv.

1.1 Microprocesorul - P

Microprocesorul (μP), numit şi creierul calculatorului are -asemenea creierului uman- două funcţii importante:

- coordonează activitatea tuturor componentelor unui calculator- efectuează diverse operaţii.Microprocesorul (P) este elementul principal al unităţii centrale (fig. 1) şi constituie

blocul în care se fac operaţiile de calcul şi care coordonează execuţia programului de calcul. În fig. 2 este prezentată structura principală a unui P 8086 care utilizează 16 cb.

2

Page 3: lab 2

C H C L

D H D L

SP

B P

D I

SI

C S

D S

SS

IP

In te rn a lR e g i s te rs

B u sC o n tro l

R e g is t rete m po ra re

A LU

F L A G S

EUC o n tro l

M a g is tra lade da te

M a g is tra la de a dre s e

1 2 3 4 5 6

R e g is tre pe n truco n tro lu l a dre s e lo r

R e g is t reg e n e ra le

A H A L

B H B L

I n dica to ride co n dit ii

M e m o ra re ain s tru ct iu n ilo r

ca re s e e x e cu ta

Fig. 2

unde:ALU –unitatea aritmetico logică;IP – registrul de adresă a instrucţiunilor;AX – are o utilizare dublă:

- înscrierea primului operand al instrucţiunii;- înscrierea rezultatului obţinut în urma execuţiei acesteia.

BX ... EX – registre folosite pentru memorarea operanzilor;SP – vârful stivei;BP – baza stivei;FLAGS - Indicatorii de condiţii.

Notaţia [A], [BP] .... – reprezintă conţinutul registrului A, BP, ....

În principiu P conţine blocul de calcul şi registrele. Acestea sunt elementele care asigură memorarea temporară sau permanentă a informaţiilor necesare efectuării operaţiilor indicate prin instrucţiunea care se execută.

Funcţiile blocurilor din fig. 2 sunt:- ALU este singurul bloc dintr–un SC în care se efectuează operaţii de calcul şi / sau

comparaţie;- Registrele generale AX, BX, CX, DX sunt elementele de memorare pe 16 cb şi sunt

destinate înscrierii rezultatelor intermediare. Rezultatul final al execuţiei unei

3

Page 4: lab 2

instrucţiuni de calcul este întotdeauna transferat în MO. Aceste registre pot fi folosite şi parţial (având dimensiunea de 8 cb):

- Indicatorii de condiţii – sunt memoraţi într-un registru special de 16 cb şi descriu modul în care a fost executată o operaţie de calcul.De exemplu b6 este indicatorul (flag -ul) de rezultat nul. Dacă b6 = 0 are semnificaţia unui rezultat diferit de zero, iar b6 = 1 are semnificaţia unui rezultat nul.

- IP este contorul (numărător) care memorează adresa următoarei instrucţiuni care se va executa. Deoarece P poate interpreta şi executa numai câte o singură instrucţiune, este necesar să se cunoască permanent adresa locaţiei de memorie (adresa primului octet al acesteia) în care este înscrisă următoarea instrucţiune care se va executa.

- BP (base pointer) şi SP (stack pointer) sunt registre care permit determinarea adreselor efective ale operanzilor. Segmentul de date folosit de fiecare modul (funcţie) a unui program C/C++ alcătuieşte o zonă distinctă. Totalitatea zonelor de date care sunt atribuite de către SC fiecărui modul alcătuieşte stiva de memorie. Conţinutul registrului BP ([BP]) este constant pentru fiecare funcţie a programului C/C++. Definirea de noi variabile în cadrul unei funcţii are ca efect atribuirea unei locaţii pentru memorarea valorilor care se vor atribui respectivei variabile. Corespunzător se modifică şi conţinutul SP, acesta reprezentând adresa ultimei variabile introduse. Prin modul de funcţionare al compilatorului C/C++ adresele se atribuie descrescător. Deci, pe măsură ce dimensiunea zonei variabilelor creşte, corespunzător creşte si dimensiunea stivei iar [SP] se micşorează corespunzător.

Coprocesorul matematic este o componentă a microprocesorului care este specializată în efectuarea de calcule matematice. Această componentă nu se găseşte la procesoarele mai mici de 286. Unele calculatoarele prevăzute cu procesoare 386 au această componentă. De la procesoarele 486, coprocesorul matematic este nelipsit. Faptul că unele calculatoare mai vechi nu aveau coprocesor matematic, nu înseamnă ca acestea nu puteau efectua calcule matematice, ci că aceste calcule erau făcute tot de procesor, nu de o componentă specializată a sa, ceea ce ducea la o viteză mai mică de calcul.

Frecvenţa de lucru a unui microprocesor dă, practic puterea unui calculator. Aceasta se măsoară în MHz(mega hertzi). Dacă la calculatoarele 386 frecvenţele erau de 33MHz, la Pentium I între 75 şi 166 MHz, la ora actuală se vând procesoare cu frecvenţe între 1000-4000 MHz. De aceea acum se foloseşte noţiunea de giga hertz (1GHz=1000MHz).

În ceea ce priveşte firmele care construiesc cele mai bune procesoare în momentul de faţă au rămas două în top : AMD şi INTEL.

Firma AMD crează procesoarele AMD DURON, ATHLON, BURTON, etc., firma INTEL produce faimosul procesor PENTIUM.

Care este diferenţa? Raportul; preţ/calitate.Firma AMD crează procesoare foarte accesibile ca preţ şi comparabile ca putere de

calcul cu cele de la INTEL, dar care au neajunsul că la suprasolicitare se supraîncălzesc, ceea ce duce la defectarea acestor procesoare mult mai repede decât acelor de la INTEL(prin mult mai repede se înţeleg totuşi ani de zile). Totuşi, un utilizator individual nu va ajunge să suprasolicite calculatorul. Problemele apar la servere-le care funcţionează non stop luni de zile.

Firma INTEL, care la ora actuală produce PENTIUM IV, are avantajul fiabilităţii precum şi a unei viteze de calcul superioare, dar la preţuri duble sau triple faţă de un procesor similar AMD.

4

Page 5: lab 2

Din cauza temperaturilor foarte mari, în practică procesoarele trebuie răcite, astfel încât deasupra acestora se montează radiatoare prevăzute cu ventilatoare(cooler-e).

1.2 Memorii

Memoriile se pot clasifica în funcţie de modul lor de folosire şi de modul de stocare a informaţiei.

În funcţie de modul de păstrare a informaţiei memoriile se clasifică în memorii volatile şi nevolatile. Memoriile volatile îşi pierd informaţiile după scoaterea calculatorului de sub tensiune(la închiderea calculatorului), cele nevolatile îşi păstrează informaţia şi după închiderea calculatorului.

O altă clasificare a memoriilor este în funcţie de modul lor de utilizare. Astfel acestea se împart în memorii interne şi memorii externe.

OBS!- Memoriile interne sunt, în general, memorii volatile, în timp ce, memoriile externe sunt,

în general, nevolatile. De accea, memoriile externe se mai numesc şi dispozitive de stocare.

- Memoriile interne sunt memorii obligatorii. Fără acestea calculatorul nu poate funcţiona. Lipsa memoriilor externe nu duce decât la o folosire greoaie a calculatorului, dar acesta ar putea funcţiona şi fără ele.

Cea mai mică unitate de memorie, în care se poate reţine cifra 0 sau cifra 1, se numeşte bit.

8 biţi=1 byte(sau 1 octet). Se prescurtează By pentru byte şi o pentru octet.1024 By = 210By = 1 kby (kilobyte)1024 kBy = 1 MBy(megabyte)

1024 MBy= 1 GBy(gigabyte)

Exemple de memorii interne:- memorie operativă - MO sau memoria RAM (Random Access Memmory). MO este

blocul din structura unui SC care permite “înscrierea” numai a informaţiilor care se pot codifica prin valori numerice.Este memorie volatilă.

- Memoria ROM(Read Only Memmory)-este o memorie ce este scrisă de fabricantul plăcii acesteia şi în care se reţin informaţiile de bază despre calculator. Nu poate fi modificată de către un utilizator obişnuit, fiind o memorie nevolatilă.

1.2.1 Memoria operativă – MO (memoria RAM)

MO este blocul din structura unui SC care permite “înscrierea” numai a informaţiilor care se pot codifica prin valori numerice.

În timpul execuţiei unui program toate instrucţiunile şi datele cu care acesta operează trebuie să se afle permanent în MO.

5

Page 6: lab 2

Zona de MO atribuită de SC unui program se împarte în:- zona de date (segmentul de date);- zona de instrucţiuni ce trebuiesc executate (segmentul de cod);- zona heap (nefolosită în general de către programul de calcul).

Datele şi Instrucţiunile, sub forma reprezentării lor interne, sunt amplasate strict succesiv în locaţiile MO, fiecare într-o zonă separată (rezervată datelor sau instrucţiunilor). În acest fel devine posibilă interpretarea şi execuţia succesivă (secvenţială) a instrucţiunilor programelor.

Obs. Pentru aplicaţiile alcătuite în limbajele C/C++, Pascal, etc., utilizatorul, în cadrul programul său, are acces numai la segmentul de date (Data Segment), putând modifica valorile înscrise în această zonă. Zona de instrucţiuni, atât ca amplasare în MO cât şi ca informaţie reprezentată este controlată numai de către SC.

Memoria RAM este cunoscută comercial, funcţie de tipul ei sub diverse denumiri:SIMM, SDRAM, RIMM, dar, cea mai des folosită în ultimul timp este DDRAM. Dimensiunea acesteia va contribui decisiv la îmbunătăţirea performanţelor calculatorului (cu cât mai mare cu atât mai bine). La ora actuală cele mai des folosite sunt cele de 256 MBy şi respectiv de 512 MBy. Însă la cumpărarea unei memorii nu ţinem cont numai de capacitatea de stocare a acesteia ci şi de frecvenţa la care lucrează. Aceste frecvenţe sunt notate comercial cu diverse coduri:

Cod FrecvenţăPC-100 100 MHzPC-133 133 MHzPC-2100 266 MHzPC-2700 333 MHzPC-3200 400 MHzPC-4000 500 MHz

Ce frecvenţă este optimă pentru un anumit calculator este stabilit de placa de bază.

Realizarea şi organizarea MO:Pentru înscrierea în MO a cifrelor unui număr se folosesc tranzistoare sau condensatoare,

realizate sub forma circuitelor integrate. Deoarece aceste elemente fizice primare pot avea numai două stări stabile de funcţionare (saturat blocat, respectiv încărcat descărcat). De aceea memorarea valorilor este posibilă numai după reprezentarea respectivelor numere în baza doi care foloseşte cifre (0;1). Ca atare, pentru a folosi litera “A”, el va codifica această literă printr-un număr(codul ASCII) pe care care îl va transforma apoi în baza 2.În continuare se vor face numai câteva referiri la posibilităţile de reprezentare internă a numerelor întregi pozitive şi a caracterelor (litere, semne speciale -, *, +, etc.).

Un element primar al MO poate reţine o singură cifră binară (cb)şi de aceea se spune că el reprezintă (memorează) un bit de informaţie. Pentru o gestionare mai simplă a funcţionării MO unitatea minimă de reprezentare şi folosire a informaţiei, este octetul (byte –ul, B) adică grupul de 8 biţi (cb). În prelucrarea internă a informaţiei, transferul se face la nivel de octet (grupuri de octeţi), iar interpretarea acesteia de către SC se face a nivel de cifră binară (1kB = 210 ≈ 103B; 1MB = 220B ≈ 106B; 1GB = 230B ≈ 109B). Dacă pentru memorarea unei litere se foloseşte în MO 1B, iar o pagină are cca. 4000 de caractere, rezultă că 1GB de ME permite înscrierea a cca. 250000 pagini.

6

Page 7: lab 2

Deci octetul reprezintă locaţia fizică de memorie. Poziţia sa în MO este reprezentată prin adresa sa, respectiv numărul său de ordine. Întrucât adresa se reprezintă pe 16 biţi, se pot adresa cel mult 216 locaţii (0 65535). O astfel de entitate poartă numele de segment de memorie.

Fiecare program scris în limbajul C/C++ are alocat de către SC două segmente ale MO, în care se înscriu separat variabilele respectiv instrucţiunile. Depăşirea segmentului de date poate determina execuţia eronată a programului.

Pentru memorarea unei valori numerice un octet (8 biţi) este insuficient. De aceea, utilizatorul, prin program, trebuie să precizeze numărul de octeţi folosiţi pentru înscrierea valorii fiecărui parametru, variabil sau constant.

Domeniul variabilelor numerice reprezentate este condiţionat de dimensiunea fizică a fiecărei locaţii de memorie (nr. de octeţi) folosită pentru înscrierea valorilor datelor cu care operează programul.

Se spune că pentru memorarea unui număr se foloseşte o locaţie de memorie. Deci, din punct de vedere fizic, o locaţie de memorie este alcătuită din 1,2,4.. octeţi.

Fiecare locaţie are o dublă semnificaţie:- fizică, prin adresa primului octet care o alcătuieşte;- logică, prin identificatorul definit în program prin care acesta apelează (recunoaşte)

respectiva locaţie.

1.2.2 Memoria externă – ME(diapozitive de stocare)

ME constituie un suport de tip magnetic care permite memorarea permanentă a informaţiilor deşi ca timp de reacţie este mai lenta decât cea interna. Acesta se poate asigura pe suport fix (HDD) sau pe disketă (FDD) compact disk (CD-ROM) etc.

Pentru a fi memorate datele trebuiesc asamblate în entităţi distincte denumite fişiere.Reprezentarea informaţiei în fişier este identică cu aceea din MO, deci sub formă de octeţi.Capacitatea ME este mai mare decât aceea a MO (de ex. 20 GB = 20 * 230 B, 40 GB, 80 GB

etc). Dezavantajul ME este acela că pentru a putea fi prelucrate informaţiile trebuiesc transferate în prealabil în MO. Aceste transferuri succesive între MO şi ME se pot face numai prin comenzi date de utilizator, direct sau prin program, şi sunt mari consumatoare de timp de calcul.

Informaţia (fişierele) se pot organiza în ME prin intermediul unui sistem de (sub)directoare .La memoriile externe nu contează numai capacitatea de stocare ci şi rata de transfer, care

măsoară cantitatea de informaţie ce este transferată (de exemplu copiata) într-o unitate de timp.

Exemple de memorii externe:- floppy disk-ul(popular disketa) se notează FDD. Are dimensuni mici, este ieftină şi

uşor de transportat, dar este şi fragilă, demagnetizându-se uşor. Capacitatea de stocare este mică, standard are 1.44Mby. Rata de transfer este foarte mică.

- CDROM, cu o unitate de stocare relativ mare, între 640 MBy şi 700 MBy. Rata de transfer fiind dată de unitatea de CD.

Este un dispozitiv foarte ieftin comparativ cu dimensiunea informaţiilor ce pot fi stocate, fiind relativ trainic, dar care poate suferi demagnetizări accidentale. Informaţia poate fi păstrată pe CD timp îndelungat(ani).

CDROM-ul, o dată scris, nu mai poate fi şters sau rescris.- CDREWRITABIL-ul (CD-RW) are aceleaşi proprietăţi ca şi CDROM-ul, dar poare fi

rescris de un număr limitat de ori. Este ceva mai scump decât CD-ul, dar are unele avantaje atunci când se doreşte transportul informaţiilor dintr-un loc în altul, sau păstrarea temporară a acestora.

7

Page 8: lab 2

- Hard disk-ul (HDD)- unitatea cea mai mare ca şi capacitate de stocare(la ora actuală se vând HDD cu capacităţi între 40-500 GBy), fiind destul de convenabila la nivelul preţ/capacitate de stocare, este, fără doar şi poate cea mai importantă memorie internă.

HDD imagine externă şi internă

La HDD, în afară de rata de transfer, mai contează şi viteza de rotaţie a motoraşului. Cu cât aceasta este mai mare, cu atât creşte şi rata de transfer. În general, rata de transfer a unui HDD poate să încetinească performanţele unui calculator. În ultimul timp au apărut noi tehnologii în crearea unui HDD, astfel încât, atunci cînd dorim achiziţionarea unui astfel de dispozitiv este bine să ţinem seama de:

- capacitatea de stocare- viteza de rotaţie- capacitatea bufferului.

Bufferul este o memorie internă HDD-ului care ajută la creşterea retei de transfer. Cu cât acesta este mai mare, cu atât este mai bine.

ATA 33/66/100/133 este un standard care indică ce tip de transfer se poate face între procesor şi HDD. Dacă avem un HDD cu ATA 133, atunci este necesar un cablu de transfer de acelaşi tip, precum şi ca placa de bază sa permită ATA 133.

Mai exista si alte standarde de trensmisie, cele mai noi tehnologii folosite find SATA si RAID. Prima foloseste o rata de trensfer foarte mare iar a doua permite salvarea simultana pe 2 HDD a aceleiasi informatii.

1.3. Reprezentarea numerelor.

Unitatea de masura a memoriei este bit-ul. Intr-un bit putem scrie la un moment dat valoarea 0 sau valoarea 1.

8 biti= 1 octet sau un byte.1024 by=1kBy1024 kBy=1 MBy1024 MBy=1 GBy

Cind vorbim de reprezentarea numerelor ne referim la doua tipuri de reprezentare -reprezentarea interna (in baza 2) -reprezentarea externa (in baza 16)

8

Page 9: lab 2

Operaţii cu numere reprezentate în binarMenţionăm faptul că numere au fost reprezentate pe 16 cb.

Adunare Fie numerele a = 13410 şi b = 25110 vom avea:

a = 0000 0000 1000 01102 +b = 0000 0000 1111 10112

rezultatul va fi 0000 0001 1000 00012

Scădere Fie numerele a = 272610 b = 135110 vom avea:

a = 0000 1010 1010 01102 - b = 0000 0101 0100 01112

rezultatul va fi 0000 0101 0101 11112

Obs. Întrucât numărul maxim care poate fi reprezentat pe 16 cb este 6553510 reprezentând 1111111111111112 la efectuarea unei operaţii de adunare a cărei rezultat depăşeşte acest număr SC va semnala utilizatorului că s-a produs o eroare şi anume depăşirea capacităţii de memorare a rezultatului pe 16 biţi.

Exemplu Fie numerele a = 4000110 şi b = 553510 în urma efectuării operaţiei de adunare va rezulta:

a = 1001 1100 0100 00012 +b = 0110 0011 1011 11112

rezultatul va fi 1 0000 0000 0000 00002 semnalat de SC ca eroare.

Operaţii cu numere reprezentate în baza 16

AdunareFie numerele a = 3267610 şi b = 2102110 vom avea:

a = 7FA416 +b = 521D16

rezultatul va fi D1C116

ScădereFie numerele a = 5019410 şi b = 4498110 vom avea:

a = C41216 -b = AFB516

rezultatul va fi 145D16

Obs. Deoarece în baza 16 numărului 6553510 îi corespunde numărul FFFF16 rezultatul unei operaţii de adunare ce depăşeşte acest număr va fi semnalizat de către SC ca eroare.

9

Page 10: lab 2

Reprezentarea numerelor în mărime şi semn

În acest caz de reprezentare se ţine cont de faptul că a 16 cb (prima din partea stângă, cea mai semnificativă) este considerată ca fiind semnul numărului reprezentat în baza 2.

Interpretarea bitului b15 este:

b15 = 0 numărul reprezentat de b14......b0 este pozitiv;b15 = 1 numărul reprezentat de b14......b0 este negativ.

Obs. Este de menţionat faptul că domeniul de reprezentare a părţii întregi a numerelor pe 15 cb se încadrează în intervalul [-32768, +32767]. Astfel cwl mai mic număr care respectă această interpretare este +32768, iar cel mai mare 32767.

Exemplu: Fie a = 1874610 interpretarea lui de către SC în conformitate cu regula descrisă mai sus va fi:

a = 0 1 0 0 1 0 0 1 0 0 1 1 1 0 1 0

pa rte a în tre a g ã a n u m ã ru lu i (v a lo a re a bs o lu tã )

s e m n u l n u m ã ru lu i

Pentru reprezentarea numerelor negative în mărime şi semn se foloseşte regula de reprezentare a numerelor în complement faţă de doi. (c2)Complementul faţă de doi a unui număr se determină astfel:

- se reprezintă numărul în baza 2;- se complementează fiecare cifră de 0 cu cifra 1 şi invers;- la numărul astfel obţinut se adună un 1 la cel mai puţin semnificativ bit din reprezentarea

numărului (b0).

Exemplu: Fie numărul a = - 970. Etapele de determinare a reprezentării sale în mărime şi semn vor fi:

- conversia valorii absolute a numărului (970) în baza 2a = 000000011110010102

- determinarea complementului faţă de doi a numărului astfel reprezentata = 11111110000110101 +

1 11111110000110110

- adăugarea cifrei de semna = 1 11111110000110110

Operaţii cu numere reprezentate în mărime şi semn

AdunareExemplu : Fie numerele a = +150 şi b = +500 vom avea:

a = 0 000000010010110 +b = 0 000000111110100 0 000001010001010

10

Page 11: lab 2

ScdereObs. Scăderea este implementată ca o adunare dintre un număr pozitiv şi un număr negativ.

Exemplu: Fie numerele a = + 500 şi b = -150 vom avea:

a = 0 000000111110100 +b = 1 111111101101010

rezultatul va fi 10 000000101011110

Obs. Întrucât în cifra de semn apar două numere cel mai semnidficativ dintre ele (1) se ignoră.

Reprezentarea numerelor în virgulă mobilă

Pentru reprezentarea numerelor fracţionare în SC se foloseşte reprezentarea în virgulă mobilă. Datele în virgulă mobilă se memorează pe 32 cb.

Forma sub care sunt reprezentate aceste numere este următoarea:(-1)semn X mantisa X 2exponent unde:

semn = 0 pentru mantisă pozitivă şi 1 pentru mantisă pozitivămantisă = o scriere a numărului sub forma 1,fracţieexponent = puteri ale lui 2

Pentru a simplifica reprezentarea s-a înlocuit exponentul cu o caracteristică, aceasta din urmă definindu-se ca fiind 127 + exponent.

Forma finală a reprezentării numerelor în virgulă mobilă este:

semn c arac teris tic ã frac tie

b 0b 22b 23b 30b 31

Exemplu: a = 75,321510

Etapele parcurse pentru reprezentarea acestuia în virgulă mobilă sunt:- reprezentarea sa în baza 2

a = 1001011,01012

- normalizarea mantisei (aducerea ei la forma 1,fracţie)a = 1,0010110101 x 10110

Deci:- semn = 0;- fractia = 00101101012 ;- caracteristica = 011111112 + 1102 = 100001012 = 12710 + 610 = 13310 ;

Astfel reprezentarea internă a numărului a este:0 10000101 0010110101

OBSIn limbajul C exista tipul char care foloseste reprezentarea pe un octet fara semn, tipul int

care foloseste reprezentarea pe doi octeti cu semn, unsigned pe doi octeti fara semn, float pe patru octeti in virgula mobila.

11

Page 12: lab 2

2. Componenta software a unui SC

Resursele logice ale unui SC (programele necesare funcţionării acestuia)se pot clasifica în funcţie de modul în care utilizatorul le foloseşte:

- programe de aplicaţii;- programe utilitare;- module ale Sistemului de Operare (SO).

2.1 Programele de aplicaţii sunt destinate rezolvării unei anumite probleme concrete: tehnice, economice, etc. Acestea pot fi atât programe individuale cât şi biblioteci de programe. De regulă acestea sunt destinate unor domenii specifice de activitate: inginerie electrotehnică, mecanică, economică, etc.

În această categorie se pot include şi pachetele de tip Computer Aided Design (CAD).

2.2 Programele utilitare au o aplicabilitate generală şi sunt realizate de firmele specializate care produc software pentru SC.

Programele de aplicaţii se prezintă sub formă de fişiere aflate în diferite faze de prelucrare informatică. În funcţie de acestea, utilizatorul trebuie să realizeze, cel mai adesea, o prelucrare iniţială a respectivelor programe de aplicaţii.

Dacă fişierul program este alcătuit în conformitate cu regulile unui limbaj de prelucrare evoluat (C/C++, Pascal, etc.) el va trebui întâi compilat şi apoi link-editat. Numai după aceea respectivul program poate fi lansat în execuţie.

Spre deosebire de acestea, fişierele program se află sub formă executabilă, aşa le arată şi numele, pot fi lansate în execuţie automat.

Deci, ca programe “utilitare” se pot considera mediile de programare C/C++, Pascal, Visual C++, Fox Pro, etc.).

De asemenea, în această categorie sunt incluse şi programele care facilitează utilizatorului folosirea comenzilor SO. Dintre cele mai răspândite utilitare este pachetul NORTON COMMANDER, NORTON UTILITIES.

2.3 Sistemul de Operare SO

Sistemele de operare sunt alcătuite din pachete de programe care controlează funcţionarea efectivă a SC. Totodată, utilizatorul poate introduce comenzi care pot fi interpretate direct de SC. Acestea se referă în special la transferul informaţiilor între blocurile SC precum şi la organizarea informaţiei (fişierelor) în ME.

Obs. SO nu conţin însă comenzi care să permită efectuarea chiar şi a celor mai simple operaţii de calcul.

3. Prelucrări posibile ale informaţiilor prin intermediul comenzilor SO.

În cele ce urmează se vor face referiri numai la SO MS-DOS (Microsoft Disk Operation System).

SO pot prelucra numai informaţiile organizate sub formă de fişiere.Fişierul este un ansamblu unitar de informaţii de acelaşi tip.

În SC se întâlnesc:

12

Page 13: lab 2

- fişiere program (programe de calcul);- fişiere de date (ansambluri de date care sunt folosite de către programele de calcul);- fişiere document (diferite texte redactate de utilizator);- fişiere speciale (conţin imagini, sunete, etc.).

Fişierele program sunt cele mai des întâlnite fişiere şi conţin o succesiune de instrucţiuni (comenzi) care pot fi interpretate direct sau după prelucrări intermediare sau direct de către SC.

Dacă instrucţiunile programului au fost alcătuite în conformitate cu regulile unui anumit limbaj de programare (C/C++, Pascal, etc.) atunci acestea se numesc fişiere program sursă (sau prescurtat fişiere sursă) şi sunt recunoscute de SO după extensiile .CPP / respectiv PAS. Executarea unui fişier sursă presupune parcurgerea următoarelor etape:

- compilarea fişierelor sursă;- linkeditarea fişierelor obiect;- lansarea în execuţie a fişierelor executabile.

Fişierele executabile (fişiere în format executabil) care conţin reprezentarea instrucţiunilor într-o formă care poate fi direct interpretabilă de către calculator. Se spune că aceste fişiere sunt alcătuite în “limbaj maşină“. Fişierele executabile se obţin de regulă după compilarea şi link-editarea fişierelor sursă.

Fişierele se caracterizează prin:- nume;- extensie;- lungime (exprimată în octeţi);- data la care a fost alcătuit.

Numele unui fişier este format din maxim 8 caractere (cifre sau litere). SO MS-DOS nu face distincţie între literele mari şi mici.

Extensia este opţională şi cuprinde maxim 3 caractere. De regulă aceasta este astfel alcătuită încât să indice natura informaţiilor care alcătuiesc fişierul.Ex. Fişier1.cpp // fişier program alcătuit în C/C++

Fişier2.exe //fişier program alcătuit în limbaj maşină (direct executabil)Fişier3.dat //fişier de dateFişier4.doc // fişier care conţine un document (text)Lungimea unui fişier este limitată numai de capacitatea disponibilă în ME.Memorarea fişierelor. Alcătuirea propriu - zisă a unui fişier se face în momentul

transferului conţinutului fişierului din MO în ME. Această operaţie poartă numele de salvare (save).Prelucrarea fişierelor presupune transferul din ME în MO. Operaţia se numeşte încărcare

(open).

3.2 Directoare

Memorarea (salvarea) dezordonată a fişierelor în ME (HDD sau FDD) are ca efect creşterea timpului necesar “regăsirii” respectivului fişier în momentul încărcării în MO în vederea prelucrării.

De exemplu să presupunem că un fişier are 1 Mo (ceea ce totuşi o dimensiune mare – echivalentul a cca. 250 pagini dactilografiate).Deci un HDD de 40 Go permite memorarea a cca. 30000 – 40000

13

Page 14: lab 2

de fişiere utilizator. Evident, într-o astfel de situaţie chiar şi numai o singură operaţie de inventariere a titlurilor devine o problemă aproape imposibilă.

De aceea, în SO au fost incluse comenzi care permit organizarea sub formă de directoare a

fişierelor în ME.

Să ne imaginăm o bibliotecă în care fiecare raft corespunde unui anumit domeniu. Evident, aşezarea ordonată a cărţilor pe rafturi, în funcţie de domeniul fiecăreia, va permite regăsirea rapidă a cărţii dorite.

Dacă se consideră ME ca o bibliotecă virtuală de foarte mari dimensiuni, iar fişierele ca fiind cărţile acestei biblioteci, rafturile virtuale ale acesteia se numesc directoare.

Orice structură de directoare (rafturi) se caracterizează prin:- existenţa apriorică a unui director rădăcină. Acesta este creat în momentul

pregătirii suportului de ME pentru înscrierea informaţiilor. Operaţia se numeşte formatarea discului. În toate comenzile SO directorul rădăcină este simbolizat de litera prin care se identifică dispozitivul de ME (A sau B pentru FDD; C pentru HDD; D, E, F ...... pentru eventualele diviziuni ale HDD);

- reţeaua de (sub)directoare este arborescentă, radială şi conexă. Între directorul rădăcină şi oricare alt (sub)director există o singură traiectorie posibilă. Aceasta se numeşte “cale” (“path”).

Din punct de vedere informaţional directorul se caracterizează prin: - identificatorul atribuit de utilizator- poziţia sa în arborele de directoare. Nu are sens să se vorbească despre “dimensiunea”

unui director. Se poate stabili însă dimensiunea totală a fişierelor care sunt “aşezate” pe un director.

Directorul curent este directorul pe care se află poziţionat (de pe care “citeşte” ) SO la un anumit moment. Acesta este indicat prin promptul (cursorul) SO, care se afişează automat pe monitor.

Ex. c:\> //directorul curent este chiar directorul rădăcină c:\D1\D2> //directorul curent este D2 (vezi fig. 4)

În fig. 4 se explică structura de directoare:C :\

D 1

D 2D 3

D 4F 2 .c p p F 1 .c p p

F 3 .c p p

D 5

D 6

unde:- D1, D5 sunt (sub)directoare. De ex. D1 este un director (director părinte pentru D2 şi D3),

D2 şi D3 sunt subdirectoare (director fiu) în raport cu D1.- F1.cpp reprezintă un fişier program care a fost salvat în directorul D3. Un

fişier nu poate aparţine decât unui singur (sub)director.- notaţia C:\> reprezintă directorul rădăcină şi totodată indică faptul că întreaga reţea

14

Page 15: lab 2

este organizată pe HDD.

3.3 Comenzi specifice SO

Atunci când SC se află sub controlul SO se afişează pe ecran un prompt specific acestuia. De exemplu pentru MS-DOS promptul are structura:

c:\>; c:\D1\D2>; a:\>Promptul indică atât directorul curent cât şi unitatea de ME (FDD, HDD, CD, etc.) care este

conectată la MO în momentul respectiv.Dacă SC se află sub controlul unui anumit program utilizator atunci imaginea (fereastra)

afişată are o structură specifică acestuia. Evident, se pot executa comenzile specifice SO numai dacă SC se află sub controlul respectivului SO.

Structura comenzilor SO MS-DOS este:

cu v â n t ch e ie a rg u m e n t

- cuvântul cheie reprezintă operaţia care va fi interpretată;- _ reprezintă un spaţiu de separare (caracter blank) între două cuvinte;- argumentul indică elementul asupra căruia se va executa comanda. Forma

argumentului este condiţionată şi de directorul curent. De aceea sintaxa nu este unică, dar dacă este corect alcătuită, rezultatul va fi întotdeauna acelaşi.

După alcătuirea comenzii, realizarea efectivă a acesteia este declanşată prin acţionarea tastei ENTER sau RETURN ().

Respectarea cu scrupulozitate a sintaxei este obligatorie. O sintaxă incorectă determină abandonarea execuţiei. Concomitent SO afişează un mesaj prin care se precizează natura erorii. Ambiguităţile în alcătuirea comenzilor SO pot determina însă o execuţie eronată ceea ce poate avea ca efect distrugerea unei informaţii utile.

Anumite comenzi se pot executa şi asupra unui grup de fişiere. Pentru aceasta este însă necesară selectarea prealabilă a fişierelor care ne interesează.

3.4. Editarea (alcătuirea) unui fişier.

Realizarea unui fişier nu se poate face decât cu ajutorul unui program de editare sau de calcul (pentru fişierele de date).

SO MS-DOS ca şi alte programe utilitare are încorporat un modul de editare (EDIT).Pentru alcătuirea unui fişier se parcurg următoarele etape:- alegerea programului de editare şi lansarea lui în execuţie;- alcătuirea conţinutului (textului) fişierului;- salvarea fişierului pe suport extern.

Alcătuirea textului fişierului.În funcţie de regulile respectate la alcătuire fişierului acesta va putea fi interpretat corect

ca un document (text), program sursă scris în C/C++ sau Pascal, un fişier de date etc.

15

Page 16: lab 2

Cvasitotalitatea programelor de editare folosesc pentru reprezentarea (codificarea) numerică a caracterelor codurile ASCII (American Standard Code for Information Interchange). În acest fel fişierele pot fi interpretate şi deci folosite de toate SO. Standardul ASCII permite numai codificarea caracterelor tastaturii: litere mari, litere mici, cifre, semne speciale.

Includerea într-un fişier a unor caractere deosebite: litere şi cifre de diferite forme sau dimensiuni, litere ale alfabetului grec etc. nu este posibilă cu ajutorul unui program de editare. Este necesară folosirea unor programe mai ample denumite procesoare de texte (ex. Microsoft Word, Corel Word-perfect, Latex, ...). Dezavantajul este însă acela că astfel de fişiere nu pot fi “citite” sau modificate decât numai folosind programul cu care au fost alcătuite.

Transferul informaţiilor în ME Transformarea textului editat într-un fişier se face automat de către SC, în momentul transferării informaţiei în ME. Operaţia poartă numele de “salvare” – “SAVE AS”.

Activarea comenzii “Save As” determină afişarea unei subferestre de dialog, prin intermediul căreia utilizatorul poate să precizeze:

- “calea” aferentă directorului unde urmează să se memoreze respectivul fişier (poziţia sa în arborele de directoare);

- numele fişierului;- extensia fişierului.

Este recomandat ca extensia, deşi este opţională, să corespundă tipului informaţiei care alcătuieşte fişierul. De asemenea, este de dorit ca directorul unde se va “salva” noul fişier să conţină fişiere de acelaşi tip.

Ex. Se cere să se alcătuiască fişierul F2.CPP şi apoi să se salveze pe directorul D2 (fig. 4).Utilizatorul trebuie să completeze în subfereastra de dialog:

C:\D1\D2\F2.CPP ()

Obs. 1 S-a presupus că fişierul F2 este un fişier sursă alcătuit în C/C++.Obs. 2 Este de dorit să se evite comanda “save” – salvare automată. Această comandă determină salvarea imediată a fişierului în directorul curent, cu un nume şi o extensie aleasă automat de către SC. Aceasta poate face destul de dificilă regăsirea ulterioară a fişierului.

3. 5. Comenzi referitoare la fişiere

Cele mai des utilizate comenzi MS-DOS referitoare la fişiere sunt cele de:- copiere;- ştergere;- redenumire.

Copierea unui fişier într-un alt director se realizează cu comanda:copy fişier-sursă _ fişier-destinaţie

Dacă se doreşte ca fişierul să fie copiat sub un alt identificator şi / sau extensie, acestea se precizează simultan cu destinaţia informaţiei.

Ex. Să se copieze fişierul F2.CPP în directorul D5, sub numele F3.CPP (fig. 4)Presupunem să directorul curent este D1. Structura comenzii este:

16

Page 17: lab 2

C:\D1>COPY _ C:\D1\D2\F2.CPP _ C:\D5\F3.CPP ()Deoarece directorul curent D1 este director părinte pentru D2 se acceptă şi o comandă de

forma:C:\D1>COPY _ D2\F2.CPP _ C:\D5\F3.CPP ()

Copierea fişierului F2.CPP fără modificarea numelui se poate efectua cu instrucţiunea:C:\D1>COPY _ D2\F2.CPP _ C:\D5 ()

Forma sintactică a argumentelor poate fi diferită pentru diferite forme ale promptului. Pentru evitarea unor interpretări eronate este recomandat ca pentru fiecare argument calea să se indice începând chiar cu directorul rădăcină.

Obs. Copierea unui fişier nu implică ştergerea fişierului din directorul sursă. Aceasta presupune deplasarea fişierului şi nu simpla copiere. Comanda este “MOVE”.

Redenumirea unui fişier se referă la modificarea numelui şi / sau a extensiei. Structura comenzii este:

REN nume-vechi _ nume-nou

Ex. Pentru schimbarea numelui fişierului F1.CPP în F1BIS.CPP (fig. 4) se foloseşte instrucţiunea:

C:\>REN _ C:\D1\D3\F1.CPP _ C:\D5\F1BIS.CPP ()Fişierul rămâne în acelaşi subdirector D3.

Ştergerea unui fişier se realizează cu comanda:

DEL nume-fişier

Dacă se doreşte ştergerea tuturor fişierelor care aparţin unui director comanda este:del *.* () * - simbolizează orice combinaţie posibilă de caractere, deci orice nume.

Obs. Nu se pot şterge concomitent fişiere poziţionate pe mai multe directoare.

3.6 Comenzi referitoare la directoare

Principalele comenzi referitoare la directoare permit:

Schimbarea unităţii de ME permite trecerea la arborele de directoare al unui alt element al ME.

Ex. Să se treacă promptul de pe HDD pe FDD.Comanda este:

c:\> a:\ () sau c:\> a: ()

Afişarea (inventarierea) numelor subdirectoarelor şi fişierelor conectate direct la directorul curent se face cu ajutorul instrucţiunii DIR. Structura comenzii este:

c:\> DIR ()

17

Page 18: lab 2

Se afişează elementele (fişiere sau directoare) aflate în directorul rădăcină.

Ex. Să se afişeze conţinutul directorului curent D2C:\D1\D2>dir ()

Crearea unui director se face cu comanda:MD numele-noului-director // make directory

Poziţia noului director în arborele de directoare este aceea de subdirector al directorului curent, dacă nu sunt făcute alte precizări prin intermediul argumentelor respectivei instrucţiuni.

Ex. Să se creeze directorul D6 ca subdirector al directorului D5 (fig. 4).Sunt prezentate două variante de structură a instrucţiunii, în funcţie de poziţia directorului

curent.C:\D1>md C:\D5\D6 ()

sau C:\D5>md D6 ()

Deplasarea în arborele de directoare se poate face de la directorul părinte la directorul fiu (din amonte în aval) folosind comanda:

CD nume_director

Efectul se observă pe ecranul monitorului deoarece promptul se poziţionează la noul director. Evident, comanda este corect executată numai dacă noul director este conectat la directorul curent. În caz contrar argumentul comenzii trebuie să aibă o sintaxă adecvată.

Ex. Să se alcătuiască instrucţiunea de trecere de la directorul D2 (directorul curent) la subdirectorul D4.

C:\D1\D2>cd D4 () efectul este modificarea structurii promptului la forma:

C:\D1\D2\D4>

Comanda pentru deplasarea de la subdirector la directorul părinte are o structură mai simplă întrucât există numai o singură “cale” de revenire spre directorul părinte (din aval în amonte).

Comanda este:CD .. ()

Ştergerea unui director se realizează cu comanda:RD _ numele-directorului-care-trebuie-şters

Comanda se poate executa numai dacă directorul care urmează a fi şters nu conţine fişiere sau subdirectoare (nu este gol – not empty). În caz contrar SO afişează mesajul de eroare:

director not emptyEste de preferat ca ştergerea să se facă de la directorul părinte la directorul fiu.

Ex. Pentru arborele din fig. 4 ne propunem să ştergem directorul D4, directorul curent fiind D2. Sintaxa comenzii este:

C:\D1\D2> RD D4 ()Dacă se doreşte ştergerea directorului D3 se execută succesiv următoarele comenzi:

C:\D1\D2> CD .. () // se poziţionează promptul în directorul D1 // D1 este noul director curent

18

Page 19: lab 2

C:\D1> CD D3 () // se poziţionează promptul în directorul D3 // D3 devine noul director curent

C:\D1\D2\D3> DEL F1.CPP () //se şterge fişierul F1.CPP //directorul D3 devine liber (empty)

C:\D1\D3> CD .. () //se poziţionează promptul în directorul D1C:\D1\> RD D3 () //se şterge subdirectorul D3

Dacă se foloseşte pentru ştergerea directorului D2 comanda:C:\D1> RD D2 () se obţine mesajul de eroare

director not empty deoarece subdirectorul D2 conţine fişierul F2.CPP (nu este gol).

4. Reţele de calculatoare

4.1. Introducere

Reţelele de calculatoare se impun în locurile unde se necesită comunicarea datelor între sisteme de calcul sau posibilitatea corelării datelor provenite de la calculatoare independente. Cea mai importantă caracteristică este împărţirea surselor, adică accesul la programe, date şi echipamente, pentru fiecare utilizator, indiferent de locul unde se află. Un alt avantaj al reţelelor este posibilitatea accesului simultan, prin duplicarea fiţierelor. După distanţa la care sînt distribuite componentele, putem distinge:

- reţele locale (LAN) - de la 10 m la 1 km; - reţele teritoriale (WAN); - superreţea (Internetworking) - reţeaua care leagă mai multe reţele teritoriale. Reţelele locale sînt acele sisteme la care timpul de propagare a semnalelor, comparativ

cu durata de transmisie a unui singur bit, este mai mare, iar comparativ cu durata tipică a unui mesaj, este mai mică. Sînt independente de sistemele publice de telecomunicaţie existente, şi pot folosi medii de comunicaţii private. Mediile de transmisie asigură o rată de eroare foarte redusă. Nu au comutatoare de pachete, însă fiecare element de prelucrare va poseda o interfaţă de reţea. La această interfaţă pot fi conectate terminale inteligente, calculatoare personale, micro- şi minicalculatoare. Reţelele locale trebuie concepute într-un mod care permite interconectarea cu reţelele teritoriale.

Reţelele teritoriale utilizează un subsitem de comunicaţie, deci funcţiile de comunicaţie sînt fizic separate de cele de prelucrare, şi sînt implementate ca noduri de comunicaţie interconectate. Comunicaţia se bazează pe tehnica comutării de pachete care asigură partajarea eficientă a resurselor de comunicaţie. Fiecare mesaj se împarte în pachete care se transmit independent. Un pachet trebuie să conţină suficiente informaţii de control, ca dirijarea sa prin reţea să se realizeze independent de celelalte pachete. Rolul nodurilor este gestionarea şi realizarea rutei pentru fluxul de pachete.

Dorinţa de a realizara o superreţea la care sînt conectate toate calculatoarele existente a apărut în anii '80. În cadrul ei, reţelele teritoriale sînt legate prin satelite.

19

Page 20: lab 2

4.2. Protocoale

Reţelele de calculatoare au fost concepute într-o maniera stratificată ierarhic, ca o succesiune de nivele. Sub egida ISO s-a elaborat Modelul de Referinţă pentru interconectarea Sistemelor Deschise. Obiectivele de bază ale acestui model sînt legate doar de comportamentul extern al sistemelor interconectate, caracterul deschis al unui sistem nu este legat de organizarea particulară şi funcţionarea internă specifică sistemului, doar de schimbul de informaţii şi de cooperarea dintre sistemele interconectate. A fost conceput pentru reţele teritoriale, dar se aplică, cu anumite particularităţi, reţelelor locale.

Două principii esenţiale stau la baza conceptului de arhitectură stratificată: - valorificarea serviciilor asigurate de nivelurile inferioare pentru fiecare nivel, astfel

încît celui mai înalt nivel să-i fie oferit setul de servicii necesare pentru realizarea unei aplicaţii distribuite;

- asigurarea independenţei fiecărui nivel, prin definirea serviciilor către nivelul următor, independent de modul de realizare a acestora.

Nivelul este compus conceptual din subsistemele de acelaşi rang ale tuturor sistemelor interconectate. Se utilizează termenul de protocol pentru desemnarea comunicaţiei dintre entităţile aparţinînd aceluiaşi nivel, şi cel de interfaţă pentru comunicaţia dintre nivele la aceaşi entitate. Detaliile unei interfeţe reprezintă în general o opţiune locală de implementare.

Nivelele trebuie astfel concepute ca fluxul de date prin interfeţe să fie minim, şi schimbarea implementării unui nivel să nu afecteze şi interfaţa. Un nivel poate lipsi dintr-un sistem în intregime, dacă funcţiile lui nu sînt folosite.

Modelul de referinţă OSI descrie şapte nivele funcţionale, care, împreună cu mediul fizic, asigură un set complet de servicii de comunicaţie.

Această arhitectură poate fi concepută ca fiind compusă din două părţi diferite: - partea de suport (nivelele 1, 2, 3); - partea de utilizator (nivelele 5, 6, 7). Cele două părţi sînt separate de nivelul de transport, care are rolul de a ascunde detaliile

constructive ale comunicaţiei. Nivelul fizic asigură mijloacele mecanice, electrice funcţionale şi procedurale pentru

accesul la mediul fizic. Totodată realizează transmisia la nivel de bit al informaţiei. Problemele caracteristice ale nivelului sînt: codificarea informaţiei, modul de transmisie, cuplarea- decuplarea echipamentelor, nivelul semnalelor, modul de conexie şi configuraţia pinilor.

Legătura de date, prin organizarea biţilor în blocuri, asigură posibilitatea detectării şi corectării erorilor care apar la nivel fizic. Cuprinde facilităţile de sincronizare pentru comunicaţii semiduplex şi duplex.

Nivelul de reţea se preocupă de dirijare mesajelor între două noduri intermediare folosind blocuri speciale de control, care conţine adresa destinaţiei. Acest nivel va alege ruta pe care informaţia va ajunge la destinaţie şi va adăuga adresele nodurilor intermediare.

Nivelul transport realizează transferul datelor de la sursă la destinaţie pe ruta stabilită de nivelul precedent cu o integritate ridicată. Se utilizează protocoale bazate pe confirmare, care implică transmisia, retransmisia şi recuperarea datelor eronate.

Transportul este de la cap la cap, programul de pe calculatorul sursă conversînd cu un program similar de pe calculatorul destinaţie. La acest nivel canalelor logice se asociază adrese fizice.

Nivelul sesiune permite legarea utilizatorului la un calculator central care lucrează cu divizarea timpului (time sharing) şi transmiterea fişierelor prin funcţiile de stabilire şi eliberare de conexiuni, sincronizare, raportare întrerupere. Pentru a evita repetarea întregului transfer în caz de eroare, înserează periodic puncte de control de la care poate fi reluată transmisia.

20

Page 21: lab 2

Nivelul de prezentare are rolul de a elibera aplicaţiile de diferenţele existente în reprezentarea datelor. Asigură totodată codificarea datelor într-un standard corespunzător aplicaţiei. În cazul în care la transmisie se folosesc date comprimate pentru a reduce timpul de transfer, acest nivel rezolvă comprimarea şi decomprimarea datelor.

Nivelul aplicaţie permite funcţionarea concurentă a proceselor în vederea realizării unui obiectiv definit de utilizator, fără ca acesta să cunoască locul unde se află procesele. Funcţiile asigurate de acest nivel sînt: lansarea programelor, vizualizarea şi transferul fişierelor de pe întregul sistem, poşta electronică (E-mail).

Desi modelul OSI este general recunoscut, standardul istoric si tehnic pentru Internet este TCP/IP (Transmission Control Protocol/Internet Protocol). Modelul TCP/IP a fost creeat de U.S. DoD din necesitatea unei retele care ar putea supravietui in orice conditii. Modelul TCP/IP are patru niveluri: Aplicatie, Transport, Retea (sau Internet) si Acces la Retea. Nivelul Aplicatie nu este identic cu cel din modelul ISO-OSI. Acesta include ultimele trei niveluri superioare din stiva OSI. Acestea au fost comasate pentru a putea fi tratate la un loc toate problemele legate de protocoale de nivel inalt, fie ele de reprezentare, codificare sau control al dialogului. Nivelul Transport este identic cu cel din modelul OSI, ocupandu-se cu probleme legate de siguranta, control al fluxului si corectie de erori. Scopul nivelului Retea (Internet) este de a asigura transmiterea pachetelor de la orice sursa din retea si livrarea lor catre o destinatie independent de calea si retelele pe care le-a strabatut pentru a ajunge acolo. Determinarea drumului optim si comutarea pachetelor au loc la acest nivel. Nivelul Acces la retea se ocupa cu toate problemele legate de transmiterea efectiva a unui pachet IP pe o legatura fizica.

Inainte ca datele sa fie transmise, ele trec printr-un proces numit incapsulare. Incapsularea adauga informatii specifice fiecarui nivel prin adaugarea unui header si a unui trailer la fiecare nivel. Acest proces este vital in comunicare. Prin incapsulare, protocoalele de pe fiecare nivel pot comunica intre sursa si destinatie independent de celelalte niveluri. Fiecare nivel isi adauga informatii specifice pe parcursul incapsularii. Astfel, in cadrul procesului de decapsulare, protocoalele de pe un anumit nivel pot primi aceste date la destinatie si pot da informatii nivelelor superioare in functie de aceste date. Se creeaza in acest fel o comunicare intre nivelurile analoage de la sursa si de la destinatie; aceasta comunicare nu are loc prin legaturi fizice, ci este posibila datorita procesului de incapsulare/decapsulare a datelor. Fiecare nivel comunica cu nivelurile analoage prin intermediul unor unitati de date proprii (PDU = Prorocol Data Unit). Aceste unitati de date sunt constituite din datele primite de la nivelurile superioare, incadrate de un header si un trailer specifice nivelului respectiv. Fiecare tip de PDU pentru nivelurile 2, 3 si 4 (legatura de date, retea si transport) au semnificatii deosebit si poarte nume consacrate. Nivelurile transport comunica prin segmente, nivelurile retea comunica prin pachete, iar cele legatura de date creaza prin incapsulare cadre.

Vom da un exemplu pentru a putea intelege mai bine si pentru a putea urmati procesul de incapsulare a datelor. Sa presupunem ca un utilizator oarecare scrie un e-mail pe care il trimite unui destinatar. El face acest lucru prin intermediul unui client de mail (de exemplu MS. Outlook). La trimiterea e-mail-ului, protocolul SMTP, situat la nivel aplicatie, primeste date de la clientul de mail si le trimite nivelului prezentare, dupa ce si-a adaugat informatiile proprii ce vor fi necesare la receptionare pentru corecte interpretare de catre clientul de mail al destintatarului. La nivelul prezentare, datele sunt trecute in format ASCII pentru a asigura o reprezentare comuna si trimise mai departe nivelului sesiune. Nivelul sesiune va creea si deschide o sesiune de comunicare cu calculatorul destinatie cu scopul de a trimita datele primite de la nivelul superior. Datele trimise de nivelul sesiune sunt receptionate de catre nivelul transport. Acesta le imparte in segmente, adaugandu-si propriile informatii (numarul segmentului, portul sursa si destinatie etc.) prin

21

Page 22: lab 2

intermediul unui header si trimite segmentele astfel obtinute nivelului retea. Nivelul retea va creea pachete prin adaugarea headerului propriu ce va contine elemente de adresare IP, cum ar fi adresa IP a sursei si a destinatiei. Pachetele sunt trimise nivelului legatura de date. Nivelul legatura de date incapsuleaza pachetul intr-un cadru, adaugandu-si propriul header ce contine elemente de adresare fizica. Cadrele sunt pasate nivelului fizic, care este respunzator cu transmiterea efectiva a bitilor prin mediul de transmisie. Astfel, desi singura comunicare reala are loc intre nivelurile fizic, fiecare nivel poate transmite date specifice nivelului analog de la destinatie ce vor fi interpretate de catre acestea.

4.3. Reţele locale (LAN)

În comparaţie cu modelul de referinţă, reţelele locale au următoarele particularităţi: - la legătura de date există un singur canal fizic de comunicaţie, care este cerutşi

eliberat în mod dinamic de către elementele interconectate, folosind un protocol de acces multiplu la canal(cablu de conectare);

- nivelul reţea este opţională, pentru că nu există probleme de rutare - ea poate fi folosită pentru comunicaţii inter-reţea;

Factorii de care se ţine cont la alegerea unui LAN potrivit: numărul de puncte care trebuie conectate, aria fizică acoperită şi distanţa maximă dintre puncte, posibilitatea de extindere a reţelei, performanţele dorite, siguranţă şi securitatea datelor, posibilitatea de comunicare în afara reţelei. Reţeaua locală, în general, este realizată pe baza următoarelor elemente hardware: mediul fizic de transmisie, setul de mecanisme de acces şi transmisie pe mediu, interfaţa de reţea.

Interfaţa de reţea trebuie să funcţioneze în paralel cu elemetul de prelucrare gazdă. Elementele de prelucrare sînt toal indepedente de schema de interconectare. Elementele pasive (imprimante, scannere etc.) conectate în reţea sînt asociate pe o anumită cale cu elementele active. Comunicaţiile cu elemetele pasive vor avea loc prin intermediul elementelor gazdă asociate.

Este necesar adoptarea unei proceduri administrative, care să permită gestiunea alocării de adrese la dispozitivele conectate în reţea. Cea mai simplă metodă de a aloca adrese unice globale este cea a partiţionării spaţiului de adrese pe blocuri.

Adresarea de grup sau multiplă permite trimiterea mesajelor sau a pachetelor la mai multe destinaţii. Alocarea dinamică asigură o adresare flexibilă, şi nu cere implicarea utilizatorului.

4.4. Căi fizice, topologii de bază

Calea multipunct globală conduce la o topologie de tip magistrală, şi permite conectarea unui nod simultan cu toate celelalte.

22

Page 23: lab 2

Poate fi bidirecţională sau unidirecţională. Prima este realizată cu un singur cablu coaxial, prevăzut cu conectori de cuplare bidirecţionali. Buna funcţionare a reţelei este condiţionată de respectarea lungimilor derivaţiilor şi a spaţiilor ce le separă, pentru a evita pierderile şi reflexiile de semnal. În cazul celei de a doua, emisia fiecărui nod este conectată la una dintre ramurile topologiei, numită şi canal de emisie, iar recepţia la cealaltă ramură, denumită şi canal de recepţie. Reflexiile de semnal, datorată dezadaptării de impedanţă, vor sosi la nivelul receptorilor cu o amplitudine neglijabilă.

Acest tip va permite tolerarea unor defecte de cablu şi de conector, cît şi extragerea unui nod din reţea.

În cazul topologiei de tip inel, fiecare nod este legat la două noduri vecine, în scopul constituirii unui inel unidirecţional. Fiecare nod poate acţiona ca un simplu repetor al informaţiei sau ca emiţător activ. Reduce timpii de acces, dar defectarea unui element conduce la căderea reţelei. Metodele de evitare sînt utilizarea liniilor punct la punct redunante sau folosirea unui inel de rezervă.

Topologia de tip stea, format din căi punct la punct, realizează conexiuni unice între perechi de noduri. Necesită implementarea unor strategii de rutare (nodul central).

Există şi alte tipuri de topologii, dar nu mai sunt folosite decât ocazional, ca atare nu le vom prezenta aici.

4.5. Tipuri caracteristice de reţele

4.5.1. ETHERNET

Prezintă o structură cu magistrală de difuzare, folosind tehnica „ascultă, transmite şi ascultă transmisia” pentru controlul accesului.

Legăturile se realizează prin cablu coaxial cu impedanţă de 50 ohmi, şi lungimea maximă a segmentului de 500 m, la care sînt conectate elementele de prelucrare prin transceiver şi controler. Transceiverul are rolul de detectare a purtătoarei şi a coliziunilor. În cazul sesizării

23

Page 24: lab 2

coliziunilor, va genera semnalul de bruiaj specific. Transceiverul multiport realizează legătura mai multor elemente de prelucrare (maxim 8). Cablul de legătură dintre transceiver şi controler nu poate depăşi 50 m. Controlerul asigură algoritmii necesari accesului la canal, recunoaşterea adreselor, constituirea pachetelor, codificarea şi decodificarea datelor, precum şi serializarea şi deserializarea informaţiei. Există controlere cu procesor şi buffer propriu, şi variante cu DMA. Sistemul include în mod opţional şi repetoare, pentru extinderea ariei de întindere a reţelei. Permite conectarea a două segmente adiacente prin intermediul transeiverilor.

4.5.2. TOKEN RING

Este o reţea extrem de vastă şi fiabilă, cu topologie hibridă stea-inel, folosind tehnica jetonului circular. Configuraţia minimală este alcătuită dintr-un singur inel, realizat din cablu coaxial care leagă interfeţele de reţea. Numărul maxim de staţii pe inel este de 250. Datorită numărului mare de repetări a semnalului circulant, pot apare desincronizări la nivel de bit. Dacă nodurile sînt distribuite pe distanţe mari, este preferabil să se realizeze mai multe inele interconectate prin punţi. Puntea este un calculator echipat cu cîte o interfaţă pentru fiecare inel.

Sistemul de operare are ca scop gestiunea resurselor aflate în reţea. Cea mai importantă funcţie a lui este împărţirea numelor şi adreselor în sistem, asigurînd o compatibilitate cu mai multe tipuri de reţele şi mai multe sisteme de operare.

Asigură configurarea şi reconfigurare a resurselor, precum şi a parametrilor reţelei, iar la identificarea unor erori activează sau dezactivează anumite surse. Funcţia de monitorizare permite urmărirea evenimentelor din reţea.

Gestiunea securităţii cuprinde controlul accesului (crează conturi, atribuiri de parole, restricţii la folosirea anumitor staţii, determină numărul de staţii folosite simultan de un utilizator, eventual timpul maxim de utilizare) şi protecţia resurselor, care atribuie unui utilizator sau unui grup dreptul de a folosi o resursă sau se aplică un atribut resursei (citire, scriere, creare, căutare).

Gestiunea fişierelor trebuie să asigure fiecărui utilizator accesul la toate datele din sistem, indiferent de modul de reprezentare al acestora. La reţele locale, uzual, toate datele vor fi păstrate pe un fileserver, care va păstra toate datele din sistem. Acest lucru impune măsuri de siguranţă în plus. De obicei se dublează tabela de directoare, dar există situaţii cînd întregul volum de date este dublat.

Serviciile suplimentare ale reţelei sînt: transmisia mesajelor electronice, gestiunea contabilă, gestiunea listărilor.

24

Page 25: lab 2

5. Cum alegem un calculator?

Multe persoane doresc achiziţionarea unor calculatoare, dar nu ştiu mai nimic despre arhitectura acestuia. La această întrebare este bine să vă răspundă un specialist. Dacă nu ştiţi cum să alegeţi un calculator cereţi sfatul cuiva de specialitate. Fără a dori să aruncăm vre-o umbră asupra firmelor în domeniu, vă atragem atenţia că acestea au tot interesul să-şi vândă marfa de pe stoc, eventual produsele mai greu vandabile deoarece au apărut tehnologii noi. În ideea că prezentarea de mai jos nu este altceva decât un sfat şi nu o literă de lege, şi că ori de câte ori veţi dori a achiziţiona vre-un produs în domeniu veţi apela la un expert, vom încerca să vă ajutăm în alegerea dumneavoastră prin recomandările ce urmează.

1. Ce fac mai întâi când îmi doresc un calculator?Primul lucru pe care ar trebui să-l faceţi ar fi “găsirea” unui specialist. Pentru aceasta, în

cazul în care nu cunoaşteţi unul, apelaţi la INTERNET, sau la firmele de specialitate. NU vă cumpăraţi din primul magazine în care intraţi decât dacă ştiţi ce vreţi.

2. Al doilea pas ar fi să vă hotărâţi asupra sumei de bani pe care sunteţi dispuşi să o folosiţi pentru această investiţie.

În funcţie de posibilităţile fiecăruia suma folosită poate varia(15 mil-40 mil). Firmele care vând calculatoare au şi oferte în rate. Pentru aceasta trebuie să vă interesaţi. Trebuie să ştiţi că atunci când se achiziţionează un calculator trebuie avute în vedere şi unele cheltuieli adiţionale(fire de curent, alte cabluri necesare diferenţe de preţuri etc.). Ca atare, trebuie să vă fixaţi foarte bine plafonul. Totuşi un calculator nou e greu de găsit (cu monitor cu tot) sub 10. milioane. Există şi firme care oferă calculatoare second hand, la preţuri mult mai mici.

3. Am hotărât suma. Ce urmează?Acum veţi alerga prin magazine după oferte. Dacă aveţi un specialist cereţi-i să vă arate

ofertele şi să vă spună de ce preferă una sau alte dintre ele.

4. Urmează alegerea procesorului. INTEL sau AMD? Dacă nu dispuneţi de prea mulţi bani alegeţi fără nici o frică un AMD. Nu uitaţi că trbuie să specificaţi şi frecvenţa. Nu uitaţi să cumpăraţi şi un cooler cu radiator pentru procesorul dumneavoastră

5. Dacă aţi hotărât tipul şi frecvenţa procesorului alegeţi placa de bază. Aceasta trebuie să suporte tipul dumneavoastră de procesor, precum şi frecvenţa.

6. Urmează alegerea memoriei RAM. Aceasta se face în funcţie de placa de bază. E bine ca aceasta să fie la aceeaşi frecvenţă cu FSB-ul plăcii de bază. În ofertele detaliate veţi găsi referitor la plăcile de bază această informaţie. Capacitatea memorie o veţi alege în funcţie de necesităţile pentru care doriţi calculatorul, dar şi în funcţie de bani.

7. Vă uitaţi la placa de bază şi vedeţi ce tip de hardisk suportă. Încercaţi să alegeţi acum un HDD ce este compatibil cu placa de bază. Capacitatea, viteza de rotaţie şi mărimea bufferului îl veţi alege şi funcţie de buzunar. Dacă e de făcut un compromis puteţi să vă luaţi un HDD cu un buffer mai mic sau chiar fără buffer, sau de o capacitate mai mică.

8. FDD. Eu aş opta pentru cea mai ieftină unitate FDD de pe piaţă. Nu este o componentă esenţială ca să daţi mulţi bani pe ea.

25

Page 26: lab 2

9. Placa video. Ce alegem? Există două mari direcţii: pentru jocuri sau pentru graphică. Primele au avantajul unor reacţii mai rapide la stimuli(de ex. mişcarea mouse-ului), celelalte au o fidelitate deosebită în redarea imaginii. Din prima categorie fac parte plăcile tip GF2,GF4, din a doua cele tip ATI RADEON. Preţurile sunt diverse variând de la 2 mil. până la 20 mil. Contează şi capacitatea memoriei video(mai multă mai bine). Este bine ca, pentru buna funcţionare a pieselor unui calculator, placa de bază şo cu placa video să fie compatibile(dacă se poate de la acelaşi producător).

10. Unitatea de CD. Este recomandat a fi separată de unitatea de CDREWRITABLE. (deci nu veţi folosi pentru citirea unui CD aceeaşi unitate ca şi pentru inscripţionare). Există mai multe oferte pe piaţă. Deşi în general dacă e mai mult e mai bine, de data aceasta este invers. O unitate rapidă (52X) are un mare dezavantaj în faţa unei unităţi mai lente(8X, 16X, 32X) şi anume că nu va putea citi CD-urile imperfecte, zgâriate, sau cu unele probleme. De aceea eu recomand unităţile mai lente. Totuşi aici este foarte importantă şi firma constructoare.

11. Placa de sunet. Dacă nu aveţi una încorporată pe placa de bază, dacă nu aveţi nevoie de o placă ultraperformantă (doar pentru compozitori sau studiouri de muzică) atunci nu este nevoie să va cumpăraţi una scumpă. Totuşi consultaţi-vă cu un specialist. Nu toate plăcile au driverele necesare. S-ar putea să aveţi unele probleme.

12. Carcasa. Alegerea acesteia nu ţine numai de design. Pe carcasă este montată sursa de current(transformatorul). Pentru calculatoarele ce vor fi servere este recomandată o sursă cât mai puternică. Dar şi tipul de processor poate cere o anumită caracsa. De exemplu calculatoarele cu procesoare PENTIUM IV au nevoie de caracase la măcar 300 W. Se recomandă totuşi 350W-400W.

13. Mouse+tastatură+boxe. La alegerea fiecăruia, după tipul calculatorului(atenţie la mufele de cuplare), şi după buzunare.

14. Monitorul. Alegerea monitorului este totdeauna dificilă. Nu ştii între ce firme şi ce tipuri să alegi.

Mai întâi vedeţi cam ce bani mai rămân. Un monitor este aproximativ 1/3 din preţul unui calculator.

Alegerea trebuie facută intre unul cu cristale sau unul catodic. Dacă doriţi unul catodic, atunci luaţi unul cu ecran plat (flat).

La un monitor mai contează şi diagonala. Pentru un utilizator independent un monitor de 17” este perfect. Unul mai mare ar putea dăuna ochilor, în timp ce unul mai mic este nepractic din punctual de vedere al dimensiunii imaginilor.

15. Vor mai fi necesare cabluri de conecrate a CD-ROM-ului, a HDD-ului a FDD-ului, etc, precum şi cabluri de alimentare cu, curent pentru monitor şi calculator.

16. Imprimanta

Exista trei tipuri prinipale de imprimante : cu ace, cu jet de cerneală şi cu laser. Deşi folosesc tehnologii de imprimare diferite, toate primesc aceleaşi informaţii de la PC şi folosesc, de obicei, aceleaşi tipuri de porturi pentru conectare. Când despachetaţi imprimanta, trebuie să citiţi instucţiunile cu atenţie înainte de conectarea sa deoarece pot exista componente, cum ar fi tăviţele de alimentare cu hârtie, care trebuie fixate înainte de pornire.

26

Page 27: lab 2

Când imprimanta este asamblată în întregime, legaţi-o la ieşirea specială a PC-ului, notată de obicei cu LPT1 sau Printer, şi apoi conectaţi cablul la priza de perete.

Imprimantele cu ace folosesc ace subţiri care bat într-o panglică impregnată cu cerneală pentru a tipări imaginea pe hârtie (ribon). Dacă aveţi o imprimantă cu ace, rezultatele vor fi mediocre. Ele folosesc de fapt, principiul de la maşină de scris care foloseşte şi ea bandă tuşată. Aceste imprimante sunt ietine şi uşor de folosit. Dezavantajele sunt diverse: sunt foarte zgomotoase, nu se mai fabrică piese de schimb, nu sunt fidele.

Imprimantele cu jet de cerneală aruncă mici picături de cerneală pe hârtie şi compun imaginea de tipărit. Ele tiparesc mai bine decat cele cu ace, nu sunt mult mai scumpe şi sunt silenţioase. Imprimantele cu jet de cerneală color sunt doar cu puţin mai scumpe decât cele alb -negru, dar culoarea poate fi punctul forte al lucrării dumneavoastră. Fotografiile color vor fi tipărite acceptabil, dar nu la standardul revistelor.

Imprimantele cu laser realizează tipărituri de cea mai bună calitate, dar sunt mult mai scumpe; sunt totuşi usor de folosit.

OBS !Calitatea lucrării este influenţată şi de calitatea hârtiei folosite. Dacă lucraţi la un proiect

special şi aţi dori să arate cât mai bine posibil, ar fi bine să cumpăraţi hârtie special concepută pentru imprimanta pe care o aveţi. Este un anumit tip de hârtie pentru imprimantele cu jet de cerneală şi un altul pentru imprimantele laser. Imaginile sunt astfel redate mai clar.

6. Întrebări de autocontrol

1. Prezentaţi tipuri de EP.2. Care sunt registrele care reţin operanzii şi rezultatele şi care sunt registrele referitoare dreselor ?3. Găsiţi semnificaţiile cifrelor b0, b2, b6, b7, b11 ale registrului FLAGS.4. Care sunt diferenţele între registrele AX, BX, CX, DX ?5. Explicaţi diferenţele dintre notaţiile [AX]; BX; CX; [DX]; [64200].6. Exprimaţi în baza 16 următoarele adrese 65240; 65535; 64100; 65546, 66100.7. Determinaţi valoarea în baza 10 a următoarelor adrese care au fost scrise în baza 16.8. Descrieţi modul în care se schimbă [BP] şi [SP] atunci când în modulul de program interpretat

se declară noi variabile.9. Care este modul de organizare a informaţiilor pe HDD ?10. Care este modul de funcţionare a programului NORTON COMMANDER ?11. Ce operaţii se pot realiza cu ajutorul acestuia ?12. Cum funcţionează SO Microsoft Windows ?13. Comparaţi posibilităţile programelor NORTON COMMANDER şi WINDOWS

COMMANDER.14. Care sunt principalele tipuri de fişiere ? (clasificare)15. Care sunt etapele necesare execuţiei fişierelor cu extensiile exe; dat; cpp ?16. Presupunem că s-a lansat în execuţie modulul de programare C/C++ şi se încearcă prelucrarea

fişierului PROGX.TP care va fi mesajul de răspuns din partea SC ?17. Cum se determină lungimea unui director ?18. Care sunt comenzile referitoare la fişiere şi restricţiile impuse în utilizarea acestora ?19. Aceeaşi întrebare pentru directoare.20. Care este semnificaţia următoarelor noţiuni:

- director părinte;- subdirector;

27

Page 28: lab 2

- director rădăcină;- director fiu.

21. Explicaţi deosebirea dintre fişier şi director.22. Arătaţi interpretarea fizică, respectiv logică a noţiunii de fişier.

7. Exerciţii

1. Precizaţi modul de reprezentare în MO (formatul intern /extern) a următoarelor numere întregi şi pozitive (vezi ex. 1): 176, 25172, 32762, 57.

2. Executaţi operaţiile: 27 + 159 20000 + 19000 30 + 1024 în bazele de numeraţie 10, 2 şi 16.

3. Alegeţi un conţinut informaţional pentru registrele de mai jos şi verificaţi modul de efectuare a operaţiilor:

- [AX] ← [AX] + [AX];- [BX] ← [AX] + 25;- [AX] ← [BX] + 7;- [AX] ← [AX] + [CS];- [BX] ← [BX] + [CX];- [AX] ← [BX] + [CX] +7;- [AX] ← [BX] + [CX];- [AX] ← [AX] + [IP];

4. Se consideră: [AX] = 159 ; [BX] = 159 şi operaţiile: [AX] ← [AX] – [BX]; [AX] ← [AX] –5; [AX] ← [AX] – 70000. Care vor fi valorile indicatorilor de condiţii b0 şi b6 în fiecare din cazuri

5. Să se scrie instrucţiunile necesare efectuării peraţiilor: 15 +27; 17 + 120; 83 – 15. Se vor folosi pentru memorare registrele parţiale AL, AH, ...., DL, DH.

6. Folosind precizările din Ex. 2 (fig. 3) să se precizeze configuraţia unei stive de MO pentru un program alcătuit dintr-un singur modul (main) care rezervă locaţii pentru memorarea următoarelor valori numerice: 156; -74; ‘A’; ‘a’; “stiva”. Să se precizeze diferenţa dintre notaţiile ‘_’ respectiv “......”. Să se indice [BP] şi [SP].

7. Considerând un program alcătuit din două module să se prezinte configuraţia stivei de MO şi [BP] şi [SP] atunci când se execută fiecare modul. Se presupune că în primul modul se memorează valorile 27, “student”. Pentru modulul al doilea se vor alege datele memorate.

8. Să se completeze structura următoare de directoare existentă pe HDD:

{C :\ sau L:\} d irec to r rãd ãc inã

s tud ent

grup a

Nume s tud ent s t

D1 D2 D3

28

Page 29: lab 2

9. Folosind modulul de editare din mediul de programare C/C++ să se editeze un fişier text şi să se salveze în D1. Să se aplice comenzile cut, copy, paste, show clipboard.

10. Cu ajutorul fişierului alcătuit în exerciţiul anterior să se exemplifice comenzile SO MS-DOS prezentate în referat.

29

Page 30: lab 2

Anexa Reprezentarea numerelor în SC

Puterile lui 2

20 = 121 = 222 = 423 = 8 = 1 octet (B)24 = 1625 = 3226 = 6427 = 12828 = 25629 = 512210 = 1024

Multiplii bytului

1 octet (1 byte, 1 B) = 23 biţi 1 Kilooctet (1 Kilobyte, 1 KB) = 210 B1 Megaoctet (1 Megabyte, 1 MB) = 210 KB = 220 B 1 Gigaoctet (1 Gigabyte, 1 GB) = 210 MB = 220 KB = 230 B1 Teraoctet (1 Terabyte, 1 TB) = 210 GB = 220 MB = 230 KB = 240 B1 Paraoctet (1 Parabyte, 1 PB) = 210 TB = 220 GB = 230 MB = 240 KB = 250 B

Reprezentarea numerelor în diferite sisteme de numeraţie

Sistem zecimal

Sistembinar

Sistem hexazecimal

0 0 01 1 12 10 23 11 34 100 45 101 56 110 67 111 78 1000 89 1001 910 1010 A11 1011 B12 1100 C13 1101 D14 1110 E15 1111 F

30

Page 31: lab 2

31