Lydia Garcerán Amat · 2026—2027
Sistemas Operativos
Monopuesto
Contenido web teórico y práctico relativo al módulo de Sistemas Operativos Monopuesto de 1º SMR.
Presentación del móduloUT 1 - RA 1
Fundamentos de los
Sistemas Operativos
Objetivos de la unidad:
- Describir los elementos fundamentales de los sistemas informáticos
- Codificar la información en diferentes sistemas de representación
- Identificar los procesos y sus estados
- Describir la estructura y organización del sistema de archivos
- Diferenciar los atributos y permisos de un archivo y un directorio
- Explicar los sistemas transaccionales de archivos
01. Elementos fundamentales
Entendemos por Sistema Informático cualquier máquina capaz de recibir información, procesarla según un programa y producir una respuesta acorde. Entran dentro de esta definición ordenadores, teléfonos móviles, routers, aparatos inteligentes e incluso sistemas SCADA.
Aunque hay unas pocas excepciones, podemos decir que todos los Sistemas Informáticos tienen las siguientes características:
- Necesitan electricidad para funcionar
- Tienen un microprocesador
- Trabajan representando la información en binario
Con el paso del tiempo el uso que se le ha ido dando a los Sistemas Informáticos ha ido evolucionando y adaptándose a las nuevas necesidades que la misma tecnología iba creando.
Hemos mencionado que los Sistemas Informáticos representan la información en binario, pero ¿qué significa esto? El sistema binario, compuesto de 0 y 1, se utiliza para representar información de todo tipo. Juntando suficientes ceros y unos podemos llegar a contar hasta cualquier número, representar los colores de una imágen o las ondas de sonido de nuestra canción favorita.
Cada 0 o 1 se denomina bit. 8 bits forman un byte, que es la unidad básica de información en los sistemas informáticos. A partir de estos dos conceptos se pueden construir sistemas más complejos.
02. Hardware
Unidad Central de Procesamiento (CPU)
La CPU (por sus siglas en inglés, Central Processing Unit) es el componente de hardware principal que actúa como el "cerebro" de un Sistema Informático. Interpreta y ejecuta las instrucciones de los programas y del sistema operativo. Realiza cálculos matemáticos y operaciones lógicas a gran velocidad. Coordina al resto de componentes del equipo (como la memoria RAM o la tarjeta gráfica) para que todo funcione de forma correcta.
Para comparar CPUs, se utilizan diferentes criterios como la frecuencia de reloj (La cantidad de operaciones que puede realizar por segundo, se mide en GHz), el número de núcleos (la cantidad de procesadores independientes dentro de la CPU), la arquitectura (el diseño y estructura interna de la CPU) y el socket (el conector físico que permite la instalación de la CPU en la placa base).
Memoria
La Memoria RAM es el componente de hardware que almacena temporalmente los datos y las instrucciones que la CPU necesita procesar. La RAM es volátil, lo que significa que los datos se pierden cuando se apaga el equipo. Diferenciamos entre memorias SIMM, DIMM y SO-DIMM según su tamaño y tipo de conexión. La mayoría de los equipos modernos utilizan memorias DIMM o SO-DIMM. Las memorias DIMM se dividen en generaciones que aumentan su capacidad y velocidad. Estas son: DDR, DDR2, DDR3, DDR4 y DDR5.
| Generación | Velocidad | Capacidad | Voltaje |
|---|---|---|---|
| DDR | 100-200 MHz | 128 MB - 1 GB | 2.5 V |
| DDR2 | 400-800 MHz | 1 GB - 4 GB | 1.8 V |
| DDR3 | 1066-2133 MHz | 4 GB - 16 GB | 1.5 V |
| DDR4 | 2133-3200 MHz | 8 GB - 32 GB | 1.2 V |
| DDR5 | 4800-5600 MHz | 16 GB - 64 GB | 1.1 V |
Es importante considerar la velocidad de transferencia de datos al elegir la combinación de memoria RAM y placa base para no hacer cuello de botella.
Periféricos de entrada/salida
Los periféricos de entrada/salida son dispositivos que permiten la interacción entre el usuario y el Sistema Informático. Los periféricos de entrada permiten al usuario enviar información al sistema, mientras que los periféricos de salida permiten al sistema mostrar información al usuario. Algunos ejemplos de periféricos de entrada son el teclado, el ratón, el escáner y la cámara web. Algunos ejemplos de periféricos de salida son el monitor, la impresora y los altavoces.
Con frecuencia, los periféricos de entrada y salida se combinan en un solo dispositivo, como por ejemplo, los auriculares que actúan como periférico de salida y entrada. También existirán algunos periféricos que requieran instalar controladores específicos, como impresoras o escáners, cascos con tecnologías de audio envolvente o periféricos dedicados a sectores específicos como mesas de mezclas para producción musical o capturadoras de vídeo.
Dispositivos de almacenamiento
Los dispositivos de almacenamiento son medios físicos o lógicos donde se guardan los datos de forma permanente. Algunos ejemplos de dispositivos de almacenamiento son el disco duro HDD, el SSD, la memoria USB y el CD/DVD.
Desde un punto de vista técnico, los dispositivos de almacenamiento podrían ser clasificados como periféricos al no ser necesarios para el funcionamiento básico del sistema.
Los dispositivos de almacenamiento pueden dividirse en internos y externos, dependiendo de su ubicación y forma de conexión al sistema. Los dispositivos internos están integrados dentro del sistema, mientras que los externos se conectan a través de puertos o interfaces específicas. Los dispositvos de almacenamiento internos principales son el disco duro HDD, el SSD y el NVMe M.2
| Dispositvo | Velocidades de transferencia | Tamaño | Pros | Contras |
|---|---|---|---|---|
| HDD | 80 a 140 MB/s | 3.5 pulgadas para sobremesa y 2.5 pulgadas para portátiles | Alto almacenamiento, bajo costo por Gb de almacenamiento | Bajo rendimiento, alto consumo. Se degradan con las horas de uso. Sensible a golpes. |
| SSD | 400 a 550 MB/s | 2.5 pulgadas | Alta velocidad, bajo consumo. Costo por Gb ligeramente superior al HDD | Relativamente sensible a golpes. Se degrada por ciclos de escritura. |
| NVMe M.2 Gen3 | 3000 a 3500 MB/s | 22mm de ancho y 30 a 110 mm de largo | Velocidad altísima, bajo consumo. Dificil que sufra golpes. | Costo por Gb significativamente superior a los demás tipos. Se degrada por ciclos de escritura. |
| NVMe M.2 Gen4/5 | 5000 a 7800 MB/s | 22mm de ancho y 30 a 110 mm de largo | Extrema velocidad, bajo consumo. Dificil que sufra golpes. | Costo por Gb significativamente superior a los demás tipos. Se degrada por ciclos de escritura. |
Placa Base
La Placa Base es el componente de hardware principal que conecta todos los demás componentes de un Sistema Informático. Proporciona las conexiones eléctricas y de datos necesarias para que los componentes puedan comunicarse entre sí. La placa base contiene el chipset, que es el conjunto de circuitos integrados que gestionan la comunicación entre la CPU, la memoria y los periféricos. También incluye ranuras de expansión, puertos de entrada/salida y conectores de alimentación.
La placa base puede clasificarse según su tamaño y factor de forma. Los factores de forma más comunes son ATX, Micro-ATX y Mini-ITX. Cada factor de forma tiene diferentes dimensiones y características, lo que afecta la compatibilidad con otros componentes y la capacidad de expansión del sistema.
| Factor de forma | Dimensiones | Pros | Contras |
|---|---|---|---|
| ATX | 305 x 244 mm | Mayor capacidad de expansión, más ranuras de memoria y puertos de entrada/salida | Mayor tamaño, menos compatibilidad con cajas pequeñas |
| Micro-ATX | 244 x 244 mm | Compatibilidad con cajas más pequeñas, buena capacidad de expansión | Menor cantidad de ranuras de memoria y puertos de entrada/salida que ATX |
| Mini-ITX | 170 x 170 mm | Tamaño compacto, ideal para sistemas pequeños y portátiles | Limitada capacidad de expansión, menos ranuras de memoria y puertos de entrada/salida |
Para sistemas que requieren una configuración más compacta (como sistemas home cinema, servidores caseros o máquinas arcade), la placa base Mini-ITX es la opción ideal.
A la hora de elegir una placa base, es importante considerar el tamaño del sistema, la capacidad de expansión necesaria y la compatibilidad con los componentes que se van a utilizar.
Tarjeta Gráfica
La Tarjeta Gráfica es el componente de hardware que se encarga de procesar y generar las imágenes que se muestran en el monitor. Puede ser integrada en la CPU o en la placa base, o bien ser una tarjeta dedicada que se conecta a través de un puerto de expansión. La tarjeta gráfica contiene su propio procesador (GPU) y memoria dedicada (VRAM) para manejar los gráficos de manera eficiente. El procesador gráfico (GPU) es responsable de renderizar imágenes, videos y gráficos 3D de manera rápida y eficiente. Está especializada en la manipulación de gráficos y la generación de imágenes en tiempo real.
La VRAM (Video Random Access Memory) es la memoria dedicada a almacenar datos gráficos, imágenes y vídeos. Su capacidad afecta directamente el rendimiento gráfico del sistema.
Las tarjetas gráficas son, en general, muy complicadas de comparar entre sí debido a las diferencias en sus especificaciones, arquitecturas, funciones específicas y el rendimiento que ofrecen en diferentes tareas. La mejor opción para compararlas es consultar análisis de benchmarking y comparativas para la tarea específica.
Fuente de Alimentación (PSU)
La Fuente de Alimentación es el componente de hardware que convierte la corriente alterna (AC) de la red eléctrica en corriente continua (DC) que los componentes del Sistema Informático pueden utilizar. Proporciona la energía necesaria para que todos los componentes funcionen correctamente. La fuente de alimentación tiene diferentes potencias, que se miden en vatios (W). La potencia necesaria depende de los componentes del sistema y su consumo energético. Es importante elegir una fuente de alimentación con suficiente potencia para evitar problemas de estabilidad y rendimiento.
La eficiencia de la fuente de alimentación se refiere a la cantidad de energía que se convierte en energía útil para los componentes del sistema en comparación con la energía que se pierde en forma de calor. Las fuentes de alimentación con certificación 80 PLUS son más eficientes y consumen menos energía, lo que se traduce en un menor consumo eléctrico y una mayor durabilidad de los componentes. Las diferentes calidades de 80 PLUS indican el nivel de eficiencia energética de la fuente de alimentación.
- 80 PLUS White: ~80% de eficiencia
- 80 PLUS Bronze: ~82% de eficiencia
- 80 PLUS Silver: ~85% de eficiencia
- 80 PLUS Gold: ~87% de eficiencia
- 80 PLUS Platinum: ~90% de eficiencia
- 80 PLUS Titanium: ~92% de eficiencia
Se recomienda elegir una fuente de alimentación con certificación 80 PLUS para obtener una mejor garantía de eficiencia energética. El consumo total del equipo deberá estar siempre razonablemente por debajo de la potencia máxima efectiva de la fuente de la PSU. La potencia máxima efectiva se calcula multiplicando la potencia nominal por el factor de eficiencia. Por ejemplo, una fuente de alimentación con certificación 80 PLUS Gold y una potencia nominal de 600W tendrá una potencia máxima efectiva de aproximadamente 516W.
Buses
Son buses todos aquellos elementos del sistema que permiten la comunicación entre los componentes hardware. Cables, circuitos y conectores que facilitan la transferencia de datos y señales entre los distintos componentes del sistema entran dentro de esta categoría.
03. Software
Cuando hablamos de software, hablamos de la parte lógica de un equipo informático, es decir, de todo aquello que no es físico y no se puede tocar.
Las primeras palabras que se nos vienen a la mente cuand hablamos de software son "programas" o "aplicaciones".
Un programa es un conjunto de instrucciones finito que pueden o no recibir datos y producen un resultado esperado.
Para definir qué es una aplicación, tenemos que entender los diferentes niveles de complejidad de los programas informáticos. De menos a más complejos son:
- Instrucciones de procesador: Son un conjunto pequeño de instrucciones que el procesador puede ejecutar directamente. Por ejemplo: "sumar dos valores", "guardar un valor en memoria", "leer un valor de memoria" o "comparar dos valores".
- Núcleo o kernel: Es la parte central del sistema operativo que gestiona los recursos del sistema y proporciona una interfaz para interactuar con el hardware. Ofrece las bases para el funcionamiento del sistema y las directivas de seguridad.
- Sistema Operativo: Es el software que gestiona los recursos del sistema y proporciona una interfaz para que el usuario interactúe con el software. Es el entorno en el que se ejecutan las aplicaciones. Ofrece funciones adicionales de seguridad.
- Aplicaciones: Son programas diseñados para realizar tareas específicas para el usuario. Pueden ser de productividad, entretenimiento, comunicación, etc. Ofrecen funciones adicionales de seguridad.
El software, al fin y al cabo, es un tipo de propiedad intelectual que está protegido por derechos de autor y licencias. Dependiendo del software las licencias pueden ser unas u otras. Vamos a pasar a estudiar las licencias de software más comunes:
- Software propietario: Es software que está protegido por derechos de autor y no puede ser copiado, distribuido o modificado sin permiso del titular de los derechos. Diferenciamos:
- Software de uso privativo: Es software que solo puede ser utilizado por el titular de los derechos.
- Software de uso comercial: Es software que puede ser vendido o utilizado con fines comerciales.
- Shareware: Es software que se puede probar gratuitamente durante un período limitado, después del cual se requiere una licencia para continuar utilizando.
- Freeware: Es software que puede ser usado sin costo alguno, pero no necesariamente permite el acceso al código fuente ni la modificación del mismo.
- Software libre: Es software que puede ser usado, estudiado, modificado y/o distribuido libremente bajo ciertas condiciones. Dentro de este tipo de software se encuentran:
- Software de código abierto: Es software cuyo código fuente está disponible para que cualquiera pueda estudiarlo, modificarlo y distribuirlo. Se distribuye bajo licencias que permiten su uso, modificación y distribución.
- Software gratuito: Es software que puede ser usado sin costo alguno, pero no necesariamente permite el acceso al código fuente ni la modificación del mismo.
- Software de dominio público: Es software que no está protegido por derechos de autor y puede ser usado, modificado y distribuido libremente por cualquier persona.
04. Representación de la información
Como hemos dicho. Los ordenadores trabajan con información representada en forma binaria, es decir, utilizando solo dos valores: 0 y 1. Cada 0 o 1 se denomina bit. Cada 8 bits forman un byte u octeto, la unidad básica de almacenamiento en los sistemas informáticos.
Como los ordenadores solo pueden trabajar con 0 y 1, toda la información que procesan debe ser convertida a este formato para que un ordenador la procese correctamente.
Conversión de números decimales a binarios:
Aquí tenéis un pequeño vídeo que explica cómo convertir información de decimal a binario:
Esta explicación es una simplificación del método usual de "Divisiones sucesivas por la base" para convertir números decimales a binarios. Puedes usarlo en tu día a día y en el examen, pero si quieres un método más "profesional", puedes ver este Short
Short: Cómo convertir números decimales a binariosConversión de números binarios a decimales:
De la misma forma que convertimos información a binario para que pueda ser procesada por un ordenador, también podemos convertir números binarios a decimales usando el siguiente método:
También tienes un Short explicándolo en la pizarra:
Short: Cómo convertir números binarios a decimalesConversión de números decimales a hexadecimales:
Como te habrás dado cuenta, los números binarios acaban ocupando muchísimo más espacio que los números decimales. Son más largos y pesados de escribir. Por eso utilizamos sistemas de numeración más eficientes como el hexadecimal. El hexadecimal es un sistema de numeración que utiliza 16 símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
Como cada dígito en el sistema hexadecimal representa un valor entre 0 y 15, podemos usarlo para representar números de manera más compacta que en binario. Concretamente cada dígito en hexadecimales corresponde a 4 bits en binario, o lo que es lo mismo 2 cifras hexadecimales corresponden a 1 byte.
Para aprender a convertir números decimales a hexadecimales, puedes ver este vídeo explicativo:
Como puedes ver, el método es muy parecido al de convertir decimales a binarios, pero en lugar de dividir por 2, dividimos por 16.
Conversión de números hexadecimales a decimales:
Para convertir números hexadecimales a decimales, debes multiplicar cada dígito por la potencia correspondiente de 16 y sumar los resultados, como en binario, pero cambiando el 2 por un 16. Aquí tenéis un pequeño vídeo que explica cómo hacerlo:
Conversión de números binarios a hexadecimales y viceversa:
Para convertir números binarios a hexadecimales, existen dos métodos convencionales. El primero consiste en pasar el número de la base de origen a decimal y luego convertir a la base de destino. Es un método lento, pero efectivo. Si queréis un truco para hacerlo más rápido, puedes usar la tabla de conversión entre binario y hexadecimal:
Representación de texto:
Ahora que hemos aprendido a representar números en diferentes bases, podemos pasar a ver cómo se representa el texto en una computadora. Para ello usaremos el código ASCII, pero ten en cuenta que los ordenadores modernos utilizan otros códigos como Unicode, que es una versión ampliada y más compleja de ASCII.
Tabla de ASCII
| Carácter | Posición dentro de la tabla ASCII | Representación en binario | Representación en hexadecimal |
|---|---|---|---|
| Espacio | 32 | 00100000 | 20 |
| 0 | 48 | 00110000 | 30 |
| 1 | 49 | 00110001 | 31 |
| 2 | 50 | 00110010 | 32 |
| 3 | 51 | 00110011 | 33 |
| 4 | 52 | 00110100 | 34 |
| 5 | 53 | 00110101 | 35 |
| 6 | 54 | 00110110 | 36 |
| 7 | 55 | 00110111 | 37 |
| 8 | 56 | 00111000 | 38 |
| 9 | 57 | 00111001 | 39 |
| A | 65 | 01000001 | 41 |
| B | 66 | 01000010 | 42 |
| C | 67 | 01000011 | 43 |
| D | 68 | 01000100 | 44 |
| E | 69 | 01000101 | 45 |
| F | 70 | 01000110 | 46 |
| G | 71 | 01000111 | 47 |
| H | 72 | 01001000 | 48 |
| I | 73 | 01000101 | 45 |
| J | 74 | 01001010 | 4A |
| K | 75 | 01001011 | 4B |
| L | 76 | 01001100 | 4C |
| M | 77 | 01001101 | 4D |
| N | 78 | 01001110 | 4E |
| O | 79 | 01001111 | 4F |
| P | 80 | 01010000 | 50 |
| Q | 81 | 01010001 | 51 |
| R | 82 | 01010010 | 52 |
| S | 83 | 01010011 | 53 |
| T | 84 | 01010100 | 54 |
| U | 85 | 01010101 | 55 |
| V | 86 | 01010110 | 56 |
| W | 87 | 01010111 | 57 |
| X | 88 | 01011000 | 58 |
| Y | 89 | 01011001 | 59 |
| Z | 90 | 01011010 | 5A |
| a | 97 | 01100001 | 61 |
| b | 98 | 01100010 | 62 |
| c | 99 | 01100011 | 63 |
| d | 100 | 01100100 | 64 |
| e | 101 | 01100101 | 65 |
| f | 102 | 01100110 | 66 |
| g | 103 | 01100111 | 67 |
| h | 104 | 01101000 | 68 |
| i | 105 | 01101001 | 69 |
| j | 106 | 01101010 | 6A |
| k | 107 | 01101011 | 6B |
| l | 108 | 01101100 | 6C |
| m | 109 | 01101101 | 6D |
| n | 110 | 01101110 | 6E |
| o | 111 | 01101111 | 6F |
| p | 112 | 01110000 | 70 |
| q | 113 | 01110001 | 71 |
| r | 114 | 01110010 | 72 |
| s | 115 | 01110011 | 73 |
| t | 116 | 01110100 | 74 |
| u | 117 | 01110101 | 75 |
| v | 118 | 01110110 | 76 |
| w | 119 | 01110111 | 77 |
| x | 120 | 01111000 | 78 |
| y | 121 | 01111001 | 79 |
| z | 122 | 01111010 | 7A |
Esta tabla puede llegar a intimidar mucho al tener tantos valores diferentes y tantas representaciones, pero en realidad, solo tenemos que aprender los siguientes cuatro valores para reconstruir la tabla:
Tabla de ASCII Resumida
| Carácter | Representación en hexadecimal |
|---|---|
| Espacio | 20 |
| 0 | 30 |
| A | 41 |
| a | 61 |
A partir de estos cuatro valores, podemos reconstruir la tabla completa de ASCII y cálcular el resto de números haciendo sumas sencillas.
Nota: Hablamos de texto natural cuando está escrito en lenguaje humano y de representacón ASCII cuando se expresa en su forma hexadecimal.Ejemplo:
Si yo quisiera convertir el texto natural "Tengo 16 años" a su representación en ASCII hexadecimal, haría lo siguiente:
- Busco en la tabla el valor hexadecimal correspondiente a cada carácter. T->54, e->65, n->6E, g->67, o->6F, ->20, 1->31, 6->36, ->20, a->61, ñ->F1, o->6F, s->73
- Ordeno los valores hexadecimal para obtener la representación final. 54 65 6E 67 6F 20 31 36 20 61 F1 6F 73
El proceso es el mismo, pero al revés para convertir ASCII hexadecimal a texto natural que una persona pueda leer.
05. Procesos y estados
Un proceso es un programa en ejecución. No es solo el conjunto de instrucciones del programa: también incluye su estado actual, los datos con los que trabaja y los recursos que el sistema operativo le ha asignado. El sistema operativo registra esta información en una estructura de control del proceso, que le permite pausarlo y reanudarlo.
Interacción con el procesador y la memoria
Para ejecutarse, un proceso necesita tiempo de procesador y espacio de memoria. El procesador ejecuta sus instrucciones; si hay varios procesos preparados, el sistema operativo decide cuál puede utilizarlo. Aunque un programa parezca ejecutarse continuamente, el procesador puede repartir su tiempo entre muchos procesos, alternándolos rápidamente.
El sistema operativo asigna a cada proceso un espacio de memoria para sus instrucciones y datos, y mantiene separados los espacios de los distintos procesos para evitar interferencias. Si un proceso necesita esperar a una operación de entrada/salida, como leer un archivo, puede quedar bloqueado; mientras tanto, el procesador puede atender a otro proceso. Al terminar la espera, vuelve a estar preparado para ejecutarse.
De forma simplificada, un proceso puede pasar por estos estados:
- Nuevo: se está creando.
- Preparado: puede ejecutarse y espera su turno para obtener el procesador.
- En ejecución: sus instrucciones se están ejecutando en el procesador.
- Bloqueado o en espera: espera un evento, normalmente la finalización de una operación de entrada/salida o que otro proceso termine su ejecución.
- Terminado: ha finalizado y el sistema operativo puede liberar sus recursos.
Planificación del procesador
El planificador del sistema operativo elige qué proceso preparado se ejecutará a continuación. Los métodos de planificación buscan repartir el procesador y reducir los tiempos de espera; cada método se comporta de forma distinta:
- FIFO (First In, First Out), o FCFS: atiende los procesos preparados en el orden en que llegaron. Es sencillo y respeta el orden de llegada, pero un proceso largo al principio puede hacer esperar mucho a los que vienen detrás.
- SJF (Shortest Job First): selecciona primero el proceso que necesita menos tiempo de procesador. Puede reducir el tiempo medio de espera, pero hay que estimar cuánto durará cada proceso y los procesos largos podrían esperar indefinidamente si siguen llegando procesos cortos. Puede aplicarse de forma no expropiativa o expropiativa.
- SJF-A (Shortest Job First, con Apropiación): funciona de forma muy similar al anterior, pero con la particularidad de que podemos interrumpir una tarea y dejarla a mitad si aparece una nueva tarea más corta.
- Round Robin: asigna a cada proceso preparado un intervalo breve de tiempo, llamado quantum o cuanto. Si no termina al agotarse ese intervalo, vuelve al final de la cola y se atiende al siguiente. Reparte el procesador de forma equitativa, aunque un quantum demasiado pequeño aumenta el coste de los cambios de contexto.
- Round Robin con prioridad: funciona de forma muy similar al anterior, pero con la particularidad de que ahora los procesos tienen diferentes niveles de prioridad y su orden en la cola dependerá de su prioridad. En clase numeraremos a las prioridades con números enteros y el número más bajo será el más prioritario.
Diagrama de Gantt: ejemplo FIFO
En este ejemplo, los cuatro procesos llegan al mismo tiempo y se atienden en orden FIFO (A, B, X y D). La duración de los procesos son A = 3, B = 4, C = 5 y D = 3 unidades de tiempo.
| Tiempo | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| A | ↓ | X | X | X | ↑ | ||||||||||||
| B | ↓ | X | X | X | X | ↑ | |||||||||||
| C | ↓ | X | X | X | X | X | ↑ | ||||||||||
| D | ↓ | X | X | X | ↑ |
Diagrama de Gantt: ejemplo SJF
Usaremos los siguientes procesos para este ejemplo.
| Proceso | Llegada | Duración |
|---|---|---|
| A | 0 | 6 |
| B | 0 | 4 |
| C | 2 | 2 |
| D | 4 | 3 |
| Tiempo | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| A | ↓ | X | X | X | X | X | X | ↑ | |||||||||
| B | ↓ | X | X | X | X | ↑ | |||||||||||
| C | ↓ | X | X | ↑ | |||||||||||||
| D | ↓ | X | X | X | ↑ |
Diagrama de Gantt: ejemplo SJF-A
Usaremos los mismos procesos que en el ejemplo anterior para este ejemplo:
| Proceso | Llegada | Duración |
|---|---|---|
| A | 0 | 6 |
| B | 0 | 4 |
| C | 1 | 2 |
| D | 4 | 3 |
| Tiempo | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| A | ↓ | X | X | X | X | X | X | ↑ | |||||||||
| B | ↓ | X | X | X | X | ↑ | |||||||||||
| C | ↓ | X | X | ↑ | |||||||||||||
| D | ↓ | X | X | X | ↑ |
Como ves, el proceso B se ha interrumpido en mitad de su ejecución para dejar paso al proceso C.
Diagrama de Gantt: ejemplo Round Robin
Recuerda que en Round Robin daremos prioridad siempre a los procesos que más tiempo lleven esperando. Usaremos los mismos procesos que en el ejemplo anterior para este ejemplo:
| Proceso | Llegada | Duración |
|---|---|---|
| A | 0 | 6 |
| B | 0 | 4 |
| C | 2 | 2 |
| D | 4 | 3 |
| Tiempo | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| A | ↓ | X | X | X | X | X | X | ↑ | |||||||||
| B | ↓ | X | X | X | X | ↑ | |||||||||||
| C | ↓ | X | X | ↑ | |||||||||||||
| D | ↓ | X | X | X | ↑ |
Diagrama de Gantt: ejemplo Round Robin con prioridad
Recuerda que en Round Robin con prioridad los procesos van avanzando en una fila imaginaria. Cuanto más baja la prioridad, antes les tocará. Los procesos de ejemplo son:
| Proceso | Llegada | Duración | Prioridad |
|---|---|---|---|
| A | 0 | 6 | 3 |
| B | 0 | 4 | 5 |
| C | 2 | 2 | 1 |
| D | 4 | 3 | 6 |
| Tiempo | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| A | ↓ | X(3) | X(3) | 2 | 2 | X(3) | X(3) | 2 | 2 | X(3) | X(3) | ↑ | |||||
| B | ↓ | 4 | 4 | 3 | 3 | 2 | 2 | X(5) | X(5) | 4 | 4 | 3 | 3 | X(5) | X(5) | ↑ | |
| C | ↓ | X(1) | X(1) | ↑ | |||||||||||||
| D | ↓ | 5 | 5 | 4 | 4 | 3 | 3 | X(6) | X(6) | X(6) | ↑ |
Tarea: ejercicios de planificación de procesos
Para cada ejercicio, dibuja un diagrama de Gantt y resuelve la planificación con FIFO, SJF, SJF-A y Round Robin. En todos los ejercicios, utiliza Round Robin con un quantum de 2 unidades de tiempo.
-
Ejercicio 1: completa los diagramas para estos procesos.
Proceso Llegada Duración A 0 5 B 1 3 C 2 1 D 4 2 -
Ejercicio 2: completa los diagramas para estos procesos.
Proceso Llegada Duración A 0 2 B 0 5 C 3 2 D 5 1 -
Ejercicio 3: completa los diagramas para estos procesos.
Proceso Llegada Duración A 1 4 B 2 2 C 4 5 D 6 1 -
Ejercicio 4: completa los diagramas para estos procesos.
Proceso Llegada Duración A 0 7 B 2 3 C 3 2 D 5 4
Para cada ejercicio, entrega cuatro diagramas de Gantt: uno para FIFO, uno para SJF, uno para SJF-A y otro para Round Robin (q = 2). Indica los instantes de inicio y finalización de cada tramo y representa los periodos en los que la CPU quede inactiva.
Enviar actividades por correoUT 2 - RA 5
MáquinasVirtuales
Objetivos de la unidad:
- Diferenciar entre máquinas virtuales y físicas
- Establecer ventajas e inconvenientes de las máquinas virtuales
- Identificar diferentes tipos de máquinas virtuales
- Instalar hipervisores libres y propietarios
- Crear máquinas virtuales con sistemas operativos libres y propietarios
- Configurar máquinas virtuales
- Comunicar máquinas virtuales y anfitrionas
- Analalizar el rendimiento del sistema
UT 3 - RA 2
Instalación de
Sistemas Operativos
Objetivos de la unidad:
- Analizar las funciones de los sistemas operativos
- Describir la arquitectura de los sistemas operativos
- Verificar la idoneidad del hardware
- Seleccionar sistemas operativos y elaborar un plan de instalación adecuado
- Configurar parámetros básicos de instalación
- Configurar un gestor de arranque
- Actualizar el sistema operativo
UT 4 - RA 3
Configuración de
Sistemas Operativos
Objetivos de la unidad:
- Diferenciar interfaces de usuario y propiedades
- Configurar el entorno de usuario
- Gestionar sistemas de archivos
- Configurar actualizaciones del sistema
- Instalar y desinstalar software
- Automatizar tareas del sistema
UT 5 - RA 4
Administración de
Sistemas Operativos
Objetivos de la unidad:
- Configurar usuarios y grupos
- Describir la organización de archivos del sistema
- Actuar sobre servicios y procesos del sistema
- Optimizar el rendimiento del sistema
- Analizar el rendimiento del sistema
- Configurar rescursos compartidos