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.
- System calls.
- Generation and implementation of programs
- Static and dynamic libraries
Topic II. Processes and Threads.
- Process Definition.
- 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.
- Virtual memory.
- 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.