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+0+2
speciality
compulsory
Information engineering
4
2+0+2
speciality
compulsory
Teaching Staff in Charge
Prof. BOIAN Florian Mircea, Ph.D.,  florincs.ubbcluj.ro
Assoc.Prof. ROBU Judit, Ph.D.,  robucs.ubbcluj.ro
Lect. BOIAN Rares Florin, Ph.D.,  rarescs.ubbcluj.ro
Asist. DRAGOS Sanda Maria, Ph.D.,  sandacs.ubbcluj.ro
Lect. TRÎMBITAS Gabriela, Ph.D.,  gabitrcs.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
References
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
Links: Syllabus for all subjects
Romanian version for this subject
Rtf format for this subject