1. 2. Processes and Threads
1.1. • Definition: Processes and threads are units of execution within an operating system. Processes are running instances of programs, while threads are smaller units within a process that can execute tasks concurrently.
1.1.1. Procesos: o Definición: Un proceso es un programa en ejecución, que incluye su código, datos y estado de ejecución. o Estados del Proceso: Nuevo, Listo, En Ejecución, Bloqueado. • Hilos: o Definición: Un hilo es una unidad de ejecución dentro de un proceso que puede ejecutar instrucciones de manera concurrente con otros hilos en el mismo proceso.
2. 3. Process Scheduling
2.1. Definition: Process scheduling is the method by which the operating system decides which processes are executed in which order, and when.
2.1.1. • Scheduling Algorithms: o First-Come, First-Served (FCFS): Processes are executed in the order in which they arrive. o Shortest Job First (SJF): Processes with the shortest execution time are executed first. o Round-Robin: Each process is given a small time slot to execute and then moves on to the next process. o Multilevel Queue Scheduling: Processes are grouped into different queues based on their characteristics and are scheduled based on their priority and type.
3. 4. Synchronization and Communication between Processes
3.1. Definition: Synchronization and communication between processes are techniques for managing cooperation and data exchange between processes or threads that are running simultaneously.
3.1.1. • Synchronization: o Semaphores: Synchronization mechanisms that allow access to shared resources to be controlled. o Mutexes: Objects that ensure that only one thread can access a shared resource at a time. o Monitors: Synchronization abstractions that encapsulate shared resources and the operations that can be performed on them. • Interprocess Communication (IPC): o Pipes: Channels for communication between processes. o Message Queues: Data structures for sending and receiving messages between processes. o Shared Memory: Memory region accessible by multiple processes to exchange data.
4. 5. Memory Management
4.1. Definition: Memory management is the process of managing the storage of data and programs in system memory.
4.1.1. • Physical Memory: The physical RAM installed in the system. • Virtual Memory: A system that allows processes to use more memory than is physically available, by utilizing disk storage. • Paging: A technique for dividing memory into blocks (pages) to facilitate management. • Segmentation: A technique that divides memory into logical segments based on the type of data or code.
5. 1. Operating System Structure
5.1. Definition: The structure of an operating system refers to the way it is organized and divided into its different components. These components interact to manage the hardware and provide services to applications and the user.
5.1.1. • Main Components: o Kernel: The central part of the operating system that manages hardware resources and provides essential services to other parts of the OS. o System Services: Sets of functions that allow applications and the user to interact with the hardware. o User Interfaces: The tools and environments through which the user interacts with the operating system.
6. File Systems
6.1. • Definition: File systems manage the organization, storage, and access to files in a storage system.
6.1.1. • Structure and Organization: o Files: Basic storage units that contain data. o Directories: Structures that organize files into hierarchies. o Indexing Techniques: Methods for accessing files efficiently. • File Operations: o Creation: Generating new files. o Reading: Accessing data stored in a file. o Writing: Modifying data in a file. o Deleting: Deleting files from the system.
7. 7. Input/Output Management
7.1. • Definition: Input/Output (I/O) management is responsible for reading and writing operations with peripheral devices.
7.1.1. • Input/Output Devices: Hardware such as keyboards, mice, hard drives, printers, etc. • Device Drivers: Software that allows the operating system to communicate with specific hardware.
8. 8. Security and Protection
8.1. Definition: Security and protection in operating systems refer to mechanisms that prevent unauthorized access and protect system data.
8.1.1. • System Security: o Authentication: Verification of the user's identity. o Access Control: Policies to allow or deny access to resources. • Threat Protection: o Malware: Malicious software designed to damage or exploit systems. o Viruses: Types of malware that spread by infecting other files.
9. 9. Modern Operating Systems
9.1. • Definition: Modern operating systems have evolved to support new technologies and demands, such as virtualization and cloud computing.
9.1.1. • Virtualization: Technology that allows multiple virtual operating systems to run on a single physical hardware. • Distributed Operating Systems: Systems that allow the operation of an OS across multiple networked machines. • Cloud Operating Systems: OS designed to work in cloud computing environments, offering services and resources over the Internet.