Introducción a los sistemas operativos

Introducción a los sistemas operativos

1. INTRODUCCIÓN.

2. EVOLUCIÓN HISTORICA.

3. ESTRUCTURA DE LOS SS.OO

4. FUNCIONES DE UN SISTEMA OPERATIVO.

4.1. GESTIÓN DE PROCESOS.

4.2. GESTIÓN DE MEMORIA.

4.3. GESTIÓN DE ENTRADA/SALIDA.

4.4. GESTIÓN DE ARCHIVOS.

5. MODOS DE EXPLOTACIÓN.

5.1. EXPLOTACIÓN POR LOTES.

5.2. EXPLOTACIÓN EN TIEMPO REAL.

6. CLASIFICACIÓN.

6.1. SEGÚN EL NÚMERO DE USUARIO.

6.2. SEGÚN EL NÚMERO DE PROCESOS O TAREAS.

6.3. SEGÚN EL NÚMERO DE PROCESADORES.

6.4. SEGÚN EL TIEMPO DE RESPUESTA.

6.5. SEGÚN LA FORMA DE OFRECER LOS SERVICIOS.

6.6. SEGÚN SU DISPONIBILIDAD.

 

1. INTRODUCCIÓN.

Un sistema operativo es un conjunto de programas, servicios y funciones que gestionan y coordinan el funcionamiento del ordenador, optimizando los recursos hardware y software.

Es un intermediario entre el ordenador (hardware) y el usuario pero también entre el software de aplicaciones y el mismo hardware.

Mediante una interfaz (el medio de comunicación entre el usuario y el equipo) proporciona al usuario una comunicación directa sin que este tenga que preocuparse de la gestión del procesador de la memoria de los distintos dispositivos etc.

2. EVOLUCIÓN HISTORICA.

La evolución de los SS.OO. ha ido paralela a la del hardware subyacente y viceversa. En resumen:

  • 1º generación (1945-1955) se le conoce como “válvulas de vacío”. Los ordenadores eran lentos de gran tamaño y gran consumo. Al principio los datos se introducían mediante interruptores o clavijas (centralitas telefónicas). En los años 50 aparecen las tarjetas perforadas.
  • 2º generación (1955-1965) se le conoce como “transistores”. Son máquinas más pequeñas, más baratas de menor consumo y desprenden menos calor. Aparece el procesamiento por lotes que consiste en lo siguiente:
    • Se introducen los datos en un medio físico distinto.
    • Se lleva este soporte cargado con los datos a la computadora que los procesa.
    • El soporte con los resultados se lleva a otros dispositivos ( imprimir)
    • Aparecen conceptos como multiprogramación y multiprocesamiento.
      • multiprogramación –> 2 o más procesos se cargan en memoria simultáneamente y se ejecutan “a la vez” en el procesador. En realidad el procesador lo que hace es ir alternado de un proceso a otro en determinado intervalos de tiempo
      • Multiprocesamiento -> se utilizan varios procesadores para ejecutar los procesos.
  • 3º generación (1965-1980) la tecnología utilizada es conocido como “circuitos integrados”. Se siguen desarrollando los conceptos anteriores (multiprogramación y multiprocesamiento) los sistemas operativos de esta generación se ejecutaban en grandes maquinas y eran de propósito general utilizaban tanto el procesamiento por lotes, tiempo compartido, tiempo real, multiprocesamiento, etc.…
  • 4º generación (1980-hasta ahora) “microchip” las maquinas son pequeñas, baratas, muy potentes, generan mucho menos calor y tienen menor consumo. Aparecen la mayoría de los SS.OO. actuales con una gestión avanzada de hardware y software, interfaz gráfica, etc.

3. ESTRUCTURA DE LOS SS.OO

La mayoría de los SS.OO. actuales se estructuran en capas o niveles cada uno de los cuales se comunica con el anterior o posterior.

Ejemplo: Usuarios y programas

Usuario—nivel 3

Supervisor—nivel 2

Ejecutivo—nivel 1

Núcleo—nivel 0

Hardware

  • Nivel 0 se encarga de gestionar el procesador y de planificar y ejecutar los procesos. En este nivel se encuentra el denominado kernel o núcleo que se carga en memoria al arrancar el sistema operativo. y permanece en ella hasta que se apaga la maquina.
  • Nivel 1 se encarga de gestionar o administrar la memoria principal.
  • Nivel 2 controla y coordina la gestión de las E/S de los diferentes procesos hacia los periféricos y los dispositivos de almacenamiento externo o secundario.
  • Nivel 3 controla los procesos a nivel de usuario (muestra al usuario el proceso que se está ejecutando)

 

Recordamos aquí el concepto de Máquina virtual, como un archivo que contiene una copia exacta del hardware real que gestiona el sistema operativo e incluye los niveles anteriores como si fueran independientes para cada usuario que utiliza el sistema.

Ventajas:

  • posibilidad de trabajar con varios sistemas operativos en el mismo ordenador simultáneamente y sin necesidad de realizar particiones.
  • Mayor estabilidad ante cuelgues: distintos sistemas operativos, distintos usuarios, distintas aplicaciones que no interfieren entre sí.

Desventajas:

  • si se produce un fallo en el sistema operativo anfitrión (donde está instalada la máquina virtual) puede afectar a todas las máquinas virtuales arrancadas.
  • Si queremos correr varias maquinas virtuales en un mismo ordenador necesitaremos un equipo más potente (RAM, procesador, etc.) aunque eso si con menor costo que si tuviéramos que utilizar máquinas físicas distintas para cada sistema operativo.

 

4. FUNCIONES DE UN SISTEMA OPERATIVO.

Entre otras nos encontramos otras funciones:

4.1. GESTIÓN DE PROCESOS.

Gestionar los procesos y el procesador de forma que se ejecuten de forma óptima, identificándolos, asignándoles un espacio en memoria y proporcionando al sistema los recursos hardware y software necesarios.

Un proceso es un programa en ejecución.

4.2. GESTIÓN DE MEMORIA.

Llevar el registro de las zonas de memoria libre y ocupada, reservar espacios para nuevos procesos, liberar espacios para procesos terminados y gestionar el intercambio de datos entre memoria y disco.

4.3. GESTIÓN DE ENTRADA/SALIDA.

Acceder de forma controlada a los dispositivos de E/S enviando órdenes, asignado prioridades de atención del procesador, gestionando los posibles errores, etc.

4.4. GESTIÓN DE ARCHIVOS.

Acceder de forma controlada y segura a cada archivo almacenado en los soportes. Indicando nombre, tamaño, fecha y hora, lugar del soporte donde se encuentra…,de forma que se pueda almacenar gran cantidad de información de forma correcta y accesible a varios procesos o programas sin interferencia entre ellos.

5. MODOS DE EXPLOTACIÓN.

El modo de explotación (utilización) de un sistema informático obedece a la forma en el que el usuario usa o utiliza los recursos hardware y software que configuran el sistema informático.

Básicamente existen 2 formas principales de explotación:

  • explotación por lotes
  • explotación en tiempo real

5.1. EXPLOTACIÓN POR LOTES.

Comienza con la segunda generación de ordenadores y consistía básicamente en lo siguiente:

  1. se cargan los datos en un soporte en un dispositivo.
  2. Se lleva este soporte al dispositivo (ordenador) que los va a procesar y se cargan los resultados en otros soportes distintos.
  3. El soporte con los resultados se lleva a un dispositivo diferente para obtener la salida (impresión de un papel)

Normalmente este proceso era llevado a cabo por distintas personas y actualmente está en desuso.

5.2. EXPLOTACIÓN EN TIEMPO REAL.

Todas las fases son llevadas a cabo generalmente por una persona en un mismo equipo y con un tiempo de respuesta relativamente corto, prácticamente inmediato. El tiempo necesario será el de introducir los datos procesarlos y obtener los resultados, pero sin tiempos muertos entre ellos.

Lo utilizan hoy día la mayoría de los ordenadores.

Atenderemos a clasificar los distintos sistemas operativos en base a una serie de criterios.

6. CLASIFICACIÓN.

6.1. SEGÚN EL NÚMERO DE USUARIOS.

  • Monousuario: soportan un único usuario simultáneamente independientemente de la máquina.
  • Multiusuario: soportan varios usuarios simultáneamente en la máquina.

6.2. SEGÚN EL NÚMERO DE SESIONES.

  • Monosesión: un usuario puede iniciar una sólo sesión simultáneamente.
  • Multisesión: un usuario puede iniciar varias sesiones simultáneamente.

6.3. SEGÚN EL NÚMERO DE PROCESOS O TAREAS.

  • Monotarea o monoprogramación: solamente admite un proceso o tarea simultáneamente por cada usuario.
  • Pseudomultitarea: los procesos van alternando su tiempo de ejecución en el procesador, dando la impresión de que se están ejecutando simultáneamente, pero realmente en un instante determinado solo un proceso dentro.
  • Multitarea o multiprogramación: se admiten varios procesos o tareas simultáneamente por cada usuario.

6.4. SEGÚN EL NÚMERO DE PROCESADORES (o núcleos).

  • Monoproceso o monoprocesamiento: solamente es capaz de gestionar un procesador (núcleo)
  • Multiproceso o multiprocesamiento: admite gestionar varios procesadores (núcleos).

Puede ser de 2 formas:

– SMP (multiprocesamiento simétrico): el sistema operativo alternara el uso de los procesadores de forma simultánea por igual.

– AMP (multiprocesamiento asimétrico): el sistema operativo reparte las tareas entre los procesadores que gestiona pero puede que haya algunos que estén trabajando o no.

6.5. SEGÚN EL TIEMPO DE RESPUESTA.

El tiempo de respuesta: es el tiempo que tarda el usuario en obtener los resultados después de lanzar su ejecución.

  • Tiempo real: la respuesta es inmediata o casi inmediata tras lanzar un proceso.
  • Tiempo compartido: cada proceso utilizara intervalos de CPU hasta que finalice su ejecución.

6.6. SEGÚN LA FORMA DE OFRECER LOS SERVICIOS.

  • Sistema centralizado: hasta la llegada de los ordenadores personales las grandes computadoras o “mainframes” se encargaban de todo el procesamiento y los usuarios se conectaban a ella a través de los llamados terminales “tontos” (sin memoria ni procesador)
  • Sistemas distribuidos: son sistemas casi independientes que permiten distribuir los procesos entre un conjunto de procesadores que pueden estar en equipos distintos siendo el proceso transparente para el usuario.
  • Sistema operativo en red: son aquellos que mantienen 2 o mas ordenadores unidos a través de un medio de comunicación para compartir información y recursos. Cada ordenador mantiene su propio sistema operativo y sistema de archivo.
  • Sistema operativo de escritorio: son los que utilizan normalmente los equipos de sobremesa, estaciones de trabajo y portátiles.

6.7. SEGÚN SU DISPONIBILIDAD.

  • Sistema operativo propietarios: son aquellos que son propiedad intelectual de una empresa lo que implica la utilidad de licencias de uso. Normalmente no se tiene acceso al código fuente pero aun teniéndolo no se tiene derecho a modificarlo ni distribuirlo.
  • Sistemas operativos libres: son aquellos que garantizan las 4 libertades del software que según RICHARD STALLMAN son las siguientes:
  1. Libertad de usar el programa con cualquier propósito.
  2. Libertad de estudiar como funciona y modificarlo y adaptarlo a sus necesidades.
  3. Libertad de distribuir copias del programa.
  4. Libertad de mejorar el programa y hacer publica estas mejoras.

Normalmente software libre significa software de código abierto.

Normalmente el software libre esta disponible gratuitamente sin embargo no es obligatorio y puede ser distribuido comercialmente.

De igual manera el software gratuito puede incluir el código abierto pero eso no quiere decir que sea software libre a no ser que se garanticen las libertades anteriores.

rafa

Deja un comentario

A %d blogueros les gusta esto: