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

Code	Subject	
MID0003	Operating Systems	

Section	Semester	Hours: C+S+L	Category	Type	
Computer Science	2	2+0+2	fundamental	compulsory	
Mathematics and Computer Science	4	2+1+2	speciality	compulsory	
Applied Mathematics	4	2+1+2	speciality	compulsory	
Information engineering	4	2+0+2		compulsory	

Teaching Staff in Charge	Prof. BOIAN Florian Mircea, Ph.D., florin@cs.ubbcluj.ro
Assoc.Prof. ROBU Judit, Ph.D., robu@cs.ubbcluj.ro
Lect. BOIAN Rares Florin, Ph.D., rares@cs.ubbcluj.ro
Asist. DRAGOS Sanda Maria, Ph.D., sanda@cs.ubbcluj.ro
Lect. TRÎMBITAS Gabriela, Ph.D., gabitr@cs.ubbcluj.ro	
Aims	Insuşirea teoriei generale a sistemelor de operare. Prezentarea, ca studiu de caz, a principalelor facilităţi oferite de către sistemul de operare Unix. Formarea deprinderilor de programare tip Shell si de prelucrare a fisierelor text sub Unix. Prezentarea, prin comparaţie, a facilit&#462;ţilor oferite de sistemele de operare din familia Windows: XP, Vista. Gestiunea aplicatiilor multitasking folosind procese sub Unix şi sub Windows.	
Content	Curs
Săpt. 1 - 3
1. Sistemul de operare Unix: interfete exterioare
&#8226;	Structura generală a sistemului de operare
&#8226;	Expresii regulare, specificarea fişierelor, specificări generice
&#8226;	Filtre; principii generale sort, awk, sed, grep (restul la laborator)
&#8226;	Procesoare de comenzi shell:sh, csh, ksh, bash; prezentări generale
&#8226;	Comenzi utile în context shell şi gestiunea exterioară a proceselor
&#8226;	Programarea în shell; aplicaţii shell
&#8226;	Structura superioară a sistemului de directoare Unix
&#8226;	Conceptul de montare
&#8226;	Legături hard şi legături simbolice

Săpt. 4 - 6
2. Sistemul de operare Unix: apeluri sistem, structuri interne
&#8226;	Fişiere şi procese sub Unix: schema de legare între ele
&#8226;	I/O folosind handle: open, close, lseek, read, write, dup, dup2 
&#8226;	Protecţia fişierelor
&#8226;	Blocarea fişierelor
&#8226;	Procese sub Unix; structura unui proces
&#8226;	Apeluri sistem de gestiune a proceselor: fork, wait, exit, exec*
&#8226;	Comunicatii intre procese: pipe, popen, FIFO
&#8226;	Elemente de administrare Unix

Săpt. 7 - 8
3. Sistemul de operare Windows:
&#8226;	Structura generală a sistemului de operare
&#8226;	Procese sub Windows
&#8226;	Comunicarea între procese sub Windows
&#8226;	Blocarea fişierelor sub Windows
&#8226;	Elemente de administrare Windows

Săpt. 9 - 10
4. Sistemele de fişiere pentru sisteme de operare
&#8226;	Probleme generale privind gestiunea discului şi sisteme de fişiere
&#8226;	Planificarea accesului la discul magnetic
&#8226;	Structura internă a discului şi a sistemului de fişiere DOS; tabela FAT
&#8226;	Structura internă a discului şi a sistemului de fişiere Windows (20003, XP, Vista); mecanismul NTFS, fişierul MFT
&#8226;	Structura internă a discului şi a sistemului de fişiere Unix; mecanismul i-node
&#8226;	Sisteme RAID

Săpt. 11 - 14
5. Teoria generală a sistemelor de operare
&#8226;	Tipuri de sisteme de calcul şi de sisteme de operare. Clasificări
&#8226;	Canal I/O, zone tampon multiple. Multiprogramare. 
&#8226;	Structura generală şi funcţiile unui sistem de operare
&#8226;	Conceptul de proces: specificări, concurenţă, semafoare, impas
&#8226;	Planificarea proceselor
&#8226;	Probleme privind gestiunea memoriei
&#8226;	Planificarea schimbului dintre memoria internă şi cea secundară

Laborator:
1.	Comenzi UNIX pentru lucrul cu fişiere (a) C Tutorial: sections 1-5 (b)
2.	Programe Shell(I) (a) C Tutorial: sections 6-8 (b)
3.	Utilitarele SED şi  GREP (a) C Tutorial: sections 9-11 (b)
4.	Programe AWK 
5.	Programe Shell (II) (a) Utilitarul MAKE utility. Lucru cu fişiere UNIX în C (b)
6.	Procese UNIX 
7.	Blocarea fişierelor sub UNIX 
8.	Comunicarea între procese UNIX prin PIPE şi POPEN 
9.	Comunicarea între procese UNIX prin FIFO 
10.	Procese Windows 
11.	Comunicarea între procese Windows prin PIPE 
12.	Rezerva
13.	Incheierea activităţii de laborator
14.	Examen practic	
Bibliography	BACON J. Concurrent Systems: Operating Systems, Database and Distributed Systems - an integrated approach. Addison-Wesley, 1998
2. BOIAN F.M. Sisteme de operare interactive. Ed. Libris, Cluj, 1994.
3. BOIAN F.M. De la aritmetica la calculatoare. Ed. Presa Universitara Clujeana, Cluj, 1996.
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. IGNAT I. KACSO A. Unix: generarea proceselor. Ed. Albastra, grupul Microinformatica, Cluj, 1995.
6. ROCHKIND M.J. Advanced Unix Programming. Prentice Hall, 1985.
7. STALLINGS W. Operating Systems: Internal and Design Principles. Prentice Hall, 1998.
8. TANENBAUM A.S. Distributed Operating Systems. Prentice Hall, 2002 
9. *** UNIX Unleashed, Internet Edition. http://docs.rinet.ru:8083/UNIXi/
10. *** UNIX Unleashed, System Administrator@s Edition. http://docs.rinet.ru:8083/UNIXs/ 
	
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/SO