Subject: Operating Systems	Code: MID0003	

Semester	 Hours: C+S+L	Type	 Section	
2	2+0+2	compulsory	Computer Science	
4	2+1+2	compulsory	Mathematics and Computer Science	
4	2+1+2	compulsory	Applied Mathematics	

Teaching Staff in Charge	Prof. BOIAN Florian Mircea, Ph.D., florin@cs.ubbcluj.ro
Lect. ROBU Judit, Ph.D., robu@cs.ubbcluj.ro
Lect. BOIAN Rares Florin, Ph.D., rares@cc.ubbcluj.ro
Asist. STERCA Adrian Ioan, forest@cs.ubbcluj.ro
Asist. COBARZAN Claudiu, claudiu@cs.ubbcluj.ro	
Aims	Learning by the students of the general theory of Operating Systems. Gaining the necessary skills to operate and to design specific applications on the Unix operating system, using Shell scripts, the main Unix text commands, and C programming with processes	
Content	Courses

1. The Unix OS: external interfaces
- The general structure of the Unix OS
- Regular expressions, file specifications, generic specifications of files
- Filters; general aims, sort, awk, sed, grep (the othess, into laboratoryes)
- The command shell processors:sh, csh, ksh, bash; general aims
- Internal shell commands; external managements of the processes
- Shell programming; aplications
- High levels of the directories form the Unix system file
- The mounting
- Symbolic and hard links

2. The Unix OS: system calls, internal structures
- The correspondig between files and processes in Unix
- I/O with handle calls: open, close, lseek, read, write, dup, dup2 
- File protected
- File blocks
- The Unix processes: structure
- The system calls for processes: fork, wait, exit, exec*
- Inter process communications with: pipe, popen, FIFO
- Elements of the Unix administration

3. File systems for OS
- General problems about disk and files management
- The disk access scheduling
- Internal structure of a DOS disk and DOS file system; the FAT table
- Internal structure of a WindowsNT & 2000; NTFS mechanism, the file MFT
- Internal structure of a Unix disk and Unix system files; the i-node structure

4. The general theory of the operating systems
- Kinds of system computers and operating systems; classifications
- I/O channel, multiple buffers. Multiprograming. 
- The functions and the general structure of a OS
- The process concept: specifications, concurency, semaphores, deadlock
- The process scheduling
- Memory management
- The memory scheduling problems

Laboratories

1. Unix commands for the file management
2. Comunications: ftp, mail, telnet, ssh, XWindow
3. Shell programming (I)
4. The sed and grep utiliteires
5. The awk program
6. Shell programming (II)
7. C programming using Unix files
8. Info: MiniShell or the other utilitaires MI: client-server problems
9. Unix processes (I)
10. The file blocks
11. Inter process comunications: pipe, FIFO
12. Unix processes (II)
13. Close the laboratory activity
14. Applications exam	
Selective 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. *** UNIX Unleashed, Internet Edition. http://docs.rinet.ru:8083/UNIXi/
10. *** UNIX Unleashed, System Administrator's Edition. http://docs.rinet.ru:8083/UNIXs/ 	
Assessment	A compulsory application and an writing exam on finish of the semester. The mark is a mean between:
- 	the exam mark 40%;
- 	the application mark 40%;
- 	the semester activity: quality of programms, documentations etc. 20%