Sunteți pe pagina 1din 24

ALGORITMI

PARALELI

2009-Suceava

s.l.dr.ing. Remus Catalin PRODAN


remus@eed.usv.ro
remus.prodan@yahoo.com
apollo.eed.usv.ro/~remus
ALGORITMI PARALELI
2009/2010 - Suceava

BIBLIOGRAFIE
A. Grama, A. Gupta, G. Karypis, V. Kumar: Introduction to Parallel Computing, Second
Edition, 2003, AddisonWesley
http://www-users.cs.umn.edu/~karypis/parbook/
Ian Foster: Designing and Building Parallel Programs, 1995, Addison Wesley
http://wotug.kent.ac.uk/parallel/books/addison-wesley/dbpp/
Petcu D., "Procesare paralel", Editura Eubeea, 2001, Colecia Informatica, Timioara,
ISBN 973-9479-48-0, 414 pagini.
Petcu D., Negru V., "Procesare distribuit", Editura Universitii de Vest, Seria Alef,
2002, Timioara, ISBN 973-85552-8-0, 420 pagini
Petcu D., "Algoritmi paraleli", Tipografia Universitii Timioara, 1994, 205 pagini.
Dana Petcu (@Universitatea de Vest Timisoara), Procesare paralela, Ed. Eubeea
Timisoara, 2001 http://www.info.uvt.ro/~petcu
Chiorean I., "Calcul paralel. Fundamente", Ed. Microinformatica, 1995
Cristea V., "Algoritmi de prelucrare paralel", Ed. Matrix Rom, 2005
Croitoru c., "Introducere in proiectarea algoritmilor paraleli", Ed. Matrix Rom, 2004
Grigora D., "Calcul Paralel. De la Sisteme la programarea aplicaiilor", Computer Libris
Agora, Cluj, 2000
Hockney R.W., Jesshope C.R., "Calculatoare paralele. Arhitectura, programare,
algoritmi", Ed. Tehnic, 1991
1. Prezenta la LABORATOR este
CERINTE la obligatorie
DISCIPLINA
Algoritmi Paraleli 2. Prezenta la CURS va fi
recompensata cu 1p la EXAMEN
A. Activitatea la acesta disciplina
se va finaliza prin obtinerea creditelor
aferente atunci cand:
3. Recuperarea laboratoarelor:
- examenul a fost Oricand in cadrul aceleiasi
promovat cu o nota >= 5 saptamani
- activitatea la laborator a
fost executata integral 2 absente la final (in ultima
- nota la activitatea saptamana)
practica ( laborator ) este peste 5

4. Notarea la laborator se face pe baza


B. Neindeplinirea a cel putin unei unui proiect, prezentat la final
conditii va conduce la nepromovare
si trecerea disciplinei ca si CREDIT
AMANAT. 5. Examenul consta in 2 probe, date in
aceeasi zi:
proba practica ( pe calculator)
C. Activitatea la o disciplina proba teoretica (test cu 9 intrebari)
ramasa ca si credit amanat se
recuprereaza integral in naul urmator.
Unix este denumirea generica a unei largi familii de
sisteme de operare orientate pe comenzi, multi-user
si multi-tasking
ALGORITMI
PARALELI Ce inseamna sistem de operare orientat pe comenzi?
2009/2010 - Suceava Exista un interpretor de comenzi ce are ca destinatie:
aceea de a prelua comenzile introduse de utilizator,
de a le executa si
de a afisa rezultatele executiei acestora.

Sistemul de operare
UNIX Ce inseamna sistem de operare multi-user?
exista conturi utilizator, ce au anumite drepturi si
Prezentare generala restrictii
se utilizeaza mecanisme de protectie, cum ar fi parolele
permite conectarea simultana a mai multi utilizatori.

Ce inseamna sistem de operare multi-tasking?


se executa simultan mai multe programe (procese).
Unix-ul este utilizat pentru calculatoare uni-procesor,
executia simultana (concurenta) a proceselor nu este
"true-parallelism", ci se face prin mecanismul de
"time-sharing":
Exista un mecanismul de stabilire a modului de
alocare
Creat la Bell Laboratories in 1969 - Ken Thompson

ALGORITMI Ei si-au dezvoltat s.o.-ul pornind de la citeva concepte:


sistem de fisiere, multi-user, multi-tasking, gestiunea
PARALELI perifericelor sa fie transparenta pentru utilizator, s.a.
2009/2010 - Suceava
Initial a fost implementat pe minicalculatoarele firmei
DEC, seria PDP-7, fiind scris in limbaj de asamblare si
Fortran

Scurt istoric al Aparitia in 1972 a limbajului C


evolutiei
Unix-ului in 1971 Unix-ul este rescris impreuna cu Dennis Ritchie in
C, devenind multitasking

In 1973, dupa o noua rescriere, devine portabil

In 1977 este implementat pe un calculator INTERDATA


8/32, primul diferit de un PDP ( are nucleul independent
de hardware )

In 1982 este elaborat Unix System III pentru calculatoarele


VAX 11/780, iar in 1983 Unix System V

In 1980-81 apar primele licente: ULTRIX (firma DEC),


XENIX (Microsoft), UTS (Amdahl) etc.
Plecind de la versiunea 7 ( 1978) s-au nascut doua mari
directii de dezvoltare:
ALGORITMI realizate la compania AT&T si Bell Laboratories au
condus la versiunile succesive de System V Unix
PARALELI munca realizata la Universitatea Berkeley s-a
concretizat in versiunile succesive de BSD Unix
2009/2010 - Suceava
(BSD - Berkeley Software Distribution).

BSD au introdus noi concepte, cum ar fi:


memoria virtuala (BSD 4.1),
Scurt istoric al facilitati de retea (BSD 4.2),
evolutiei fast file system,
Unix-ului schimb de informatii intre procese centralizat sau
distribuit
etc.,

System V au introdus drept concepte noi:


semafoare,
blocaje,
cozi de mesaje,
memorie virtuala,
memorie pe 8 biti,
etc.
Pe linga aceste variante majore, au fost dezvoltate si
alte variante de Unix, si anume:
ALGORITMI XENIX de catre firma Microsoft,
VENIX de catre firma Venturecom,
PARALELI UNIX SCO,
2009/2010 - Suceava AIX de catre IBM, etc.

Pe linga aceste variante, ce au fost dezvoltate plecind


de la nucleul ("kernel"-ul) UNIX al firmei AT&T, au
fost dezvoltate si sisteme ne-AT&T, si anume:
Scurt istoric al MINIX de catre Andrew Tanenbaum,
evolutiei LINUX de catre Linus Torvald,
Unix-ului XINU de catre Douglas Comer,
GNU de catre FSF (Free Software Fundation).

Obiectivul fundatiei FSF este dezvoltarea unui sistem


in intregime compatibil (cu cel de la AT&T) si care sa
nu necesite nici o licenta de utilizare (si deci sa fie
gratuit).
Evolutia sistemului UNIX
http://www.fedoraproject.ro/

ALGORITMI
PARALELI
2009/2010 - Suceava

Operare in Linux
prin comenzi
consola

Instalare.
Operare.
Conectare pe consola
http://www.virtualbox.org/

ALGORITMI
PARALELI
2009/2010 - Suceava

Operare in Linux
prin comenzi
consola

Instalare.
Operare.
Conectare pe consola
Consola desktop

ALGORITMI
PARALELI
2009/2010 - Suceava

Operare in Linux
prin comenzi
consola

Instalare. Utilitar ssh. Putty


http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Operare.
Conectare pe consola
Pentru a putea naviga n cadrul sistemului de fiiere
trebuie s cunoatem n principiu dou comenzi:
ALGORITMI prima comand (pwd) afieaz localizarea curent
PARALELI (directorul n care ne aflm la un moment dat) iar
cea dea doua comand (cd) este utilizat pentru a
2009/2010 - Suceava schimba directorul curent

$ pwd
/home/remus/test
Operare in Linux
prin comenzi $ cd [nume_director]
consola

Comenzi referitoare la Exemple


fiiere i directoare $ cd /tmp
Schimb directorul curent n directorul /tmp,
acest director devenind directorul curent, iar:
$ cd /usr/stud
Schimb directorul curent n directorul
/usr/stud.

$ cd ~
Aceast comand ne poziioneaz n directorul
home.
Listarea coninutului unui director
Comanda ls (list) este folosit pentru listarea fiierelor i
ALGORITMI directoarelor, cu informaii despre acestea.
Comanda ls apelat simplu, fr opiuni, listeaz fiierele
PARALELI
din directorul curent.
2009/2010 - Suceava
$ ls -a
Aceast comand este folosit pentru a afia toate
fiierele, inclusiv cele ascunse.

Operare in Linux $ ls -l
prin comenzi Aceast comand ne ofer un "listing lung", adic
informaii suplimentare legate de fiiere (nu
consola numai numele acestora).

Comenzi referitoare la $ ls -al /tmp


fiiere i directoare Se poate specifica n mod explicit directorul pentru
care s se fac listarea.

$ ls -alR /usr | more


Comanda anterioar va lista informaiile despre
fiierele din directorul /usr, precum i din toate
subdirectoarele acestuia.

$ ls F
Aceast comand afieaz informaii legate de tipul
fiierelor.
Drepturile de acces la fiiere i directoare

ALGORITMI d
d
r
r
w
w
x
x
r
r
w
w
x
-
r
r
w
-
x
-
PARALELI -
-
r
r
w
w
x
x
r
-
-
-
-
-
r
-
-
-
-
-
- r - x - - - - - -
2009/2010 - Suceava
Cele 10 coloane care reprezint drepturile de acces la fiiere sunt:

Coloana 1 Coloana2-4 Coloana5-7 Coloana 8-10


d r w x r w x r w x
d r w x r w - r - -
Operare in Linux - r w x r - - r - -
prin comenzi - r - x - - - - - -
consola
Coloana 1: Ne arat faptul c un fiier este
director (d),
Comenzi referitoare fiier obinuit (-),
la fiiere i sau un tip special de fiier.
directoare Tipul de fiier b) Descriere

- Fiier simplu ("ordinary file")


d Director
b Fiier bloc ("block special")
c Fiier caracter ("character special")
l Fiier legtur ("link")
M Fiier de memorie partajat ("shared memory")
P Fiier pipe ("named pipe")
S Fiier semafor ("semaphore")
ALGORITMI
PARALELI
2009/2010 - Suceava

Operare in Linux
prin comenzi
consola

Comenzi referitoare
la fiiere i
directoare

Pentru administrarea drepturilor de acces analizati


lucrarea:
http://apollo.eed.usv.ro/~remus/arhive/SO/SO_Curs_3.pdf
Creat la Bell Laboratories in 1969

ALGORITMI
PARALELI
2009/2010 - Suceava

Operare in Linux
prin comenzi
consola

Comenzi referitoare
la fiiere i
directoare
Comanda file
Comanda file este folosit pentru a determina tipul unui anumit fiier.

ALGORITMI $ file temp.txt


temp.txt: ascii text
PARALELI
2009/2010 - Suceava

Operare in Linux
prin comenzi Comanda cat
Comanda cat (denumirea provine de la concatenate) ne ofer
consola posibilitatea vizualizrii fiierelor text.
$ cat /home/remus/.profile
Alte comenzi va afia coninutul fiierului /home/remus/.profile pe ecran.

Comanda more
Comanda more ofer posibilitatea vizualizrii fiierelor text acestea
sunt afiate ecran cu ecran.
$ more /etc/passwd
Comanda head
ALGORITMI Comanda head este utilizat pentru afiarea primelor n linii dintrunul sau
mai multe fiiere.
PARALELI $ head [-n] fisier(e)
2009/2010 - Suceava

Operare in Linux
prin comenzi Comanda tail
consola Comanda tail se folosete pentru afiarea ultimelor n linii
dintr-un fiier text.
$ tail [-n] fisier(e)
Alte comenzi

ALGORITMI nainte de a descrie modalitatea de creare i
tergere a fiierelor i directoarelor n UNIX, s
PARALELI reamintim regulile de stabilire a numelor pentru
2009/2010 - Suceava fiiere i directoare.

Acestea sunt:
Lungimea maxim a numelui unui fiier sau director nu
Operare in Linux poate depi 255 de caractere (cu toate acestea, numele
prea lungi nu sunt recomandate);
prin comenzi
consola Se recomand utilizarea caracterelor alfanumerice
mpreun cu dou caractere non-alfanumerice:
Comenzi de creare i liniua de unire (semnul minus -) i liniua de
tergere pentru fiiere subliniere (caracterul underscore _ );
i directoare
Se pot utiliza i alte caractere non-alfanumerice,
dar nu este recomandat;

Numele de fiiere conin de regul i o extensie,


dar pot avea i mai multe extensii.

Numele directoarelor nu au de regul extensii, dar


acest lucru nu este interzis.
Crearea fisierelor
Cu ajutorul comenzii touch se pot crea chiar mai multe
ALGORITMI fiiere simultan, avnd n vedere c uneori trebuie s
PARALELI existe un anumit fiier nainte de a aduga informaii
n el. Comanda touch poate fi utilizat i pentru a
2009/2010 - Suceava actualiza data i ora ultimului acces la fiier

Operare in Linux
prin comenzi
consola Crearea directoarelor
n UNIX putem crea directoare cu ajutorul comenzii
mkdir. Sintaxa comenzii este urmtoarea:
Comenzi de creare i
tergere pentru fiiere $ mkdir dir1 dir2 dirX
i directoare tergerea fiierelor
n UNIX putem terge fiiere cu ajutorul comenzii rm.
Sintaxa comenzii este urmtoarea:
$ rm [-i] fisier(e) $ rm student.txt
$ rm stud1 stud2 stud3

tergerea directoarelor
tergerea directoarelor se face fie cu comanda rm -r
nume_director, fie cu rmdir.
$ rmdir dir1 dir2 dirX
Copierea fiierelor
Copierea fiierelor i directoarelor se face cu ajutorul
comenzii cp. Comanda cp poate fi, de asemenea, folosit
ALGORITMI mpreun cu metacaracterele * i ? pentru a se copia mai
PARALELI multe fiiere deodat.
$ cp [-i] fis_sursa fis_destinatie
2009/2010 - Suceava

Copierea directoarelor
Operare in Linux Copierea directoarelor se face cu ajutorul comenzii cp
-r (recursive) si a opiunii -i (interactive).
prin comenzi
consola $ cp -r[i] dir_sursa dir_destinatie

Comenzi de copiere,
redenumire, mutare i Redenumirea fiierelor
redirectare Att fiierele ct i directoarele pot fi redenumite cu
ajutorul comenzii mv (move).
$ mv [-i] fis_sursa fis_destinatie

Redirectarea intrrii
ALGORITMI Conform formatului general de mai sus, pentru redirectarea
PARALELI intrrii unei comenzi vom folosi urmtoarea sintax:
$ comanda < nume_fisier
2009/2010 - Suceava
$ mail serban < lista

Redirectarea ieirii
Redirectarea ieirii unei comenzi determin crearea unui nou
Operare in Linux fiier n modul urmtor:
prin comenzi $ comanda > nume_fisier
consola $ ls > lista

Comenzi de copiere, Redirectarea erorilor


redenumire, mutare i Redirectarea erorilor generate de comenzi este util atunci cnd
redirectare se dorete analiza lor.
$ comanda 2> nume_fisier

Conducte de legatura - pipe


Putem redirecta iesirea unui program catre intrarea unui
alt program printr-un pipe.
$ comanda 1 | comanda 2

$ ls -l | grep test

ALGORITMI
PARALELI
2009/2010 - Suceava

LIMBAJUL C

Elemente generale
de programare in
Linux

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