Sistemas Operativos

Base Knowledge

NA

Teaching Methodologies

The teaching of the course will be divided into three parts: a theoretical part with the exposition and explanation of the theoretical foundations, a practical part with solving exercises, and a laboratory part with the use of equipment and software that consolidates the learning results. The assessment of the course will focus on these three aspects. It will have a written test, worth 20 points. In this written test, the theoretical part will have a value of 7 values, and the practice of 13 values. Laboratory work will also be quoted at 20 points. The final grade is obtained through the average of the grades of the written test and the laboratory work.

 

Learning Results

This course aims to provide knowledge on the structure and functioning of operating systems. Namely, the acquisition of knowledge related to the creation of processes and threads, and the different forms of intercommunication between them. The student must also acquire the ability to resolve issues associated with synchronization in access to resources, in order to avoid potential potentially conflicting requests. Students who successfully complete this course will become familiarized with the most important aspects of operating systems operation, and will acquire the ability to develop applications that make use of an Operating System’s programming interface.

Program

Evolution of Operating Systems (OS). OS structure. Services of an OS. Interface with an OS. System calls. Virtual Machines. Law Suit. Scheduling: queues, schedulers and context switches. Creation and termination of processes. Communication between processes: shared memory systems and message passing systems. Communication in Client-Server systems: sockets, RPC and RMI. Threads. Multithreading models. Thread Libraries. Scheduling. CPU-IO cycle concept and CPU scheduler. Scheduling algorithms: First Come First Served (FCFS), Shortest Job First, Priority Scheduling, Round-Robin, Multilevel Queue and Multilevel Feedback-Queue. Synchronization. Peterson’s Solution. Traffic lights. Classic Sync Issues. Monitors. Deadlock. Description. Prevention. Detection. Memory Management. Home and Virtual. Storage Management. Access Methods. Allocation Methods. File System Structure. Free Space Management. RAID.

 

Grading Methods

Periodic Evaluation
  • - Theoretical Test 1 - 25.0%
  • - Report - 50.0%
  • - Theoretical Test 2 - 25.0%
Final evaluation
  • - Report - 50.0%
  • - Report - 50.0%

Internship(s)

NAO

Bibliography

A. Silberschatz, P. Galvin and G. Gagne, “Operating System Concepts with Java”, 7th Revised Edition, John Wiley & Sons, 2007

A. Tanenbaum, “Modern Operating Systems”, 3th Edition, Prentice Hall, 2008

J. Marques et al, “Sistemas Operativos”, FCA, 2009

K. Robbins and S. Robbins, “Unix Systems Programming: Communication, Concurrency and Threads”, 2nd Edition, Prentice Hall, 2003

R. Smith, LPIC- Linux Professional Institute Certification Study Guide 2nd Edition, Sybex, 2009

W. Stallings, “Operating Systems: Internals and Design Principles”, 5th Edition, Prentice Hall, 2004