Babes-Bolyai University of Cluj-Napoca
Faculty of Mathematics and Computer Science
Study Cycle: Graduate
SUBJECT

Code	Subject	
MIC0002	Distributed Operating Systems	

Section	Semester	Hours: C+S+L	Category	Type	
Computer Science	3	2+0+2	speciality	compulsory	
Information engineering - in English
Information engineering  - in Hungarian
Information engineering - in Romanian	5	2+0+2		optional	

Teaching Staff in Charge	Prof. BOIAN Florian Mircea, Ph.D., florin@cs.ubbcluj.ro
Lect. BOIAN Rares Florin, Ph.D., rares@cs.ubbcluj.ro
Lect. RUFF Laura Ildiko, Ph.D., laura@cs.ubbcluj.ro	
Aims	In prima parte se urmăreşte însuşirea de către studenţi a mecanismelor evoluate de comunicare între procese Unix si Windows. Se pun bazele programarii concurente la nivelul firelor de execuţie. SE pun bazele comunicarii prin socket intre sisteme, cu aplicatii la Unix şi Windows. Partea a doua tratează aspecte teoretice şi practice privind sistemele de operare distribuite. Sunt descrise tehnologiile middleware pentru RPC, memorie partajat&#462; distribuit&#462;, sisteme de fişiere distribuite, obiecte partajate, interfeţe grafice: X-Window, middleware peste web.	
Content	Curs

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

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

Săpt. 7-8
3. Sistemele de operare Windows XP şi Vista
&#8226;	Arhitectura sistemului.
&#8226;	Sistemul de fişiere.
&#8226;	IPC sub Windows.
&#8226;	Threaduri Windows.

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

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

Săpt. 14
&#8226;	X-Window
&#8226;	Pachetul de interfeţe grafice X-window.
&#8226;	Protocolul X; arhitectura X şi modul de funcţionare.
&#8226;	Bazele programării X-window. 

Laborator
1.	Recapitulare Shell.
2.	Recapitulare procese Unix.
3.	Python (1).
4.	Python (2).
5.	Semnale Unix.
6.	Cozi de mesaje Unix + Windows.
7.	Memorie partajată + semafoare Unix + Windows.
8.	Threaduri POSIX; sincronizarea threadurilor.
9.	Threaduri Windows.
10.	Comunicare client &#8211; server prin socket.
11.	Servere concurente.
12.	Apelul procedurilor la distanta (high level RPC Unix)
13.	Incheierea activităţii de laborator.
14.	Examen practic.	
Bibliography	1. 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. Programare distribuită în Internet; metode şi aplicaţii. Ed. Albastră, grupul Microinformatica, Cluj, 1997
4.	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
5.	BURAGA S. Tehnologii Web. Ed. MATRIX ROM, Bucureşti, 2001
6.	IGNAT I. KACSO A. Unix: generarea proceselor. Ed. Albastră, grupul Microinformatica, Cluj, 1995
7.	NYE A. Xlib Programming Manual. Sun Press, 1988
8.	STALLINGS W. Operating Systems: Internal and Design Principles. Prentice Hall, 1998. 
9.	TANENBAUM A.S. Distributed Operating Systems. Prentice Hall, 2005 
10.	*** UNIX Unleashed, Internet Edition. http://docs.rinet.ru:8083/UNIXi/
11.	. *** Windows NT4 Server Unleashed. http://docs.rinet.ru:8083/NT4/	
Assessment	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%

Cerintele cursului sunt postate la:
http://www.cs.ubbcluj.ro/~florin/SOD