Sistemas operativos

Un sistema operativo es una capa de software que permite la comunicacion maquina-persona, tambien se le puede entender como un administrador de los recursos (hardware) que nos ofrece la maquina para permitir un buen uso de ella por medio de los programas o aplicaciones.

Ejemplos de sistemas operativos:

  • DOS
  • GNU/Linux
  • Microsoft Windows
  • Mac OS X
  • BSD
  • Solaris

Barra de Google

sábado, 2 de abril de 2011

Historia

Para tratar de comprender los requisitos de un Sistema Operativo y el significado de las principales características de un Sistema Operativo contemporáneo, es útil considerar como han ido evolucionando éstos con el tiempo.

A finales de los 40's el uso de computadoras estaba restringido a aquellas empresas o instituciones que podían pagar su alto precio, y no existían los sistemas operativos. En su lugar, 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 páneles 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 su programa, es decir, enfrentaba el problema del procesamiento serial ( serial processing ).

La importancia de los sistemas operativos nace históricamente desde los 50's, 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í, tenemos entre los primeros sistemas operativos al Fortran Monitor System ( FMS ) e IBSYS.


más información

Introducción


Todo sistema de computación se puede dividir en dos partes: hardware (aseguramiento técnico) y software (aseguramiento de programas). El software puede dividirse en dos clases: los programas del sistema (software de base) que manejan la operación de la computadora, y el software de aplicación que realiza acciones útiles a los usuarios.

Entre los programas del sistema se pueden mencionar: sistemas operativos (los más importantes de todo el conjunto), compiladores, intérpretes, editores, etc.

En el contenido que a continuación se presenta, existen diversos conceptos, así como también su historia, características y su clasificación.

Windows


Sistema Operativo

Un Sistema operativo (SO) es un software que actúa de interfaz entre los dispositivos de hardware y los programas de usuario o el usuario mismo para utilizar un computador. Es responsable de gestionar, coordinar las actividades y llevar a cabo el intercambio de los recursos y actúa como intermediario para las aplicaciones que se ejecutan.

Nótese que es un error común muy extendido denominar al conjunto completo de herramientas sistema operativo, pues este, es sólo el núcleo y no necesita de entorno operador para estar operativo y funcional. Uno de los más prominentes ejemplos de esta diferencia, es el SO Linux, el cual junto a las herramientas GNU, forman las llamadas distribuciones Linux.

Este error de precisión, se debe a la modernización de la informática llevada a cabo a finales de los 80, cuando la filosofía de estructura básica de funcionamiento de los grandes computadores se rediseñó a fin de llevarla a los hogares y facilitar su uso, cambiando el concepto de computador multiusuario, (muchos usuarios al mismo tiempo) por un sistema monousuario (únicamente un usuario al mismo tiempo) más sencillo de gestionar. (Véase AmigaOS, beOS o MacOS como los pioneros de dicha modernización, cuando los Amiga, fueron bautizados con el sobrenombre de Video Toasters por su capacidad para la Edición de vídeo en entorno multitarea round robin, con gestión de miles de colores e interfaces intuitivos para diseño en 3D con programas como Imagine o Scala multimedia, entre muchos otros.)

Uno de los propósitos de un sistema operativo como intermediario consiste en gestionar los recursos de localización y protección de acceso del hardware, hecho que alivia a los programadores de aplicaciones de tener que tratar con estos detalles. Se encuentran en la mayoría de los aparatos electrónicos que utilizan microprocesadores para funcionar. (teléfonos móviles, reproductores de DVD, computadoras, radios, etc.)

Parte de la infraestructura de la World Wide Web está compuesta por el Sistema Operativo de Internet, creado por Cisco Systems para gestionar equipos de interconexión como los conmutadores y los enrutadores.


más información

Sistemas Operativos


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.[1]


Nótese que es un error común muy extendido denominar al conjunto completo de herramientas sistema operativo, es decir, la inclusión en el mismo término de programas como el explorador de ficheros, el navegador y todo tipo de herramientas que permiten la interacción con el sistema operativo, también llamado núcleo o kernel. Uno de los más prominentes ejemplos de esta diferencia, es el núcleo Linux, el cual es el núcleo del sistema operativo GNU, del cual existen las llamadas distribuciones GNU. Este error de precisión, se debe a la modernización de la informática llevada a cabo a finales de los 80, cuando la filosofía de estructura básica de funcionamiento de los grandes computadores[2] se rediseñó a fin de llevarla a los hogares y facilitar su uso, cambiando el concepto de computador multiusuario, (muchos usuarios al mismo tiempo) por un sistema monousuario (únicamente un usuario al mismo tiempo) más sencillo de gestionar.[3] (Véase AmigaOS, beOS o MacOS como los pioneros[4] de dicha modernización, cuando los Amiga, fueron bautizados con el sobrenombre de Video Toasters[5] por su capacidad para la Edición de vídeo en entorno multitarea round robin, con gestión de miles de colores e interfaces intuitivos para diseño en 3D.



mas información

Sistemas Operativos.

Tipos de Sistemas Operativos.

Actualmente los sistemas operativos se clasifican en tres clasificaciones: sistemas operativos por su estructura (visión interna), sistemas operativos por los servicios que ofrecen y sistemas operativos por la forma en que ofrecen sus servicios (visión externa). Sistemas Operativos por Servicios(Visión Externa).

Esta clasificación es la más comúnmente usada y conocida desde el punto de vista del usuario final. Esta clasificación se comprende fácilmente con el cuadro sinóptico que a continuación se muestra:


Por Número de Usuarios:

Sistema Operativo Monousuario.

Los sistemas operativos monousuarios son aquéllos que soportan a un usuario a la vez, sin importar el número de procesadores que tenga la computadora o el número de procesos o tareas que el usuario pueda ejecutar en un mismo instante de tiempo. Las computadoras personales típicamente se han clasificado en este renglón.

En otras palabras los sistemas monousuarios son aquellos que nada más puede atender a un solo usuario, gracias a las limitaciones creadas por el hardware, los programas o el tipo de aplicación que se este ejecutando.

Sistema Operativo Multiusuario.

Los sistemas operativos multiusuarios son capaces de dar servicio a más de un usuario a la vez, ya sea por medio de varias terminales conectadas a la computadora o por medio de sesiones remotas en una red de comunicaciones. No importa el número de procesadores en la máquina ni el número de procesos que cada usuario puede ejecutar simultáneamente.

En esta categoría se encuentran todos los sistemas que cumplen simultáneamente las necesidades de dos o más usuarios, que comparten mismos recursos. Este tipo de sistemas se emplean especialmente en redes. En otras palabras consiste en el fraccionamiento del tiempo (timesharing).

Por el Número de Tareas:

Sistema Operativo Monotarea.

Los sistemas monotarea son aquellos que sólo permiten una tarea a la vez por usuario. Puede darse el caso de un sistema multiusuario y monotarea, en el cual se admiten varios usuarios al mismo tiempo pero cada uno de ellos puede estar haciendo solo una tarea a la vez.

Los sistemas operativos monotareas son más primitivos y, solo pueden manejar un proceso en cada momento o que solo puede ejecutar las tareas de una en una.

Sistema Operativo Multitarea.

Un sistema operativo multitarea es aquél que le permite al usuario estar realizando varias labores al mismo tiempo.

Es el modo de funcionamiento disponible en algunos sistemas operativos, mediante el cual una computadora procesa varias tareas al mismo tiempo. Existen varios tipos de multitareas. La conmutación de contextos (context Switching) es un tipo muy simple de multitarea en el que dos o más aplicaciones se cargan al mismo tiempo, pero en el que solo se esta procesando la aplicación que se encuentra en primer plano (la que ve el usuario. En la multitarea cooperativa, la que se utiliza en el sistema operativo Macintosh, las tareas en segundo plano reciben tiempo de procesado durante los tiempos muertos de la tarea que se encuentra en primer plano (por ejemplo, cuando esta aplicación esta esperando información del usuario), y siempre que esta aplicación lo permita. En los sistemas multitarea de tiempo compartido, como OS/2, cada tarea recibe la atención del microprocesador durante una fracción de segundo.

Un sistema operativo multitarea puede estar editando el código fuente de un programa durante su depuración mientras compila otro programa, a la vez que está recibiendo correo electrónico en un proceso en background. Es común encontrar en ellos interfaces gráficas orientadas al uso de menús y el ratón, lo cual permite un rápido intercambio entre las tareas para el usuario, mejorando su productividad.

Un sistema operativo multitarea se distingue por su capacidad para soportar la ejecución concurrente de dos o más procesos

activos. La multitarea se implementa generalmente manteniendo el código y los datos de varios procesos simultáneamente en memoria y multiplexando el procesador y los dispositivos de E/S entre ellos.

La multitarea suele asociarse con soporte hardware y software para protección de memoria con el fin de evitar que procesos corrompan el espacio de direcciones y el comportamiento de otros procesos residentes.

Por el Número de Procesadores:

Sistema Operativo de Uniproceso.

Un sistema operativo uniproceso es aquél que es capaz de manejar solamente un procesador de la computadora, de manera que si la computadora tuviese más de uno le sería inútil. El ejemplo más típico de este tipo de sistemas es el DOS y MacOS.

Sistema Operativo de Multiproceso.

Un sistema operativo multiproceso se refiere al número de procesadores del sistema, que es más de uno y éste es capaz de usarlos todos para distribuir su carga de trabajo. Generalmente estos sistemas trabajan de dos formas: simétrica o asimétricamente.


más información


Estructura de un Sistema Operativo

La estructura de un sistema operativo se puede analizar desde el punto de vista funcional y desde el punto de vista organizativo de los programas que lo componen.

Desde el punto de vista funcional hay que tener en cuenta que los sistemas operativos son programas manejados por eventos. Si no hay programa que ejecutar, dispositivo al cual brindar servicio o usuario que atender entonces no hará nada. Los eventos (mensajes o señales) que lo ponen en acción serán las interrupciones o las trampas. Por lo tanto, los sistemas de operación son programas manejados por interrupción.

La naturaleza de los sistemas operativos de ser manejados por interrupción determina su estructura desde el punto de vista funcional.

Cuando una interrupción o trampa ocurre, de inmediato el hardware transfiere el control al sistema operativo. Este preserva el estado del proceso que se ejecutaba y a continuación realiza el tratamiento correspondiente.

Pueden ocurrir tipos diferentes de interrupciones, pero pueden agruparse en tres tipos:

? Llamadas al sistema.
? Interrupción de un dispositivo.
? Un error de programa (detectado por hardware).

Las llamadas al sistema, a estos efectos, pueden dividirse en

? Solicitud de terminación normal (realizada por un proceso cuando va a terminar su ejecución).

? Solicitud de terminación anormal (realizada al detectarse la existencia de un error).

? Solicitud de recursos (si no están disponibles, entonces el proceso deberá esperar).

? Solicitud de información de estado (la información es transferida).

? Solicitud de entrada/salida.

A los efectos de la acción del sistema operativo los casos 3 y 4 se pueden considerar como iguales (en el libro de Peterson se le llaman solicitudes que no son de entrada/salida).

Teniendo en cuenta lo antes indicado, en la figura 2.4 (página 54) del Peterson se presenta la estructura del sistema operativo desde el punto de vista funcional.

De aquí que un sistema operativo estará compuesto por al menos de: manejadores de dispositivos, atención a interrupciones ("handlers"), un conjunto de subrutinas de llamadas al sistema y el intérprete de comandos o de tarjetas de control. Como es lógico, el sistema de ficheros también estará presente. La mayoría de los sistemas operativos brindan funciones adicionales y por ello habrá complejidades aún mayores.


más información

Servicios del Sistema Operativo

Como ya se indicó, una de las dos funciones principales de un sistema operativo es servir de máquina ampliada o virtual, brindando facilidades a los programas de los usuarios y a estos. Para lograr este objetivo, los sistemas operativos se encargan de programar el trabajo con los diferentes dispositivos existentes en el sistema de cómputo, separando a los usuarios y programas de esta tarea compleja y tediosa.

Los servicios a usuarios se brindan, básicamente, por medio de los llamados Programas del Sistema, mientras que a los programas se les brindan a través de las Llamadas al Sistema.

Los programas del sistema constituyen una colección más o menos grande de programas (no funciones o subrutinas) suministradas por el fabricante (u otra empresa) que permite realizar operaciones que son comunes a diferentes usuarios, brindando un ambiente más adecuado para el desarrollo y explotación de aplicaciones.

Los programas del sistema pueden ser divididos en varias categorías, aunque esto también depende de cada sistema operativo. Algunos posibles grupos serian : Manipulación de ficheros (crear, eliminar, renombrar, imprimir, etc.), obtención de información de estado (fecha, hora, memoria disponible, espacio en disco, etc.), editores de texto, etc.

En resumen, los programas del sistema son aquellos que ejecutan las acciones descritas en los comandos de éste o que aparecen en los menús en el caso de las interfaces gráficas.

Las llamadas al sistema constituyen la interface entre el sistema de operación y los procesos. Estas generalmente se hacen por medio de instrucciones en lenguaje ensamblador, aunque en algunos casos existen facilidades que permiten se realicen desde lenguajes de alto nivel.

En el segundo caso antes indicado, se dan las variantes de que existan funciones o procedimientos predefinidos en biblioteca que realicen las llamadas al sistema como tal (UNIX, Windows) o el compilador genera directamente las instrucciones necesarias para esto.

Los mecanismos que ponen en ejecución las llamadas al sistema operativo difieren de uno a otro:

* ? En el OS/360 existe una instrucción especial (SVC) que provoca una trampa hacia el sistema. El número de la llamada se da en la instrucción.

* ? En el CP/M no existe una instrucción especial y por ello el número de la llamada se pone en el registro C y se salta a la dirección 5 de la memoria.

* ? En MS-DOS se utiliza la instrucción INT seguida de un número de interrupción (21H).

En todos los casos antes indicados, se requiere de la transferencia de parámetros desde o hacía el procedimiento que instrumenta la llamada. Este pase de parámetros se ejecuta a través de los registros del procesador o por medio de un bloque o tabla de memoria (pasándose la dirección en un registro).


más información