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

  1. Gestión de procesos: Planificación del procesador y concurrencia.
  2. Gestión de memoria: Administración del recurso memoria.
  3. Comunicación y sincronización entre procesos: Cooperación y seguridad entre procesos.
  4. Gestión de E/S: Control de dispositivos periféricos.
  5. 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