Ilustrados comunidad mundial educativa
Inicio | Escribenos
User: Pass: Recordar ó (Registrate!)

| !Publicar Articulo¡

Sistemas operativos

Resumen: Introducción a los sistemas operativos. Estructura de un sistema operativo. Funciones y características de los sistemas operativos. Modalidades de trabajo de los sistemas operativos.
4,994 visitas
Rating: 0
Tell a Friend
Autor: Heriberto Gabriel Soto

Sistemas operativos

Indice
1. Introducción alos sistemas operativos
2. Estructura de un sistemaoperativo
3. Funciones y característicasde los sistemas operativos.
4. Modalidades de trabajo delos sistemas operativos.
5. Bibliografia

1. Introducción a los sistemas operativos

Definiciones de los sistemas operativos.
Un sistema operativo es un programa que actúa como intermediario entre elusuario y el hardware de un computador y su propósito es proporcionar unentorno en el cual el usuario pueda ejecutar programas. El objetivo principal deun sistema operativo es lograr que el sistema de computación se use de manera cómoda,y el objetivo secundario es que el hardware del computador se emplee de maneraeficiente.
Un sistema Operativo (SO) es en sí mismo un programa de computadora. Sinembargo, es un programa muy especial, quizá el más complejo e importante enuna computadora. El SO despierta a la computadora y hace que reconozca a la CPU,la memoria, el teclado, el sistema de vídeo y las unidades de disco. Además,proporciona la facilidad para que los usuarios se comuniquen con la computadoray sirve de plataforma a partir de la cual se corran programas de aplicación.
Cuando enciendes una computadora, lo primero que ésta hace es llevar a cabo unautodiagnóstico llamado auto prueba de encendido (Power On Self Test, POST).Durante la POST, la computadora identifica su memoria, sus discos, su teclado,su sistema de vídeo y cualquier otro dispositivo conectado a ella. Lo siguienteque la computadora hace es buscar un SO para arrancar (boot).
Una vez que la computadora ha puesto en marcha su SO, mantiene al menos parte deéste en su memoria en todo momento. Mientras la computadora esté encendida, elSO tiene 4 tareas principales:

  • Proporcionar ya sea una interfaz de línea de comando o una interfaz gráfica al usuario, para que este último se pueda comunicar con la computadora. Interfaz de línea de comando: tú introduces palabras y símbolos desde el teclado de la computadora, ejemplo, el MS-DOS. Interfaz gráfica del Usuario (GUI), seleccionas las acciones mediante el uso de un Mouse para pulsar sobre figuras llamadas iconos o seleccionar opciones de los menús.
  • Administrar los dispositivos de hardware en la computadora. Cuando corren los programas, necesitan utilizar la memoria, el monitor, las unidades de disco, los puertos de Entrada/Salida (impresoras, módems, etc.). El SO sirve de intermediario entre los programas y el hardware.
  • Administrar y mantener los sistemas de archivo de disco. Los SO agrupan la información dentro de compartimientos lógicos para almacenarlos en el disco. Estos grupos de información son llamados archivos. Los archivos pueden contener instrucciones de programas o información creada por el usuario. El SO mantiene una lista de los archivos en un disco, y nos proporciona las herramientas necesarias para organizar y manipular estos archivos.
  • Apoyar a otros programas. Otra de las funciones importantes del SO es proporcionar servicios a otros programas. Estos servicios son similares a aquellos que el SO proporciona directamente a los usuarios. Por ejemplo, listar los archivos, grabarlos a disco, eliminar archivos, revisar espacio disponible, etc. Cuando los programadores escriben programas de computadora, incluyen en sus programas instrucciones que solicitan los servicios del SO. Estas instrucciones son conocidas como "llamadas del sistema"

¿Qué es un sistema operativo?
Un sistema operativo es el programa que oculta la verdad del hardware alprogramador y presenta una vista simple y agradable de los archivos nominadosque pueden leerse y escribirse. El sistema operativo resguarda al programadordel hardware del disco y presenta una interfaz simple orientada al archivo,también disimula mucho del trabajo concerniente a interrupciones, relojes ocronómetros, manejo de memoria y otras características de bajo nivel.
La función del sistema operativo es la de presentar al usuario con elequivalente de una máquina ampliada o máquina virtual que sea más fácil deprogramar que el hardware implícito.
Un sistema operativo es una parte importante de casi cualquier sistema decomputación. Un sistema de computación puede dividirse en cuatro componentes:el hardware, el sistema operativo, los programas de aplicación y los usuarios.
El hardware (unidad central de procesamiento (UCP), memoria y dispositivos deentrada y salida (E/S)) proporciona los recursos de computación básicos. Losprogramas de aplicación (compiladores, sistemas de bases de datos, juegos devideo y programas para negocios) definen la forma en que estos recursos seemplean para resolver los problemas de computación de los usuarios. Puede haberdistintos usuarios (personas, máquinas, otros computadores) que intentanresolver problemas diferentes; por lo tanto es posible que haya diferentesprogramas de aplicación. El sistema operativo controla y coordina el uso delhardware entre los diversos programas de aplicación de los distintos usuarios
Podemos ver al sistema operativo como un asignador de recursos. Un sistema decomputación tiene muchos recursos (hardware y software) que pueden requerirsepara resolver un problema: tiempo de la UCP, espacio de memoria, espacio dealmacenamiento de archivos, dispositivos de E/S, etc. El sistema operativo actúacomo el administrador de estos recursos y los asigna a usuarios y programasconcretos según los necesiten las tareas de los usuarios.
Puesto que pueden surgir conflictos en las solicitudes de recursos, el sistemaoperativo debe decidir a que solicitudes se les asignaran para que el sistema decomputación pueda funcionar de manera eficiente y justa.
En términos generales no hay una definición de sistema operativo completamenteadecuada. Los sistemas operativos existen porque son una manera razonable desolucionar el problema de crear un sistema de computación utilizable.

Objetivos para la creación de los sistemas
Operativos.

  • Transformar el complejo hardware de una computadora a una máquina accesible al usuario.
  • Lograr el mejor uso posible de los recursos. Hacer eficiente el uso del recurso.

El objetivo fundamental de los sistemas de computación es ejecutar losprogramas de los usuarios y facilitar la resolución de sus problemas. Elhardware se construye con este fin, pero como este no es fácil de utilizar, sedesarrollan programas de aplicación que requieren ciertas operaciones comunes,como el control de dispositivos de E/S. las funciones comunes de control y deasignación de recursos se integran para formar un solo fragmento de software:el sistema operativo.

Desarrollo histórico de los sistemas operativos.
En un principio solo existía el hardware del computador. Los primeroscomputadores eran (físicamente) grandes maquinas que se operaban desde unaconsola. El programador escribía un programa y luego lo controlaba directamentedesde la consola. En primer lugar, el programa se cargaba manualmente en lamemoria, desde los interruptores del tablero frontal (una instrucción en cadaocasión), desde una cinta de papel o desde tarjetas perforadas. Luego sepulsaban los botones adecuados para establecer la dirección de inicio ycomenzar la ejecución del programa. Mientras este se ejecutaba, elprogramador-operador lo podía supervisar observando las luces en la consola, sise descubrían errores, el programador podía detener el programa, examinar elcontenido de la memoria y los registros y depurar el programa directamente desdela consola. La salida del programa se imprimía, o se perforaba en cintas depapel o tarjetas para su impresión posterior.
Sin embargo, con este procedimiento se presentaban ciertos problemas. Supongamosque un usuario se había registrado para usar una hora de tiempo del computadordedicada a ejecutar el programa que estaba desarrollando, pero se topaba con algúnerror difícil y no podía terminar en esa hora. Si alguien más habíareservado el siguiente bloque de tiempo, usted debía detenerse, rescatar lo quepudiera y volver mas tarde para continuar. Por otra parte, si el programa seejecutaba sin problemas, podría terminar en 35 minutos; pero como pensó quenecesitaría la maquina durante más tiempo, se registro para usarla una hora, ypermanecería inactiva durante 25 minutos.
Conforme transcurrió el tiempo, se desarrollaron software y hardwareadicionales; empezaron a popularizarse los lectores de tarjetas, impresoras de líneasy cintas magnéticas; se diseñaron ensambladores, cargadores y ligadores parafacilitar las tareas de programación, y se crearon bibliotecas de funcionescomunes, de manera que estas podían copiarse a un nuevo programa sin tener queescribirlas de nuevo.
Las rutinas que efectuaban operaciones de E/S tenían una importancia especial.Cada nuevo dispositivo de E/S poseía sus propias características, lo querequería una cuidadosa programación. Así mismo, para cada uno de ellos seescribía una subrutina especial, la cual se denominaba manejador dedispositivos. Este sabe como deben de usarse los buffers, indicadores,registros, bits de control y bits de estado para cada dispositivo. Cada tipo dedispositivo tenía su propio manejador. Una tarea sencilla, como leer un carácterde un lector de cinta de papel, podía conllevar complicadas secuencias deoperaciones específicas para el dispositivo. En lugar de tener que escribircada vez el código necesario, bastaba usar el manejador de dispositivo de labiblioteca.
Más tarde aparecieron los compiladores de FORTRAN, COBOL y otros lenguajes, loque facilito la tarea de programación, pero hizo más complejo elfuncionamiento del computador. Por ejemplo, al preparar la ejecución de unprograma en FORTRAN, el programador primero necesitaba cargar en el computadorel compilador de FORTRAN, que generalmente se conservaba en una cinta magnética,por lo que había que montar la cinta adecuada en la unidad correspondiente. Elprograma se leía a través del lector de tarjetas y se escribía en otra cinta.El compilador de FORTRAN producía una salida en lenguaje ensamblador, que luegotenia que ensamblarse, para esto era necesario montar otra cinta con elensamblador, y su salida debía enlazarse con las rutinas de apoyo de lasbibliotecas. Finalmente, el programa objeto, en código binario, estaba listopara ejecutarse; se cargaba en memoria y se depuraba desde la consola comoantes.
Los Sistemas Operativos, al igual que el Hardware de los computadores, hansufrido una serie de cambios revolucionarios llamados generaciones. En el casodel Hardware, las generaciones han sido marcadas por grandes avances en loscomponentes utilizados, pasando de válvulas (primera generación) atransistores (segunda generación), a circuitos integrados (tercera generación),a circuitos integrados de gran y muy gran escala (cuarta generación). Cadageneración Sucesiva de hardware ha ido acompañada de reducciones substancialesen los costos, tamaño, emisión de calor y consumo de energía, y porincrementos notables en velocidad y capacidad.

Generación Cero (década de 1940)
Los primeros sistemas computacionales no poseían sistemas operativos. Losusuarios tenían completo acceso al lenguaje de la maquina. Todas lasinstrucciones eran codificadas a mano.

Primera Generación (década de 1950)
Los sistemas operativos de los años cincuenta fueron diseñados para hacer masfluida la transición entre trabajos. Antes de que los sistemas fueran diseñados,se perdía un tiempo considerable entre la terminación de un trabajo y elinicio del siguiente. Este fue el comienzo de los sistemas de procesamiento porlotes, donde los trabajos se reunían por grupos o lotes. Cuando el trabajoestaba en ejecución, este tenia control total de la maquina. Al terminar cadatrabajo, el control era devuelto al sistema operativo, el cual limpiaba y leíae iniciaba el trabajo siguiente.
Al inicio de los 50's esto había mejorado un poco con la introducción detarjetas perforadas (las cuales servían para introducir los programas delenguajes de máquina), puesto que ya no había necesidad de utilizar lostableros enchufables.
Además el laboratorio de investigación General Motors implementó el primersistema operativo para la IBM 701. Los sistemas de los 50's generalmenteejecutaban una sola tarea, y la transición entre tareas se suavizaba paralograr la máxima utilización del sistema. Esto se conoce como sistemas deprocesamiento por lotes de un sólo flujo, ya que los programas y los datos eransometidos en grupos o lotes.
La introducción del transistor a mediados de los 50's cambió la imagenradicalmente. Se crearon máquinas suficientemente confiables las cuales seinstalaban en lugares especialmente acondicionados, aunque sólo las grandesuniversidades y las grandes corporaciones o bien las oficinas del gobierno sepodían dar el lujo de tenerlas.
Para poder correr un trabajo (programa), tenían que escribirlo en papel (enFORTRAN o en lenguaje ensamblador) y después se perforaría en tarjetas.Enseguida se llevaría la pila de tarjetas al cuarto de introducción al sistemay la entregaría a uno de los operadores. Cuando la computadora terminara eltrabajo, un operador se dirigiría a la impresora y desprendería la salida y lallevaría al cuarto de salida, para que la recogiera el programador.

Segunda Generación (a mitad de la década de 1960)
La característica de los sistemas operativos fue el desarrollo de los sistemascompartidos con multiprogramación, y los principios del multiprocesamiento. Enlos sistemas de multiprogramación, varios programas de usuario se encuentran almismo tiempo en el almacenamiento principal, y el procesador se cambia rápidamentede un trabajo a otro. En los sistemas de multiprocesamiento se utilizan variosprocesadores en un solo sistema computacional, con la finalidad de incrementarel poder de procesamiento de la maquina.
La independencia de dispositivos aparece después. Un usuario que desea escribirdatos en una cinta en sistemas de la primera generación tenia que hacerreferencia especifica a una unidad de cinta particular. En la segunda generación,el programa del usuario especificaba tan solo que un archivo iba a ser escritoen una unidad de cinta con cierto número de pistas y cierta densidad.
Se desarrollo sistemas compartidos, en la que los usuarios podían acoplarsedirectamente con el computador a través de terminales. Surgieron sistemas detiempo real, en que los computadores fueron utilizados en el control de procesosindustriales. Los sistemas de tiempo real se caracterizan por proveer unarespuesta inmediata.

Tercera Generación (mitad de década 1960 a mitad década de 1970)
Se inicia en 1964, con la introducción de la familia de computadoresSistema/360 de IBM. Los computadores de esta generación fueron diseñados comosistemas para usos generales. Casi siempre eran sistemas grandes, voluminosos,con el propósito de serlo todo para toda la gente. Eran sistemas de modos múltiples,algunos de ellos soportaban simultáneamente procesos por lotes, tiempocompartido, procesamiento de tiempo real y multiprocesamiento. Eran grandes ycostosos, nunca antes se había construido algo similar, y muchos de losesfuerzos de desarrollo terminaron muy por arriba del presupuesto y mucho despuésde lo que el planificador marcaba como fecha de terminación.
Estos sistemas introdujeron mayor complejidad a los ambientes computacionales;una complejidad a la cual, en un principio, no estaban acostumbrados losusuarios.

Cuarta Generación (mitad de década de 1970 en adelante)
Los sistemas de la cuarta generación constituyen el estado actual de latecnología. Muchos diseñadores y usuarios se sienten aun incómodos, despuésde sus experiencias con los sistemas operativos de la tercera generación.
Con la ampliación del uso de redes de computadores y del procesamiento en línealos usuarios obtienen acceso a computadores alejados geográficamente a travésde varios tipos de terminales.
Los sistemas de seguridad se han incrementado mucho ahora que la informaciónpasa a través de varios tipos vulnerables de líneas de comunicación. La clavede cifrado esta recibiendo mucha atención; han sido necesario codificar losdatos personales o de gran intimidad para que; aun si los datos son expuestos,no sean de utilidad a nadie mas que a los receptores adecuados.

2. Estructura de un sistema operativo

En esta unidad examinaremos cuatro estructuras distintas que ya han sidoprobadas, con el fin de tener una idea más extensa de cómo esta estructuradoel sistema operativo. Veremos brevemente algunas estructuras de diseños desistemas operativos. 

Estructura modular.
También llamados sistemas monolíticos. Este tipo de organización es con muchola mas común; bien podría recibir el subtitulo de "el granembrollo". La estructura consiste en que no existe estructura alguna. Elsistema operativo se escribe como una colección de procedimientos, cada uno delos cuales puede llamar a los demás cada vez que así lo requiera. Cuando seusa esta técnica, cada procedimiento del sistema tiene una interfaz biendefinida en términos de parámetros y resultados y cada uno de ellos es librede llamar a cualquier otro, si este ultimo proporciona cierto cálculo útilpara el primero. Sin embargo incluso en este tipo de sistemas es posible teneral menos algo de estructura. Los servicios (llamadas al sistema) que proporcionael sistema operativo se solicitan colocando los parámetros en lugares biendefinidos, como en los registros o en la pila, para después ejecutar unainstrucción especial de trampa de nombre "llamada al núcleo" o"llamada al supervisor".
Esta instrucción cambia la máquina del modo usuario al modo núcleo ytransfiere el control al sistema operativo, lo que se muestra en el evento (1)de la figura 1. El sistema operativo examina entonces los parámetros de lallamada, para determinar cual de ellas se desea realizar, como se muestra en elevento (2) de la figura 1. A continuación, el sistema operativo analiza unatabla que contiene en la entrada k un apuntador al procedimiento que realiza lak-esima llamada al sistema. Esta operación que se muestra en (3) de la figura1, identifica el procedimiento de servicio, al cual se llama. Por ultimo, lallamada al sistema termina y el control regresa al programa del usuario.
Figura 1. La forma en que debe hacerse una llamada al sistema: (1) el programadel usuario es atraído hacia el núcleo. (2) el sistema operativo determina elnúmero del servicio solicitado. (3) el sistema operativo localiza y llama alprocedimiento correspondiente al servicio. (4) el control regresa al programadel usuario.

Esta organización sugiere una organización básica del sistema operativo:
1.- un programa principal que llama al procedimiento del servicio solicitado.
2.- un conjunto de procedimientos de servicio que llevan a cabo las llamadas alsistema.
3.- un conjunto de procedimientos utilitarios que ayudan al procedimiento deservicio.

En este modelo, para cada llamada al sistema existe un procedimiento deservicio que se encarga de él. Los procedimientos utilitarios hacen cosasnecesarias para varios procedimientos de servicio, por ejemplo buscar los datosde los programas del usuario. La siguiente figura muestra este procedimiento detres capas:
(Para ver el gráfico faltante haga click en el menú superior "BajarTrabajo")
Figura 2. Un modelo de estructura simple para un sistema monolítico.
(Para ver el gráfico faltante haga click en el menú superior "BajarTrabajo")

Estructura por microkernel.
Las funciones centrales de un SO son controladas por el núcleo (kernel)mientras que la interfaz del usuario es controlada por el entorno (shell). Porejemplo, la parte más importante del DOS es un programa con el nombre"COMMAND.COM" Este programa tiene dos partes. El kernel, que semantiene en memoria en todo momento, contiene el código máquina de bajo nivelpara manejar la administración de hardware para otros programas que necesitanestos servicios, y para la segunda parte del COMMAND.COM el shell, el cual es elinterprete de comandos
Las funciones de bajo nivel del SO y las funciones de interpretación decomandos están separadas, de tal forma que puedes mantener el kernel DOScorriendo, pero utilizar una interfaz de usuario diferente. Esto es exactamentelo que sucede cuando cargas Microsoft Windows, el cual toma el lugar del shell,reemplazando la interfaz de línea de comandos con una interfaz gráfica delusuario. Existen muchos "shells" diferentes en el mercado, ejemplo:NDOS (Norton DOS), XTG, PCTOOLS, o inclusive el mismo SO MS-DOS a partir de laversión 5.0 incluyó un Shell llamado DOS SHELL.

 

Estructura por anillos concéntricos (capas).
El sistema por "capas" consiste en organizar el sistema operativo comouna jerarquía de capas, cada una construida sobre la inmediata inferior. Elprimer sistema construido de esta manera fue el sistema THE (TechnischeHogeschool Eindhoven), desarrollado en Holanda por E. W. Dijkstra (1968) y susestudiantes.
El sistema tenia 6 capas, como se muestra en la figura 3. La capa 0 trabaja conla asignación del procesador y alterna entre los procesos cuando ocurren lasinterrupciones o expiran los cronómetros. Sobre la capa 0, el sistema consta deprocesos secuénciales, cada uno de los cuales se podría programar sin importarque varios procesos estuvieran ejecutándose en el mismo procesador, la capa 0proporcionaba la multiprogramación básica de la CPU.

La capa 1 realizaba la administración de la memoria. Asignaba el espacio dememoria principal para los procesos y un recipiente de palabras de 512K seutilizaba para almacenar partes de los procesos (páginas) para las que no existíalugar en la memoria principal. Por encima de la capa 1, los procesos no debíanpreocuparse si estaban en la memoria o en el recipiente; el software de la capa1 se encargaba de garantizar que las páginas llegaran a la memoria cuandofueran necesarias.
La capa 2 se encargaba de la comunicación entre cada proceso y la consola deloperador. Por encima de esta capa, cada proceso tiene su propia consola deoperador.
La capa 3 controla los dispositivos de E/S y guarda en almacenes (buffers) losflujos de información entre ellos. Por encima de la capa 3, cada proceso puedetrabajar con dispositivos exactos de E/S con propiedades adecuadas, en vez dedispositivos reales con muchas peculiaridades. La capa 4 es donde estaban losprogramas del usuario, estos no tenían que preocuparse por el proceso, memoria,consola o control de E/S. el proceso operador del sistema se localizaba en lacapa 5
Una generalización mas avanzada del concepto de capas se presento en el sistemaMULTICS. En lugar de capas, MULTICS estaba organizado como una serie de anillosconcéntricos, siendo los anillos interiores los privilegiados. Cuando unprocedimiento de un anillo exterior deseaba llamar a un procedimiento de unanillo interior, debió hacer el equivalente a una llamada al sistema
Mientras que el esquema de capas de THE era en realidad un apoyo al diseño,debido a que todas las partes del sistema estaban ligadas entre si en un soloprograma objeto, en MULTICS, el mecanismo de anillos estaba mas presente duranteel tiempo de ejecución y era reforzado por el hardware. La ventaja delmecanismo de anillos es su facilidad de extensión para estructurar subsistemasdel usuario.

5 El operador
4 Programas del usuario
3 Control de entrada/salida
2 Comunicación operador-proceso
1 Administración de la memoria y del disco
0 Asignación del procesador y multiprogramación

Figura 3. Estructura del sistema operativo THE.

Estructura cliente – servidor
Una tendencia de los sistemas operativos modernos es la de explotar la idea demover el código a capas superiores y eliminar la mayor parte posible delsistema operativo para mantener un núcleo mínimo. El punto de vista usual esel de implantar la mayoría de las funciones del sistema operativo en losprocesos del usuario. Para solicitar un servicio, como la lectura de un bloquede cierto archivo, un proceso del usuario (denominado proceso cliente) envía lasolicitud a un proceso servidor, que realiza entonces el trabajo y regresa larespuesta. En este modelo, que se muestra en la figura 4, lo único que hace elnúcleo es controlar la comunicación entre los clientes y los servidores. Alseparar el sistema operativo en partes, cada una de ellas controla una facetadel sistema, como el servicio a archivos, servicios a procesos, servicio aterminales o servicio a la memoria, cada parte es pequeña y controlable. Ademáscomo todos los servidores se ejecutan como procesos en modo usuario y no en modonúcleo, no tienen acceso directo al hardware. En consecuencia si hay un erroren el servidor de archivos, éste puede fallar, pero esto no afectará engeneral a toda la máquina.
(Para ver el gráfico faltante haga click en el menú superior "BajarTrabajo")

Figura 4. El modelo Cliente-servidor.
Otra de las ventajas del modelo cliente-servidor es su capacidad de adaptaciónpara su uso en los sistemas distribuidos (figura 5).
Si un cliente se comunica con un servidor mediante mensajes, el cliente nonecesita saber si el mensaje se maneja en forma local, en su máquina, o si seenvía por medio de una red a un servidor en una máquina remota. En lo querespecta al cliente, lo mismo ocurre en ambos casos: se envió una solicitud yse recibió una respuesta.
(Para ver el gráfico faltante haga click en el menú superior "BajarTrabajo")

Figura 5. El modelo cliente-servidor en un sistema distribuido.

3. Funciones y características de los sistemas operativos.

Funciones de los sistemas operativos.
1.- Aceptar todos los trabajos y conservarlos hasta su finalización.
2.- Interpretación de comandos: Interpreta los comandos que permiten al usuariocomunicarse con el ordenador.
3.- Control de recursos: Coordina y manipula el hardware de la computadora, comola memoria, las impresoras, las unidades de disco, el teclado o el Mouse.
4.- Manejo de dispositivos de E/S: Organiza los archivos en diversosdispositivos de almacenamiento, como discos flexibles, discos duros, discoscompactos o cintas magnéticas.
5.- Manejo de errores: Gestiona los errores de hardware y la pérdida de datos.
6.- Secuencia de tareas: El sistema operativo debe administrar la manera en quese reparten los procesos. Definir el orden. (Quien va primero y quien después).
7.- Protección: Evitar que las acciones de un usuario afecten el trabajo queesta realizando otro usuario.
8.- Multiacceso: Un usuario se puede conectar a otra máquina sin tener queestar cerca de ella.

9.- Contabilidad de recursos: establece el costo que se le cobra a un usuariopor utilizar determinados recursos.

Características de los sistemas operativos.
En general, se puede decir que un Sistema Operativo tiene las siguientescaracterísticas:

  • 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.

4. Modalidades de trabajo de los sistemas operativos.

Sistemas operativos por lotes.
La secuencia por lotes o procesamiento por lotes en microcomputadoras, es laejecución de una lista de comandos del sistema operativo uno tras otro sinintervención del usuario.
En los ordenadores más grandes el proceso de recogida de programas y deconjuntos de datos de los usuarios, la ejecución de uno o unos pocos cada vez yla entrega de los recursos a los usuarios. Procesamiento por lotes tambiénpuede referirse al proceso de almacenar transacciones durante un cierto lapsoantes de su envío a un archivo maestro, por lo general una operación separadaque se efectúa durante la noche
Los sistemas operativos por lotes (batch), en los que los programas erantratados por grupos (lote) en ves de individualmente. La función de estossistemas operativos consistía en cargar en memoria un programa de la cinta yejecutarlo. Al final este, se realizaba el salto a una dirección de memoriadesde donde reasumía el control del sistema operativo que cargaba el siguienteprograma y lo ejecutaba. De esta manera el tiempo entre un trabajo y el otrodisminuía considerablemente.
(Para ver el gráfico faltante haga click en el menú superior "BajarTrabajo")

Figura 6 - Sistema de procesamiento por lotes.
Algunas otras características con que cuentan los Sistemas Operativos por lotesson:

  • Requiere que el programa, datos y órdenes al sistema sean remitidos todos juntos en forma de lote.
  • Permiten poca o ninguna interacción usuario/programa en ejecución.
  • Mayor potencial de utilización de recursos que procesamiento serial simple en sistemas multiusuarios.
  • No conveniente para desarrollo de programas por bajo tiempo de retorno y depuración fuera de línea.
  • Conveniente para programas de largos tiempos de ejecución (Ej., análisis estadísticos, nóminas de personal, etc.)
  • Se encuentra en muchos computadores personales combinados con procesamiento serial.
  • Planificación del procesador sencilla, típicamente procesados en orden de llegada.
  • Planificación de memoria sencilla,  generalmente se divide en dos: parte residente del S.O. y programas transitorios.
  • No requieren gestión crítica de dispositivos en el tiempo.
  • Suelen proporcionar gestión sencilla de manejo de archivos: se requiere poca protección y ningún control de concurrencia para el acceso.

Sistemas operativos de tiempo compartido.
El tiempo compartido en ordenadores o computadoras consiste en el uso de unsistema por más de una persona al mismo tiempo. El tiempo compartido ejecutaprogramas separados de forma concurrente, intercambiando porciones de tiempoasignadas a cada programa (usuario). En este aspecto, es similar a la capacidadde multitareas que es común en la mayoría de los microordenadores o lasmicrocomputadoras. Sin embargo el tiempo compartido se asocia generalmente conel acceso de varios usuarios a computadoras más grandes y a organizaciones deservicios, mientras que la multitarea relacionada con las microcomputadorasimplica la realización de múltiples tareas por un solo usuario.
Los principales recursos del sistema, el procesador, la memoria, dispositivos deE/S, son continuamente utilizados entre los diversos usuarios, dando a cadausuario la ilusión de que tiene el sistema dedicado para sí mismo. Esto traecomo consecuencia una gran carga de trabajo al Sistema Operativo, principalmenteen la administración de memoria principal y secundaria.

Características de los Sistemas Operativos de tiempo compartido:

  • Populares representantes de sistemas multiprogramados multiusuario, Ej.: sistemas de diseño asistido por computador, procesamiento de texto, etc.
  • Dan la ilusión de que cada usuario tiene una máquina para  sí.
  • La mayoría utilizan algoritmo de reparto circular.
  • Los programas se ejecutan con prioridad rotatoria que se incrementa con la espera y disminuye después de concedido el servicio.
  • Evitan monopolización del sistema asignando tiempos de procesador (time slot).
  • Gestión de memoria: proporciona protección a programas residentes.
  • Gestión de archivo: debe proporcionar protección y control de acceso debido a que  pueden existir múltiples usuarios accesando un mismo archivo.

Sistemas operativos de tiempo real.
Un sistema operativo en tiempo real procesa las instrucciones recibidas alinstante, y una vez que han sido procesadas muestra el resultado. Este tipotiene relación con los sistemas operativos monousuarios, ya que existe un solooperador y no necesita compartir el procesador entre varias solicitudes.
Su característica principal es dar respuestas rápidas; por ejemplo en un casode peligro se necesitarían respuestas inmediatas para evitar una catástrofe.
Los Sistemas Operativos de tiempo real, cuentan con las siguientes características:

  • Se dan en entornos en donde deben ser aceptados y procesados gran cantidad de sucesos, la mayoría externos al sistema computacional, en breve tiempo o dentro de ciertos plazos.
  • Se utilizan en control industrial, conmutación telefónica, control de vuelo, simulaciones en tiempo real., aplicaciones militares, etc.
  • Su objetivo es proporcionar rápidos tiempos de respuesta.
  • Procesa ráfagas de miles de interrupciones por segundo sin perder un solo suceso.
  • Un proceso se activa tras ocurrencia de suceso, mediante interrupción.
  • Un proceso de mayor  prioridad expropia recursos.
  • Por tanto generalmente se utiliza planificación expropiativa basada en prioridades.
  • Gestión de memoria menos exigente que tiempo compartido, usualmente procesos son residentes permanentes en memoria.
  • Población de procesos estática en gran medida.
  • Poco movimiento de programas entre almacenamiento secundario y memoria.
  • La gestión de archivos se orienta  más a velocidad de acceso que a utilización eficiente del recurso.

Sistemas operativos de red.
La principal función de un sistema operativo de red es ofrecer un mecanismopara transferir archivos de una máquina a otra. En este entorno, cada instalaciónmantiene su propio sistema de archivos local y si un usuario de la instalaciónA quiere acceder a un archivo en la instalación B, hay que copiar explícitamenteel archivo de una instalación a otra.
Internet proporciona un mecanismo para estas transferencias, a través delprograma protocolo de transferencias de archivos FTP (File Transfer Protocol).
Suponga que un usuario quiere copiar un archivo A1, que reside en la instalaciónB, a un archivo A2 en la instalación local A. Primero, el usuario debe invocarel programa FTP, el cual solicita al usuario la información siguiente:
a) El nombre de la instalación a partir de la cual se efectuará latransferencia del archivo (es decir la instalación B).
b) La información de acceso, que verifica que el usuario tiene los privilegiosde acceso apropiados en la instalación B.
Una vez efectuada esta comprobación, el usuario puede copiar el archivo A1 de Ba A2 en A, ejecutando "get A1 to A2"
En este esquema, la ubicación del archivo no es transparente para el usuario;tiene que saber exactamente donde esta cada archivo. Además los archivos no secomparten realmente, porque un usuario solo puede copiar un archivo de unainstalación a otra. Por lo tanto pueden existir varias copias del mismoarchivo, lo que representa un desperdicio de espacio. Así mismo, si semodifican, estas copias no serán consistentes.
Los Sistemas Operativos de red son aquellos sistemas que mantienen a dos o máscomputadoras unidas a través de algún medio de comunicación (físico o no),con el objetivo primordial de poder compartir los diferentes recursos y lainformación del sistema.
El primer Sistema Operativo de red estaba enfocado a equipos con un procesadorMotorola 68000, pasando posteriormente a procesadores Intel como Novell Netware.
Los Sistemas Operativos de red más ampliamente usados son: Novell Netware,Personal Netware, LAN Manager, Windows NT Server, UNIX, LANtastic.

Sistemas operativos distribuidos.
En un sistema operativo distribuido los usuarios pueden acceder a recursosremotos de la misma manera en que lo hacen para los recursos locales. La migraciónde datos y procesos de una instalación a otra queda bajo el control del sistemaoperativo distribuido.
Permiten distribuir trabajos, tareas o procesos, entre un conjunto deprocesadores. Puede ser que este conjunto de procesadores esté en un equipo oen diferentes, en este caso es transparente para el usuario. Existen dosesquemas básicos de éstos. Un sistema fuertemente acoplado es aquel quecomparte la memoria y un reloj global, cuyos tiempos de acceso son similarespara todos los procesadores. En un sistema débilmente acoplado los procesadoresno comparten ni memoria ni reloj, ya que cada uno cuenta con su memoria local.
Los sistemas distribuidos deben de ser muy confiables, ya que si un componentedel sistema se descompone otro componente debe de ser capaz de reemplazarlo.
Entre los diferentes Sistemas Operativos distribuidos que existen tenemos lossiguientes: Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Taos, etc.

Características de los Sistemas Operativos distribuidos:

  • Colección de sistemas autónomos capaces de comunicación y cooperación mediante interconexiones hardware y software.
  • Proporciona abstracción de máquina virtual a los usuarios.
  • Objetivo clave es la transparencia.
  • Generalmente proporcionan medios para la compartición global de recursos.

Servicios añadidos: denominación global, sistemas de archivos distribuidos,facilidades para distribución de cálculos (a través de comunicación deprocesos internodos, llamadas a procedimientos remotos, etc.).

Figura 7.- Sistema Operativo Distribuido.
Sistemas operativos multiprocesadores.
En los sistemas multiprocesador, los procesadores comparten la memoria y elreloj.  Se incrementa la capacidad de procesamiento y la confiabilidad, soneconómicos. 

  • Multiprocesamiento simétrico: Cada procesador ejecuta una copia del sistema operativo. 
  • Multiprocesamiento asimétrico: Cada procesador tiene asignado una tarea específica, existe un procesador master que asigna tareas a los procesadores esclavos. 

Multiproceso: Las computadoras que tienen más de un CPU son llamadasmultiproceso. Un sistema operativo multiproceso coordina las operaciones de lascomputadoras multiprocesadores. Ya que cada CPU en una computadora demultiproceso puede estar ejecutando una instrucción, el otro procesador quedaliberado para procesar otras instrucciones simultáneamente.
Al usar una computadora con capacidades de multiproceso incrementamos suvelocidad de respuesta y procesos. Casi todas las computadoras que tienencapacidad de multiproceso ofrecen una gran ventaja.
Los primeros Sistemas Operativos Multiproceso realizaban lo que se conoce comoMultiproceso asimétrico. Una CPU principal retiene el control global de lacomputadora, así como el de los otros procesadores. Esto fue un primer pasohacia el multiproceso pero no fue la dirección ideal a seguir ya que la CPUprincipal podía convertirse en un cuello de botella.
Multiproceso simétrico. En un sistema multiproceso simétrico, no existe unaCPU controladora única. La barrera a vencer al implementar el multiproceso simétricoes que los SO tienen que ser rediseñados o diseñados desde el principio paratrabajar en un ambiente multiproceso. Las extensiones de UNIX, que soportanmultiproceso asimétrico ya están disponibles y las extensiones simétricas seestán haciendo disponibles. Windows NT de Microsoft soporta multiproceso simétrico.

5. Bibliografia

  • Sistemas Operativos Modernos

Andrew S. Tanenbaum
Pearson Education

  • Operating System Concepts

A. Silberschatz, J. Peterson, P. Galvin
Addison - Wesley Publishing Company

  • Sistemas Operativos / Diseño E Implementación

Andrew S. Tanenbaum
Prentice - Hall

 

 

Trabajo enviado por:
Heriberto Gabriel Soto
cypress_92@hotmail.com

Articulos relacionados:
Modelamiento matemático y diseño de un neurocontrolador DBP para un reactor CSTR (pdf)
Resumen:
Esta investigación tiene por objetivo el modelamiento matemático de un reactor químico continuo CSTR en el cual se desarrolla una reacción exotérmica (saponificación de a...
Windows NT
Resumen:
Características. Requerimientos. Componentes. Windows Executive. Manejador de objetos. Manejdor de procesos. Manejador de memoria virtual. Facilidad de llamadas a procedi...
Instalar un sistema operativo paso a paso desde el principio
Resumen:
Disco de inicio. Preparación de un disco rígido (Hard Disk). Instalación de Windows™. Cierre. La información en esta guía se proporciona sólo con fines informativos, y es...
Modelo de gestión estratégica para universidades a partir del cuadro de mando integral
Resumen:
Las organizaciones se debaten en el dilema de conducir su gestión por caminos que le aseguren un resultado positivo. En tal sentido el Cuadro de Mando Integral, como sist...
Sistema eléctrico de calentamiento de agua domestica en Mexicali, C.C., México
Resumen:
Los sistemas de calentamiento son requeridos en diversas operaciones comerciales e industriales y en casas habitación, principalmente. A medida que son requeridos con may...
Copyright © 2011 ilustrados.com, Monografias, tesis, bibliografias, educacion. Tofos los temas y publicaciones son propiedad de sus respectivos autores ©