T1.- Introduction to Operating Systems
1.1.- Basics.
1.2.- Main features: extended machine, resource manager and user interface
1.3.- History of operating systems
1.4.- Structure and operating system components.
1.5.- Operating System Activation
T2 services operating systems.
2.1.- Operating system services. System call.
2.2.- Services associated with the various components of the operating system.
2.3.- System call interface for systems programming.
2.4.- Generation and implementation of programs
2.5.- Static and dynamic libraries
T3.- processes and threads
3.1.- Process Definition.
3.2.- Resources, multiprogramming, multitasking and multiprocessing
3.3.- Lifecycle process: state of processes.
3.4 - Services to manage processes.
3.5.- Definition of thread.
3.6.- Threads: library and kernel.
3.7.- Services for operating system threads.
3.8.- Data structures for processes and threads in the kernel
3.9.- Design and implementation of multiprogramming and multitasking in the kernel
T4.- Scheduling Processes and threads.
4.1.- Scheduling basics.
4.2.- Scheduling and activation
4.3.- Scheduling algorithms (FIFO, SJF, RR, priority, ...).
4.4.- LINUX scheduling: aging.
4.5.- Process scheduling calls.
4.6.- Scheduler data structures in the kernel
T5 Communication between processes
5.1.- Signals and exceptions.
5.2.- Timers.
5.3.- Process communication with pipes .
5.4.- Local message passing.
T6 concurrent processes and synchronization
6.1.- concurrent processes.
6.2.- Mutual exclusion and critical section.
6.3.- Semaphore
6.4.- System Calls for traffic lights.
6.5.- Thread synchronization mechanisms.
6.6.- Mutex and condition variables.
6.7.- System calls to mutex.
6.8.- Cassic concurrency problems.
6.9.- Case study: development of concurrent servers
T7 Files and Directories
7.1.- Understand the concepts of file and directory and its characteristics.
7.2.- study the files, their attributes and operations, logical view.
7.3.- Representation from the point of view of users.
7.4.- Services for files.
7.5.- Interpretation of names.
7.6.- Services for directories.
7.7.- volumes, partitions and filesystems.
T8 Security and Protection
8.1.- security mechanisms in operating systems.
8.2.- Security in Linux
8.3.- Security in Windows