Apuntes de Sistemas Operativos y Shell
Scripting
Jose Sanmartin
Índice
1. 06/11/2024: Evolución de los Sistemas Operativos 2
1.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. Zonas de Aprendizaje . . . . . . . . . . . . . . . . . . . . . . . 2
1.3. Evolución de los Sistemas Operativos . . . . . . . . . . . . . . 3
1.4. Software Libre . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5. Prácticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. 11/11/2025: Clasificación de los Sistemas Operativos 5
2.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2. Clasificaciones de los Sistemas Operativos . . . . . . . . . . . 5
2.3. Práctica de Laboratorio N3 . . . . . . . . . . . . . . . . . . . 5
2.4. Ejercicio: Crear una Estructura de Directorios . . . . . . . . . 6
3. 20/11/2024: Programación en Shell 6
3.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2. Operadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.3. Estructuras de Control . . . . . . . . . . . . . . . . . . . . . . 6
3.4. Ejemplo de Script: Operaciones Básicas . . . . . . . . . . . . . 7
3.5. Etapas del Proceso de Arranque en GNU/Linux . . . . . . . . 7
3.5.1. 1. BIOS (Sistema Básico de Entrada/Salida): . . . . . 7
3.5.2. 2. POST (Prueba de Encendido): . . . . . . . . . . . . 8
3.5.3. 3. MBR (Registro de Arranque Principal): . . . . . . . 8
3.5.4. 4. GRUB (Gestor de Arranque Unificado): . . . . . . . 8
3.5.5. 5. Kernel (Núcleo del Sistema Operativo): . . . . . . . 8
3.5.6. 6. Init (Proceso de Inicialización) y Runlevel: . . . . . 8
1
1. 06/11/2024: Evolución de los Sistemas Ope-
rativos
1.1. Objetivos
Comprender la evolución del hardware y software en los sistemas ope-
rativos.
Diferenciar entre software propietario y software libre.
Figura 1: Evolucion de los sistemas operativos
Practicar la gestión de archivos y carpetas.
1.2. Zonas de Aprendizaje
Zona de Confort: Donde nos sentimos seguros, sin enfrentar nuevos
desafı́os.
Zona de Aprendizaje: Espacio donde adquirimos nuevas habilidades.
Zona de Pánico: Situaciones que superan nuestras capacidades ac-
tuales.
Zona de Descubrimiento: Exploración de nuevas posibilidades.
Zona Mágica y de Crecimiento: Donde alcanzamos nuestras metas.
2
1.3. Evolución de los Sistemas Operativos
Unix:
• Año: 1970.
• Creadores: Denis Ritchie y Ken Thompson.
• Organización: Laboratorios Bell de AT&T.
macOS:
• Año: 1983.
• Empresa: Apple Inc.
Windows:
• Año: 1985.
• Empresa: Microsoft.
• Fundador: Bill Gates.
Linux:
• Año: 1991.
• Creador: Linus Torvalds.
• Distribuciones: Debian, Red Hat, Ubuntu (2004, Canonical).
Android:
• Año: 2003.
• Empresa: Google.
• Fundador: Andy Rubin.
iOS:
• Año: 2007.
• Empresa: Apple Inc.
• Fundador: Steve Jobs.
3
1.4. Software Libre
Definición: Free as in Freedom.
Libertades:
1. Estudiar.
2. Modificar.
3. Distribuir.
4. Copiar.
1.5. Prácticas
Gestión de Archivos y Directorios:
• Sistema de Archivos:
◦ FAT, EXT2, NTFS, EXT4.
• Árbol de Directorios en Linux:
/root
/home
/bin
/sbin
/etc (Configuración del sistema)
/var (Servicios como HTTP)
/media (Dispositivos montados)
/mnt (Volúmenes lógicos)
Comandos:
• Crear Archivos: touch [Link].
• Leer Archivos: cat, less, more.
• Copiar Archivos: cp.
• Renombrar/Movilizar Archivos: mv.
• Eliminar Archivos: rm.
4
2. 11/11/2025: Clasificación de los Sistemas
Operativos
2.1. Objetivos
Clasificar los sistemas operativos según sus caracterı́sticas.
Introducir la virtualización y máquinas virtuales.
2.2. Clasificaciones de los Sistemas Operativos
Multitarea vs Monotarea.
Multiusuario vs Monousuario.
Multiprocesador vs Monoprocesador.
Según Arquitectura:
• Monolı́tica: El sistema operativo y el hardware funcionan como
una sola unidad.
• Microkernel: El sistema operativo está dividido en módulos inde-
pendientes.
Otros Tipos:
• Multiprogramación.
• Batch.
• Para PC.
• Para dispositivos móviles.
2.3. Práctica de Laboratorio N3
Instalación de Ubuntu Desktop 24.03.
Fórmula del éxito: F = M + V + CA, donde:
• M : Manual.
• V : Versión del software.
• CA: Configuración adecuada del hardware.
5
2.4. Ejercicio: Crear una Estructura de Directorios
/home/andres/astrofisica/
Estrella de neutrinos/
Clasificacion/
Pulsar/
Clasificacion/
Formacion/
3. 20/11/2024: Programación en Shell
3.1. Objetivos
Comprender operadores y estructuras de control en Bash.
Declarar y manipular variables.
3.2. Operadores
Comparación:
• -lt: Menor que.
• -le: Menor o igual.
• -gt: Mayor que.
• -ge: Mayor o igual.
• -eq: Igual.
• -ne: No igual.
Aritméticos:
• +: Suma.
• -: Resta.
• *: Multiplicación.
• /: División entera.
• %: Módulo.
3.3. Estructuras de Control
if, elif, else.
while.
6
3.4. Ejemplo de Script: Operaciones Básicas
#!/bin/bash
# Script para operaciones básicas
echo "Ingrese dos números:"
read num1
read num2
suma=$((num1 + num2))
resta=$((num1 - num2))
echo "Suma: $suma, Resta: $resta"
3.5. Etapas del Proceso de Arranque en GNU/Linux
El proceso de arranque en GNU/Linux consta de seis etapas principales.
Cada una desempeña un papel fundamental para que el sistema operativo
esté completamente funcional:
Figura 2: Diagrama de arranque
3.5.1. 1. BIOS (Sistema Básico de Entrada/Salida):
Firmware encargado de inicializar el hardware del sistema.
Realiza un diagnóstico inicial de los componentes.
Configura dispositivos esenciales como teclado, pantalla y almacena-
miento.
7
Transfiere el control al siguiente paso del arranque: el cargador de arran-
que.
3.5.2. 2. POST (Prueba de Encendido):
Verifica que los componentes de hardware funcionen correctamente.
En caso de errores crı́ticos, detiene el proceso de arranque y muestra
mensajes de error.
3.5.3. 3. MBR (Registro de Arranque Principal):
Primer sector del disco duro (512 bytes) que contiene el cargador de
arranque.
Incluye información sobre la tabla de particiones y las instrucciones
para localizar el kernel.
3.5.4. 4. GRUB (Gestor de Arranque Unificado):
Permite seleccionar entre diferentes sistemas operativos instalados.
Carga el kernel del sistema operativo seleccionado en la memoria.
Ofrece opciones avanzadas para configurar el inicio del sistema.
3.5.5. 5. Kernel (Núcleo del Sistema Operativo):
Se carga en memoria y comienza a gestionar recursos de hardware.
Proporciona servicios esenciales como administración de memoria, pro-
cesos y dispositivos.
3.5.6. 6. Init (Proceso de Inicialización) y Runlevel:
Init: Es el primer proceso iniciado por el kernel. Inicia todos los servi-
cios necesarios y da paso a otros procesos.
Runlevel: Define el estado operativo del sistema, como modo mono-
usuario, multitarea o de apagado.