|
| |
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.
Publicación enviada por 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
Compartir 
Publicación enviada por Heriberto Gabriel Soto
Contactar cypress_92@hotmail.com
Código ISPN de la Publicación EpyppFkpyEctYbpJUW
Publicado Monday 4 de August de 2003
Ultimas Publicaciones en ilustrados.com
ilustrados.com nace con el fin difundir el conocimiento publicando trabajos de investigación, monografias, tesis, presentaciones powerpoint y afines. Publicar trabajos en ilustrados.com ha alcanzado prestigio y reconocimiento internacional siendo cada vez más el número de académicos, empresas, investigadores, científicos que consultan las publicaciones de nuestro portal.
|