Sistemi Operativi 2
OPERATING SYSTEMS 2 Aldo Franco Dragoni
KNOWLEDGE AND UNDERSTANDING:
The course enriches knowledge of Operating Systems adding knowledge related to some advanced topics, with particular reference to issues relating to the scheduling of processes in "real-time" contexts and the concurrent processing in distributed environments (no shared memory). Finally, the course goes into detail of programming at the "kernel" level of the operating system Linux, the choice being justified by the fact that this is the most popular "open source" operating system among those available under the GPL license.CAPACITY TO APPLY KNOWLEDGE AND UNDERSTANDING:
The knowledge given during the course is particularly geared to computer engineering aspects close to the hardware, that is precisely the Operating System. After completing the course the student will acquire the basic skills to develop real-time and distributed applications; he will also have learned to develop a simple Linux kernel driver.TRANSVERSAL SKILLS:
The course structure and the type of training provided lend themselves to the development of projects that can be done in groups. Collaboration in the implementation of a project will help improve the communication skills that comes from teamwork and independent judgment.
Operating Systems. Memory Management. File System. I/O. CPU scheduling. Interrupts. DMA. Processes and threads. Communication and Synchronization.
Linux: an overview. Scheduling. Interrupt and Synchronization.
Real time Operating Systems. Hard and Soft real time. Real time Scheduling.
RT Algorithms for aperiodic scheduling (EDD, EDF), and periodic scheduling (Rate Monotonic Scheduling - RMS).
Linux and real time. Pro & Cons. implementations. RTAI. RTAI. Programming. Distributed Systems. Multi-Agent Systems
Development of the examination
LEARNING EVALUATION METHODS
The exam consists of a written test with questions and exercises on the topics covered during the course
LEARNING EVALUATION CRITERIA
The student must demonstrate an adequate knowledge of the scheduling algorithm "real time", the principles of distributed programming and programming modules of the Linux kernel
LEARNING MEASUREMENT CRITERIA
The student must demonstrate a comprehensive knowledge of the contents with the use of appropriate technical terminology
FINAL MARK ALLOCATION CRITERIA
The vote comes out of thirty
Silberschatz, Galvin, Gagne, Sistemi Operativi VI° Ed., Addison-Wesley, 2002. Giorgio C. Buttazzo, Sistemi In Tempo Reale, Pitagora Editrice Bologna 2008. Developing Multi-Agent Systems with JADE, Wiley
- Ingegneria Informatica e dell'Automazione (Corso di Laurea Magistrale (DM 270/04))
- Ingegneria Elettronica (Corso di Laurea Magistrale (DM 270/04))