Sistema operativo

(Redirigido desde «Sistema Operativo»)
Sistema operativo
Información sobre la plantilla
Foto de sistema operativo.JPG
Los sistemas operativos más conocidos

Un sistema operativo (SO) es el programa o conjunto de programas que efectúan la gestión de los procesos básicos de un sistema informático y permite la normal ejecución del resto de las operaciones.

Introducción

En el inicio de la computación el programador debía tener un conocimiento y contacto profundo con el hardware, y en el infortunado caso de que su programa fallara, debía examinar los valores de los registros y paneles de luces indicadoras del estado de la computadora para determinar la causa del fallo y poder corregir su programa, además de enfrentarse nuevamente a los procedimientos de apartar tiempo del sistema y poner a punto los compiladores, ligadores, etc. para volver a correr el programa.

La importancia de los sistemas operativos nace históricamente desde los años 1950, cuando se hizo evidente que el operar una computadora por medio de tableros enchufables en la primera generación y luego por medio del trabajo en lote en la segunda generación, se podía mejorar notoriamente, pues el operador realizaba siempre una secuencia de pasos repetitivos, lo cual es una de las características contempladas en la definición de lo que es un programa. Es decir, se comenzó a ver que las tareas mismas del operador podían plasmarse en un programa, el cual a través del tiempo y por su enorme complejidad se le llamó «sistema operativo». Así, entre los primeros sistemas operativos se encuentra el Fortran Monitor System (FMS) y el IBSYS.

Todo sistema de cómputo se puede dividir, en forma general, en dos partes:

  • el hardware (la parte material o mecánica de la computadora) y
  • el software (los programas que hacen funcionar a la computadora).

El software hace útil al hardware y puede dividirse en dos clase:

  • el software de base (los programas que hacen que funcione la computadora) que manejan la operación de la computadora, y
  • el software de aplicaciones, que realiza acciones útiles a los usuarios.

Entre los programas del sistema se pueden mencionar:

Para que funcionen los otros programas, cada computadora de uso general debe tener un sistema operativo.

Historia y evolución

Los sistemas operativos han estado relacionados históricamente con la arquitectura de las computadoras en las cuales se ejecutan, razón por la cual su historia. Los sistemas operativos, al igual que el hardware de las computadoras, han sufrido una serie de cambios revolucionarios llamados generaciones.

En el caso del hardware, las generaciones han sido marcadas por grandes avances en los componentes utilizados, pasando de válvulas (primera generación) a transistores (segunda generación), a circuitos integrados (tercera generación), a circuitos integrados de gran escala y de muy gran escala (cuarta generación).

Cada generación sucesiva de hardware ha ido acompañada de reducciones substanciales en los costos, tamaño, emisión de calor y consumo de energía, y por incrementos notables en velocidad y capacidad. En la actualidad existe gran variedad de sistemas operativos como pueden ser Windows 98, Windows NT, Linux, etc.

Primera generación (finales de los años 1950)

En esta década 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. Los laboratorios de investigación de la empresa General Motors poseen el crédito de haber sido los primeros en poner en operación un sistema operativo para su IBM 701.

Segunda generación (mitad de los años 1960)

En esta generación se desarrollan los sistemas compartidos con multiprogramación, en los cuales se utilizan varios procesadores en un solo sistema, con la finalidad de incrementar el poder de procesamiento de la máquina. El programa especificaba tan sólo que un archivo iba a ser escrito en una unidad de cinta con cierto número de pistas y cierta densidad. El sistema operativo localizaba entonces una unidad de cinta disponible con las características deseadas, y le indicaba al operador que montara una cinta en esa unidad.

Tercera generación

En esta época surgió la familia de computadoras IBM/360 diseñadas como sistemas para uso general, por lo que requerían manejar grandes volúmenes de información de distinto tipo, lo cual provocó una nueva evolución de los sistemas operativos: los sistemas de modos múltiples, que soportan simultáneamente procesos por lotes, tiempo compartido, procesamiento en tiempo real y multiprocesamiento.

Cuarta generación (mitad de los años 1970 hasta nuestros días)

Los sistemas operativos conocidos en la época actual son los considerados sistemas de cuarta generación. Con la ampliación del uso de redes de computadoras y del procesamiento en línea es posible obtener acceso a computadoras alejadas geográficamente a través de varios tipos de terminales. Con estos sistemas operativos 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.

Sistema operativo

Un sistema operativo es un conjunto de programas o software, destinado a permitir la comunicación entre el usuario y la máquina de forma cómoda y eficiente; se encarga de gestionar los recursos de la computadora, esto incluye la gestión del hardware desde los niveles más básicos.

Componentes del sistema operativo

Componentes Sistemas Operativos.PNG

El sistema operativo está compuesto por un conjunto de paquetes de software que pueden utilizarse para gestionar las interacciones con el hardware. Estos elementos se incluyen por lo general en este conjunto de software:

  • El núcleo, que representa las funciones básicas del sistema operativo, como por ejemplo, la gestión de la memoria, de los procesos, de los archivos, de las entradas/salidas principales y de las funciones de comunicación.
  • El intérprete de comandos, que posibilita la comunicación con el sistema operativo a través de un lenguaje de control, permitiendo al usuario controlar los periféricos sin conocer las características del hardware utilizado, la gestión de las direcciones físicas, etcétera.
  • El sistema de archivos, que permite que los archivos se registren en una estructura arbórea.

Los sistemas operativos son una interfaz con:

Funciones de los sistemas operativos

  • Administración del procesador: el sistema operativo administra la distribución del procesador entre los distintos programas por medio de un algoritmo de programación. El tipo de programador depende completamente del sistema operativo, según el objetivo deseado.
  • Gestión de la memoria de acceso aleatorio: el sistema operativo se encarga de gestionar el espacio de memoria asignado para cada aplicación y para cada usuario, si resulta pertinente. Cuando la memoria física es insuficiente, el sistema operativo puede crear una zona de memoria en el disco duro, denominada «memoria virtual». La memoria virtual permite ejecutar aplicaciones que requieren una memoria superior a la memoria RAM disponible en el sistema. Sin embargo, esta memoria es mucho más lenta.
  • Gestión de entradas/salidas: el sistema operativo permite unificar y controlar el acceso de los programas a los recursos materiales a través de los drivers (también conocidos como administradores periféricos o administradores de entrada/salida).
  • Gestión de ejecución de aplicaciones: el sistema operativo se encarga de que las aplicaciones se ejecuten sin problemas asignándoles los recursos que éstas necesitan para funcionar. Esto significa que si una aplicación no responde correctamente puede «sucumbir».
  • Administración de autorizaciones: el sistema operativo se encarga de la seguridad en relación con la ejecución de programas garantizando que los recursos sean utilizados sólo por programas y usuarios que posean las autorizaciones correspondientes.
  • Gestión de archivos: el sistema operativo gestiona la lectura y escritura en el sistema de archivos, y las autorizaciones de acceso a archivos de aplicaciones y usuarios.
  • Gestión de la información: el sistema operativo proporciona cierta cantidad de indicadores que pueden utilizarse para diagnosticar el funcionamiento correcto del equipo.

Características de los sistemas operativos

  • Conveniencia. Un sistema operativo hace más conveniente el uso de una computadora.
  • Eficiencia. Un sistema operativo permite que los recursos de la computadora se usen de la manera más eficiente posible.
  • Habilidad para evolucionar. Un sistema operativo deberá construirse de manera que permita el desarrollo, prueba o introducción efectiva de nuevas funciones del sistema sin interferir con el servicio.
  • Encargado de administrar el hardware. El sistema operativo se encarga de manejar de una mejor manera los recursos de la computadora en cuanto a hardware se refiere, esto es, asignar a cada proceso una parte del procesador para poder compartir los recursos.
  • Relacionar dispositivos (gestionar a través del kernel). El sistema operativo se debe encargar de comunicar a los dispositivos periféricos, cuando el usuario así lo requiera.
  • Organizar datos para acceso rápido y seguro.
  • Manejar las comunicaciones en red. El sistema operativo permite al usuario manejar con alta facilidad todo lo referente a la instalación y uso de las redes de computadoras.
  • Procesamiento por bytes de flujo a través del bus de datos.
  • Facilitar las entradas y salidas. Un sistema operativo debe hacerle fácil al usuario el acceso y manejo de los dispositivos de entrada/salida de la computadora.
  • Técnicas de recuperación de errores.
  • Evita que otros usuarios interfieran. El sistema operativo evita que los usuarios se bloqueen entre ellos, informándoles si esa aplicación esta siendo ocupada por otro usuario.
  • Generación de estadísticas.
  • Permite que se puedan compartir el hardware y los datos entre los usuarios.

Sistema operativo como administrador de recursos

La otra tarea de un sistema operativo consiste en administrar los recursos de una computadora cuando hay dos o más programas que ejecutan simultáneamente y requieren usar el mismo recurso ―como tiempo de CPU (unidad de procesamiento central), memoria o impresora―.

Además, en un sistema multiusuario, suele ser necesario o conveniente compartir, además de dispositivos físicos, información. Al mismo tiempo, debe tenerse en cuenta consideraciones de seguridad: por ejemplo, la información confidencial sólo debe ser accesada por usuarios autorizados, un usuario cualquiera no debiera ser capaz de sobrescribir áreas críticas del sistema, etc. (En este caso, un usuario puede ser una persona, un programa, u otra computadora). En resumen, el sistema operativo debe llevar la cuenta acerca de quién está usando qué recursos; otorgar recursos a quienes los solicitan (siempre que el solicitante tenga derechos adecuados sobre el recurso); y arbitrar en caso de solicitudes conflictivas.

Recursos administrados por los sistemas operativos

Tareas que realiza un sistema operativo

  • Realizar el interfaz sistema-usuario.
  • Compartir los recursos de hardware entre los usuarios.
  • Permitir a los usuarios compartir sus datos entre ellos.
  • Prevenir que las actividades de un usuario no interfieran en las de los demás usuarios.
  • Calendarizar los recursos de los usuarios.
  • Facilitar el acceso a los dispositivos de E/S (entrada y salida).
  • Recuperarse de fallas o errores.
  • Llevar el control sobre el uso de los recursos (entre otras).

Clasificación de los sistemas operativos

Debido a la evolución de los sistemas operativos fue necesario realizar una clasificación; considerando las diferencias existentes entre sus componentes los podemos clasificar en:

  • sistemas operativos por lotes.
  • sistemas operativos multiprogramación.
  • sistemas operativos multiusuario.
  • sistemas operativos de tiempo compartido.
  • sistemas operativos de tiempo real.

Sistemas operativos por lotes

Los sistemas operativos por lotes requieren que la información esté reunida en bloque o «lote» (el programa, los datos, y las instrucciones). Los trabajos son procesados en el orden de admisión, según el modelo de «primero en llegar primero en ser atendido». En estos sistemas la memoria se divide en dos zonas. Una de ellas es ocupada por el sistema operativo, y la otra se usa para cargar programas transitorios para su ejecución. Cuando termina la ejecución de un programa se carga un nuevo programa en la misma zona de memoria.

Sistemas operativos multiprogramación

Los sistemas de multiprogramación son capaces de soportar dos o más procesos concurrentes múltiples, permiten que residan al mismo tiempo en la memoria primaria las instrucciones y los datos procedentes de dos o más procesos. Estos sistemas implican la operación de multiproceso, para el manejo de la información. Se caracterizan principalmente por un gran número de programas activos simultáneamente que compiten por los recursos del sistema, como el procesador, la memoria, y los «dispositivos de E/S» (entrada y salida). Estos sistemas monitorean el estado de todos los programas activos y recursos del sistema.

Sistemas operativos multiusuario

Los sistemas operativos multiusuario permiten acceder simultáneamente a un sistema de computadoras a través de dos o más terminales. Actualmente este tipo de sistema operativo es fundamental en el manejo de redes de computadoras.

Sistemas operativos de tiempo compartido

Los sistemas operativos de tiempo compartido tratan de proporcionar un reparto equitativo de los recursos comunes para dar la impresión a los usuarios de que poseen una computadora independiente. En estos sistemas el administrador de memoria proporciona aislamiento y protección de los programas, ya que generalmente no tienen necesidad de comunicarse entre ellos. El control de E/S (entrada y salida) se encarga de proporcionar o retirar la asignación a los dispositivos de forma que se preserve la integridad del sistema y se proporcione servicio a todos los usuarios. El administrador de archivos proporciona protección y control en el acceso de la información, dada la posibilidad de concurrencia y conflictos al tratar de acceder a los archivos.

Sistemas operativos de tiempo real

Estos sistemas tienen como objetivo proporcionar tiempos más rápidos de respuesta, procesar la información sin tiempos muertos. En estos sistemas el administrador de memoria es relativamente menos solicitado debido a que muchos procesos residen permanentemente en memoria. El administrador de archivos se encuentra normalmente en grandes sistemas de tiempo real y su objetivo principal es manejar la velocidad de acceso, más que la utilización eficaz del almacenamiento secundario.

Tipos de sistemas operativos

Existen varios tipos de sistemas operativos, definidos según su capacidad para administrar simultáneamente información de 16 bits, 32 bits, 64 bits o más.

Sistema Programación Usuario único Usuario múltiple Tarea única Multitarea
DOS 16 bits X X
Windows 3.1 16/32 bits X No preventivo
Windows 95/98/Me 32 bits X Cooperativo
Windows NT/2000 32 bits X Preventivo
Windows XP 32/64 bits X Preventivo
Unix/Linux 32/64 bits X Preventivo
MAC/OS X 32 bits X Preventivo
VMS 32 bits X Preventivo

Ejemplos de sistemas operativos

Familia Windows

Familia Macintosh

Familia UNIX

Empleo de sistemas operativos de código abierto

El vertiginoso desarrollo alcanzado, la ausencia de licencias restrictivas para la copia, modificación y redistribución hacen del sistema operativo Linux un candidato muy fuerte a ganar cada día más usuarios en el mundo y en particular en Cuba, con las limitaciones impuestas por el bloqueo de Estados Unidos contra Cuba, de aquí que los lineamientos generales para el uso del software libre en la Isla, así lo contemplen creando las condiciones necesarias para la migración, siendo los Joven Club la vía principal para acercar a la población cubana en general, al software libre. Ellos, la bien llamada Computadora de la Familia Cubana, desempeñan un papel vital en la introducción de cualquier programa informático en la sociedad criolla, ya que es allí donde la gran mayoría de nuestra población tiene el primer contacto con una computadora, ahí coinciden el adolescente, el universitario, el adulto y el adulto mayor y se preparan en la modalidad de sistema operativo (Windows) y software libre (Linux), un sistema operativo que favorece el uso de códigos abiertos por lo tanto ahora con la inserción del software libre en nuestro país. Estos centros están llamados a desarrollar programas de enseñanza acorde a las potencialidades de los usuarios y encaminados a satisfacer las necesidades de toda la comunidad circundante y al que la Isla apuesta para sustituir en instituciones oficiales el uso del Microsoft.

Fuentes