# data[].attributes.body
Reseña histórica

• Primeros Sistemas Operativos (1950-1960): Se utilizaban en mainframes. Solo ejecutaban un trabajo a la vez (Batch).

• Década de 1960-1970: Aparición de UNIX, permitiendo multitarea y multiusuario.

• Años 1980: MS-DOS y primeras versiones de Windows con interfaz gráfica.

• Década de 1990-2000: Windows 95/XP y Linux se popularizan, aparecen sistemas más estables y seguros.

# data[].attributes.body
Tendencias modernas

• Sistemas móviles: iOS, Android.

• Virtualización y cloud computing: Permite ejecutar varios SO en un mismo hardware o acceder a sistemas vía internet.

• IoT (Internet de las Cosas): Sistemas ligeros y especializados para dispositivos conectados.

• Tendencia futura: Inteligencia artificial integrada, sistemas más seguros, automatización avanzada.

# data[].attributes.body
Definición

• Software que actúa como intermediario entre el hardware del computador y el usuario. Permite ejecutar programas, gestionar recursos y ofrecer una interfaz de interacción.

# data[].attributes.body
Importancia

• Gestión de recursos: CPU, memoria, almacenamiento, dispositivos de entrada/salida.

• Interfaz de usuario: Facilita la interacción con el computador.

• Seguridad y estabilidad: Protege los datos y asegura el correcto

funcionamiento de los programas.

• Ejemplo: Sin un SO, el hardware no podría ejecutar aplicaciones como navegadores o procesadores de texto.

# data[].attributes.body
• Kernel: Núcleo del sistema operativo, controla hardware y procesos.

• Shell: Interfaz que permite al usuario comunicarse con el SO (puede ser gráfica o de comandos).

• Driver: Programa que permite al sistema comunicarse con un dispositivo de hardware.

• Proceso: Programa en ejecución con su propio espacio de memoria.

• Hilo (Thread): Parte de un proceso que puede ejecutarse de manera independiente.

• Multitarea: Capacidad de ejecutar varios procesos al mismo tiempo.

• Memoria virtual: Técnica que permite simular más memoria de la que físicamente tiene el sistema.

• Scheduler (Planificador): Algoritmo que decide qué proceso se ejecuta y cuándo.

• Sistema de archivos: Organización de datos en disco (FAT, NTFS, EXT4).

• Interrupción: Señal que detiene temporalmente un proceso para atender un evento más urgente.

# data[].attributes.body
Funciones del SO en gestión de recursos

• Controla la CPU, asignando tiempo a cada proceso (planificación).

• Gestiona la memoria RAM, asignando y liberando espacios según necesidad.

• Administra dispositivos de entrada/salida como impresoras y discos duros.

• Coordina almacenamiento y acceso a archivos.

# data[].attributes.body
Concepto de proceso

• Programa en ejecución que incluye código, datos, estado y recursos.

# data[].attributes.body
Gestión de procesos

• Creación y terminación: El SO inicia y finaliza procesos según las necesidades del usuario.

• Planificación (Scheduling): Determina qué proceso se ejecuta primero.

• Sincronización: Coordina procesos que dependen unos de otros.

• Comunicación: Permite que procesos intercambien información.

# data[].attributes.body
Definición

• Abstracción que hace que la computadora sea más fácil de usar, ocultando la complejidad del hardware.

# data[].attributes.body
Impacto

• Permite al usuario ejecutar programas sin conocer detalles del hardware.

• Ejemplo: Cuando escribes un documento en Word, no necesitas controlar directamente la memoria o el disco.

# data[].attributes.body
Concepto

• Organización del sistema en niveles jerárquicos, donde cada nivel ofrece servicios al superior y depende del inferior

# data[].attributes.body
Niveles de organización

1. Nivel de hardware: CPU, memoria, dispositivos físicos.

2. Nivel del kernel: Controla hardware y gestiona recursos.

3. Nivel de servicios del sistema: Librerías, utilidades y APIs que usan las aplicaciones.

4. Nivel de aplicaciones y usuario:

Programas como navegadores, juegos, editores de texto.