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

Code	Subject	
MID0003	Operating Systems	

Section	Sem.	Hours: C+S+L+P	Category	Type	
Computer Science	2	2+0+2+0	fundamental	compulsory	
Mathematics and Computer Science	4	2+0+2+0	speciality	compulsory	
Information engineering	4	2+0+2+0	speciality	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 facilitatilor oferite de sistemele de operare din familia Windows: XP, Vista, Vindows 7. Gestiunea aplicatiilor multitasking folosind procese sub Unix şi sub Windows.	
Content	Curs
Săpt. 1 - 3
1. Sistemul de operare Unix: interfete exterioare
	Structura generală a sistemului de operare
	Expresii regulare, specificarea fişierelor, specificări generice
	Filtre; principii generale sort, awk, sed, grep (restul la laborator)
	Procesoare de comenzi shell:sh, csh, ksh, bash; prezentări generale
	Comenzi utile în context shell şi gestiunea exterioară a proceselor
	Programarea în shell; aplicaţii shell
	Structura superioară a sistemului de directoare Unix
	Conceptul de montare
	Legături hard şi legături simbolice

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

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

Săpt. 9 - 10
4. Sistemele de fişiere pentru sistemele de operare Unix si Windows
	Structura internă a discului şi a sistemului de fişiere DOS; tabela FAT
	Structura internă a discului şi a sistemului de fişiere Windows (20003, XP, Vista); mecanismul NTFS, fişierul MFT
	Structura internă a discului şi a sistemului de fişiere Unix; mecanismul i-node
	Sisteme RAID

Săpt. 11 - 14
5. Teoria generală a sistemelor de operare
	Tipuri de sisteme de calcul şi de sisteme de operare. Clasificări
	Canal I/O, zone tampon multiple. Multiprogramare. 
	Structura generală şi funcţiile unui sistem de operare
	Conceptul de proces: specificări, concurenţă, semafoare, impas
	Planificarea proceselor

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	1. 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. .	Ubuntu - The Complete Reference; Richard Petersen (MCGraw-Hill, 2009)
10.	. Windows 7 User Guide. Microsoft, 2009/ 
	
Assessment	Nota finala este medie ponderata a trei note componente:
Examen scris şi practic la finele semestrului:
-	nota de la lucrarea scrisă 40%;
-	nota la lucrarea practică 40%;
Activitatea de laborator: calitatea programelor, documentaţii etc. 20%

Daca din motive intemeiate nu s-a putut preda satisfacator activitatea de laborator, atunci partea practica a examenului final va avea pondere 60% cu cerinte marite cu 50% 

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