Você está na página 1de 18

UNIVERSIDAD NACIONAL DE

LOJA
REA DE LA ENERGA LAS INDUSTRIAS Y LOS RECURSOS NATURALES NO RENOVABLES

INGENIERA EN ELECTRNICA Y
TELECOMUNICACIONES

Captulo #1:
Generalidades

Docente:
Ing. Daniel Armando Jaramillo Chamba.
Integrantes:
Diego Azanza.
Jons Carrillo.
Jenny Luzuriaga.
Pablo Toledo.
Ciclo:
9no A

2017
Loja-Ecuador
Qu es un sistema Operativo?

Los sistemas operativos (SO), son programas que actan como interfaz entre los usuarios y el
hardware del computador. El sistema operativo comienza a trabajar en cuanto se enciende el
ordenador y es completamente fundamental para que el usuario trabaje con l. Los sistemas
operativos realizan tareas bsicas y muy complejas, sin ellos, el ordenador no funcionara.

Los objetivos principales de los sistemas operativos, entre otros tenemos:

Ejecutar programas del usuario y resolver los problemas del usuario de manera fcil y
sencilla.
El sistema operativo controla y coordina el uso del hardware entre los diversos programas
de aplicacin para los diversos usuarios.
Hace que la computadora sea fcil y conveniente de usar.
Utiliza el hardware de la computadora de forma eficiente.

Fig. 1 Gestin de recursos por parte del sistema operativo.

Los recursos que utiliza el SO para resolver un problema dentro de un computador son: tiempo
de CPU, espacio de memoria, espacio de almacenamiento, dispositivos de E/S, etc. El SO acta
como el administrador de estos recursos y los asigna a programas y usuarios especficos segn
sea necesario para la realizacin de tareas. Los requerimientos de cada recurso varan de sistema
en sistema.

El sistema operativo es el programa que est ejecutndose en todo momento dentro del
computador (denominado ncleo o kernel1), y el resto son programas de aplicacin. En el pasado,
la eficiencia era ms importante que la comodidad. Por ello gran parte de la teora de los sistemas
operativos se concentran en el uso ptimo de los recursos de cmputo.

1
Es el mdulo central del sistema operativo. Es la parte que se carga primero y permanece en memoria principal. El
kernel es responsable por la administracin de la memoria, los procesos, las tareas y los discos.
Evolucin del sistema operativo

GENERACIN CARACTERSTICAS
Un grupo reducido de gente diseaba,
construa, programaba, mantena cada
mquina.
Las instrucciones se codificaban a mano.
Exista un desaprovechamiento inadecuado
Primera Generacin (1945-1955)
del computador ("tiempos muertos de la
CPU").
Disparidad de tiempos de ejecucin entre la
CPU y los dispositivos de E/S.
En 1950 aparecen las tarjetas perforadas.
Aparicin de los transistores.
Se especializa el personal (diseadores,
analistas, ...).
Se desarrollan los primeros sistemas
Segunda generacin (1955-1965)
operativos.
Se procesan los trabajos por lotes ("batch").
El S.O. se entiende como un programa de
control que planifica los trabajos.
Aparecen los circuitos integrados y la
multiprogramacin.
Existen muchas computadoras diferentes con
S.O. muy diferentes.
Se suministran una gran cantidad de
programas de utilidad.
Los S.O. son complejos.
Tercera generacin (1965-1980)
Se utilizan dispositivos virtuales como las
tcnicas de SPOOL2.
Multiprocesamiento (sistemas compuestos
de varios procesadores).
Surgimiento de la Ingeniera del Software.
Separacin entre la venta de hardware y
software.
Circuitos LSI (alta escala de integracin) y,
posteriormente, VLSI.
Relanzamiento de los ordenadores
personales.
Cuarta generacin (1980-2000)
Crecimiento del software para las
computadoras personales.
Crecimiento de las redes de computadoras
que ejecutan S.O. en red y distribuidos.
Aparicin de las computadoras de bolsillo
(PDA, Personal Digital Assistant) como
ampliacin de las agendas electrnicas.
Quinta generacin (2000-.)
Los S.O. se adaptan a estas nuevas
computadoras y telfonos mviles (mucho
ms pequeos que una computadora).

2
Simultaneous Peripheral Operations On-Line (Operaciones perifricas simultneas)
Sistemas por lotes.

Los Sistemas Operativos por lotes, procesan un conjunto de trabajos (con caractersticas afines)
al mismo tiempo, es decir, con poca o ninguna interaccin entre los usuarios y los programas en
ejecucin. Estos sistemas no son convenientes para el desarrollo de programas de poco tiempo
de respuesta sino que estn diseados para conjuntos de programas de largos tiempos de
ejecucin los cuales no pueden ser interrumpidos. Un ejemplo de estos lotes pueden ser: anlisis
estadsticos, nminas de personal, etc.).

En las primeras pocas los sistemas eran grandes y costosos. Generalmente constaban de una
entrada de trabajos o cola y una salida impresa. Prcticamente no haba interaccin alguna con
el usuario.

La funcin principal era la del cargador (loader) de programas y soporte de entrada/salida (E/S)
a dispositivos., de tal forma que el sistema soportaba un nico trabajo a la vez.

Fig. 2 Funcionamiento de un sistema operativo por lotes

Caractersticas de un sistema por lotes:

Las tareas relacionadas, se agrupaban en conjuntos de trabajos o lotes (batches) para su


procesamiento ms eficiente.
Un sistema por lotes realiza una secuenciacin automtica de trabajos. En l van pasando
a ejecucin de uno en uno los programas en espera.
La planificacin es muy simple. Los trabajos se procesan, en general, en el orden de
admisin (FIFO).
Un S.O. por lotes puede servir muy bien para programas que no requieran interaccin
con el usuario y aquellos con tiempos de ejecucin largos, como los programas de
nminas, de anlisis estadsticos,
Debido a los retardos en el tiempo total de ejecucin, el procesamiento por lotes no es
muy conveniente para el desarrollo de programas.

Sistemas por lotes multiprogramados.

El spooling da origen a una importante estructura de datos: la reserva de trabajos. Como


resultado del spooling, puede haber varios trabajos ya ledos esperando en el disco, listos para
ejecutarse.

Al tener reserva de trabajos en disco, el sistema operativo puede escoger cul trabajo ejecutar
a continuacin, a fin de mejorar el aprovechamiento del CPU. Si los trabajos llegan directamente
en tarjetas o incluso en cinta magntica, no es posible ejecutarlos en un orden distinto. Los
trabajos se deben ejecutar secuencialmente, bajo un rgimen de servicio por orden de llegada.
En cambio, si varios trabajos estn en un dispositivo de acceso directo, como un disco, es posible
la planificacin de trabajos 3.

El aspecto ms importante de la planificacin de trabajos es la capacidad de multiprogramar. La


operacin fuera de lnea y el spooling para traslapar la E/S tienen sus limitaciones. En general, un
solo usuario no puede mantener ni la CPU ni los dispositivos de E/S ocupados todo el tiempo. La
multiprogramacin aumenta el aprovechamiento del CPU organizando los trabajos de tal forma
que la CPU siempre tenga uno que ejecutar.

La idea principal de esto es que el sistema


operativo mantiene varios trabajos en la
memoria como se muestra en la figura (3).
Este conjunto de trabajos es un
subconjunto de los que se mantienen en
reserva de trabajos (puesto que el nmero
de trabajos que se pueden mantener
simultneamente en la memoria
generalmente es mucho menor que uno de Fig. 3 Sistemas por lotes multiprogramados.
los trabajos que pueden estar en la
reserva). El sistema operativo escoge uno de los trabajos que estn en la memoria y comienza a
ejecutarlo. Tarde o temprano, el trabajo tendr que esperar mientras se lleva a cabo alguna tarea,
como el montaje de una cinta o la terminacin de una operacin de E/S. En un sistema sin
multiprogramacin, la CPU estara ociosa. En cambio, en un sistema multiprogramado, el sistema
operativo simplemente selecciona otro trabajo y lo ejecuta. Cuando ese trabajo necesita esperar,
la CPU se conmuta a otro trabajo y as sucesivamente.

En algn momento, el primer trabajo terminar su espera y recuperar la CPU. En tanto haya
algn trabajo que ejecutar, la CPU nunca estar ociosa 4.

La multiprogramacin es el primer caso en que el sistema operativo debe tomar decisiones por
los usuarios. Por ello, los sistemas operativos multiprogramados son relativamente complejos.
Todos los trabajos que ingresan en el sistema se mantienen en un rea auxiliar de trabajos. Est
rea auxiliar consiste en todos los procesos que residen en el almacenamiento masivo y que
esperan la asignacin de espacio en la memoria principal. Si varios trabajos estn listos para
colocarse en la memoria, y no hay espacio suficiente para todos, el sistema deber escoger
algunos de entre ellos. La toma de esta decisin es la planificacin de trabajos, tambin si varios
trabajos estn listos para ejecutarse al mismo tiempo, el sistema debe escoger entre ellos, la
toma de esta decisin es conocida como planificacin de CPU.

Por lo tanto, se puede decir que las ventajas de un sistema por lotes multiprogramados son:

No se pierde mucho tiempo en las E/S.


Se guardan varios programas en la memoria.
El S.O escoge que trabajo ejecutara, para optimizar el procesamiento.
Mientras el S.O se encuentre ejecutando algn trabajo, la CPU nunca estar inactiva.
La multiprogramacin har que el S.O pueda tomar decisiones por los usuarios.

3
http://fra-7m16-stor05.uploaded.net/dl/7fe537b2-b90e-4fc5-9597-416bc7471817
4
http://www.geocities.ws/itmina_web/o/Pages/u1/1.2.html
Aun con la secuenciacin de trabajo automtico proporcionado por un sistema operativo por
lotes simples, con frecuencia el procesador est desocupado. Su desventaja es que los
dispositivos de E/S son lentos comparados con el procesador.

La siguiente figura muestra esta situacin: el procesador gasta cierto tiempo ejecutando hasta
que alcanza una instruccin de E/S. Despus debe esperar hasta que la instruccin de E/S
concluya antes de proseguir5.

Fig. 4 Sistema por lotes simple

En el caso de lotes multiprogramado no es necesario; ya que debe existir suficiente memoria para
contener el sistema operativo (monitor residente) y un programa de usuario. Suponiendo que
existe espacio para el sistema operativo y dos programas de usuario.

Ahora, cuando un trabajo necesita esperar una E/S, el procesador puede continuar a otro trabajo,
el cual es probable que no espera una E/S. Como se muestra en la siguiente figura:

Fig. 5 Sistema por lotes multiprogramado

Adems, con este proceso, se podra ampliar tambin la memoria para contener tres, cuatro o
ms programas y conmutar entre todos ellos. El proceso se le conoce
como multiprogramacin o multitarea. Ilustrado en la siguiente figura.

Fig. 6 Sistema de lotes multiprogramado

5
http://www.geocities.ws/itmina_web/o/Pages/u1/1.2.html
Como un sistema por lotes simple, un sistema por lotes de multiprogramacin es un programa
que debe basarse en ciertas caractersticas del hardware de la computadora. La caracterstica
adicional ms notable que se usa para la multiprogramacin es el hardware que soporta
interrupciones de E/S y DMA.

Con E/S manejada por interrupcin o DMA, el procesador puede emitir un comando de E/S para
un trabajo y seguir con la ejecucin de otro trabajo mientras el dispositivo controlador realiza la
E/S. Una vez que la operacin de E/S se completa, el procesador se interrumpe y se pasa el control
a un programa manejador de interrupcin en el sistema operativo. Despus, el sistema operativo
pasar el control a otro trabajo.

Los sistemas operativos de multiprogramacin son muy sofisticados comparados con los sistemas
de uniprogramacin o de programa nico. Para tener varios trabajos preparados para correr,
deben mantenerse en la memoria principal y requieren cierta forma de administracin de
memoria. Adems, si varios trabajos estn preparados para correr, el procesador debe decidir
cul correr, lo cual requiere cierto algoritmo para planificacin.6

Sistemas de tiempo Compartido.

Los sistemas por lotes multiprogramados proporcionan un entorno en el que los distintos
recursos del sistema (CPU, memoria, dispositivos perifricos) se aprovechan de manera efectiva.
No obstante, los sistemas por lotes tienen ciertos problemas desde el punto de vista del usuario.

Puesto que el usuario no puede interactuar con el trabajo durante su ejecucin, debe preparar
las tarjetas de control de modo que manejen todos los resultados posibles. En un trabajo de varios
pasos, los pasos subsecuentes podran depender del resultado de pasos anteriores. Por ejemplo,
la ejecucin de un programa podra depender de que su compilacin tenga xito. 7

El tiempo compartido o conocido como multitareas, es una extensin lgica de la


multiprogramacin. Se ejecutan mltiples trabajos mientras la CPU se conmuta entre ellos, pero
la conmutacin es tan frecuente que los usuarios pueden interactuar con cada programa durante
su ejecucin.

Un sistema de cmputo interactivo o participativo, proporciona una comunicacin directa entre


el usuario y el sistema. El usuario da instrucciones al sistema operativo o directamente a un
programa usando el teclado o el ratn, y espera resultados inmediatos. De acuerdo a esto, el
tiempo de respuesta debe ser corto, tpicamente menos de un segundo.

Un sistema operativo de tiempo compartido permite a varios usuarios compartir la computadora


simultneamente. Debido a que cada accin o comando en un sistema de tiempo compartido
tiende a ser corta, slo se necesita un poco de tiempo de CPU para cada usuario. Como el sistema
cambia rpido de un usuario al siguiente, cada usuario tiene la impresin de que todo el sistema
de cmputo est dedicado para su uso, siendo que en realidad la computadora est siendo
compartido por muchos usuarios.

Un sistema operativo de tiempo compartido hace uso de la planificacin de la CPU y la


multiprogramacin para proporcionar a cada usuario una pequea porcin de una computadora
de tiempo compartido. Cada usuario tiene por lo menos un programa distinto de memoria. Un
programa que se carga en la memoria y se est ejecutando se le conoce como proceso.

6
http://www.geocities.ws/itmina_web/o/Pages/u1/1.2.html
7
http://fra-7m16-stor05.uploaded.net/dl/7fe537b2-b90e-4fc5-9597-416bc7471817
Cuando se ejecuta un proceso, ste lo hace slo por un tiempo breve antes de que termine o
necesite realizar operaciones de E/S.

Los sistemas operativos de tiempo compartido son incluso ms complejos que los de
multiprogramacin. En ambos, varios trabajos deben mantenerse sncronos en la memoria, por
lo que el sistema debe incluir la administracin y proteccin de la memoria.

La idea del tiempo compartido se demostr desde principios de la dcada de 1960, pero debido
a que los sistemas de tiempo compartido son difciles y costosos, no se volvieron comunes sino
hasta principios de la dcada de 1970.

Aun cuando todava se realiza algn procesamiento por lotes, la mayora de los sistemas de hoy
en da son de tiempo compartido. De acuerdo a esto, la multiprogramacin y el tiempo
compartido son los temas centrales de los sistemas operativos modernos.

Por lo tanto, algunas caractersticas de sistemas de tiempo compartido son:

Permiten a mltiples usuarios compartir el computador simultneamente.


Hay trabajos que necesitan que el usuario interactu con el computador.
Un S.O de tiempo compartido emplea la planificacin de la CPU y la multiprogramacin
para ofrecer a cada usuario una pequea porcin de tiempo de un computador.
En una planificacin de la CPU el S.O conmuta rpidamente la CPU al programa de algn
otro usuario.
La CPU reparte su actividad entre los distintos trabajos que hay en memoria. Son sistemas
informticos interactivos.8
Unos de los primeros S.O, de tiempo compartido fue, el sistema CTSS (Sistema de Tiempo
Compartido Compatible).

Tanto la multiprogramacin por lotes como el tiempo compartido usan la multiprogramacin.9

Las diferencias son:

Multiprogramacin Tiempo compartido

Objetivo principal Maximizar el uso del procesador Minimizar el tiempo de respuesta

Fuente de Mandatos del lenguaje de control


instrucciones para el de trabajos proporcionados por el Mandatos introducidos al terminal
sistema operativo trabajo

Como se mencion, uno de los primeros sistemas operativos de tiempo compartido desarrollados
fue el Sistema de Tiempo Compartido Compatible (compatible time-sharing system o CTSS),
desarrollado en el Instituto Tecnolgico de Massachussets por un grupo conocido como proyecto
MAC (machine-aided cognition, mltiple-access computers o Conocimiento Ayudado por
Mquina, Computadoras de Acceso Mltiple). El sistema se desarroll primero para la IBM 709
en 1961 y despus se transfiri a una IBM 7094.

8
https://es.slideshare.net/lorenapucha/introduccin-presentation-894418
9
http://www.geocities.ws/itmina_web/o/Pages/u1/1.2.html
Comparado con sistemas posteriores, el CTSS era bastante primitivo, pero funcionaba. Era muy
simple, lo cual minimizaba el tamao del monitor. Como siempre se cargaba un trabajo en las
mismas posiciones en la memoria, no haba necesidad de tcnicas de relocalizacin durante la
carga. La tcnica de escribir slo lo que era necesario minimizaba la actividad del disco. Corriendo
en la 7094, CTSS soportaba un mximo de 32 usuarios.

El tiempo compartido y la multiprogramacin originan muchos nuevos problemas para el sistema


operativo. Si estn mltiples trabajos en la memoria, entonces deben protegerse de interferir
uno con otro por medio de, por ejemplo, modificar los datos de cada uno. Con mltiples usuarios
interactivos, el sistema de archivos debe protegerse de manera que nicamente los usuarios
autorizados tengan acceso a un archivo particular. Debe manejarse la concatenacin de recursos,
tal como impresoras y dispositivos de almacenamiento masivo. 10

Sistemas de Computador Personal

Dada una cada en los costos del hardware, ha vuelto a ser factible tener un sistema de
computacin dedicado a un solo usuario. Estos tipos de sistemas se conocen como computadores
personales (PC).

Los dispositivos de E/S han cambiado:

Los tableros de interruptores y los lectores de tarjetas han sido reemplazados por
teclados y mouse.
Las impresoras de lneas y perforadoras de tarjetas han cedido el paso a pantallas e
impresoras pequeas y rpidas.

Los computadores personales aparecieron en la dcada de 1970. Se trata de microcomputadores


mucho ms pequeos y econmicos que los sistemas de macrocomputador (mainframes).

Fig. 7 Evolucin macro a microcomputadoras

Los objetivos de estos sistemas operativos han cambiado con el tiempo; en lugar de maximizar el
aprovechamiento de la CPU y los perifricos, los sistemas optan por maximizar la comodidad del
usuario y la rapidez con que responden a sus necesidades.

Ahora incluye caractersticas nuevas como memoria virtual11.

10
http://www.geocities.ws/itmina_web/o/Pages/u1/1.2.html
11
Tcnica de gestin de la memoria que permite que el sistema operativo disponga de mayor cantidad
de memoria que est disponible fsicamente.
Fig. 8 Memoria fsica y virtual

Los sistemas operativos para estos computadores se han beneficiado con el desarrollo de
sistemas operativos para macrocomputadores de varias maneras. Los microcomputadores
pudieron adoptar de inmediato la tecnologa desarrollada para sistemas operativos ms grandes.

Los costos han bajado y el aprovechamiento de la CPU ha dejado de ser una preocupacin central.
Por ello, algunas de las decisiones de diseo que se toman en los sistemas operativos para
macrocomputadores podran no ser apropiadas para sistemas ms pequeos. Por ejemplo, la
proteccin de archivos podra no ser necesaria en una mquina personal.

Aunque aparentemente la proteccin de archivos no es necesaria en computadores personales


aislados, es comn que estos computadores se vinculen con otros a travs de lneas telefnicas
o redes de rea local. Si otros computadores y otros usuarios pueden acceder a los archivos de
un computador personal, la proteccin de archivos vuelve a ser una funcin necesaria de un
sistema operativo. La carencia de tal proteccin ha facilitado la destruccin de datos en sistemas
como MS-DOS y el sistema operativo Macintosh por parte de programas malintencionados.

Estos programas pueden ser del tipo que se reproduce a s mismo, y difundirse rpidamente por
mecanismos de gusano o virus para daar compaas enteras o incluso redes mundiales.

Si examinamos los sistemas operativos para macro y microcomputadores vemos que funciones
que en otras pocas eran exclusivas de los macrocomputadores han sido adoptadas por los
microcomputadores.

Un buen ejemplo de esta tendencia ocurri con el sistema operativo MULTICS. MULTICS se
desarroll entre 1965 y 1970 en el Massachusetts Institute of Technology (MIT) como utilera de
cmputo; se ejecutaba un macrocomputador grande y complejo (el GE 645). Muchas de las ideas
que se desarrollaron para MULTICS se utilizaron posteriormente en los Bell Laboratories (uno de
los socios originales en el desarrollo de MULTICS) en el diseo de UNIX. El sistema operativo UNIX
se dise alrededor de 1970 para un minicomputador PDP-11. Para 1980, las caractersticas de
UNIX se convirtieron en la base para los sistemas operativos tipo UNIX de sistemas de
microcomputador, y se estn incluyendo en sistemas operativos ms recientes como Microsoft
Windows NT, IBM OS/2, y el Macintosh Operating System.
Fig. 9 Migracin de conceptos y funciones de S.O.

Al mismo tiempo que la escala de las caractersticas de los sistemas operativos grandes se estaba
reduciendo para ajustarlas a los computadores personales, se estaban desarrollando sistemas de
hardware ms potentes, rpidos y complejos. La estacin de trabajo personal 12 es un computador
personal grande, como el Sun, el HP/Apollo o el IBM RS/6000. Muchas universidades y empresas
tienen un gran nmero de estaciones de trabajo vinculadas por medio de redes de rea local. A
medida que el hardware y el software de los PC se hace ms complejo, la lnea que divide las dos
categoras se est desvaneciendo.

Sistemas Paralelos

La mayor parte de los sistemas hasta ahora han sido sistemas monoprocesador; es decir, han
tenido una sola CPU. Sin embargo, la tendencia actual es hacia los sistemas multiprocesador. Tales
sistemas tienen ms de un procesador en comunicacin ntima, los cuales comparten el bus del
computador, el reloj y a veces la memoria y los dispositivos perifricos. Decimos que estos
sistemas estn fuertemente acoplados.

Hay varias razones para construir este tipo de sistemas. Una ventaja es el aumento en el
rendimiento. Al incrementar el nmero de procesadores, esperamos realizar ms trabajo en un
tiempo ms corto. Sin embargo, la proporcin de aumento de la velocidad con n procesadores
no es n, sino ms bien menor que n. Cuando varios procesadores cooperan para llevar a cabo una
tarea, se incurre en cierto gasto extra para mantener todos los componentes funcionando
correctamente.

12
Computador de altas prestaciones destinado para trabajo tcnico o cientfico.
Fig. 10 Ilustracin Procesamiento Paralelo

Los multiprocesadores tambin pueden ahorrar dinero en comparacin con varios sistemas
monoprocesador porque los procesadores pueden compartir perifricos, gabinetes y fuentes de
potencia. Si varios programas deben operar con el mismo conjunto de datos, es ms econmico
guardar esos datos en un disco y hacer que todos los procesadores los compartan, en vez de
tener muchos computadores con discos locales y hacer copias de los datos.

Otra razn para tener sistemas multiprocesador es que mejoran la confiabilidad. Si es posible
distribuir las funciones correctamente entre varios procesadores, el fallo de un procesador no
detendr el sistema, slo lo har ms lento. Si tenemos 10 procesadores y uno falla, cada uno de
los nueve procesadores restantes deber asumir una porcin del trabajo del que fall. As, el
sistema operar al 90% de su velocidad normal, en lugar de pararse. Esta capacidad para seguir
dando un servici proporcional al nivel de hardware que sobrevive se denomina degradacin
gradual. Los sistemas diseados para degradarse gradualmente tambin se conocen como
tolerantes a fallos (fault-tolerant).

El funcionamiento continuado en presencia de fallos requiere un mecanismo para detectar,


diagnosticar y corregir (si es posible) el fallo. El sistema Tandem 13 utiliza duplicacin tanto de
hardware como de software para asegurar una operacin continuada a pesar de los fallos. El
sistema consiste en dos procesadores idnticos, cada uno con su propia memoria local. Los
procesadores se conectan con un bus. Un procesador es el primario, y el otro es el de respaldo.
Se mantienen dos copias de cada proceso; una en la mquina primaria y otra en el respaldo. En
puntos de verificacin (checkpoints) fijos durante la ejecucin del sistema, la informacin de
estado de cada trabajo se copia de la mquina primaria a la de respaldo. Si se detecta un fallo, se
activa la copia de respaldo, y se reinicia a partir del punto de verificacin ms reciente. Esta
solucin obviamente es costosa, ya que hay mucha duplicacin de hardware.

13
Gama de los primeros ordenadores fabricados que se basaban en el concepto de tolerancia de fallos.
Fig. 11 Multiprocesamiento Asimtrico y Simtrico

Los sistemas de mltiple procesador ms comunes en la actualidad siguen el modelo de


multiprocesamiento simtrico14, en el que cada procesador ejecuta una copia idntica del sistema
operativo, y stas copias se comunican entre s cuando es necesario. Algunos sistemas utilizan
multiprocesamiento asimtrico, en el que a cada procesador se asigna una tarea especfica. Un
procesador maestro controla el sistema; los dems procesadores obtienen sus instrucciones del
maestro o bien tienen tareas predefinidas. Este esquema define una relacin maestro-esclavo.

El procesador maestro planifica y asigna trabajo a los procesadores esclavos. Un ejemplo de


sistema con multiprocesamiento simtrico es la versin Encore de UNIX para el computador
Multimax. Este computador puede configurarse de modo que utilice docenas de procesadores,
todos los cuales ejecutan una copia de UNIX. La ventaja de este modelo es que muchos procesos
pueden ejecutarse simultneamente (N procesos si hay N CPU) sin que haya deterioro del
desempeo. Sin embargo, es preciso controlar cuidadosamente la E/S para asegurar que los
datos lleguen al procesador apropiado. Adems, dado que las CPU son independientes, una
podra estar ociosa mientras otra est sobrecargada, con la consiguiente ineficiencia. A fin de
evitar esto, los procesadores pueden compartir ciertas estructuras de datos. Un sistema
multiprocesador de este tipo permite compartir dinmicamente trabajos y recursos entre los
distintos procesadores, y puede reducir la varianza entre los sistemas. Por otro lado, tales
sistemas deben escribirse con mucho cuidado.

El multiprocesamiento asimtrico es ms comn en los sistemas extremadamente grandes, donde


una de las actividades que ms tiempo consume es el procesamiento de E/S. En los sistemas por
lotes ms antiguos, se utilizaban procesadores pequeos, situados a cierta distancia de la CPU
principal, para operar los lectores de tarjetas e impresoras de lneas y transferir estos trabajos a
y del computador principal. Estos puntos se denominan sitios de entrada remota de trabajos (RJE,
remote-job-entry). En un sistema de tiempo compartido, una de las principales actividades de E/S
es procesar la E/S de caracteres entre las terminales y el computador. Si es preciso interrumpir la
CPU principal cada vez que se transfiere un carcter a o de una terminal, la CPU podra pasar todo
su tiempo procesando caracteres. Para evitar esta situacin, la mayor parte de los sistemas
cuenta con un procesador de extremo frontal ('front-end) aparte que se encarga de toda la E/S
de terminales.

14
Tcnica del sistema operativo para compartir un procesador entre muchos hilos de ejecucin.
Por ejemplo, un sistema IBM grande podra usar un minicomputador IBM Serie/1 como front-end.
El front-end acta como buffer entre las terminales y la CPU principal, y permite a esta ltima
manejar lneas y bloques de caracteres, en lugar de caracteres individuales. La confiabilidad de
tales sistemas se reduce a causa de su mayor especializacin.

Es importante darse cuenta de que la diferencia entre multiprocesamiento simtrico y asimtrico


puede deberse al hardware o al software. Podra existir hardware especial para diferenciar los
mltiples procesadores, o podra escribirse software que permita un solo maestro y varios
esclavos.

A medida que baja el precio y aumenta la potencia de los microprocesadores, ms y ms


funciones del sistema operativo se delegan a procesadores esclavos, tambin llamados back ends
o procesadores de servicio. Por ejemplo, es fcil aadir un procesador con su propia memoria para
administrar un sistema de disco. El microprocesador podra recibir una secuencia de solicitudes
de la CPU principal e implementar su propia cola de disco y algoritmo de planificacin. Esta
organizacin evita a la CPU principal el trabajo extra que implica la planificacin de disco. Los PC
contienen un microprocesador en el teclado que convierte las digitaciones en cdigos que se
envan a la CPU. De hecho, este uso de los microprocesadores se ha vuelto tan comn que ya no
se considera como multiprocesamiento.

Sistemas distribuidos
Un Sistema Distribuido (SD) es aqul que se ejecuta como un sistema centralizado, pero que
realmente se ejecuta sobre mltiples e independientes CPU, hacindolo de una forma
"transparente" para los usuarios.

En general, se podra ver a un sistema distribuido como la unin de una tecnologa de red y el uso
de potentes mquinas multiprocesadores.
Un sistema distribuido es una coleccin de computadoras independientes o autnomas que
aparecen ante los usuarios del sistema como una nica computadora

Caractersticas de un SD
Mltiples elementos de procesamiento.
Mecanismos de intercomunicacin.
Independencia a fallos en los nodos de procesamiento.
Estado de comparticin.
Esquema de proteccin.
Sistemas Abiertos.
Plataformas diversas (heterogneas).

Objetivos de los sistemas distribuidos


Compartir informacin y otros recursos.
Economizar el rendimiento (procesamiento y almacenamiento).
Crecimiento incremental.
Alta disponibilidad
Confiabilidad (tolerancia a fallos)

Ventajas y desventajas de los sistemas distribuidos

Ventajas de los SD
Con el uso de SD se logra compartir informacin, as como dispositivos perifricos entre
ms de un usuario.
Los SD permiten dividir las cargas de trabajo entre diferentes computadoras de manera
ms eficaz.
Cuando un nodo de procesamiento falla, el sistema en general sigue funcionando.
Ejecucin concurrente de procesos

Desventajas de los SD
Debido a que la tecnologa de los SD an est siendo explorada, no se tiene la experiencia
suficiente en el diseo, implantacin y uso del software distribuido y se debe contestar a
preguntas tales como:
Qu tipos de sistemas operativos, lenguajes de programacin y aplicaciones son los
adecuados para estos sistemas?,
Cunto deben saber los usuarios de la distribucin?
Las redes de comunicacin, pueden llegar a perder mensajes, latencia de las
comunicaciones o saturacin de mensajes.
Otra de las desventajas de los SD es la vulnerabilidad que puede sufrir la informacin que
puede llegar a estar disponible para un gran nmero de usuarios del sistema.
Requerimientos de mayores controles de procesamiento y acceso.
Administracin ms compleja.
Costos.

Un Sistema Operativo Distribuido (SOD) extiende el concepto de administracin de recursos e


interfaces con el usuario hacia computadoras de memoria compartida, el cual consiste en varias
computadoras autnomas conectadas por una red de comunicaciones.

Caractersticas de los SOD


Para cada uno de los usuarios debe de ser similar al trabajo en el Sistema Centralizado.
Se ejecuta en mltiples Computadoras.
Tiene varias copias del mismo Sistema Operativo o de diferentes Sistemas Operativos que
proveen los mismos servicios.
Transparencia

Hay diversas razones para construir sistemas distribuidos, siendo las principales:

Recursos Compartidos. Si varios sitios distintos (con diferentes capacidades) se conectan entre s,
un usuario de un sitio podra aprovechar los recursos disponibles en otro. Por ejemplo, un usuario
del sido A podra estar usando una impresora lser que slo est disponible en el sitio B. Mientras
tanto, un usuario del sitio B podra estar accediendo a un archivo que reside en A. En general, el
uso de recursos compartidos en un sistema distribuido ofrece mecanismos para compartir
archivos en sitios remotos, procesar informacin de una base de datos distribuida, imprimir
archivos en sitios remotos, usar equipos especializados remotos (como un procesador de matriz
de alta velocidad) y realizar otras operaciones.

Computacin ms rpida. Si un clculo dado se puede dividir en varios subclculos susceptibles


de ejecucin concurrente, un sistema distribuido podra permitirnos distribuir el clculo entre los
distintos sitios, y ejecutarlo de forma concurrente. Adems, si un sitio en particular actualmente
est sobrecargado de trabajos, algunos de ellos podran transferirse a otros sitios cuya carga sea
ms ligera. Esta transferencia de trabajos se llama carga compartida.

Confiabilidad. Si un sitio de un sistema distribuido falla, los sitios restantes podran seguir
funcionando. Si el sistema se compone de varias instalaciones autnomas grandes (es decir,
computadores de propsito general), el fallo de uno no deber afectar a los dems. Por otro lado,
si el sistema consiste en varias mquinas pequeas, cada una de las cuales se encarga de alguna
funcin crucial del sistema (como la E/S de caracteres de las terminales, o el sistema de archivos),
un solo fallo podra detener todo el sistema. En general, si existe suficiente redundancia en el
sistema (tanto de hardware como de datos), ste puede continuar con su operacin, incluso si
algunos de sus sitios han fallado.

Comunicacin. Hay muchos casos en los que los programas necesitan intercambiar datos con
otros programas del mismo sistema. Los sistemas de ventanas son un ejemplo, ya que a menudo
comparten datos o transfieren datos entre presentaciones. Si muchos Sitios estn conectados a
travs de una red de comunicaciones, los procesos de diferentes sitios tienen la oportunidad de
intercambiar informacin. Los usuarios podran iniciar trasferencias de archivos o comunicarse
entre s por correo electrnico. Un usuario puede enviar correo a otro en el mismo sitio o en uno
distinto.

Sistemas de tiempo real


Un sistema de tiempo real es un sistema informtico en el que es significativo el tiempo en el que
se producen sus acciones. No es suficiente que las acciones del sistema sean correctas
lgicamente, sino que, adems, es necesario que se produzcan en el instante adecuado.

Se usa un sistema de tiempo real cuando los requisitos de tiempo de la operacin de un


procesador o del flujo de datos son estrictos; por ello, a menudo se utilizan como dispositivos de
control en aplicaciones dedicadas.
Un sistema operativo de tiempo real tiene restricciones de tiempo fijas bien definidas.

El procesamiento debe efectuarse dentro de los intervalos definidos, o el sistema fallar. Por
ejemplo, no es conveniente ordenar a un brazo robot que se detenga despus de haber chocado
con el automvil que est construyendo. Se considera que un sistema de tiempo real est
funcionando correctamente solo si produce el resultado correcto dentro de los intervalos de
tiempo estipulados.

Hay dos tipos de sistemas de tiempo real. Un sistema de tiempo real duro, el cual garantiza que
las tareas crticas se terminarn a tiempo. Este objetivo requiere que todos los retardos del
sistema estn limitados, desde la obtencin de datos almacenados hasta el tiempo que el sistema
operativo tarda en atender cada solicitud que se le presenta. Tales restricciones de tiempo
determinan los recursos que estn disponibles en este tipo de sistemas. El almacenamiento
secundario de cualquier ndole suele estar limitado o ausente, y los datos se almacenan de
preferencia en memoria de corto plazo o en memoria slo de lectura (ROM, read-only memory).
La ROM se encuentra en dispositivos de almacenamiento no voltil que conservan su contenido
aun en caso detallar el suministro de electricidad; casi todos los dems tipos de memoria son
voltiles. Tambin est ausente la mayor parte de las funciones avanzadas de los sistemas
operativos, ya que tienden a separar al usuario an ms del hardware, y tal separacin causa
incertidumbre acerca del tiempo que una operacin tarda. Por ejemplo, los sistemas de tiempo
real casi nunca tienen memoria virtual, Por ello, los sistemas de tiempo real duros son
incompatibles con el funcionamiento de los sistemas de tiempo compartido, y no pueden
combinarse con ellos. Puesto que ninguno de los sistemas operativos de propsito general
existentes apoya la funcionalidad de tiempo real dura.

Un tipo menos restrictivo de sistema de tiempo real es el de tiempo real blando, en el que una
tarea de tiempo real crtica goza de prioridad respecto a otras tareas y conserva esa prioridad
hasta que se lleva a cabo. Al igual que en los sistemas de tiempo real! duros, es preciso limitar
los retardos del ncleo: no es posible mantener a una tarea de tiempo real esperando
indefinidamente a que el ncleo la ejecute. El tiempo real blando es una meta alcanzable que
puede combinarse con otros tipos de sistemas. No obstante, los sistemas de tiempo real blandos
tienen una utilidad ms limitada que los duros. En vista de que no apoyan el cumplimento estricto
de plazos, es riesgoso utilizarlos en control industrial y robtica, aunque hay varias reas en las
que pueden ser tiles, como multimedia, realidad virtual y proyectos cientficos avanzados como
la exploracin submarina y planetaria. Estos sistemas requieren caractersticas avanzadas de los
sistemas operativos que no pueden incluirse en los sistemas de tiempo real duro. La proliferacin
del uso de funciones de tiempo real blando ha hecho que se incluyan en la mayor parte de los
sistemas operativos actuales, incluidas versiones importantes de UNIX.

Concusiones
Un Sistema Operativo Distribuido (SOD) consiste en varias computadoras autnomas
conectadas por una red de comunicaciones.
En un sistema de tiempo real no es suficiente que las acciones del sistema sean correctas
lgicamente, sino que, adems, es necesario que se produzcan en el instante adecuado.
El sistema por lotes multiprogramado aprovecha de manera efectiva los recursos del
sistema.
Su desventaja es que los usuarios no pueden interactuar.
El tiempo compartido o multitarea es una extensin lgica de la multiprogramacin.
Un sistema de tiempo compartido permite a mltiples usuarios compartir el computador
simultneamente.
Cada accin tiende a ser corta. Cada usuario necesita slo un poco tiempo de CPU.

Bibliografa
Rojas, M. J. C. O., Serna, M. J. G. G., & Rendn, A. M. Sistemas Distribudos I.

Rojo, O. (2003). Introduccin a los sistemas distribuidos.

Silberschatz, A., Korth, H. F., & Sudarshan, S. (2002). Fundamentos de bases de datos.

Ramn, H. D., & Romero, F. (2002). Sistemas en tiempo real. In IV Workshop de Investigadores en
Ciencias de la Computacin.

Felici, S. (2012). Sistemas Operativos. mayo 30, 2016, de -- Sitio web:


http://eduteka.icesi.edu.co/gestorp/recUp/bd3768c6fde0e4feb90ec47470dc6fdb.pdf

Ruiz, P. (2015). Componentes software. El sistema operativo. mayo 30, 2017, de SomeBooks Sitio
web: http://somebooks.es/capitulo-2-componentes-software-el-sistema-operativo/

Historia y Evolucin de los Sistemas Operativos. Junio 01, 2017, de --. Sitio web:
http://www.geocities.ws/itmina_web/o/Pages/u1/1.2.html

Pucha, L. (2009). Tipos de Sistemas. Junio 01, 2017, de SlideShare. Sitio web:
s.slideshare.net/lorenapucha/introduccin-presentation-894418

Maldonado, J. Fundamentos de Sistemas Operativos. Junio 01, 2017, de Slideplayer. Sitio web:
http://slideplayer.es/slide/4833817/

Silberschatz, A., GALVIN, G., Silberchatz, P. B., Galvin, P. B., & Gagne, G. (2006). Fundamentos de
sistemas operativos. McGraw-Hill.
Sol, S. C. (2007). Fundamentos de sistemas operativos: teora y ejercicios resueltos. Editorial
Paraninfo.

Prez, J. C., Carballeira, F. G., de Miguel Anasagasti, P., & Costoya, F. P. (2001). Sistemas
operativos. McGraw-Hill Interamericana.

Você também pode gostar