Topic I. Introduction to Operating Systems
Main features: extended machine, resource manager and user interface
History of operating systems
Structure and operating system components.
Operating System Activation
Operating system services.
Generation and implementation of programs
Static and dynamic libraries
Topic II. Processes and Threads.
Resources, multiprogramming, multitasking and multiprocessing.
Lifecycle process: state of processes.
Services to manage processes.
Definition of thread.
Threads: library and kernel.
Services for operating system threads.
Scheduling of processes and threads.
Scheduling algorithms (FIFO, SJF, RR, priority, ...).
Topic III- Concurrency, Communication and Synchronization.
Concurrent processes and synchronization.
Mutual exclusion and critical section.
Mutex and condition variables.
System calls for semaphores and mutex.
Classic concurrency problems.
Communication between processes.
Signals and exceptions.
Process communication with pipes.
Local message passing.
Topic IV. Memory Management.
Introduction to memory management.
Memory management algorithm.
Topic V. Files and Directories.
Understand the concepts of file and directory and its characteristics.
Study the files, their attributes and operations, logical view.
Services for files.
Interpretation of names.
Services for directories.
Volumes, partitions and filesystems.
Topic VI. Security in Operating Systems.
Security and Protection.
Security mechanisms in operating systems.