Sistemas Operativos: Fundamentos, Estructura y Clasificación Completa

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 5,31 KB

Organización y Fundamentos de los Sistemas Operativos

Arquitectura de un Computador y Sistemas Operativos

  • Diseño en niveles: Cada nivel proporciona funciones al nivel superior y emplea funciones del inferior. Este diseño puede ser descrito de forma top-down o bottom-up.
  • Organización jerárquica: Cada nivel es un conjunto de sistemas interrelacionados, cada uno a su vez con una estructura jerárquica. La estructura más utilizada es la de Tanenbaum.

Definición y Propósito de un Sistema Operativo (SO)

Un SO es un administrador de recursos y una interfaz con los programas, los usuarios y el hardware.

Los SO son interesantes porque combinan aspectos referentes a distintas áreas relacionadas con los computadores: lenguajes, hardware, estructuras de datos, algoritmos, etc.

El objetivo básico de un SO es crear una máquina virtual para la que sea sencillo trabajar.

Funciones Esenciales de un Sistema Operativo

  • Compartir el hardware entre usuarios.
  • Facilitar la entrada/salida.
  • Planificar recursos entre usuarios.
  • Definir la interfaz de usuario.
  • Permitir a los usuarios compartir los datos.
  • Recuperarse de los errores.

Administración de Recursos y Roles del SO

Recursos Clave Administrados por un SO

  • Los procesadores.
  • Los dispositivos de E/S.
  • El almacenamiento y los datos.

Roles Principales del Sistema Operativo

  • Coordinador y policía de tránsito:
    • Administra todos los recursos.
    • Resuelve conflictos en solicitudes de recursos.
    • Previene errores y usos inapropiados de la computadora.
  • Facilitador:
    • Provee facilidades que todos necesitan.
    • Ofrece bibliotecas estándar y sistemas de ventanas.
    • Hace la programación de aplicaciones más fácil, rápida y libre de errores.

Visiones del Sistema Operativo

Visión Amplia

Disponer de un entorno para crear y mantener programas, una interfaz sofisticada para las operaciones del programador, una interfaz para ejecutar los programas de un modo sencillo y gestionar los recursos del sistema.

Visión Restringida (El Núcleo del Sistema)

Básicamente el núcleo del sistema con las funciones y estructuras de datos necesarias para gestionar los recursos:

  • CPU
  • Memoria
  • Dispositivos de E/S
  • Procesos

Tipos de Sistemas Operativos

  • Por lotes

    El SO siempre estaba residente en memoria. Para acelerar el procesamiento, los operadores agrupaban en lotes los trabajos similares y los ejecutaban en la computadora como un grupo. Con frecuencia, la CPU quedaba ociosa. Se reemplazó el lector de tarjetas por discos, lo que impulsó la planificación de trabajos y la multiprogramación.

  • Interactivo

    Proporciona una comunicación directa entre el usuario y el sistema. El usuario da instrucciones al sistema operativo o directamente a un programa usando el teclado o el ratón y espera resultados inmediatos.

  • De tiempo compartido

    Permite a varios usuarios compartir la computadora simultáneamente. La CPU cambia rápidamente de un usuario a otro.

  • De tiempo real

    Son utilizados cuando existen requerimientos rígidos de tiempo sobre la operación de un procesador. Utilizado en un uso dedicado. Este sistema debe responder dentro de una cantidad de tiempo fija para asegurar un funcionamiento correcto.

  • De red

    Proporciona un ambiente en el que los usuarios, que son conscientes de la existencia de múltiples máquinas, pueden acceder a recursos remotos.

  • Distribuido

    Este sistema distribuye el cómputo entre varios procesadores físicos. Los procesadores no comparten memoria ni reloj. En su lugar, cada procesador tiene su propia memoria local y se comunican a través de varias líneas de comunicación.

Ejecución de Programas y Optimización

Pasos para Ejecutar un Programa en una Máquina Dedicada (Histórico)

  1. Tiempo de reserva de la máquina.
  2. Cargar manualmente el programa en memoria.
  3. Cargar la dirección de inicio y comenzar la ejecución.
  4. Monitorear y controlar la ejecución del programa desde consola.

Ventaja Principal de la Multiprogramación

La principal ventaja de la multiprogramación es que permite el uso eficiente de la CPU, solapando las demandas para la CPU y sus dispositivos de entrada/salida de varios usuarios. Procura aumentar la utilización de la CPU al mantener siempre alguna tarea en ejecución para la CPU.

Cuándo es Mejor un Sistema Compartido

Cuando hay pocos usuarios, la tarea es grande y el hardware es rápido.

Consideraciones del Sistema de Tiempo Real

El sistema de tiempo real tiene restricciones de tiempo bien definidas y fijas; por lo tanto, la dificultad principal que tiene un programador al escribir un sistema operativo para un entorno de tiempo real es que el procesamiento debe realizarse dentro de los límites definidos, o el sistema fallará.

Entradas relacionadas: