25 Nov
Introducción
Los Sistemas Operativos (SO) han evolucionado de manera paralela al hardware, marcando distintas generaciones definidas por los avances tecnológicos.
- Válvulas (1ª Generación)
- Transistores (2ª Generación)
- Circuitos integrados (3ª Generación)
- Circuitos integrados de gran y muy gran escala (4ª Generación)
Evolución en Generaciones de los Sistemas Operativos
1 Generación 0 (década de 1940)
- Sistemas computacionales sin SO.
- Usuarios con acceso al lenguaje de máquina.
- Codificación a mano, trabajo excesivo.
- Máquinas con tarjetas perforadas, lenguaje ensamblador.
2 Primera Generación (década de 1950)
- Primeros SO diseñados para cambio de trabajos.
- Procesamiento por lotes.
- Un trabajo en ejecución controlaba totalmente la máquina, luego el control del SO, limpieza e inicio de otro.
3 Segunda Generación (mitad de la década de 1960)
- Desarrollo de SO compartidos, multiprogramación y principios de multiprocesamiento.
- Trabajo de los usuarios a través de terminales.
- Sistemas de tiempo real para control de procesos industriales.
4 Tercera Generación (mitad de la década de 1960 a mitad de la década de 1970)
- Inicio en 1964 con Sistema /360 de IBM.
- Sistemas de múltiples modos (Procesos en lotes, Tiempo compartido, Procesamiento en tiempo real, Multiprogramación).
5 Cuarta Generación (mitad de la década de 1970 hasta hoy)
- Aparición de los computadores personales.
- Desarrollo de redes de computadores.
- Sistemas operativos con interfaz de usuario amigable y fácil.
- Implementación del modelo cliente-servidor.
Evolución de Conceptos asociados a los Sistemas Operativos
1 Años 40
- Proceso en serie por turnos.
- Programación en lenguaje máquina.
2 Años 50
- Monitor residente.
- Proceso en lotes.
- Almacenamiento temporal (Buffering, spooling).
3 Años 60
- Multiprogramación.
- Tiempo compartido.
- Tiempo real.
- Multiprocesador.
- Sistemas Operativos (Atlas Supervisor, OS/360, Nace Unix).
4 Años 70
- Sistemas computacionales de propósito general.
- Aparición de Pascal y C (usado para escribir el código de Unix).
- Sistemas Operativos (MULTICS, MVS, CP/M).
5 Años 80
- SO con interfaces gráficas.
- MS-DOS, Unix, Apple Macintosh (GUI).
- Microsoft Windows (inicialmente sobre DOS).
6 Años 90
- Primera versión del núcleo Linux (Linus Torvalds).
- Modo comandos y luego interfaces gráficas (KDE, GNOME).
- GNU/Linux con aplicaciones de entorno 3D.
Software
El software se clasifica en dos categorías:
- Software de Sistema: Programas para la gestión interna del computador (SO, compiladores, utilitarios).
- Software de Aplicación: Programas para tareas específicas (estándar, a medida, paquetes integrados).
Sistema Operativo: Controla el hardware y ofrece una interfaz al usuario, gestionando recursos para un rendimiento eficiente.
Servicios del SO:
- Ejecución de programas.
- Operación de entrada/salida.
- Manipulación de archivos.
- Detección de errores.
- Asignación de recursos.
- Accounting (Registro o contabilización).
- Protección.
Software de Aplicación:
- Estándar: Disponible en el mercado (juegos, ofimática).
- A medida: Desarrollos específicos.
Ofimática: Procesadores de texto, hojas de cálculo, bases de datos, etc.
Los Sistemas Operativos administran recursos, principalmente el hardware.
Un Sistema Operativo actúa como intermediario entre el usuario y el hardware.
Objetivo principal de un Sistema Operativo: Uso cómodo del sistema de computación.
Clasificación de Sistemas Operativos
1 Según su estructura (visión interna)
- Estructura monolítica.
- Estructura jerárquica.
- Máquina Virtual.
- Cliente-servidor (Microkernel).
2 Según los servicios que ofrecen
- Número de usuarios: monousuario o multiusuario.
- Número de tareas: monotarea o multitarea.
- Número de procesadores: uniproceso o multiproceso.
3 Según la forma en que ofrecen sus servicios (visión externa)
- Sistemas operativos de red.
- Sistemas operativos distribuidos.
Recursos que administra el Sistema Operativo
- Gestión de procesos: Planificación del procesador y concurrencia.
- Gestión de memoria: Administración del recurso memoria.
- Comunicación y sincronización entre procesos: Cooperación y seguridad entre procesos.
- Gestión de E/S: Control de dispositivos periféricos.
- Gestión de Archivos y directorios: Manejo de datos y nombres.
Objetivos de los S.O.
- Facilitar el manejo de periféricos.
- Proteger a los usuarios.
- Servicios de manejo de datos (archivos) y nombres (directorios).
Unidad: Identificación de un dispositivo de memoria secundaria.
Carpeta: Unidad lógica para agrupar archivos.
Archivo: Conjunto de datos en memoria secundaria.
Características del SO
- Conveniencia.
- Eficiencia.
- Habilidad para evolucionar.
- Administración del hardware.
- Relación de dispositivos (gestión a través del kernel).
- Organización de datos.
- Manejo de comunicaciones en red.
- Procesamiento de bytes.
- Facilitar E/S.
- Recuperación de errores.
- Evitar interferencias entre usuarios.
- Generación de estadísticas.
- Compartición de recursos.
Núcleo o Kernel y niveles de un SO
El Kernel es el corazón del SO, controla y administra servicios y recursos.
Niveles:
- Nivel 1. Gestión de Memoria
- Nivel 2. Procesador
- Nivel 3. Entrada/Salida
- Nivel 4. Información o Aplicación o Interprete de Lenguajes
- Nivel 5. Control de Archivos
Funciones del Kernel
- Manejo de interrupciones.
- Creación y destrucción de procesos.
- Cambio de estado de los procesos.
- Despacho.
- Suspensión y reanudación de procesos.
- Sincronización de procesos.
- Comunicación entre procesos.
- Manipulación de bloques de control de procesos.
- Soporte para E/S.
- Asignación y liberación de memoria.
- Soporte para el sistema de archivos.
- Soporte para llamadas a procedimientos.
- Funciones de contabilidad del sistema.
GESTIÓN DEL PROCESADOR
Definición de Proceso: Un programa en ejecución con su entorno asociado (registros, variables).
PCB (Bloque de Control de Proceso): Descriptor del proceso en el SO.
Elementos del PCB:
- Identificación del Proceso: ID, ID del proceso padre, ID del usuario.
- Información de Estado del Procesador: Registros visibles.
- Información de Control del Proceso: Apuntadores de stack, planificación, estructuración de datos, comunicación, privilegios, gestión de memoria, recursos.
Deja un comentario