Topic I. Introduction.
1. Topic presentation. (PDF)
This lesson shows the basics of the structure and operation of a computer that impact the operating system, the concept of operating system as well as the main components of the operating system and the boot process.
This lesson helps the reader to understand what an operating system service is, the mechanisms involved in a system call and to know the characteristics of the POSIX standard interface, as well as the main services offered by POSIX .
Topic II. Processes and Threads.
4. Topic presentation. (PDF)
This lesson shows the concept of process, the basic life cycle of a process and the information associated with a process is presented. In addition, it shows how to generate a process from an executable file. As transition to the issue of scheduling the concept of multitasking and context switch occurs.
This lesson shows how to create and terminate processes, the entire life cycle of a process, the most frequent types of process scheduling paradigms and algorithms (FIFO, Round-Robin, SJF...) complemented with examples.
This lesson introduces the concept of thread and the thread models more popular in OS. The OS services for thread management are also presented in this lesson. To finish, some design aspects of threads are considered, including how to insert threads in the environment of a process.
Topic III. Concurrency, Communication and Synchronization.
8. Topic presentation. (PDF)
This lesson introduces the concept of process concurrency, the major paradigms to cope with this problem, and the main communication and synchronization problems arising when using concurrency among processes. Classical solutions, as the critical section, and their implementation are studied. Also, the main synchronization mechanisms for processes, semaphores, and their OS calls are presented.
This lesson shows the main communication and synchronization mechanisms for threads, including solutions with semaphores and mutex and the OS calls. Moreover, solutions to classical problems, as readers-writers and the producer-consumer are presented.
This lesson shows the student how to use the former mechanisms to design and create concurrent servers, like a web server, based both on processes and threads.
Topic IV. Memory Management.
12. Topic presentation. (PDF)
This lesson introduces the motivation of the need for memory management, its importance in the operating system and the classic RAM management techniques without using virtual memory.
This lesson shows the concept of virtual memory, how to implement it and the main mechanisms of virtual memory management in the operating system (paging , segmentation, etc.).
Topic V. Files and Directories.
15. Topic presentation. (PDF)
16. Lesson 11. Files (PDF)
This lesson introduces the concept of file, and the main structures and characteristics associated with files in the operating systems. Finally it shows the file management services and examples of use.
This lesson introduces the concept of directory, and the main structures and characteristics associated with directories in the operating systems. Finally it shows the directory management services and examples of use.
This lesson introduces the concepts of file systems, their structure and the mechanisms by which the file server is supported in the operating system, along with simple application exercises.
Topic VI. Security in Operating Systems.
19. Topic presentation. (PDF)
In this lesson several computer security concepts relevant for operating systems are presented, together with classic security problems and solutions. Services provided by the OS to implement security to try to resolve these problems are also shown.