Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Licenţă
Domeniul: Informatică
Programul de studii: Informatică - linia de studiu română
Limba de predare: Română

SYLLABUS

I. Date generale
Codul	Disciplina	
MIC0002	Sisteme de operare distribuite	

Semestrul	Ore: C+S+L	Categoria	Statutul	
3	2+0+2	specialitate	obligatorie	

II. Cadre didactice cu norma de bază în Universitate
Numele şi	Titlul	Gradul	Catedra	Tipul activităţii	
prenumele	ştiinţific	didactic		C	S	L	
BOIAN Florian Mircea	Dr.	Prof.	Sisteme Informatice	*			

Cadre didactice asociate
Numele şi	Titlul	Instituţia	Tipul	Tipul activităţii	
prenumele	ştiinţific		postului	C	S	L	

III. Obiectivele disciplinei
In prima parte se urmăreşte însuşirea de către studenţi a mecanismelor evoluate de comunicare între procese Unix. Deprinderi de programare concurentă la nivelul firelor de execuţie. Partea a doua tratează aspecte teoretice şi practice privind sistemele de operare distribuite. Se accentuează pe adrese IP, adrese Internet (specificare de domenii), specificări URL, mecanismul DNS. Comunicaţii Web folosind CGI. Partea a treia tratează comunicarea prin socket. Ultima parte se ocupă de tehnici client-server şi interfeţe grafice: X-Window şi Windows NT.	

IV. Conţinutul disciplinei
Cursul va acoperi următoarele teme mari: 
0) Completari la teoria generala a So 
1) Multiprocesare şi concurenţă sub Unix 
2) Comunicaţii Web 
3) Comunicaţii socket 
4) Sisteme de operare distribuite 
5) Tehnici client server şi interfeţe grafice. 
In prima parte se urmăreşte însuşirea de către studenţi a mecanismelor evoluate de comunicare între procese Unix si formarea de deprinderi in programare concurentă la nivelul firelor de execuţie. Partea a doua şi a treia prezintă bazele comunicaţiilor actuale: adrese IP / adrese Internet (specificare de domenii), specificări URL, comunicaţii Web folosind CGI şi comunicarea prin socket. Partea a patra prezintă aspecte teoretice şi tehnologii folosite în sisteme de operare distribuite. Ultima parte se ocupă de tehnici client-server şi interfeţe grafice: X-Window şi Windows NT.

V. Bibliografie
1.	BACON J. Concurrent Systems: Operating Systems, Database and Distributed Systems - an integrated approach. Addison-Wesley, 1998 
2.	BOIAN F, VANCEA A. BOIAN R. BUFNEA D., STERCA A., COBARZAN C., COJOCAR D. Sisteme de operare Ed. Risoprint, 2006 
3.	BOIAN F.M. FERDEAN C.M., BOIAN R.F., DRAGOS R.C. Programare concurentă pe platforme Unix, Windows, Java. Ed. Albastră, grupul Microinformatica, Cluj, 2002. 
4.	BURAGA S., TARHON V., TANASĂ S. Programare Web în Bash şi Perl. Ed. Polirom, Iaşi, 2002
5.	IGNAT I. KACSO A. Unix: generarea proceselor. Ed. Albastră, grupul Microinformatica, Cluj, 1995
6.	NYE A. Xlib Programming Manual. Sun Press, 1988
7.	ROCHKIND M.J. Advanced Unix Programming. Prentice Hall, 1985. 
8.	STALLINGS W. Operating Systems: Internal and Design Principles. Prentice Hall, 1998. 
9.	TANENBAUM A.S. Distributed Operating Systems. Prentice Hall, 2005 
10.	*** HTML 4.01 Specification. http://www.w3.org/TR/1999/REC-html401-19991224
11.	*** UNIX Unleashed, Internet Edition. http://docs.rinet.ru:8083/UNIXi/ 

VI. Tematica activităţilor didactice pe săptămâni
Curs

Săpt. 1-2
0. Completări la teoria generală
•	Intrări / ieşiri la nivel fizic: zone tampon, canal I/O, lucrul fizic cu discul.
•	Sistemul de gestiune a fişierelor: acces, organizare, sisteme de directori.
•	Maşini virtuale: vmware, cygwin, zone Solaris, user mode Linux.

Săpt. 3-6
1. Multiprocesare şi concurenţă sub Unix
•	Conceptul de semnal şi utilizarea semnalelor.
•	Mecanismul IPC (Inter Process Communications).
•	IPC memorie partajată.
•	IPC cozi de mesaje.
•	IPC semafoare.
•	Threaduri
•	principalele caracteristici; elemente de sincronizare
•	standardul POSIX
•	threaduri Solaris.

Săpt. 7-8
2. Comunicaţii Web
•	Adrese IP, adrese Internet (specificare de domenii), adresare resurse prin URL.
•	Protocolul http şi elemente de limbaj HTML.
•	Interacţiuni Web la nivel client: formulare.
•	Interacţiuni Web la nivel server: tehnologia CGI.

Săpt. 9-10
3. Comunicaţii prin socket
•	Conceptul de socket: definire, adrese socket, caracteristici.
•	Scenarii de comunicare prin socket stream.
•	Descrierea principalelor funcţii utile în programarea comunicării prin socket stream.
•	Exemple de comunicare între Unix şi Windows.

Săpt. 11-13
4. Sisteme de operare distribuite
•	Sistem distribuit, algoritm distribuit, sistem de operare distribuit: elemente caracteristice.
•	Servicii distribuite oferite de SO clasice: SSH, FTP, NFS.
•	Platforme middleware: RPC, CORBA, RMI, memorie partajată distribuită, sisteme de fişiere distribuite, comunicaţii prin mesaje

Săpt. 14
5. Tehnici client server şi interfeţe grafice
•	X-Window
•	Pachetul de interfeţe grafice X-window.
•	Protocolul X; arhitectura X şi modul de funcţionare.
•	Bazele programării X-window. 
•	MS Windows
•	Programarea condusă de evenimente Windows.
•	Aplicaţii fereastră folosind API Windows.
Laborator
1.	Instalare cygwin; utilizare X.
2.	Instalare vmware; Linux, Solaris, FreeBSD.
3.	Semnale Unix.
4.	Cozi de mesaje.
5.	Semafoare + memorie partajată.
6.	Threaduri POSIX.
7.	Threaduri Solaris.
8.	Creare home-page. Interacţiunea formular HTML cu CGI.
9.	Comunicare client – server prin socket.
10.	Comunicare prin socket cu un serviciu standard.
11.	Programare API X.
12.	Programare API MS-Windows.
13.	Incheierea activităţii de laborator.
14.	Examen practic.

VII. Metode didactice folosite
Metodele de bază utilizate în cazul predării cursului şi a laboratorului sunt: expuneri, conversaţii, studiu individual, teme, proiecte aplicative. Disciplina are alocate ore de curs şi ore de laborator. La curs se folosesc materiale bibliografice specifice: cărţi, articole, referinţe de pe Internet. La laborator se urmăreşte dezvoltarea practică a unor proiecte şi rezolvarea unor probleme, fie de programare fie de administrare, folosind calculatorul şi pachete software specifice.	

VIII. Evaluare
Examen scris şi practic la finele semestrului. Nota este obţinută ca medie între:
-	nota de la lucrarea scrisă 40%;
-	nota la lucrarea practică 40%;
-	nota pe activitatea de laborator: calitatea programelor, documentaţii etc. 20%

IX. Bibliografie suplimentară

	Data,							Titular curs,
								Prof. Dr. BOIAN Florian Mircea