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.,  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 facilitǎţ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
• 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 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 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
• 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) (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
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
Links: Syllabus for all subjects
Romanian version for this subject
Rtf format for this subject