Está en la página 1de 21

Sistemas Operativos I

Presentado por:
Ing. Javier A. Troya Tello

2012
Email: alexander_javier@hotmail.com
javier.troya@sitel.com

Cel.: 6779-7208
Sistemas Operativos
DEFINICION:

Un sistema operativo (SO) es un conjunto de programas
destinados a permitir la comunicacin del usuario con un
ordenador y gestionar sus recursos de manera eficiente.

Comienza a trabajar cuando se enciende el ordenador, y
gestiona el hardware de la mquina desde los niveles ms
bsicos.

Los sistemas operativos, motivados por su condicin de capa
software que posibilita y simplifica el manejo de la
computadora, desempean una serie de funciones bsicas
esenciales para la gestin de la mquina.
Tipos de Sistemas Operativos
S.O Por Estructura

Sistemas Operativos por Servicios

Sistemas Operativos por la Forma de
Ofrecer sus Servicios

S.O Por Estructura
Monoltica

Jerrquica

Mquina Virtual

Cliente/Servidor(Microkernel)

Estructura Monoltica
Es la estructura de los primeros sistemas operativos
constituidos fundamentalmente por un solo programa
compuesto de un conjunto de rutinas entrelazadas de tal
forma que cada una puede llamar a cualquier otra.

Caractersticas:
Construccin del programa final a base de mdulos
compilados separadamente
Buena definicin de parmetros de enlace entre las
distintas rutinas existentes
Carecen de protecciones y privilegios
Generalmente estn hechos a medida, por lo que son
eficientes y rpidos en su ejecucin y gestin
Carecen de flexibilidad para soportar diferentes
ambientes de trabajo o tipos de aplicaciones

Estructura Jerrquica
Se dividi el sistema operativo en pequeas partes, de
tal forma que cada una de ellas estuviera
perfectamente definida y con un claro interface con
el resto de elementos.
Se constituy una estructura jerrquica o de niveles en
los sistemas operativos
Se puede pensar tambin en estos sistemas como si
fueran `multicapa'. Multics y Unix caen en esa
categora
En la estructura anterior se basan prcticamente la
mayora de los sistemas operativos actuales
En el sistema de anillos, cada uno tiene una apertura,
conocida como puerta o trampa (trap), por donde
pueden entrar las llamadas de las capas inferiores.
De esta forma, las zonas ms internas del sistema
operativo o ncleo del sistema estarn ms
protegidas de accesos indeseados desde las capas
ms externas. Las capas ms internas sern, por
tanto, ms privilegiadas que las externas.

Estructura de Mquina Virtual
Se trata de un tipo de sistemas operativos
que presentan una interface a cada
proceso, mostrando una mquina que
parece idntica a la mquina real
subyacente.
El objetivo de los sistemas operativos de
mquina virtual es el de integrar distintos
sistemas operativos dando la sensacin de
ser varias mquinas diferentes
Estas mquinas virtuales no son mquinas
extendidas, sino una rplica de la mquina
real, de manera que en cada una de ellas
se pueda ejecutar un sistema operativo
diferente, que ser el que ofrezca la
mquina extendida al usuario

Estructura Cliente/Servidor
El tipo ms reciente de sistemas operativos es el
denominado Cliente-servidor, que puede ser
ejecutado en la mayora de las computadoras, ya
sean grandes o pequeas.

Este sistema sirve para toda clase de aplicaciones por
tanto, es de propsito general y cumple con las
mismas actividades que los sistemas operativos
convencionales.

El ncleo tiene como misin establecer la
comunicacin entre los clientes y los servidores.
Los procesos pueden ser tanto servidores como
clientes.

Estos servidores deben tener mecanismos de
seguridad y proteccin que, a su vez, sern
filtrados por el ncleo que controla el hardware.
Sistemas Operativos por Servicios
Monousuarios
Los sistemas operativos monousuarios son aqullos que
soportan a un usuario a la vez, sin importar el nmero de
procesadores que tenga la computadora o el nmero de
procesos o tareas que el usuario pueda ejecutar en un mismo
instante de tiempo. Las computadoras personales tpicamente
se han clasificado en este rengln
Multiusuarios
Los sistemas operativos multiusuarios son capaces de dar
servicio a ms de un usuario a la vez, ya sea por medio de
varias terminales conectadas a la computadora o por medio de
sesiones remotas en una red de comunicaciones. No importa el
nmero de procesadores en la mquina ni el nmero de
procesos que cada usuario puede ejecutar simultneamente.
Fuente deLos sistemas monotarea son
aquellos que slo permiten una tarea a la vez
por usuario. Puede darse el caso de un
sistema multiusuario y monotarea, en el cual
se admiten varios usuarios al mismo tiempo
pero cada uno de ellos puede estar haciendo
solo una tarea a la vez Alimentacin
Monotareas
Multitareas
Un sistema operativo multitarea es aqul que le permite al usuario estar
realizando varias labores al mismo tiempo. Por ejemplo, puede estar
editando el cdigo fuente de un programa durante su depuracin
mientras compila otro programa, a la vez que est recibiendo correo
electrnico en un proceso en background. Es comn encontrar en ellos
interfaces grficas orientadas al uso de mens y el ratn, lo cual permite
un rpido intercambio entre las tareas para el usuario, mejorando su
productividad
Uniproceso
Un sistema operativo uniproceso es aqul que es capaz de
manejar solamente un procesador de la computadora, de
manera que si la computadora tuviese ms de uno le sera
intil. El ejemplo ms tpico de este tipo de sistemas es el DOS
y MacOS.
Multiproceso
Un sistema operativo multiproceso se refiere al nmero de procesadores del sistema, que es
ms de uno y ste es capaz de usarlos todos para distribuir su carga de trabajo.
Generalmente estos sistemas trabajan de dos formas: simtrica o asimtricamente. Cuando
se trabaja de manera asimtrica, el sistema operativo selecciona a uno de los procesadores el
cual jugar el papel de procesador maestro y servir como pivote para distribuir la carga a los
dems procesadores, que reciben el nombre de esclavos. Cuando se trabaja de manera
simtrica, los procesos o partes de ellos (threads) son enviados indistintamente a cualquiera
de los procesadores disponibles, teniendo, tericamente, una mejor distribucin y equilibrio
en la carga de trabajo bajo este esquema.
Sistemas Operativos por la Forma
de Ofrecer sus Servicios
Sistemas Operativos de Red

Los sistemas operativos de red se definen como aquellos que tiene la capacidad de interactuar
con sistemas operativos en otras computadoras por medio de un medio de transmisin con el
objeto de intercambiar informacin, transferir archivos, ejecutar comandos remotos y un sin
fin de otras actividades. El punto crucial de estos sistemas es que el usuario debe saber la
sintaxis de un conjunto de comandos o llamadas al sistema para ejecutar estas operaciones,
adems de la ubicacin de los recursos que desee accesar. Por ejemplo, si un usuario en la
computadora hidalgo necesita el archivo matriz.pas que se localiza en el directorio
/software/cdigo en la computadora morelos bajo el sistema operativo UNIX, dicho usuario
podra copiarlo a travs de la red con los comandos siguientes: hidalgo% hidalgo% rcp
morelos:/software/cdigo/matriz.pas . En este caso, el comando rcp que significa "remote
copy" trae el archivo indicado de la computadora morelos y lo coloca en el directorio donde se
ejecut el mencionado comando. Lo importante es hacer ver que el usuario puede accesar y
compartir muchos recursos.

Sistemas Operativos Distribudos

Los sistemas operativos distribudos abarcan los servicios de los de red, logrando integrar
recursos ( impresoras, unidades de respaldo, memoria, procesos, unidades centrales de
proceso ) en una sola mquina virtual que el usuario accesa en forma transparente. Es decir,
ahora el usuario ya no necesita saber la ubicacin de los recursos, sino que los conoce por
nombre y simplemente los usa como si todos ellos fuesen locales a su lugar de trabajo
habitual. El sistema integrador de los microprocesadores que hacer ver a las varias memorias,
procesadores, y todos los dems recursos como una sola entidad en forma transparente se le
llama sistema operativo distribudo. Las razones para crear o adoptar sistemas distribudos se
dan por dos razones principales: por necesidad ( debido a que los problemas a resolver son
inherentemente distribudos ) o porque se desea tener ms confiabilidad y disponibilidad de
recursos.
Ventajas de los Sistemas Distribudos

Economa: El cociente precio/desempeo de la suma del poder de los procesadores
separados contra el poder de uno solo centralizado es mejor cuando estn distribudos.

Velocidad: Relacionado con el punto anterior, la velocidad sumada es muy superior.

Confiabilidad: Si una sola mquina falla, el sistema total sigue funcionando.

Crecimiento: El poder total del sistema puede irse incrementando al aadir pequeos
sistemas, lo cual es mucho ms difcil en un sistema centralizado y caro.

Distribucin: Algunas aplicaciones requieren de por s una distribucin fsica.

Ventajas de los Sistemas Distribudos


Por otro lado, los sistemas distribudos tambin exhiben algunas ventajas sobre sistemas
aislados. Estas ventajas son:

Compartir datos: Un sistema distribudo permite compartir datos ms fcilmente que los
sistemas aislados, que tendrian que duplicarlos en cada nodo para lograrlo.

Compartir dispositivos: Un sistema distribudo permite accesar dispositivos desde cualquier
nodo en forma transparente, lo cual es imposible con los sistemas aislados. El sistema
distribudo logra un efecto sinergtico.

Comunicaciones: La comunicacin persona a persona es factible en los sistemas
distribudos, en los sistemas aislados no. _ Flexibilidad: La distribucin de las cargas de
trabajo es factible en el sistema distribudos, se puede incrementar el poder de cmputo.

Desventajas de los Sistemas Distribudos

As como los sistemas distribudos exhiben grandes ventajas, tambin se pueden identificar
algunas desventajas, algunas de ellas tan serias que han frenado la produccin comercial de
sistemas operativos en la actualidad. El problema ms importante en la creacin de sistemas
distribudos es el software: los problemas de comparticin de datos y recursos es tan complejo
que los mecanismos de solucin generan mucha sobrecarga al sistema hacindolo ineficiente.

El checar, por ejemplo, quines tienen acceso a algunos recursos y quines no, el aplicar los
mecanismos de proteccin y registro de permisos consume demasiados recursos. En general,
las soluciones presentes para estos problemas estn an en paales.

Otros problemas de los sistemas operativos distribudos surgen debido a la concurrencia y al
paralelismo. Tradicionalmente las aplicaiones son creadas para computadoras que ejecutan
secuencialmente, de manera que el identificar secciones de cdigo `paralelizable' es un
trabajo ardo, pero necesario para dividir un proceso grande en sub-procesos y enviarlos a
diferentes unidades de procesamiento para lograr la distribucin. Con la concurrencia se
deben implantar mecanismos para evitar las condiciones de competencia, las postergaciones
indefinidas, el ocupar un recurso y estar esperando otro, las condiciones de espera circulares y
, finalmente, los "abrazos mortales" (deadlocks). Estos problemas de por s se presentan en
los sistemas operativos multiusuarios o multitareas, y su tratamiento en los sistemas
distribudos es an ms complejo, y por lo tanto, necesitar de algoritmos ms complejos con
la inherente sobrecarga esperada.