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
§ Ubuntus
§ Solaris
Gestión de procesos
Un proceso es simplemente, un programa en
ejecución que necesita recursos para realizar su tarea: tiempo de CPU,
memoria, archivos y dispositivos de E/S. El SO es el responsable de:
§ Crear y destruir los procesos.
§ Parar y reanudar los procesos.
§ Ofrecer mecanismos para que se
comuniquen y sincronicen.
La gestión de procesos podría ser similar al trabajo
de oficina. Se puede tener una lista de tareas a realizar y a estas fijarles
prioridades alta, media, baja por ejemplo. Debemos comenzar haciendo las tareas
de prioridad alta primero y cuando se terminen seguir con las de prioridad
media y después las de baja. Una vez realizada la tarea se tacha. Esto puede
traer un problema que las tareas de baja prioridad pueden que nunca lleguen a
ejecutarse. y permanezcan en la lista para siempre. Para solucionar esto, se
puede asignar alta prioridad a las tareas más antiguas.
Gestión de la memoria principal
La Memoria es una gran tabla de palabras o
bytes que se referencian cada una mediante una dirección única. Este almacén de
datos de rápido accesos es compartido por la CPU y los dispositivos de E/S, es
volátil y pierde su contenido en los fallos del sistema. El SO es el
responsable de:
§ Conocer qué partes de la memoria están
siendo utilizadas y por quién.
§ Decidir qué procesos se cargarán en
memoria cuando haya espacio disponible.
§ Asignar y reclamar espacio de memoria
cuando sea necesario.
Gestión del almacenamiento secundario
Un sistema de almacenamiento secundario es
necesario, ya que la memoria principal (almacenamiento primario) es volátil y
además muy pequeña para almacenar todos los programas y datos. También es
necesario mantener los datos que no convenga mantener en la memoria principal.
El SO se encarga de:
§ Planificar los discos.
§ Gestionar el espacio libre.
§ Asignar el almacenamiento.
El sistema de E/S
Consiste en un sistema de almacenamiento temporal
(caché), una interfaz de manejadores de dispositivos y otra para dispositivos
concretos. El sistema operativo debe gestionar el almacenamiento temporal de
E/S y servir las interrupciones de los dispositivos de E/S.
Sistema de archivos
Los archivos son colecciones de información
relacionada, definidas por sus creadores. Éstos almacenan programas (en código
fuente y objeto) y datos tales como imágenes, textos, información de bases de
datos, etc. El SO es responsable de:
§ Construir y eliminar archivos y
directorios.
§ Ofrecer funciones para manipular
archivos y directorios.
§ Establecer la correspondencia entre
archivos y unidades de almacenamiento.
§ Realizar copias de seguridad de
archivos.
Existen diferentes Sistemas de Archivos, es decir,
existen diferentes formas de organizar la información que se almacena en las
memorias (normalmente discos) de los ordenadores. Por ejemplo, existen los
sistemas de archivos FAT, FAT32, EXT3, NTFS, XFS, etc.
Desde el punto de vista del usuario estas diferencias
pueden parecer insignificantes a primera vista, sin embargo, existen
diferencias muy importantes. Por ejemplo, los sistemas de
ficheros FAT32 y NTFS, que se utilizan fundamentalmente en
sistemas operativos de Microsoft, tienen una gran diferencia para un
usuario que utilice una base de datos con bastante información ya que el tamaño
máximo de un fichero con un Sistema de Archivos FAT32 está limitado a
4 gigabytes, sin embargo, en un sistema NTFS el tamaño es
considerablemente mayor.
Sistemas de protección
Mecanismo que controla el acceso de los programas o
los usuarios a los recursos del sistema. El SO se encarga de:
§ Distinguir entre uso autorizado y no
autorizado.
§ Especificar los controles de seguridad a
realizar.
§ Forzar el uso de estos mecanismos de
protección.
Sistema de comunicaciones
Para mantener las comunicaciones con otros sistemas
es necesario poder controlar el envío y recepción de información a través de
las interfaces de red. También hay que crear y mantener puntos de
comunicación que sirvan a las aplicaciones para enviar y recibir información, y
crear y mantener conexiones virtuales entre aplicaciones que están ejecutándose
localmente y otras que lo hacen remotamente.
Programas de sistema
Son aplicaciones de utilidad que se suministran con
el SO pero no forman parte de él. Ofrecen un entorno útil para el desarrollo y
ejecución de programas, siendo algunas de las tareas que realizan:
§ Manipulación y modificación de archivos.
§ Información del estado del sistema.
§ Soporte a lenguajes de programación.
§ Comunicaciones.
Gestor de recursos
Como gestor de recursos, el Sistema Operativo
administra:
§ La CPU (Unidad Central de
Proceso, donde está alojado el microprocesador).
§ Los dispositivos de E/S (entrada y
salida)
§ La memoria principal (o de acceso
directo).
§ Los discos (o memoria secundaria).
§ Los procesos (o programas en ejecución).
§ y en general todos los recursos del
sistema.
· Interpreta
los comandos que permiten al usuario comunicarse con el ordenador.
· Coordina
y manipula el hardware de la computadora, como la memoria, las impresoras, las
unidades de disco, el teclado o el mouse.
· Organiza
los archivos en diversos dispositivos de almacenamiento, como discos flexibles,
discos duros, discos compactos o cintas magnéticas.
· Gestiona
los errores de hardware y la pérdida de datos.
· Servir
de base para la creación del software logrando que equipos de marcas distintas
funcionen de manera análoga, salvando las diferencias existentes entre ambos.
· Configura
el entorno para el uso del software y los periféricos; dependiendo del tipo de
máquina que se emplea, debe establecerse en forma lógica la disposición y
características del equipo. Como por ejemplo, una microcomputadora tiene
físicamente dos unidades de disco, puede simular el uso de otras unidades de
disco, que pueden ser virtuales utilizando parte de la memoria principal para
tal fin. En caso de estar conectado a una red, el sistema operativo se
convierte en la plataforma de trabajo de los usuarios y es este quien controla
los elementos o recursos que comparten. De igual forma, provee de protección a
la información que almacena.
Con el paso del tiempo, los Sistemas Operativos
fueron clasificándose de diferentes maneras, dependiendo del uso o de la
aplicación que se les daba. A continuación se mostrarán diversos tipos de
Sistemas Operativos que existen en la actualidad, con algunas de sus
características:
Sistemas Operativos de multiprogramación (o Sistemas
Operativos de multitarea).
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). Para
activar otra tarea que se encuentre en segundo plano, el usuario debe traer al
primer plano la ventana o pantalla que contenga esa aplicación. 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. Para mantener el sistema en orden, cada tarea recibe un nivel de
prioridad o se procesa en orden secuencial. Dado que el sentido temporal del
usuario es mucho más lento que la velocidad de procesamiento del ordenador, las
operaciones de multitarea en tiempo compartido parecen ser simultáneas.
Sistema Operativo Monotareas.
Los sistemas operativos monotareas son más primitivos
y es todo lo contrario al visto anteriormente, es decir, solo pueden manejar un
proceso en cada momento o que solo puede ejecutar las tareas de una en una. Por
ejemplo cuando la computadora esta imprimiendo un documento, no puede iniciar otro
proceso ni responder a nuevas instrucciones hasta que se termine la impresión.
Sistema Operativo Monousuario.
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. Estos tipos de sistemas son muy simples, porque todos los
dispositivos de entrada, salida y control dependen de la tarea que se esta
utilizando, esto quiere decir, que las instrucciones que se dan, son procesadas
de inmediato; ya que existe un solo usuario. Y están orientados principalmente
por los microcomputadores.
Sistema Operativo Multiusuario.
Es todo lo contrario a monousuario; y 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.
Sistemas Operativos distribuidos.
Permiten distribuir trabajos, tareas o procesos,
entre un conjunto de procesadores. Puede ser que este conjunto de procesadores
esté en un equipo o en diferentes, en este caso es trasparente para el usuario.
Existen dos esquemas básicos de éstos. Un sistema fuertemente acoplado es a es
aquel que comparte la memoria y un reloj global, cuyos tiempos de acceso son
similares para todos los procesadores. En un sistema débilmente acoplado los
procesadores no comparten ni memoria ni reloj, ya que cada uno cuenta con su
memoria local.
Sistemas Operativos de red
Son aquellos sistemas que mantienen a dos o más
computadoras unidas através de algún medio de comunicación (físico o no), con
el objetivo primordial de poder compartir los diferentes recursos y la información
del sistema.
El primer Sistema Operativo de red estaba enfocado a
equipos con un procesador Motorola 68000, pasando posteriormente a procesadores
Intel como Novell Netware. Los Sistemas Operativos de red mas ampliamente
usados son: Novell Netware, Personal Netware, LAN Manager, Windows NT Server,
UNIX, LANtastic.
A finales de los 40's el uso
de computadora 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 acorrer 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.
Posteriormente, en la tercera generación
de computadoras nace uno de los primeros sistemas
operativos con la filosofía de administrar
una familia de computadoras: el OS/360 de IBM. Fue este
un proyecto tan novedoso y ambicioso que enfrentó por primera vez
una serie de problemas conflictivos debido a que
anteriormente las computadoras eran creadas para dos propósitos en
general: el comercial y el científico. Así, al tratar
de crear un solosistema operativo para computadoras que podían
dedicarse a un propósito, al otro o ambos, puso en evidencia la problemática
del trabajo en equiposde análisis, diseño e
implantación de sistemas grandes.
El resultado fue un sistema del cual uno de
sus mismos diseñadores patentizó su opinión en la portada de un libro: una
horda de bestias prehistóricas atascadas en un foso de brea. Surge también
en la tercera generación de computadoras el concepto de la
multiprogramación, porque debido al alto costo de las
computadoras eranecesario idear un esquema de trabajo que mantuviese a
launidad central de procesamiento más tiempo ocupada, así como
el encolado (spooling ) detrabajos para su lectura hacia
los lugares libres de memoria o
la escritura de resultados. Sin embargo, se puede afirmar
que los sistemas durante la tercera generación siguieron siendo básicamente
sistemas de lote.
En la cuarta generación
la electrónica avanza hacia
la integración a gran escala, pudiendo
crear circuitos con miles de transistores en un centímetro
cuadrado de silicón y ya es posible hablar de las computadoraspersonales y
las estaciones de trabajo. Surgen los conceptos de interfaces
amigables intentando así atraer alpúblico en general al uso de
las computadoras como herramientas cotidianas. Se
hacen populares el MS-DOS y UNIX en
estasmáquinas. También es común encontrar clones de
computadoras personales y unamultitud de empresas pequeñas
ensamblándolas por todo el mundo.
Para mediados de los 80's, comienza el auge de
las redes de computadoras y la necesidad de sistemas operativos
en red y sistemas operativos distribuidos.
La red mundial Internet se va haciendo accesible a toda clase de
instituciones y se comienzan a dar muchas soluciones ( y
problemas ) al querer hacer convivir recursos residentes en
computadoras con sistemas operativos diferentes. Para los 90's
el paradigma de la programaciónorientada a objetos cobra auge,
así como el manejo de objetos desde los sistemas operativos.
Las aplicaciones intentan crearse para ser ejecutadas en una
plataforma específica y poder ver sus resultados en
la pantalla o monitor de otra diferente (por ejemplo,
ejecutar una simulación en una máquinacon UNIX y ver los
resultados en otra con DOS ). Los niveles de interacción se van
haciendo cada vez más profundos.
§ Un Sistema Operativo (SO) es el
software básico de una computadora que provee una interfaz entre el resto de
programas del ordenador, los dispositivos hardware y el usuario.
§ Las funciones básicas del Sistema
Operativo son administrar los recursos de la máquina, coordinar el hardware y
organizar archivos y directorios en dispositivos de almacenamiento.
§ Los Sistemas Operativos más
utilizados son Dos, Windows, Linux y Mac. Algunos SO ya vienen con un navegador
integrado, como Windows que trae el navegador Internet Explorer.











No hay comentarios:
Publicar un comentario