Operating Systems

Base Knowledge

Not applicable.

Teaching Methodologies

The following teaching methodologies are used in this course:

1 – Expository method: explanatory method where theoretical foundations and concepts are presented by the teacher and discussed with the class, followed by demonstrative examples;

2 – Experimental method: active method where the student develops knowledge through problem solving, and via the development of individual or group laboratory projects.

Learning Results

At the end of the course unit the student should be able to:

1. Recognize the historical evolution of operating systems. Define the different types of operating systems, and their role in the management and protection of a computer system.

2. Identify the functions and operation of the Windows operating system. Plan and operate the installation and configuration of both the Windows operating system and its services.

3. Explain the evolution of GNU / Linux and free software. Synthesize the main functions and operation of GNU / Linux. Plan and operate the installation and configuration of a Linux distribution and its packages. Analyze the X Windows environment. Plan and operate the configuration of the Kernel and network services.

4. Explain the different types of communication between processes. Compare the main characteristics of the client / server and peer-to-peer architectures. Plan and operate the installation of a virtual machine. Discuss the role of virtualization, docker and kubernetes in cloud computing.

5. Design and operate the configuration of file and printer sharing services between different operating systems. Establish remote access services between different operating systems.

Program

1. Operating Systems (OS). 1.1. History of operating systems. 1.2. Types of operating systems. 1.3. Management of processes, memory, peripherals and file system. 1.4. System protection.

2. Study of the Windows operating system. 2.1. Functions and operation of the Windows operating system as a client. 2.2. Functions and operation of the Windows operating system as a server. 2.3. Installation, management and maintenance of the operating system. 2.4. Installation and configuration of services. 2.5. Basic and advanced settings.

3. Study of the Unix operating system. 3.1. Evolution of GNU / Linux and free software. 3.2. GNU / Linux functions and operation: bash environment, commands and scripts. 3.3. Installation of the operating system and management of packages and applications: the various Linux distributions. 3.4. The X Windows environment. 3.5. Kernel configuration and installation. 3.6. Configuration of network services on Linux.

4. Distributed systems. 4.1. Communication between processes. 4.2. Client / Server architecture. 4.3. Peer-to-Peer architecture. 4.4. Virtualization, Docker, Kubernetes and Cloud Computing.

5. Advanced configuration of operating systems – interaction between Windows and Linux. 5.1. File and print services. 5.2. Remote access and remote desktop services.

Curricular Unit Teachers

Internship(s)

NAO

Bibliography

Marques, J. A., Ferreira, P., Ribeiro, C., Veiga, L., & Rodrigues, R. (2012). Sistemas operativos (2nd ed.). FCA.

Marques, J. A., & Guedes, P. (2003). Tecnologia de sistemas distribuídos (2nd ed.). FCA.

Silberschatz, A., Gagne, G., & Galvin, P. B. (2021). Operating system concepts (10th ed.). Wiley.

Steen, V. M., & Tanenbaum, A. S. (2017). Distributed systems (3rd ed.). CreateSpace Independent Publishing Platform.

Tanenbaum, A., & Bos, H. (2014). Modern operating systems (4th ed.). Pearson.