1
Sisteme de calcul moderne
Curs introductiv pentru programul IPUC-12,2005-2006
Instructor: Conf.dr.ing. Mihai MocanuCatedra de Inginerie Software, Fac. ACE
E-mail: [email protected]./ fax: 0251 438198Cabinet 303 Ore consultatie: Miercuri 11-14
Obiectivele cursului:1.Introducerea conceptelor de baza in stiinta
calculatoarelor2.Invatarea studentului sa utilizeze calculatorul
intr-un mod sistematic3.Expunerea notiunilor de baza privind sistemul
de operare, programele utilitare si de birotica4.Introducerea unor topici importante privind
productivitatea in lucrul cu calculatorul
Abordarea cursuluiCursul se adreseaza celor fara sau cu putinaexperienta in lucrul cu calculatorulDar se cere o atitudine activa; in nici un caz:Eu Dv.
2
Sumar1. Definitii2. Repere istorice3. Fundamente matematice4. Hardware 5. Software6. Productivitatea in lucru pe desktop
Inaintea definitiilor... Atentiela terminologie!
Cu ce se ocupa Stiinta Calculatoarelor?Nu este deloc simplu a scrie programe care sa rezolve diverse
probleme.
StiintaCalculatoarelor
Algoritmi & Structuri de
Date
Inteligentaartificiala si
roboti
Calculenumerice Limbaje de
programare
InteractiuneaOm-Calculator
Metodologie siingineriesoftware
Sisteme de operare
Arhitectura
Context social si
profesionalBaza de date si obtinereainformatiei
ACM & IEEE ACM & IEEE curriculum curriculum recommendationsrecommendations
3
1.DefinitiiInformatia - date/fapte/idei - independent de modul in care sunt reprezentateInformatia digitala- informatia care poate fireprezentata utilizandu-se semnale fizice, care pot avea valori intr-o multime dataCalculatorul digital apare ca o structura de echipamente fizice, asamblate in scupulprocesarii si transmiterii informatiei digitale
Bitii sunt prietenii nostri
Cerinta fundamentala: totul se exprimacu valorile 0 si 1n Comunicatiaw O tensiune mai mare sau mai mica “pe sarma”
n Calcululw Functii booleene
n Stocareaw Biti de informatie
Semnalele Digitale
n Se folosesc praguri de tensiune pentru a extragevalorile discrete din semnalele continue
n Cel mai simplu: semnalul 1-bitw Fie pragul superior (1) fie pragul inferior (0)w Cu domeniu de garda intre ele
n Putin afectat de zgomot sau slaba calitate a elementelor de circuitw Se pot produce circuite simple, mici si rapide
Voltaj
Timp
0 1 0
4
Stiinta Calculatoarelor (SC)SC reprezinta “un studiu sistematic al proceseloralgoritmice de descriere si transformare a informatiei: teoria, analiza, proiectarea, implementarea, eficienta siutilizarea algoritmilor” (ACM, 1989)Intrebarea de baza:
“Ce poate fi automatizat in mod eficient?”(calculerepetitive si laborioase, prelucrarea volumelor mari de date)Calculatorul: procesarea informatiei (scop general)Programarea calculatoarelor: automatizareaprocesarii informatiei
2.Evolutia calculatorului de-a lungultimpului
ViziteazaViziteaza: : http://www.computer.org/computer/timeline/http://www.computer.org/computer/timeline/
Au Au fostfost marimari schimbarischimbari intrintr--oo perioadaperioada scurtascurta……
Dezvoltarea Stiintei Calculatoarelora urmarit doua linii majore:
Automatizarea calculelorrepetitive complexeIn jurul 500 B.C(Egipt) – socotitoareaEvul Mediu – dispozitive de navigatie1622 (Anglia) – rigla de calcul(WilliamOughtred )1642 (Franta) – primul calculator mecanic(Blaise Pascal )1830 (Anglia) – difference engine, calcula logaritmi si functiitrigonometrice, si in caz general analytical engine, condus de un program
Automatizareacalculelor tabularemari dar simple1801 (Franta) - Joseph-MarieJaquard a introdus cartelaperforata1890 (USA) - Hermann Holleritha inventat calculatorul cu carteleperforatePrima jumatate a sec. XX –dezvoltarea unui numar mare de masini electromecanice pentrucalcule, sortari
5
Inceputul erei calculatoarelor
Mijlocul secolului: n calculatoarele electronice utilizau tuburi cu vid
ca si comutatoare;Probleme:
n tubul era ineficient, consuma multa energieelectrica si degaja multa caldura
n ca uramare a incalzirii, tuburile nu eraufiabile; se defecta in medie un tub la catevaore in sistemele mari de calcul.
Era digitala
1948 (Laboratoarele Bell): tranzistorul1959 (Texas Instruments): circuitulintegrat (CI)n primul CI continea numai 6 tranzistori. n in zilele noastre, majoritatea CI inglobeaza
mai multe milioane de tranzistori
Prima generatie1951 - 1958
Tuburi cu vid - tuburi electronice de dimensiunea unui bec care erau utilizate ca sicomponente ale unui calculator. n Mii de tuburi utilizate -> multa caldura degajatan Obiectul multor defectiuni
Limbaje specifice masinilor de calcul, care utilizau numere
6
A doua generatie1959 - 1964
Tranzistorul – dispozitiv mic ca dimensiuni care propaga semnalulelectric.n Revolutioneaza electronica si
calculatoarele, in particular.n Consuma mai putina energie, degaja
mai putina caldura, era mai rapid simult mai fiabil.
Limbajele de asmblare àlimbaje de nivel inaltFORTRAN (’54) & COBOL (’59)
A treia generatie1965 – 1970
Circuitul integrat – un circuit complet electronic implementat peo mica bucata de silicon(semiconductor)n Fiabil, compact, cost scazut
Software-ul a devenit mai sofisticat, mai multe programeputeau rula simultan, partajarea resurselor calculatoruluiEficienta sistemelor de calcul a fost imbunatatita considerabil
A patra generatie1971 – Prezent
Microprocesorul - circuit integrat pe scara mareCombina circuitele logice si de control ale calculatoarelor din generatia anterioara(amplasatepe mai multe placi) intr-un singur CICalculatoarele(din generatiaanterioara) care contineaupeste 500 CI au putut fi realizateacum cu mai putin de 50 CI!
7
3.Fundamente matematice
1854: George Boole a inventat calculul logic (numit mai tarziu algebra booleana)1850-1950: incercari de a formaliza conceptulde proceduri efective (un mod de a calculaceva, care sa poata fi realizat de o persoanasau o masina de calcul si care sa conducatotdeauna la rezultatul dorit intr-un numar finitde pasi) Anii ‘30: MasinaTuring
Modelul von Neumann(1945)Are ca scop indrumarea proiectarii unui calculator
digital si se bazeaza pe urmatoarele principii:1: Reprezentarea atat a programelor cat si a datelor ca numere binare2: Memorarea(stocarea) programului si a dateloraferente lui intr-un dispozitiv electronic numit memoriacalculatorului (care la acel timp era echivalenta cu un set de comutatoare)3: Implementarea unei unitati centrale de calcul, care pe langa calcule sa realizeze operatii de extragere a instructiunilor si datelor din memorie, decodificarea lor siexecutia instructiunilor din program
Implicatii constructive1: Posibilitatea de a construi un calculator electronic care sa realizeze prelucrari mari sicomplexe de informatie fara interventieumana(atat timp cat programul si dateleaferente acestuia sunt stocate in memoriacalculatorului).2: Pentru a fi siguri ca masina de calculefectueaza alte calcule este de ajuns sa stocamalt program in memorie(nu necesita schimbarihardware).
8
Principiul comenzii dupa program (von Neumann)
Informatia care urmeaza a fi procesata este codificatabinar si impartita in cuvinte de memorie.Tipuri diferite de cuvinte (instructiuni & date) se deosebesc doar prin modul de utilizare si nu prinreprezentare (codificarea este identica).Cuvintele sunt memorate in locatii de memorie, fiecareidentificata printr-o adresa unica.Algoritmul de procesare este reprezentat in final de o secventa de comenzi numite instructiuni descrise de propriul format de reprezentare.Instructiunile sunt executate intr-o ordine stabilita de catre program in timpul executiei.
Concluzie: Ce reprezinta un sistem de calcul?Partile principale din componenta unui
calculator sunt formate din:
Hardware
Software
4.Hardware Echipamentul asociat cu un sistem de calcul:
Dispozitive de intrareProcesorulDispozitive de iesireDispozitive de stocare
9
Ce se intampla intr-un calculator…
Intrare IesireProcesare
Memoriesecundara
Hardware (Structura unui calculator)
Memorie externa
Memorie interna
Unitate de iesire
Unitate de intare
Unitate de control
ALU
*
*
CPU
IntrareDate si comenzi pe care le introduceti in calculator
Dispozitive de intrare
10
ProcesareaAre loc in procesor sau in unitatea centrala
de prelucrare(Central Processing Unit -CPU) si memoria calculatorului
MemorieCPU
CPU (Unitatea centrala de prelucrare)
Toate calculatoarele, mari sau mici, au cel putinun CPU, responsabil cu transformarea datelor de intrare in date de iesire, conform programului rulat
Unitatea de Control
CPU
UnitateaLogico-
Aritmetica
CPU – Unitatea de Control
Comanda celelalte parti ale sistemului de calcul.
Unitatea de Control
CPU
UnitateaLogico-
Aritmetica
11
CPU – ALU
Executa toate operatiile aritmetice si logice
Unitatea de Control
CPU
UnitateaLogico-
Aritmetica
MemoriaMai este numita si memorie principalasau memorie interna. Fabricantiifolosesc in mod frecvent termenul de RAM (Random Access Memory).
Stocheaza temporar datele(inainte sidupa ce sunt prelucrate). Memoreazaprogramele ce sunt utilizate de CPU.
IesireaDatele procesate sau informatie utila
Dispozitive de iesire
12
Memorie externa (secundara)Dispozitive care stocheaza in siguranta datele si le pot oferi pentru prelucrari ulterioare.Beneficiin Elibereaza spatiun Fiabilen Usor de folositn Economice
Dispozitive de stocare externa des intalniten Discuri magneticen Benzi magneticen Discuri optice
Discuri magneticeDischetele
Constau intr-un disc magnetic cu diametrul de 3.5 inchesm incapsulat intr-o carcasa de plastic.Portabile, rezistente la socuri minore1.44 MB vs 100/250 MB (zip disk)
Discuri magneticeHard Discul
Capacitate mult mai mare de stocare (GB) fatade discheteSe fixeaza in carcasa calculatoruluiSunt disponibile si hard discuri portabile pentruPC-uriAccesul mult mai rapid
la date
13
Banda MagneticaIn mod uzual se gasesc in cartuseSunt citite de dispozitive speciale pentru benzi
magneticeUtilizate cel mai frecvent ca solutii de backup (MB - GB)Ieftine
Discul optic
Capacitate foarte mare de stocare (MB – GB)Portabil, ieftin, rezistent la socuri, durabil
Clasificari ale discurilor optice
CD-ROM (Compact Disc Read-Only Memory)n Capacitate: 650-700 MBn CD-R (Compact Disc-Recordable)n CD-RW (Compact Disc-Rewritable)
DVD-ROM (Digital Versatile Disk Read-Only Memory)n Capacitate: xGB
DVD-RAM (writable version of DVD)
14
Ierarhia memoriei
Registers
Cache
Main Memory
Magnetic Disk
Removable Media
(a)(a) DescresteDescrestecostulcostul/bit/bit
(b)(b) CresteCrestecapacitateacapacitatea
(c)(c) CresteCreste timpultimpulde de accesacces
(d)(d) DescresteDescrestefrecventafrecventa de de accesacces a a memorieimemoriei de de catrecatre procesorprocesor
Echipamente perifericeDispozitive hardware care sunt atasate la calculatorInclud toate dispozitivele de intrare/iesire/stocare externa.
5.SoftwareUn set de instructiuni care-i spun calculatorului ce sa facaNumite si programe
15
Software
SistemSoftware
Software pentru
aplicatii
Software Sistem – nivel 1Sistem de operare
(subset al sistemului software)n Un set de programe care se situeaza intre
software-ul pentru aplicatii si hardware; software fundamental care controleaza accesul la toateresursele hardware si software ale calculatorului
Ex. MS-DOS OS (Interfata utilizator sub forma uneilinii de comanda)
Windows OS (Graphical User Interface – GUI)(Win95/98/ME/NT/2000/XP/CE)
Unix (command-line interface), Linux
Software Sistem – nivel 2Traducatoare de programe
Au rolul de a traduce programele scrise de catreprogramatori (in limbaj de nivel inalt) in cod masina (o combinatie de 1 si 0 recunoscuta de hardware) – care poate fi “inteleasa” siexecutata de calculator. w - asambloare
- compilatoare- interpretoare
Ex. Gcc – un compilator de C/C+C/C++ IDE (Integrated Development Environment)
16
Software pentru aplicatiin Software care este instalat; poate fi utilizat pentru
a rezolva o problema particulara sau pentru a lansa activitati programate
Software pentru aplicatiiGroupware – software care permite unui
grup de oameni sa-si partajeze datelesau sa urmareasca informatii comune
Public Domain SoftwareNu are drepturi de autorOrcine il poate folosiPoate fi utilizat si modificat fara restrictii
17
Freeware
Software gratuitAre drepturi de autorPoate avea restrictii in modificare, redistribuireNu poate fi vandut
SharewareAre drepturi de autorUtilizat gratis pe baza unui acord intr-operioada de probaNu poate fi vandutCopii pot fi facute pentru prieteni
Software (Programe pentru calculator)
ComputerHardware
Operating System
Language Translators
Application Programs