New Bulgarian University - Sofia

 

NETB 212 Operating Systems Exercises (Упражнения по Операционни Системи)

Fall 2005

Внимание: Оформянето на оценките по netb212 + netb294  ще се извърши в петък, 17-ти февруари, от 15:00 часа в 1-309

Course Objectives

Learning by programming seems to be crucial for understanding operating systems issues. The goal of this course is to provide a solid background in the design, analysis and testing of the major classes of operating systems applications, synchronization and cooperation mechanisms, in a popular environment (UNIX). Students who have completed the course will be able to develop their own system programs (in C) and to test them.

Course Overview

The course considers the fundamental Linux system call APIs—those that form the core of any significant program—by presenting code from production programs that you use every day. It focuses on APIs for memory management, file input/output, file metadata, processes, threads and signals. The client-server paradigm and the socket interface used by application programs to access TCP/IP protocol suite are introduced..

Course Prerequisites

Two programming courses or consent of instructor. We assume that students have a basic level of knowledge of C and thus will spend only a small fraction of lecture time reviewing introductory material.

Course Format and Grading Policy

New material will be presented in lecture format (PowerPont Slides). Reviews, exercises and labs will take place in discussion. Participation in the discussions in class, although not mandatory, is strongly recommended and may result in extra credit. 

Weekly mandatory labs and a final examination will provide the basis for the grade. The lab is due one week after handed out. Late labs will not be accepted unless permission by the instructor was given prior to the due date.

No predetermined scale will be used. The final grade will be assigned based on the following weighting

Labs/quiz - 30%

Project 20 %

Final exam 50 %

Cheating and plagiarism will not be tolerated. They will result in no credit for the homework or examination. This should not be understood as a discouragement for discussing the material or your particular approach to a problem with other students in the class. On the contrary - I urge you to share your thoughts, questions and solutions. Naturally, if you choose to work in a group, I will be expecting more than one and highly original solutions rather than the same mistakes.

Required Text

1. Arnold Robbins,  Linux Programming by Example: The Fundamentals

 

ISBN: 0-13-142964-7
Publisher: Prentice Hall PTR
Copyright: 2004
Format: Paper; 720 pp

 

2. Comer, D.E., Stevens, W., Internetworking with TCP/IP, Vol. 3: Client-Server Programming and Applications, Linux/Posix Sockets Version, 1/e, Copyright 2001, 601 pp. ISBN 0-13-032071-4


Recommended Text

Operating System Concepts, Seventh Edition, A. Silberschatz, P. Galvin. G. Gagne, John Wiley, 2005. ISBN: 0-471-69466-5 (Sixth Edition will also work) (recommended)

Operating Systems, Fourth Edition by William Stallings (recommended)

Stevens, R., UNIX Network Programming, Volume 1: Networking APIs - Sockets and XTI: 2/e, Second edition, Prentice Hall Int., 1998 (recommended).


Course Information

·         Place: NBU

·        Office Hours: Tue., 2:00- 3:00 p.m.

·               Office Address: NBU, 21, Montevideo Str., Sofia 1618, Faculty Room 
·               Telephone: (+) 359 2 811 0 611 (CS chair office)

·         E-mail: rumen.stainov@informatik.fh-fulda.de


Rumen Stainov received his B.S. and M.S. from the Technical University Ilmenau, Germany and his Dr.-Ing. from the Dresden University of Technology, Germany. Before joining Fulda University he has been a Professor of time at the University of Aachen, Germany. In Fall 1997, in Fall 98, in Spring, and Summer 1999 he has been Visiting Associate Professor at BU. From Fall 1999 through Summer 2002 he has been full-time Associate Professor of Computer Science at Boston University (USA). He is currently Professor of Computer Science at Fulda University of Applied Sciences, and from September 2005 though March 2006 Visiting Professor at New Bulgarian University supported by a grant of DAAD (Deutscher Akademischer Austauschdienst). 

Research Interests

Computer networks, internetworking, distributed systems, parallel and distributed operating systems and processing.

Publications

(Over 60)

Books and Contributions:

  • Stainov R., Distributed Operating Systems (in German: "Verteilte Betriebssysteme"), VDI Verlag Düsseldorf, 1994, p. 295, ISBN 3-18-401345-6.
  • Stainov R., Internet and WWW: Basics (in German "Internet und WWW-Grundlagen"), VDE-Verlag Berlin, 1997, p. 145, ISBN 3-8007-2172-4.
  • Stainov R., IPnG: The Next Generation Internet Protocol (in German: "IPnG: Das Internetprotokoll der nächsten Generation"), International Thomson Publishing, 1997, p. 302, ISBN 3-8266-4018-7.
  • Stainov R., "Aufbauprinzipien der Internetdienste und des WWW" in "Jahrbuch Elektrotechnik" Band 17 (Hrsg. A. Grütz), VDE-Verlag, 1997, ISBN 3-8007-2272-0.
  • Stainov R., "Internet-Tutorial" (ca. 90 pages) in "Lexikon TCP/IP Internetworking" (Hrsg. K. Lipinski), International Thomson Pub. 1998, ISBN 38266-4039-X.

Course Calendar

Homework

Class E-mail List

Lecture Notes

FAQ

 


Programming and Operating Systems

 C Language - Tutorial-1

 C Language - Tutorial-2

 Bourne Shell Programming
UNIX Guru Universe: Excellent source of UNIX information.
Linux Documentation Project: The name describes the site.
Windows Development: Good source of information on Windows internals. Note especially the section on Windows Base Services.
The comp.os.research FAQ: Lengthy and worthwhile FAQ covering operating system design issues.
ACM Special Interest Group on Operating Systems. Information on SIGOPS publications and conferences.
IEEE Technical Committee on Operating Systems and Applications. Includes an online newsletter and links to other sites.
IEEE Computer Society Task Force on Cluster Computing An international forum to promote cluster computing research and education.
Beowulf Central soure of information on Beowulf clusters..
The Memory Management Reference A good source of documents and links on all aspects of memory management.
The Operating System Resource Center A useful collection of documents and papers on a wide range of OS topics.
Operating System Technical Comparison Includes a substantial amount of information on a variety of operating systems.
Review of Operating Systems A comprehensive review of commerical, free, research and hobby OSs.
I/O Characterization and Optimization A facility dedicated to education and research in the area of I/O design and performance. Useful tools and tutorials. Operated by the U. of Illinois.
Object Management Group Industry consortium that promotes CORBA and related object technologies.

 


Interested Materials and Tutorials


Useful Resources


Organizations

·         Technical Committee on Computer Communication (TCCC)


Fachhochschule Fulda, Angewandte Informatik, Marquardstrasse 35, Zimmer C 106, 36043 Fulda, phone: +49 661 9640319,  fax: +49 661 9640349, e-mail: stainov@informatik.fh-fulda.de 
Go to FH Fulda Home Page/Go to FB AI Home Page