Tema 1: Software de un Sistema Informático
•
Este tema introduce los conceptos básicos del software, incluyendo el software de
sistema, que es fundamental para el funcionamiento del hardware, y el software de
aplicación, que permite a los usuarios realizar tareas específicas.
•
El sistema operativo es el elemento principal del software de sistema, junto con
controladores de dispositivo y herramientas de diagnóstico. Algunos sistemas
operativos comunes son Microsoft Windows, GNU/Linux y Apple Mac OS X.
•
También se mencionan los lenguajes de programación, como Visual Basic, Java, C (C+
+), PHP, Perl y Ruby.
•
Se explica la clasificación del software según su licencia, destacando que una
licencia es un contrato entre el proveedor y el usuario. Las licencias regulan
aspectos como la vinculación a hardware, el número de copias, los derechos del
usuario, el tiempo de uso, la responsabilidad del proveedor y la posibilidad de
cesión. Se mencionan licencias Retail (FPP), OEM y licencias por volumen.
•
Se mencionan sistemas operativos para dispositivos embebidos, como Android, iOS y
Windows. También se destaca el enfoque en versiones de escritorio de Microsoft
Windows (código cerrado) y Ubuntu (código abierto).
•
Ubuntu se actualiza cada seis meses y ofrece versiones LTS (Long Term Support) con
soporte de cinco años.
Tema 3: El Sistema Operativo. Funciones, Estructura y Gestión de Procesos
•
Este tema profundiza en el software de base de un sistema informático, centrándose
en la evolución, clasificación, elementos y estructura de los sistemas operativos,
así como en la gestión de procesos.
•
Se describe la evolución de los sistemas operativos desde la primera generación sin
sistemas operativos, pasando por el procesamiento por lotes en la segunda
generación, hasta los sistemas de multiprogramación y tiempo compartido en la
tercera generación.
•
Los sistemas operativos se clasifican según el tiempo de respuesta (por lotes o
tiempo real), el número de tareas (monotarea o multitarea), el número de usuarios
(monousuario o multiusuario) y el número de procesadores (monoprocesador o
multiprocesador).
•
Se explican las diferentes estructuras de un sistema operativo: monolítica,
micronúcleo, núcleo híbrido, por capas y por módulos. Los sistemas operativos
modernos suelen utilizar la estructura por módulos.
•
Se detallan los elementos de un sistema operativo: gestor de procesos, gestor de
memoria virtual, gestor de almacenamiento secundario, gestor de entrada y salida,
sistema de archivos, sistemas de protección, sistema de comunicaciones, programas
de sistema y gestor de recursos.
•
Se exploran las funciones de un sistema operativo, incluyendo la gestión de
procesos, memoria, E/S y archivos.
•
La gestión de procesos es una función clave, encargada de la creación,
planificación y destrucción de procesos. Los procesos pueden estar en diferentes
estados: nuevo, preparado, en ejecución, bloqueado y terminado.
•
El cambio de contexto es el mecanismo para detener la ejecución de un proceso y
ejecutar otro.
•
La planificación de procesos es fundamental para la eficiencia, y se utilizan
algoritmos como FCFS, SJF, RR, planificación por prioridad, FSS y MQS. Se utilizan
diagramas de Gantt para visualizar el funcionamiento de los algoritmos.
•
También se aborda la comunicación entre procesos (IPC), que permite la colaboración
entre procesos y el intercambio de mensajes o zonas de memoria compartida.
Tema 4: Gestión de Memoria, E/S y Archivos
•
Este tema aborda la gestión de memoria principal, técnicas como particiones fijas y
variables, paginación, segmentación y memoria virtual.
•
La gestión de memoria se describe como la asignación de memoria principal a cada
proceso. Se explica la evolución de la gestión de memoria, desde sistemas con un
solo proceso hasta la gestión de memoria con particiones fijas y variables.
•
Se introduce el concepto de intercambio (swapping) para mover procesos entre la
memoria principal y secundaria, así como el concepto de reubicación.
•
Se mencionan los problemas de fragmentación interna y externa en la gestión de
memoria.
•
La paginación divide la memoria en marcos de página y los procesos en páginas,
resolviendo la fragmentación externa.
•
La segmentación divide los programas en segmentos lógicos de diferentes tamaños,
mejorando la protección y permitiendo compartir código.
•
La memoria virtual permite que las partes no utilizadas de un proceso residan en
memoria secundaria, mejorando el aprovechamiento de la memoria principal.
•
Se explica la memoria virtual en Windows 10, incluyendo la configuración del
archivo de paginación ([Link]). En Ubuntu, se utiliza una partición Swap o un
archivo swapfile.
•
Se dan consejos para administrar la memoria, como evitar ejecutar programas
innecesarios y desactivar complementos que consumen recursos.
•
Se describe la gestión de entrada/salida, incluyendo diferentes técnicas para
interactuar con los controladores (E/S programada, controlada por interrupciones,
DMA e IOP).
•
Se explica el concepto de almacenamiento intermedio (buffering) y spooling para
mejorar la eficiencia de las operaciones de E/S.
•
La gestión de archivos se encarga de organizar el almacenamiento de datos en
dispositivos secundarios. Se utilizan conceptos como partición, volumen y archivo.
•
Se explica el uso de metadatos, incluyendo atributos y permisos de archivos.
•
Se describe la organización jerárquica de los sistemas de archivos, con nombres y
rutas, y el uso de caracteres comodín (wildcards).
•
Se detallan los sistemas de archivos de las familias Microsoft (FAT, NTFS), Apple
(MFS, HFS, HFS+) y GNU/Linux (ext2, ext3, ext4).
•
Se explica el concepto de transacciones y los sistemas de archivos transaccionales,
como NTFS y EXT4, que utilizan journaling para mejorar la recuperación tras fallos.
•
Se menciona que los sistemas operativos modernos realizan la mayor parte de la
gestión del sistema de archivos de forma automática.
Tema 1 (complementario): Representación de la información
•
Este tema abarca los sistemas de numeración, como el binario, decimal, octal y
hexadecimal.
•
Se explica la conversión entre estos sistemas, incluyendo el uso del Teorema
Fundamental de la Numeración.
•
Se describe la representación de números enteros con signo, incluyendo módulo-
signo, complemento a uno y complemento a dos.
•
Se explica la representación de caracteres utilizando códigos como ASCII.
•
Se mencionan otros tipos de representaciones, como audio, video e imágenes.
•
Se introducen las unidades de medida de información (bit, byte, nibble, palabra,
doble palabra) y sus múltiplos (kilobyte, megabyte, gigabyte, etc.).
•
Se discute la medición de la velocidad de transmisión de información en bits por
segundo (bps).
En resumen, los temas 3 y 4 se centran en las funciones internas del sistema
operativo, la gestión de procesos, la memoria, las operaciones de entrada/salida,
el sistema de archivos y su administración. El tema 1 es más introductorio,
presentando conceptos generales del software y licencias. El tema adicional sobre
representación de información es más de bajo nivel, explicando cómo los datos son
codificados y almacenados.