Disciplina: Sisteme de operare distribuite	Cod: MIC0002	

Semestrul	Ore: C+S+L	Tipul	Specializarea	
3	2+0+2	obligatorie	Informatică	

Cadre didactice indrumatoare	Prof. Dr. BOIAN Florian Mircea, florin@cs.ubbcluj.ro
Lect. Dr. ROBU Judit, robu@cs.ubbcluj.ro
Lect. Dr. BOIAN Rares Florin, rares@cc.ubbcluj.ro
Asist. COBARZAN Claudiu, claudiu@cs.ubbcluj.ro
Asist. STERCA Adrian Ioan, forest@cs.ubbcluj.ro	
Obiective	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	
Continut	Curs

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  POSIX şi Solaris.

2. Sisteme de adresare în Internet
- protocoalele TCP/IP şi IP6. 
- Adrese IP şi clase de adrese.
- Specificare de domenii.
- Mecanismul DNS.
- Adresarea resurselor Internet folosind URL.
- Comunicaţii Web.
- Protocolul http şi limbajul HTML.
- Interacţiuni Web la nivel client: formulare HTML şi hărţi senzitive.
- Interacţiuni Web la nivel server: tehnologia CGI.

3. Sisteme de operare distribuite
- Sistem distribuit, algoritm distribuit, sistem de operare distribuit: elemente caracteristice.
- Servicii distribuite oferite de SO clasice: NFS, TELNET(SSH), FTP (rfc).
- Conceptul de socket: definire, adrese socket, caracteristici.
- Scenarii de comunicare prin socket.
- Descrierea principalelor funcţii utile în programarea comunicării prin socket.
- Exemple de comunicare între Unix şi Windows.

4. 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
- Sistemele de operare din familia MS Windows. 
- Arhitectura Windows NT.
- Programarea condusă de evenimente Windows.
- Aplicaţii fereastră folosind API Windows.

Laborator
1. Utilizare X.
2. Semnale Unix.
3. Memorie partajată (fără sincronizări).
4. Cozi de mesaje.
5. Semafoare + memorie partajată.
6. Threaduri POSIX / Solaris fără sincronizări.
7. Threaduri POSIX / Solaris cu sincronizări.
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.	
Bibliografie selectiva	1. BOIAN F.M. Sisteme de operare interactive. Ed. Libris, Cluj, 1994
2. BOIAN F.M. Programare distribuită în Internet; metode şi aplicaţii. Ed. Albastră, grupul Microinformatica, Cluj, 1997
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. Tehnologii Web. Ed. MATRIX ROM, Bucureşti, 2001
5. BURAGA S., TARHON V., TANASĂ S. Programare Web în Bash şi Perl. Ed. Polirom, Iaşi, 2002
6. IGNAT I. KACSO A. Unix: generarea proceselor. Ed. Albastră, grupul Microinformatica, Cluj, 1995
7. NYE A. Xlib Programming Manual. Sun Press, 1988
8. *** HTML 4.01 Specification. http://www.w3.org/TR/1999/REC-html401-19991224
9. *** UNIX Unleashed, Internet Edition. http://docs.rinet.ru:8083/UNIXi/
10. *** Windows NT4 Server Unleashed. http://docs.rinet.ru:8083/NT4/	
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%