ΥΠ12 - Operating Systems
General Information
School: Digital Technology
Department: Informatics and Telematics
Level: Undergraduate
Course Title: Operating Systems
Course id: ΥΠ12
Type: Core Course
Semester: 3
Teaching and Examination Language: Greek
Is the course offered in Erasmus: Yes
Course web-page: http://eclass.hua.gr/courses/DIT136/
Activities
Lectures (Theory): 3,0
Lab lectures: 1,5
ECTS credits: 7,0
Learning Outcomes
The course aims at familiarizing students with the basic operations and functionality of an Operating System, algorithmic problems regarding resource sharing and contention and allows them to act as system administrators.
The laboratory part aims at preparing students to efficiently work and program using system calls and shell scripting in a Unix environment.
General Skills
Independent work
Promoting free, creative and deductive thought
Decision making
Course Content
Theory:
Operating Systems categories
processes and threads
CPU scheduling
interprocess communication - mutexes, deadlocks - techniques for deadlock avoidance and prevention
memory management – virtual memory, paging and page replacement algorithms
filesystems and protection mechanisms
I/O devices management
UNIX operating system case study
Ms Windows operating system case study.
Laboratory:
Introduction to UNIX
filesystem management
redirections
pipes
regular expressions
process management
filesystem permissions
environmental variables
shell scripts
UNIX system calls programming in C
socket programming
Learning and Teaching Methods - Evaluation
Teaching methods: face-to-face
Use of ICT:
Course e-class, google meet, Youtube channel,
Course Organization
Assessment
The final grade is computed as follows: written examination 60%, individual programming projects 40%. To pass the course, a students should have a passing grade (at least) in BOTH the written exams and the projects individually.
Literature
Theory
Operating Systems Design and Implementation by Andrew S Tanenbaum, Albert S Woodhull, Prentice Hall
Operating System Concepts by Abraham Silberschatz,Peter Baer Galvin, Greg Gagne, Wiley
Lab
M. Rochkind, “Advanced UNIX Programming”, Addison-Wesley. 2000
Brian W. Kernighan, Rob Pike. “The Unix programming environment, Prentice Hall, 1984
Additional Reading
Design of the UNIX Operating System των Maurice J. Bach, Prentice Hall eds
UNIX: The Complete Reference, Second Edition των Kenneth H. Rosen, Douglas A. Host, Rachel Klee, Richard R. Rosinski, McGraw-Hill eds
Additional teaching material is also provided through eclass platform (“Operating systems” Electronic Course)
Elsevier Journal of Systems Architecture, ACM Transactions on Computer Systems