Sunteți pe pagina 1din 8

Un calculator, numit și sistem de calcul, computer sau ordinator, este o mașină de

prelucrat date și informații conform unei liste de instrucțiuni numită program. În zilele noastre calculatoarele se
construiesc în mare majoritate din componente electronice și de aceea cuvântul „calculator” înseamnă de
obicei un calculator electronic. Calculatoarele care sunt programabile liber și pot, cel puțin în principiu,
prelucra orice fel de date sau informații se numesc universale (engleză general purpose, pentru scopuri
generale). Calculatoarele actuale nu sunt doar mașini de prelucrat informații, ci și dispozitive care
facilitează comunicația între doi sau mai mulți utilizatori, de exemplu sub formă de numere, text, imagini, sunet
sau video sau chiar toate deodată (multimedia).
Știința prelucrării informațiilor cu ajutorul calculatoarelor se numește informatică (engleză Computer Science).
Tehnologia necesară pentru folosirea lor poartă numele Tehnologia Informației, prescurtat TI sau IT (de la
termenul englezesc Information Technology).
În principiu, orice calculator care deține un anumit set minimum de funcții (altfel spus, care poate emula
o mașină Turing) poate îndeplini funcțiile oricărui alt asemenea calculator, indiferent că este vorba de
un PDA sau de un supercalculator. Această compatibilitate a condus la folosirea calculatoarelor cu arhitecturi
asemănătoare pentru cele mai diverse activități, de la calculul salarizării personalului unei companii până la
controlul roboților industriali sau medicali (calculatoare universale).

Funcționare[modificare | modificare sursă]


Calculatoarele clasice pe care le folosim în prezent efectuează operații logice folosind biți - un flux de impulsuri
electrice sau optice reprezentând formule binare formate din 1 sau 0. Un calculator obișnuit stochează și
procesează informația cu ajutorul tranzistorilor: când tranzistorul permite trecerea curentului electric, apare un
semnal de tip 0, iar, dacă tranzistorul nu permite trecerea curentului electric, un semnal de tip 1. În orice
sarcină a computerului, procesul este același: un algoritm manipulează o serie de biți, unde fiecare bit este fie
0, fie 1 (input), din care rezultatul este un nou șir de biți ai calculatorului (output).

Istoric[modificare | modificare sursă]


Articol principal: Istoria mașinilor de calcul
Cel mai vechi mecanism cunoscut care se pare că putea funcționa ca o mașină de calculat se consideră a
fi mecanismul de la Antikythera, datând din anul 87 î.e.n. și folosit aparent pentru calcularea mișcărilor
planetelor. Tehnologia care a stat la baza acestui mecanism nu este cunoscută.
Odată cu revigorarea matematicii și a științelor în timpul Renașterii europene au apărut o succesiune de
dispozitive mecanice de calculat, bazate pe principiul ceasornicului, de exemplu mașina inventată
de Blaise Pascal. Tehnica de stocare și citire a datelor pe cartele perforate a apărut în secolul al XIX-lea.
În același secol, Charles Babbage este cel dintâi care proiectează o mașină de calcul complet
programabilă (1837), însă din păcate proiectul său nu va prinde roade, în parte din cauza limitărilor
tehnologice ale vremii.
În prima jumătate a secolului al XX-lea, nevoile de calcul ale comunității științifice erau satisfăcute de
calculatoare analoage, foarte specializate și din ce în ce mai sofisticate. Perfecționarea electronicii
digitale (datorată lui Claude Shannon în anii 1930) a condus la abandonarea calculatoarelor analogice în
favoarea celor digitale (numerice), care modelează problemele în numere (biți) în loc de semnale electrice
sau mecanice. Este greu de precizat care a fost primul calculator digital; realizări notabile au fost:
calculatorul Atanasoff-Berry, mașinile Z ale germanului Konrad Zuse - de exemplu calculatorul
electromecanic Z3, care, deși foarte nepractic, a fost probabil cel dintâi calculator universal, apoi
calculatorul ENIAC cu o arhitectură relativ inflexibilă care cerea modificări ale cablajelor la fiecare
reprogramare, precum și calculatorul secret britanic Colossus, construit pe bază de lămpi și programabil
electronic.
Echipa de proiectare a ENIAC-ului, recunoscând neajunsurile acestuia, a elaborat o altă arhitectură, mult
mai flexibilă, care a ajuns cunoscută sub numele de arhitectura von Neumann sau „arhitectură cu program
memorat“. Aceasta stă la baza aproape tuturor mașinilor de calcul actuale. Primul sistem construit pe
arhitectura von Neumann a fost EDSAC.
În anii 1960 lămpile (tuburile electronice) au fost înlocuite de tranzistori, mult mai eficienți, mai mici, mai
ieftini și mai fiabili, ceea ce a dus la miniaturizarea și ieftinirea calculatoarelor. Din anii 1970,
adoptarea circuitelor integrate a coborât și mai mult prețul și dimensiunea calculatoarelor, permițând
printre altele și apariția calculatoarelor personale de acum.

Arhitectura von Neumann[modificare | modificare sursă]


Articol principal: Arhitectura von Neumann.
Deși design-ul și performanțele calculatoarelor actuale s-au îmbunătățit considerabil în comparație cu cele
din anii 1940, principiile arhitecturii von Neumann sunt în continuare la baza aproape a tuturor mașinilor de
calcul[1][2][3] contemporane. Ea este denumită așa după renumitul matematician austro-ungar John von
Neumann.
Această arhitectură descrie un calculator cu patru module importante: unitatea aritmetică-logică (UAL),
unitatea de control (UC), memoria centrală și dispozitivele de intrare/ieșire (prescurtat I/E). Acestea sunt
interconectate cu un mănunchi de fire numit magistrală pe care circulă datele de calcul și datele de
program (instrucțiuni) și sunt conduse în tactul unui ceas (șir de impulsuri continuu).
Conceptual, memoria unui calculator poate fi văzută ca o mulțime de „celule“ numerotate. Fiecare celulă
primește drept adresă un număr unic propriu; ele pot înmagazina o cantitate mică, prestabilită de
informație. Informația poate fi ori o instrucțiune, ori date propriu-zise. Instrucțiunile spun calculatorului ce
să facă, iar datele sunt acele informații care trebuie prelucrate conform cu instrucțiunile. În principiu orice
celulă poate stoca (memora) atât instrucțiuni cât și date. Interesant este și cazul când una sau mai multe
instrucțiuni, deja stocate în memorie, sunt privite de către alte instrucțiuni drept date de prelucrat/modificat
și sunt deci ele însele modificate dinamic („în mers“), după necesitate.
Alte arhitecturi întrebuințate la calculatoarele de uz general sunt de exemplu arhitectura
Harvard și arhitectura Dataflow.

Circuite digitale (hardware)[modificare | modificare sursă]


Principiile de mai sus pot fi implementate cu o varietate de tehnologii - de ex. mașina lui Babbage era
alcătuită din componente mecanice. Însă singura asemenea tehnologie care s-a dovedit suficient de
practică este cea a circuitelor digitale (numerice), circuite electronice care pot efectua operații din algebra
booleană și aritmetica binară. Dar primele „circuite” digitale foloseau relee electromecanice pentru a
reprezenta stările "0" (blocat) și "1" (conducție), aranjate în porți logice. Releele au fost repede înlocuite
cu lămpi electronice - tuburi electronice cu vid, dispozitive 100% electronice, folosite până atunci în
electronica analogă pentru proprietățile lor de amplificare, dar care au putut fi utilizate și drept comutatoare
(elemente de bază în construcția calculatoarelor) de stare, 1→0 sau 0→1.
Aranjând corect porți logice binare , se pot construi circuite care execută și funcții mai complexe, de
exemplu sumatoare. Sumatorul electronic adună două numere folosind același procedeu (în termeni
informatici, algoritm) învățat de copii la școală: se adună fiecare cifră corespondentă, iar „transportul” este
transmis către cifrele din stânga. În consecință, reunind mai multe asemenea circuite, se pot obține o UAL
și o unitate de control complete. CSIRAC, unul din primele calculatoare bazate pe arhitectura von
Neumann și probabil cel mai mic asemenea calculator posibil, avea circa 2000 de lămpi (tuburi) - deci
chiar și pentru sisteme minimale e nevoie de un număr considerabil de componente.

Un circuit integrat văzut la microscop


Lămpile electronice erau caracterizate de câteva limitări severe în folosirea lor pentru construcția porților
logice: erau scumpe, puțin fiabile, ocupau mult spațiu și consumau cantități mari de curent. Deși erau
incredibil de rapide față de releele electromecanice, aveau și ele totuși o viteză de operare relativ limitată.
Astfel că începând din anii 1960 lămpile (tuburile electronice) au fost înlocuite cu tranzistori, dispozitive ce
funcționau asemănător, însă erau mult mai mici, mai rapide, mai fiabile, mai puțin consumatoare de curent
și mult mai ieftine.
Din anii 1960-'70, tranzistorul a fost și el înlocuit cu circuitul integrat, care conținea mai mulți tranzistori, și
firele de interconectare corespunzătoare, pe o singură plăcuță de siliciu (numită cip). Din anii '70, UAL-
urile combinate cu unități de control (UC) au fost produse unitar ca circuite integrate,
numite microprocesoare, sau CPU (Central Processing Unit/unitate de procesare centrală). În timp,
densitatea tranzistorilor din circuitele integrate a crescut incredibil, de la câteva zeci, în anii 70, până la
peste 100 de milioane de tranzistoare pe circuit integrat, la procesoarele Intel și AMD din anul 2005.

Memorare de date[modificare | modificare sursă]


Lămpile electronice și tranzistorii pot fi folosite și pentru construirea de memorii - așa-numitele circuite flip-
flop sau „basculante bistabile” (CBB), și chiar sunt folosite pentru mici circuite de memorie de mare viteză,
numite „cu acces direct”. În puține cazuri, designul de calculatoare a folosit bistabile pentru grosul nevoilor
de memorie, memorii de amploare. Primele calculatoare foloseau tuburi Williams - în esență proiectând
puncte pe un ecran TV și citindu-le din nou mai târziu, sau linii de mercur, în care datele erau depozitate
sub formă de unde sonore care parcurgeau tuburi cu mercur la viteză mică (comparativ cu viteza de
operare a mașinii). Aceste metode destul de neproductive au fost înlocuite cu dispozitive de stocare
(memorare) în mediu purtător magnetic, de exemplu memoria cu miezuri magnetice de formă inelară, în
care un curent electric era folosit pentru a induce un câmp magnetic remanent (dar slab) într-un material
feros, care putea fi citit ulterior, după necesitate pentru a folosi datele. În cele din urmă a apărut
memoria dynamic random access memory , DRAM. DRAM-ul este format din bănci (mulțimi grupate)
de condensatori, componente electrice care pot reține o sarcină electrică pentru o anumită durată de timp.
Scrierea informației într-o astfel de memorie se face prin încărcarea condensatorilor cu o anumită sarcină
electrică, iar citirea prin determinarea („măsurarea”) sarcinii acestora (dacă este încărcat sau descărcat).

Periferice de intrare/ieșire[modificare | modificare sursă]


„I/E” („intrare-ieșire”), sau în engleză I/O (de la input/output), este termenul general pentru acele
dispozitive prin care un calculator primește informații din lumea exterioară, inclusiv instrucțiuni despre ce
să facă, sau trimite înapoi (în afară) rezultatele calculelor sau operațiilor logice pe care le-a efectuat.
Rezultatele pot fi destinate ca informații oamenilor, sau pot fi folosite în mod direct (nemijlocit) drept decizii
în dirijarea altor mașini; de exemplu în cazul unui robot industrial, cel mai important dispozitiv de ieșire
(dispozitiv E) al calculatorului (de robot) înglobat în el creează comenzile detailate necesare pentru toate
operațiile (mișcările) mecanice ale robotului propriu-zis.
Prima generație de calculatoare era echipată cu o gamă de dispozitive I/E destul de limitată și cu viteză de
execuție redusă; de exemplu, pentru introducerea datelor de calcul și a instrucțiunilor de program se
folosea în principal un cititor de cartele perforate sau un dispozitiv asemănător, iar pentru afișarea
rezultatelor se folosea o imprimantă, de obicei un teleimprimator modificat de tip „telex”. De-a lungul
timpului însă au apărut o imensă diversitate de dispozitive I/E. Pentru calculatorul personal de azi, cele
mai comune modalități de introducere directă a datelor sunt tastaturile și mausurile, iar principalul mijloc
prin care calculatorul prezintă informații către utilizator sunt monitoarele, deși imprimantele sau
dispozitivele de generat sunet sunt folosite și ele în mod obișnuit. Alte dispozitive sunt specializate pentru
numai anumite tipuri de intrări sau ieșiri, de exemplu aparatul foto digital și scanerul.
Două categorii principale de dispozitive sunt:

 dispozitivele secundare de stocare: dischetele, unitățile CD, DVD, discurile dure și altele; capacitățile
de stocare a datelor pot diferi foarte mult între ele.
 precum și dispozitivele pentru conectarea la rețele de calculatoare. Posibilitatea de a interconecta
calculatoarele pentru a transfera date și informații între ele a deschis calea unei mulțimi de noi
aplicații. Internetul, și aici în special World Wide Web, permit miliardelor de calculatoare de pe glob să
se lege unele cu altele pentru a transfera între ele informații de toate tipurile.
Instrucțiuni (software)[modificare | modificare sursă]
Vezi articolul principal Software
Instrucțiunile interpretate de către unitatea de control și executate de UAL nu seamănă deloc cu
limbajul uman. Calculatorul cunoaște prin construcție un set relativ mic de instrucțiuni elementare,
care sunt simple, bine definite și neambigue. Exemple de instrucțiuni sunt: „copiază conținutul celulei
de memorie 5 și plasează rezultatul în celula 10”, „adună conținutul celulei 7 cu conținutul celulei 13 și
plasează rezultatul în celula 6”, „dacă conținutul celulei 999 este 0 (zero), următoarea instrucțiune de
executat se găsește memorată în celula 30”, dacă nu, „se urmează secvența (șirul de instrucțiuni) mai
departe”.
Instrucțiunile calculatorului se împart în patru mari categorii:

1. mutare de date dintr-o locație în alta (instrucțiuni de transfer),


2. executare de operații aritmetice și logice asupra datelor (instrucțiuni aritmetice,
instrucțiuni logice),
3. testare a unor condiții, de exemplu „conține celula de memorie nr. 999 un 0?” (instrucțiuni
de testare sau de condiție),
4. modificare a secvenței (șirului) de operații (instrucțiuni de comandă propriu-zise).
În calculator instrucțiunile „externe” sunt memorate și deci reprezentate în cod binar, la fel ca și toate
celelalte date de calcul (numere, litere, simboluri). De exemplu, codul în limbaj-mașină pentru una din
operațiile de copiere într-un microprocesor fabricat de firma Intel este 10110000, „1” și „0” fiind cele
două valori logice binare „înțelese” de microprocesor (computer, mașină). În completarea exemplului
de mai sus, se poate intui că o instrucțiune de adunare în respectivul Intel-microprocesor trebuie să
fie reprezentată altfel decât cea de copiere, de exemplu 01001110. Mulțimea
de instrucțiuni implementate într-un calculator (computer) formează și este numit limbajul mașină al
acelui calculator.
Simplificat vorbind, dacă două calculatoare au CPU-uri (unități centrale de procesare) care răspund la
fel la același set de instrucțiuni, programele (executabile) scrise pentru unul pot rula și pe celălalt
aproape fără modificări, dar de exemplu cu viteze diferite. Ușurința portabilității este o motivație pentru
proiectanții de calculatoare ca ei să nu modifice radical designul existent, decât pentru motive
serioase.
Programe[modificare | modificare sursă]
Programele de calculator sunt listele de instrucțiuni de executat de către un calculator. Acestea pot
număra de la câteva instrucțiuni, care îndeplinesc o sarcină simplă, până la milioane de instrucțiuni pe
program (unele din ele executate repetat), plus tabele de date. Un calculator personal curent din
anul 2008 din categoria sub 1.000 euro este capabil să execute peste 4 miliarde de instrucțiuni pe
secundă. Compunerea sau scrierea acestor programe este efectuată de către programatori, care pot
fi profesioniști, semiprofesioniști sau amatori, în funcție de temele de rezolvat și mediul de dezvoltare.
În practică, programele nu se mai scriu demult în limbajul mașină al calculatorului. Scrierea în limbaj-
mașină era extrem de laborioasă și erorile se puteau strecura ușor, ceea ce putea provoca scăderea
productivității la programare. Actualmente programele dorite sunt de obicei descrise/scrise într-
un limbaj de programare de nivel mai ridicat (superior), care, înainte de a putea fi executat, este
tradus automat în limbaj-mașină de către programe specializate (interpretoare și compilatoare), adică
într-o „limbă” inteligibilă mașinii de calcul (computerului).
Unele limbaje de programare sunt foarte strâns legate de limbajul mașină de la baza calculatorului, ca
de ex. limbajul de asamblare, de aceea sunt numite limbaje de „nivel jos”. La cealaltă extremă se
situează limbajele de „nivel înalt”, de ex. C++, Java, Lisp, Visual Basic ș.a. Acestea oferă
programatorilor posibilitatea operării cu concepte foarte abstracte, complexe, a căror implementare
concretă la nivelul de jos nu mai interesează (dacă interpretorul sau compilatorul funcționează corect).
Limbajul ales pentru o anume problemă depinde în primul rând chiar de natura problemei, de
competența profesională a programatorilor, de disponibilitatea uneltelor de proiectare precum și de
bugetul disponibil.
Programele mai sunt numite și software, ele putând fi memorate permanent sau/și doar memorabile
temporar; însă software-ul poate include, pe lângă programele propriu-zise, și material auxiliar, cum
ar fi date grafice, în cazul unui joc pe calculator.
Instrumentele moderne de proiectare software precum și tehnicile de programare ce pun accentul pe
reutilizarea codului (de ex. programarea orientată pe obiecte) fac posibilă realizarea unor programe
complexe, constituite din zeci de milioane de instrucțiuni; de exemplu browserul Firefox al organizației
Mozilla se compune din peste 2 milioane de linii de cod în limbajul C++. Gestiunea acestor programe
complexe face obiectul unei științe numite ingineria programării.
Cod mașină[modificare | modificare sursă]

Monitorul limbajului mașinii într-un computer cu o


singură placă W65C816S, afișând dezasamblarea codului, precum și
registrul procesorului și depozitele de memorie.
În cele mai multe calculatoare, instrucțiunile individuale sunt stocate sub formă de cod mașină,
fiecărei instrucțiuni atribuindu-i-se un număr unic (cod de operație sau opcod pe scurt).[4] Comanda
pentru a adăuga două numere împreună ar avea un opcode; comanda de a le multiplica ar avea un
opcod diferit, și așa mai departe. Cele mai simple calculatoare sunt capabile să efectueze oricare din
câteva diferite instrucțiuni; calculatoarele mai complexe au câteva sute de instrucțiuni din care să
aleagă, fiecare cu un cod numeric unic. Întrucât memoria calculatorului este capabilă să stocheze
numere, se pot stoca, de asemenea, codurile de instruire. Aceasta conduce la faptul important
că programe întregi (care sunt chiar listele cu aceste instrucțiuni) pot fi reprezentate ca liste de
numere și pot fi manipulate în interiorul calculatorului în același mod ca datele numerice. Conceptul
fundamental de a stoca programe în memoria calculatorului alături de datele pe care le operează e
punctul cheie von Neumann, sau al arhitecturii programului de memorat. În unele cazuri, un calculator
poate stoca unele sau toate programele sale în memorie care este ținută separat de datele cu care
operează. Aceasta se numește arhitectura Harvard, după computerul Harvard Mark I. Calculatoare
moderne von Neumann includ unele trăsături ale arhitecturii Harvard în proiectele lor, cum ar fi cache-
ul CPU.
Deși este posibil să se scrie Program (informatică)|programe de calculator]] ca liste lungi de numere
(limbaj mașină), această tehnică fiind folosită pe multe alte calculatoare timpurii,[Note 1] este extrem de
obositor și potențial predispusă la erori în acest sens, în practică, în special pentru programele mai
complicate. În schimb, fiecărei instrucțiuni de bază i se poate da un nume scurt care indică funcția sa
și este ușor de ținut minte - un mnemonic, cum ar fi ADD, SUB, MULT sau JUMP. Aceste mnemonice
sunt colectiv cunoscut sub numele de limbaj de asamblare al unui computer. Conversia programelor
scrise în limbaj de asamblare în ceva ce computerul poate înțelege de fapt (limbaj mașină) se face de
obicei de către un program de calculator numit de asamblare.[5]
Majoritatea covârșitoare a programelor practice de astăzi sunt scrise în limbaje de nivel superior
sau limbaj de asamblare. Codul sursă este apoi tradus în cod mașină executabil de utilitare
precum compilatoare, asamblări și linkere, cu excepția importantă a programelor interpretate,[Note
2]
care nu sunt traduse în cod mașină. Cu toate acestea, interpretul însuși, care poate fi văzut ca un
executor sau procesor care execută instrucțiunile codului sursă, constă de obicei din cod mașină
executabil direct (generat din ansamblu sau cod sursă de limbaj la nivel înalt).
Codul mașinii este, prin definiție, cel mai scăzut nivel de programare vizibil programatorului, dar la
nivel intern multe procesoare utilizează microcod sau optimizează și transformă instrucțiunile codului
mașinii în secvențe de micro-op-uri. Acesta nu este în general considerat a fi un cod mașină.
Pamela Samuelson a scris despre codul mașină c[ este atât de ilizibil încât Oficiul pentru Drepturile de
Autor din Statele Unite nu poate identifica dacă un anumit program codificat este o operă originală
de autor; codul mașină al unui program poate fi uneori decompilat pentru a face funcționarea sa mai
ușor de înțeles de către oameni.[6]
Profesorul de științe cognitive Douglas Hofstadter a comparat codul mașină cu codul genetic,
spunând că „Citirea unui program scris în limbajul mașinii este vag comparabilă cu examinarea
unei molecule de ADN atom cu atom”.[7]
Limbaje de programare[modificare | modificare sursă]
Limbajele de programare oferă diferite moduri de a specifica programe pentru calculatoare pentru a le
rula. Spre deosebire de limbajele naturale, limbajele de programare sunt concepute pentru a nu
permite nicio ambiguitate, și să fie concise. Ele sunt limbaje doar scrise și sunt adesea dificil de citit
cu voce tare. Ele sunt, în general, fie traduse în cod mașină de un compilator sau un asamblor înainte
de a fi rulate, fie traduse direct în timpul rulării de către un interpretor. Uneori programele sunt
executate printr-o metodă hibridă de cele două tehnici.[4]
Limbaje de nivel inferior[modificare | modificare sursă]
Limbajele mașină și limbajele de asamblare care le reprezintă (denumite colectiv limbaje de
programare de nivel inferior) tind să fie unice pentru un anumit tip de calculator. De exemplu, un
calculator cu arhitectura ARM (cum pot fi într-un PDA sau un joc video portabil) nu poate înțelege
limba mașină a unui calculator cu Pentium Intel sau AMD Athlon 64, care s-ar putea găsi într-un PC.
Limbaje de nivel superior[modificare | modificare sursă]
Deși mult mai ușor decât în limbajul mașină, scrierea programelor lungi în limbaj de asamblare este
adesea dificilă și este, de asemenea, predispusă la erori. Prin urmare, cele mai multe programe
practice sunt scrise în limbaje de programare de nivel superior, mai abstracte, care sunt capabile să
exprime nevoile programatorului mai convenabil (și prin aceasta contribuie la reducerea erorilor
programatorului). Limbajele de nivel superior sunt, de obicei, "compilate" în limbaj mașină (sau,
uneori, în limbaj de asamblare și apoi în limbaj mașină), folosind un alt program de calculator numit
compilator. Limbajele de nivel superior sunt mai puțin legate de modul de funcționare al computerului
țintă decât limbajele de asamblare, și mai mult legate de limbajul și structura problemei care trebuie
soluționată de către programul final. Prin urmare, este adesea posibil să se utilizeze diferite
compilatoare pentru a traduce același program de limbaj de nivel superior în limbajele mașină ale
multor tipuri diferite de calculator. Aceasta este o parte din mijloacele prin care software-ul, ca jocurile
video, pot fi puse la dispoziție pentru diferite arhitecturi de calculatoare, cum ar fi calculatoarele
personale și diverse console de jocuri video.
Biblioteci și sisteme de operare[modificare | modificare sursă]
Nu cu mult timp după dezvoltarea calculatorului s-a constatat că aceleași rutine (părți de program
(subprograme) cu scop bine definit) se pot uneori folosi în mai multe programe diferite; un exemplu
fiind calcularea unor funcții matematice. Din motive de eficiență, versiunile standard ale acestor rutine
au început să fie adunate în biblioteci de programe (în engleză: library, libraries) și puse la dispoziția
tuturor celor interesați. Un alt set foarte necesar de rutine s-a dovedit a fi comunicarea cu
diversele dispozitive de I/E (disp. periferice de intrare/ieșire).
În anii 1960 calculatoarele au început să fie folosite pe larg în industrie și economie, iar un calculator
a putut fi folosit la executarea simultană a multor sarcini, prin intercalarea în timp a programelor.
Curând a apărut și software (sistem de program cu instrucțiuni) specializat în automatizarea
planificării acestor sarcini. Combinația între un software gestionar al hardware-ului și un software
planificator de sarcini a devenit cunoscută sub numele de „sistem de operare” (engleză: operating
system). Un prim exemplu de sistem de operare a fost sistemul OS/360 al companiei americane IBM.
Următorul pas major a fost partajarea timpului (time sharing), prin care mai mulți utilizatori (clienți) pot
folosi o mașină simultan. Pentru aceasta programele fiecăruia se păstrează în memorie, executându-
se pe rând porțiuni din aceste programe pentru o perioadă scurtă de timp („felie de timp”, time slice),
astfel oferind fiecărui utilizator (client) iluzia că computerul lucrează doar pentru el. Modul de stocare
(memorare) a datelor a evoluat și el, apărând conceptul de „sistem de fișiere” (file system), în care
fișierele sunt dispuse pe purtătorul de date într-o structură ierarhică de „directoare” sau „dosare”.
O adăugire majoră în domeniul sistemelor de operare a fost acum câțiva ani o interfață grafică cu
utilizatorul (engleză: graphic user interface, GUI).
În afara acestor funcții de bază, sistemele de operare conțin deseori și o trusă de unelte suplimentare,
care parțial sunt extrem de funcționale și complexe/sofisticate.
Calculatoarele integrate vin cu sisteme de operare mult mai mici și mai limitate în funcțiuni, unele
chiar fără sistem de operare. În acest caz programul foarte specializat care le conduce efectuează
chiar el toate operațiile necesare.

Variante constructive de calculatoare[modificare | modificare


sursă]
Calculatoarele de astăzi se produc în numeroase forme și prezentări:

 Probabil cel mai familiar este calculatorul personal (de tip PC sau și altele) cu subvariantele sale
constructive:
o „staționare” (în engleză:) desktop, tower, all-in one ș.a.
o „portabile”: laptop, notebook, netbook ș.a.
 Calculatoarele tabletă (de tip PC și altele).
 Următoarele dispozitive de dată mai recentă sunt în sine tot calculatoare programabile (fie numai
în fabrică, fie și de către utilizator): toate telefoanele portabile celulare de tip smartphone, toate
calculatoarele de tip tabletă, unele playere multimedia ca de ex. cele de tip iPod de la compania
Apple; unii producători oferă și tipuri combinate, de ex. un notebook cu tastatura detașabilă poate
fi utilizat și drept calculator tabletă.
 Calculatoare simple, de exemplu cele de buzunar.
 Calculatoare rapide, folosite la așa-numitele „ferme” de servere; de obicei acestea nu sunt
deservite de utilizatori umani și deci nu este necesar să fie ergonomice. Pentru ele se folosește
deseori forma de paralelipiped, care permite o stivuire compactă.
 Calculatoare profesioniste de mare viteză și mari dimensiuni, cum sunt cele de tip mainframe.
 Aparate și dispozitive speciale: console de jocuri electronice; case electronice de încasat;
afișoare de cărți și medii electronice de tip E-book; scanerele, imprimantele, chiar și televizoarele
și aparatele de redare DVD și Blu-ray actuale conțin elemente digitale de control care sunt, într-
un fel, componente de calcul; roboți de toate genurile; elementele de comandă pentru mașini-
unelte de tip CNC și multe altele.
 Cea mai răspândită formă este însă cea a calculatorului integrat (embedded), adică înglobat
complet în dispozitivul pe care îl comandă. Acesta este în general preprogramat din fabrică, iar
utilizatorul nu primește posibilitatea să-i schimbe programul. Multe mașini și aparate, de
la avioanele de luptă până la aparatele foto digitale și la aparatele de navigație bazate pe
sistemul GPS, sunt controlate de calculatoare integrate. Un alt exemplu de calculator integrat
este calculatorul de bord al automobilelor.

Utilizare[modificare | modificare sursă]


Primele calculatoare electronice digitale, fiind foarte mari și scumpe, erau folosite la calcule științifice
complicate, de multe ori pentru scopuri militare. ENIAC-ul a fost proiectat pentru calculul tirurilor
de artilerie, dar a fost folosit și la calculul densităților transversale de neutroni, în proiectarea bombei
cu hidrogen. Multe din supercalculatoarele contemporane sunt folosite pentru simulări de arme
nucleare. Alte calculatoare au fost utilizate în criptanaliză, de exemplu primul calculator electronic
programabil, Colossus.
În ciuda concentrării de la început pe aplicații științifice și militare, calculatoarele au început repede să
fie adoptate și în alte domenii, precum cel al afacerilor. LEO, unul din primele calculatoare bazate pe
arhitectura von Neumann, era folosit la gestiunea stocurilor încă din anii 1950. O dată cu apariția
microprocesoarelor și ieftinirea semnificativă a calculatoarelor, acestea și-au găsit aplicare
în contabilitate, birotică, alcătuirea de previziuni meteo și de altă natură, în calculele matematice
repetitive precum și în calcul tabelar.
În domeniul artelor, calculatoarele sunt întrebuințate pentru generarea și editarea de sunet, imagini și
video. Astăzi aceste activități sunt efectuate aproape exclusiv pe calculator (computer). De
asemenea, industria jocurilor pe calculator este una foarte lucrativă.
Calculatoarele au putut fi folosite pentru comanda mecanismelor (dispozitivelor electromecanice) din
momentul în care au devenit suficient de mici și de ieftine pentru acest scop. Primele aplicații majore
pentru calculatoarele integrate au fost ghidarea misiunilor Apollo și a rachetelor Minuteman. Astăzi se
întâlnesc din ce în ce mai rar echipamente mecanice care să nu fie comandate într-o formă sau alta
de un calculator. Unele din cele mai complexe asemenea echipamente sunt roboții industriali, mașini
mai mult sau mai puțin asemănătoare omului și aptitudinilor sale. Calculatoarele sunt din ce în ce mai
mult utilizate în domotică, pentru aplicații casnice de genul „dacă cineva e acasă, computerul
deschide televizorul la 7 seara“ sau „reduce căldura noaptea”.
Roboții industriali sunt o prezență obișnuită în producția de masă, însă roboții umanoizi încă nu au
ajuns la nivelul la care sunt portretizați în literatura de anticipație SF și sunt astăzi doar jucării sau
subiecte de cercetare. De asemenea, progresul inteligenței artificiale în crearea unui calculator cu
„inteligență” electronică la nivelul celei omenești a fost până acum extrem de lent, deși de-a lungul
timpului s-au dezvoltat metode care permit calculatoarelor să îndeplinească destul de bine sarcini
despre care inițial se bănuia că ar fi prin excelență umane, cum ar fi jocurile șah și go, sau citirea
scrisului de mână (analogic).
Rețele de calculatoare și Internetul[modificare | modificare sursă]
În anii 1970 inginerii de la institutele de cercetare militare din SUA au început să își interconecteze
calculatoarele folosind tehnologia telecomunicațiilor. Rețelele de calculatoare au avut caracter
coordonator-subordonat, adică structura respectivă conținea calculatoare „egale în drepturi”, dar care
erau supuse comenzilor unui calculator principal, „dirijor”. Proiectul a fost sprijinit de către
agenția DARPA a ministerului apărării, iar rețeaua de calculatoare care a luat astfel naștere s-a
numit Arpanet.
În timp, rețeaua Arpanet s-a extins enorm, dincolo de scopul ei inițial academic și militar, și a devenit
cunoscută sub numele de Internet. Evoluția rețelelor a adus cu sine o redefinire a naturii și limitelor
unui calculator. În cuvintele lui John Gage și Bill Joy (de la firma Sun Microsystems), „the network is
the computer“ — „rețeaua este calculatorul“. Sistemele de operare și aplicațiile computerelor s-au
modificat, incluzând acum capacitatea de a defini și accesa resurse de pe alte calculatoare din rețea
(fie programe și informații, fie dispozitive conectate la ele), ca extensii ale resurselor locale. Inițial
aceste facilități erau disponibile numai celor care lucrau în medii de înaltă tehnologie, însă din anii
1990, odată cu răspândirea aplicațiilor ca de exemplu e-mail sau World Wide Web, și cu dezvoltarea
tehnologiilor de conectare în rețea ieftine și rapide precum Ethernet sau ADSL, rețelele de
calculatoare au pătruns practic în toate domeniile vieții

S-ar putea să vă placă și