OPERATING SYSTEMS
SISTEMI OPERATIVI
Operating Systems
Sistemi Operativi
A.Y. | Credits |
---|---|
2012/2013 | 12 |
Lecturer | Office hours for students | |
---|---|---|
Emanuele Lattanzi | Thursday, from 4 pm to 6 pm. |
Assigned to the Degree Course
Date | Time | Classroom / Location |
---|
Learning Objectives
To illustrate operating systems concepts, focusing on description of operating system building blocks such as process management, scheduling, virtual memory and I/O management.
Program
01. Introduction:
01.01 Introduction to the operating systems.
01.02 Operating systems structure.
01.03 Operating System functions.
01.04 System calls.
02. Processes:
02.01 Processes management.
02.02 Context switch.
02.03 Thread vs. Processes.
02.04 Communication between processes.
03. Synchronization:
03.01 The critical sections problem.
03.02 Synchronization tools.
03.03 Synchronization problems and deadlock.
04. Scheduling:
04.01 Basic scheduling concepts.
04.02 Scheduling policies
04.03 Scheduling algorithm.
04.04 Thread scheduling.
05. Linux scheduling:
05.01 Process descriptor.
05.02 Main characteristics.
05.03 The 2.4.x. scheduler.
05.04 The 2.6.x. scheduler
05.05 The SMP scheduler.
06. Main memory:
06.01 Main memory organization.
06.02 Paging.
06.03 Structure of the page table.
06.04 Segmentation.
06.05 Examples: Pentium Intel, Linux.
07. Virtual memory:
07.01 Demand paging.
07.02 Page replacement.
07.03 Frames allocation.
07.04 Memory mapped files.
08. File system:
08.01 File system concepts.
08.02 Mounting, sharing, protection.
08.03 Implementation.
08.04 Allocation methods.
08.05 Free space management.
09. Magnetic disks:
09.01 Disk structure.
09.02 Disk performace.
09.03 Scheduling algorithms.
10. Input/output systems:
10.01 Polling interrupt and DMA.
10.02 Block and character devices.
10.03 Kernel I/O subsystem.
11. Virtual machines:
11.01 Abstract virtual machines.
11.02 Real virtual machines.
11.03 Virtual machines structures.
11.04 JVM - Java Virtual Machine.
12. The Android OS:
12.01 Structure.
12.02 The Dalvik virtual machine.
12.03 Applications.
12.04 Message passing: Intents.
13. Laboratory activity:
13.01 Processes management in UNIX-like operating systems.
13.02 Thread management in UNIX-like operating systems: pThread
(POSIX) library.
13.03 Introduction to Java programming language.
13.04 Java threads management.
13.05 Java synchronization tools.
Bridging Courses
Algorithms and Data Structures, Computer Architecture, Procedural and Logic Programming.
Teaching, Attendance, Course Books and Assessment
- Teaching
Theory lectures and laboratory exercises, both face-to-face and on-line.
- Attendance
Although recommended, course attendance is not mandatory.
- Course books
Silbershatz, Galvin, Gagne, "Sistemi Operativi Concetti ed Esempi", Pearson
Tanenbaum, "I Moderni Sistemi Operativi", Pearson
Ancilotti, Boari, "Programmazione Concorrente e Distribuita", McGraw-Hill.
Bovet, Cesati, "Understanding the Linux Kernel", O'Reilly
Goetz, Peierls, Bloch, Bowbeer, Holmes, Lea, "Java Concurrency in Practice", Addison-Wesley
- Assessment
Individual project, written exam and oral exam.
The individual project, which has to be submitted at least seven days before the written exam, is passed if the mark (which is valid for all the exam calls on the academic year) is at least 18/30.
The written exam, which can be taken only if the project is passed, is passed if the mark (which is valid for all the exam calls on the academic year) is at least 18/30.
The oral exam, which can be taken only if the project and the written exam are passed, determines a spread between -10/30 and 10/30 of the average of the two previous marks, thus yielding the final mark.
- Disability and Specific Learning Disorders (SLD)
Students who have registered their disability certification or SLD certification with the Inclusion and Right to Study Office can request to use conceptual maps (for keywords) during exams.
To this end, it is necessary to send the maps, two weeks before the exam date, to the course instructor, who will verify their compliance with the university guidelines and may request modifications.
Notes
The course is offered both face-to-face and on-line within the Laurea Degree Program in Applied Computer Science.
« back | Last update: 21/05/2013 |