Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Licenţă
Domeniul: Calculatoare şi tehnologia informaţiei
Programul de studii: Ingineria informatiei - in limba romana
Limba de predare: Română

SYLLABUS

I. Date generale
Codul	Disciplina	
MID0003	Sisteme de operare	

Semestrul	Ore: C+S+L+P	Categoria	Statutul	
4	2+0+2+0	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	
DRAGOŞ Sanda-Maria	Dr. 	Lector	Sisteme Informatice	*		*	

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

III. Obiectivele disciplinei
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. Gestiunea aplicatiilor multitasking folosind procese sub Unix.		

IV. Conţinutul disciplinei
Cursul va acoperi următoarele 4 teme mari:
1.	Sistemul de operare Unix: interfete exterioare
2.	Sistemul de operare Unix: apeluri sistem, structuri interne
3.	Sistemele de fişiere pentru sisteme de operare; studii de caz: Unix, Windows, DOS
4.	Teoria generală a sistemelor de operare: structura şi funcţiile SO, procese, gestiunea memoriei
Activitatea de laborator prevede elaborarea de către fiecare student a unui număr de 12 teme în care se aplică cele prezentate la curs relativ la temele 1-3. 	

V. Bibliografie
1.	BACH M.J., Design of the UNIX Operating System, Prentice-Hall, ISBN:0-13-201799-7, 1986
2.	BENVENUTI C., Understanding Linux Internals, O ’ Reilly, 2005
3.	BOIAN F.M. Sisteme de operare interactive. Ed. Libris, Cluj, 1994.
4.	BOIAN F.M. De la aritmetica la calculatoare. Ed. Presa Universitara Clujeana, Cluj, 1996.
5.	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.
6.	IGNAT I. KACSO A. Unix: generarea proceselor. Ed. Albastra, grupul Microinformatica, Cluj, 1995.
7.	ROCHKIND M.J. Advanced Unix Programming. Prentice Hall, 1985.
8.	SILBERSCHATZ A., GALVIN P., Operating System Concepts, Addison-Wesley, 1994
9.	STALLINGS W. Operating Systems: Internal and Design Principles. Prentice Hall, editia 6, 2008.
10.	TANENBAUM A.S. Distributed Operating Systems. Prentice Hall, 2002 	

VI. Tematica activităţilor didactice pe săptămâni
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 şi seminar)
-	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 - 7
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
-	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. 8 – 9
3. Sistemele de fişiere pentru sisteme de operare
-	Probleme generale privind gestiunea discului şi sisteme de fişiere
-	Planificarea accesului la discul magnetic
-	Structura internă a discului şi a sistemului de fişiere DOS; tabela FAT
-	Structura internă a discului şi a sistemului de fişiere WindowsNT & 2000; mecanismul NTFS, fişierul MFT
-	Structura internă a discului şi a sistemului de fişiere Unix; mecanismul i-node

Săpt. 10 - 14
4. 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
-	Probleme privind gestiunea memoriei
-	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) 
6.	Utilitarul MAKE utility. Lucru cu fişiere UNIX în C
7.	Procese UNIX
8.	Blocarea fişierelor sub UNIX
9.	Comunicarea între procese UNIX prin PIPE
10.	Comunicarea între procese UNIX prin POPEN 
11.	Comunicarea între procese UNIX prin FIFO 
12.	Rezerva
13.	Incheierea activităţii de laborator
14.	Examen practic	

VII. Metode didactice folosite
Metodele de bază utilizate în cazul predării cursului, a seminarului şi a laboratorului sunt: expuneri, conversaţii, demonstraţia didactică, studiul de caz, studiu individual, teme, proiecte aplicative. Disciplina are alocate ore de curs, ore de seminar şi ore de laborator. La curs se folosesc materiale bibliografice specifice: cărţi, articole, referinţe de pe Internet. La seminar discută diferite studii de caz si se prezintă tablă soluţionarea acestora.  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
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/~sanda/SO1

IX. Bibliografie suplimentară
1.	BACON J. Concurrent Systems: Operating Systems, Database and Distributed Systems - an integrated approach. Addison-Wesley, 1998
2.	BOVET D. P., CESATI M., Understanding the Linux Kernel, Second Edition , O ’ Reilly,2003
3.	DHAMDHERE D., Operating Systems, McGraw-Hill, Inc., ISBN:0072957697, 2008
4.	SILBERSCHATZ A., GALVIN P., GAGNE G., Applied operating system concepts, John Wiley, ISBN:0471365084, 2000
5.	Ubuntu - The Complete Reference; Richard Petersen (MCGraw-Hill, 2009)
Windows 7 User Guide. Microsoft, 2009	

	Decan,							Sef de catedra,
Prof. Univ. Dr. Ţâmbulea Leon			Prof. Univ. Dr. Boian Mircea Florian

	Data,							Titular curs,
	25.10.2010						Lector Dr. Dragoş Sanda Maria