Teaching Methodologies
A lecionação da unidade curricular será dividida em três partes: uma parte teórica com a exposição e explicação dos fundamentos teóricos, uma parte prática com resolução de exercícios, e uma parte laboratorial com a utilização de equipamentos e de software que consolide os resultados da aprendizagem.
Learning Results
This curricular unit aims to provide knowledge related to the structure and operation of operating systems. In particular, the acquisition of knowledge relating to the creation of processes and threads, and the different forms of intercommunication between these elements. The student should also acquire the ability to resolve problems associated with synchronization in access to resources (avoiding possible potentially conflicting requests), and with memory and storage management.
At the same time, the student will gain knowledge and experience in the installation, configuration and management of Linux distributions.
Students who successfully complete this curricular unit will be familiar 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). Structure and Services of an SO. Interface cm an OS. Calls to the System. Virtual Machines. Processes. Escalation: Queues, schedulers, and context switch. 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. Miltithreading models. Thread Libraries. Escalation. CPU-IO cycle concepts and CPU stagger. Escalation algorithms. Synchronization. Traffic Lights Classic Sync Problems. Monitors. Deadloches. Memory Management. Main and Virtual. Storage Management. Access and Allocation methods. File System. Free Space Management. Raid. Linux distributions. Start-up Process (GRUB). Software installation (e.g. source code, packages). File, Process and User Management. Scripting and task automation.
Curricular Unit Teachers
Internship(s)
NAO
Bibliography
Abraham Silberschatz, Peter Baer Galvin, Greg Gagne,” Operating System Concepts with Java”, 8th Edition, John Wiley & Sons, 2010;
William Stallings, “Operating Systems: Internals and Design Principles”, 8th Edition, Pearson Education, 2014;
Andrew S. Tanenbaum, “Modern Operating Systems”, 4th Edition, Pearson Education, 2014;
J. Marques et al, “Sistemas Operativos”, 2ª Edição, FCA, 2012;
Fernando Pereira, “Linux Curso Completo – 7ª Edição”, FCA, 2012;
R. Smith, LPIC-1: Linux Professional Institute Certification 3nd Edition, Sybex, 2013;
“Linux Essentials”, Cisco Academy, 2017;
Kay Robbins, Steve Robbins, “Unix Systems Programming: Communication, Concurrency and Threads”, 2nd Edition, Prentice Hall, 2015.