Sistemas Operativos

 Sistemas Operativos

¿Qué es un sistema operativo?

    Un sistema operativo es un software de sistema, es decir, un conjunto de programas de computadora destinado a permitir una administración eficaz de sus recursos. Comienza a trabajar cuando se enciende el computador, y gestiona el hardware de la máquina desde los niveles más básicos, permitiendo también la interacción con el usuario. 

    Un sistema operativo es posible encontrarlo normalmente en la mayoría de los aparatos electrónicos que utilicen microprocesadores para funcionar, ya que gracias a éstos podemos encender la máquina y que ésta cumpla con sus funciones (teléfonos móviles, reproductores de DVD, autorradios, computadoras, etc).


Características

Las características deseables más importantes de un sistema operativo son:
  • Permitir la concurrencia de procesos, traslapándose el tiempo de entrada/salida (E/S) con el de cálculo y ocupando la memoria con varios programas.
  • Posibilitar la ejecución de cualquier proceso en el momento que se solicite siempre y cuando haya suficientes recursos libres para él.
  • Ser eficiente en cuanto a reducir: el tiempo medio que ocupa cada trabajo, el tiempo que no se usa la CPU, el tiempo de respuesta en sistemas multiacceso y el plazo entre dos asignaciones de CPU a un mismo programa.  
  • Ser eficiente en cuanto a aumentar la utilización de recursos en general, tales como memoria, procesadores, dispositivos de E/S, discos magnéticos, datos, etc.
  • Ser fiable, es decir, un sistema operativo no debe tener errores y debe prever todas las posibles situaciones.
  • Ser de tamaño pequeño.
  • Posibilitar y facilitar en lo posible el "diálogo" entre computadora y usuario de la misma. 
  • Permitir compartir entre varios usuarios los recursos de hardware con que cuenta una computadora.

 Funciones

Un sistema operativo desempeña 5 funciones básicas en la operación de un sistema informático:

  • Interfaces del Usuario
    Es la parte del sistema operativo que permite comunicarse con él, de tal manera que se puedan cargar programas, acceder archivos y realizar otras tareas. Existen tres tipos básicos de interfaces: las que se basan en comandos, las que utilizan menús y las interfaces gráficas de usuario.

  • Administración de archivos
    Un sistema de información contiene programas de administración de archivos que controlan la creación, borrado y acceso de archivos de datos y de programas. También implica mantener el registro de la ubicación física de los archivos en los discos magnéticos y en otros dispositivos de almacenamiento secundarios.

  • Administración de recursos
    Sirven para administrar los recursos de hardware y de redes de un sistema informático, como el CPU, memoria, dispositivos de almacenamiento secundario y periféricos de entrada y de salida.

  • Servicio de soporte
    Los servicios de soporte de cada sistema operativo dependerán de la implementación particular de éste con la que estemos trabajando. Entre las más conocidas se pueden destacar las implementaciones de Unix, desarrolladas por diferentes empresas de software, los sistemas operativos de Apple Inc., como Mac OS X para las computadoras de Apple Inc., los sistemas operativos de Microsoft, y las implementaciones de software libre, como GNU/Linux o BSD producidas por empresas, universidades, administraciones públicas, organizaciones sin fines de lucro y/o comunidades de desarrollo.
  • Administración de tareas
    Los programas de administración de tareas de un sistema operativo administran la realización de las tareas informáticas de los usuarios finales. Los programas controlan que áreas tiene acceso al CPU y por cuánto tiempo.

    Las funciones de administración de tareas pueden distribuir una parte específica del tiempo del CPU para una tarea en particular, e interrumpir al CPU en cualquier momento para sustituirla con una tarea de mayor prioridad.

Evolución

Los Primera Generación (Finales de los 50's) 

  • Aparecen los sistemas de procesamiento por lotes, donde los trabajos se reunían por grupos o lotes.
  • Cuando se ejecutaba alguna tarea, ésta tenía control total de la máquina. Al terminar cada tarea, el control era devuelto al sistema operativo, el cual limpiaba, leía e iniciaba la siguiente tarea.
  • Aparece el concepto de nombres de archivo del sistema para lograr independencia de información. 
  • Existe ausencia de interacción entre el usuario y el sistema.
  • La memoria principal se repartía entre el sistema operativo y un único programa de usuario.

Segunda Generación (Mitad de los 60's) 

  • Se desarrollan los sistemas compartidos con multiprogramación, o sea, la ejecución simultánea de varios programas que residen en la memoria principal.
  • Los tiempos de respuestas son significativamente menores a los esquemas anteriores.
  • Los trabajos se intercambian entre memoria y disco.
  • Existe comunicación entre el sistema y los usuarios.

Tercera Generación (Mediados de los 60's y 70's)

  • Aparecen los sistemas de modos múltiples, que soportan simultáneamente procesos por lotes, tiempo compartido, procesamiento en tiempo real y multiprocesamiento.
  • Los sistemas operativos vinieron con más módulos para facilitar el desarrollo de los sistemas en línea, especialmente para respaldar el procesamiento de terminales y telecomunicaciones. Los sistemas estaban diseñados para apoyar una mezcla de procesamiento batch y consultas en línea .

Cuarta Generación (De los 70's hasta nuestros días)

  • Aparece el concepto de máquinas virtuales, en el cual el usuario no se involucra con el hardware de la computadora con la que se quiere conectar y en su lugar el usuario observa una interfaz gráfica creada por el sistema operativo. (redes – internet). 
  • Debido al uso extendido de las, se diseñan los sistemas operativos de red o sistemas operativos distribuidos.

Futuro

    Los sistemas operativos siguen evolucionando. La principal tendencia de los sistemas operativos en cuanto a organización de trabajo es convertirse en sistemas operativos distribuidos.

    Los sistemas operativos distribuidos están diseñados para su uso en un grupo de computadoras conectadas pero independientes que comparten recursos. En un sistema operativo distribuido, un proceso puede ejecutarse en cualquier computadora de la red (normalmente, una computadora inactiva en ese momento) para aumentar el rendimiento de ese proceso. En los sistemas distribuidos, todas las funciones básicas de un sistema operativo, como mantener los sistemas de archivos, garantizar un comportamiento razonable y recuperar datos en caso de fallos parciales, resultan más complejas.

Comentarios