Antes de empezar no hay que confundir un Sistema Operativo de Red con un Sistema Operativo Distribuido. En un Sistema Operativo de Red las computadoras están interconectadas por medios de comunicación: software y hardware. En este tipo de red los usuarios saben donde están ejecutando su trabajo y guardando su información. En cambio en los Sistemas Operativos Distribuidos existe un software que distribuye las tareas de los usuarios sobre una red de computadoras y para los usuarios es transparente donde realizan sus tareas y guardan su información.
Existen dos esquemas básicos de éstos sistemas. Un sistema fuertemente acoplado es a es aquel que comparte la memoria y un reloj global, cuyos tiempos de acceso son similares para todos los procesadores. En un sistema débilmente acoplado los procesadores no comparten ni memoria ni reloj, ya que cada uno cuenta con su memoria local.
A medida que se van desarrollando los sistemas operativos, van adquiriendo nuevos conceptos, como son:
Interoperabilidad, que es la habilidad del sistema de facilitar intercambio de información entre los componentes heterogéneos en el sistema.
Transparencia, este concepto es muy parecido al de máquina virtual en los sistemas operativos tradicionales, la transparencia en los sistemas operativos distribuidos, ya que esta es la propiedad que permite a los usuarios ver al conjunto de máquinas en las que esta trabajando como un sola máquina.
Autonomía, esto es la independencia de los sistemas operativos con respecto al hardware, lo que permite que el sistema trabaje con unidades autónomas.
Esta clase de sistemas es fuertemente acoplado ya que sus recursos son compartidos internamente. Un sistema operativo es una pieza grande de software formado por miles de millones de líneas de código. Cuando se implementa esta clase de sistemas es necesarios estructurar el software en módulos manejables.
Podemos considerar un módulo como una colección de instrucciones que realiza un servicio del sistema.
Servicios de los sistemas operativos
Tipos de servicios
· Ejecución de programas. El sistema tiene que ser capaz de cargar un programa en memoria y ejecutarlo.
· Operaciones de entrada/salida. Como un programa no puede acceder directamente a un dispositivo de E/S el sistema operativo debe facilitarle algunos medios para realizarlo.
· Manipulación del sistema de archivos. El sistema operativo debe facilitar las herramientas necesarias para que los programas puedan leer, escribir y eliminar archivos.
· Detección de errores. El sistema operativo necesita constantemente detectar posibles errores. Los errores pueden producirse en la CPU y en el hardware de la memoria, en los dispositivos de E/S o bien en el programa de usuario. Para cada tipo de error, el sistema operativo debe adoptar la iniciativa apropiada que garantice una computación correcta y consistente.
La estructura del Kernel en estos sistemas generalmente es monolítica, es decir, está dividido en dos partes estructuradas: el núcleo dependiente del hardware y el núcleo independiente del hardware. El núcleo dependiente se encarga de manejar las interrupciones del hardware, hacer el manejo de bajo nivel de memoria y discos y trabajar con los manejadores de dispositivos de bajo nivel, principalmente. El núcleo independiente del hardware se encarga de ofrecer las llamadas al sistema, manejar los sistemas de archivos y la planificación de procesos. Para el usuario esta división generalmente pasa desapercibida. Para un mismo sistema operativo corriendo en diferentes plataformas, el núcleo independiente es exactamente el mismo, mientras que el dependiente debe re-escribirse. Esto hace que el Kernel sea más manejable.
El modelo de Cliente-Servidor es una forma de describir la iteración entre procesos, a través del paso de mensajes, en donde el proceso cliente espera algún servicio (por ejemplo la lectura de datos de algún archivo) entonces envía un mensaje al servidor y después espera el mensaje de respuesta, en la forma más simple de este modelo, el sistema tiene solo dos primitivas Enviar y Recibir. La primera primitiva indica el destino y un mensaje, la segunda indica de quien es el mensaje y provee de un buffer donde será almacenado el mensaje.
Un sistema operativo estándar puede ser implementado en un núcleo mínimo, esto es un Microkernel, Un núcleo con 'arquitectura' micronúcleo es aquél que contiene únicamente el manejo de procesos y threads, el de manejo bajo de memoria, da soporte a las comunicaciones y maneja las interrupciones y operaciones de bajo nivel de entrada-salida. En los sistemas operativos que cuentan con este tipo de núcleo se usan procesos 'servidores' que se encargan de ofrecer el resto de servicios (por ejemplo el de sistema de archivos) y que utilizan al núcleo a través del soporte de comunicaciones.
Este diseño permite que los servidores no estén atados a un fabricante en especial, incluso el usuario puede escoger o programar sus propios servidores. La mayoría de los sistemas operativos que usan este esquema manejan los recursos de la computadora como si fueran objetos: los servidores ofrecen una serie de 'llamadas' o 'métodos' utilizables con un comportamiento coherente y estructurado. Otra de las características importantes de los micronúcleos es el manejo de threads. Cuando un proceso está formado de un solo thread, éste es un proceso normal como en cualquier sistema operativo.
Los usos más comunes de los micronúcleos es en los sistemas operativos que intentan ser distribuidos, y en aquellos que sirven como base para instalar sobre ellos otros sistemas operativos. Por ejemplo, el sistema operativo AMOEBA intenta ser distribuido y el sistema operativo MACH sirve como base para instalar sobre él DOS, UNIX, etc.
Funciones de Manejo
Uno de los módulos más importantes de un sistema operativo es la de administrar los procesos y tareas del sistema de cómputo. Para realizar esto el sistema operativo ocupa la multiprogramación, este es un método para incrementar el empleo de la CPU disponiendo en todo momento de algo que la CPU pueda ejecutar. El trabajo que se realiza es el siguiente, cuando un proceso deja libre la CPU para realizar una E/S, el sistema operativo cambia a otro trabajo y lo ejecuta. Cuando este último deba esperar por una E/S, la CPU pasará a otro trabajo y así sucesivamente.
Un sistema operativo multiprogramado es bastante sofisticado. Tener varios trabajos para ejecutar significa tenerlos simultáneamente en memoria. Tener varios programas en memoria requiere una gestión de memoria, además el sistema operativo deberá seleccionar para elegir uno de ellos. Esto se denomine planificación de CPU.
La planificación del procesador se refiere a la manera o técnicas que se usan para decidir cuánto tiempo de ejecución y cuando se le asignan a cada proceso del sistema. Obviamente, si el sistema es monousuario y monotarea no hay mucho que decidir, pero en el resto de los sistemas esto es crucial para el buen funcionamiento del sistema.
Lo más importante en esto es el uso de semáforos, en 1965, E.W. Dijkstra sugirió el uso de una variable entera para contar el número de despertares almacenados para su uso posterior.
En su propuesta se presentó un nuevo tipo de variable, llamada Semáforo. Un semáforo puede tener el valor 0, lo que indica que no existen despertares almacenados; o bien algún valor positivo si están pendientes uno o más despertares.
Dijkstra, propuso dos operaciones, DOWN y UP (generalizaciones de SLEEP y WAKEUP, respectivamente). La operación Down verifica si el valor de un semáforo es mayor que 0. En este caso, decrementa el valor (es decir, utiliza un despertar almacenado) y continúa. Si el valor es cero, el proceso se va a dormir. La verificación y modificación del valor, así como la posibilidad de irse a dormir se realiza en conjunto, como una sola e indivisible acción atómica. Se garantiza que al iniciar una operación con un semáforo, ningún otro proceso puede tener acceso a semáforo hasta que la operación termine o se bloquee. Esta atomicidad es absolutamente esencial para resolver los problemas de sincronización y evitar condiciones de competencia.
La operación UP incrementa el valor del semáforo correspondiente. Si uno o más procesos dormían en ese semáforo y no podían completar una operación Down anterior, el sistema elige alguno de ellos (por ejemplo, en forma aleatoria) y se le permite terminar Down. Así, después de un UP en un semáforo con procesos durmiendo, el semáforo seguirá con valor cero, pero habrá un menor número de procesos durmiendo. La operación de incremento del semáforo y despertar de un proceso también es indivisible. Ningún proceso llega a bloquear mediante un UP.
keywords for VOZIP
ECUADOR
Internet Phone calls low rates quality h323 compatible hardware software service
works netmeeting software also h323 hardware cisco lucent vive ensemble cisco
voip netmeeting ohphone low rates rate high quality secure cheap ecuador linux
openh323 download Red Hat Mandrake Debian Suse openphone ensemble flashline vive
telephony calls telephone world cheap low rate free h 323 phone quito venezuela
inexpensive telecommunications peru colombia ip telephony chile webcam
compatibility security bargain guayaquil ssl costa rica bolivia network avaya
cheapest freeware used at&t buy telecom redhat argentina south america panama
budget sale last minute voice ip ssh voice over ip sip shareware ss7 nortel
comfort encrypted sounds low cost computer unix msn messenger codes call
answering machine orinoco answering agere mobile wholesale securing dayscalling
vop vpn
operator networks mgcp linksys internet internet telephone dslbiometrics as5300
lowest mexico france ecuadorian video ratin wavelan repair \program driver safe
affordable siemens bell labs parts address router numbers rates rank best review
equipment lock https anonymous uk price discounted ccna contact cotopaxi uruguay
travel thailand brazil senegal nicaragua latin america international galapagos
columbia incompatible cuba portable problem instant messenge ils server icuii
cam chat cu seeme communications programs yahoo messenger windows 2000 windows
XPwindows 98windows 95windows me webcams videoconferencing video for windows
internet directory white pages downloads demo jobs hi ascend 3com long distance
modem ricsson go password windows games hampton second hand books appz
accessories motherboard store online statistics speed student rpm no freebsd
knobs for sale pix lo ftp clone sms phones compare calling cards wheel support
ps2 install compliant mcse magazine encrypt email encryption microsoft
prepaidcard systems electronics handles solaris optical partner smc switch iso
server cell phone company redhat 7.1 package global us deploying fujitsu ibm lt
win lt motorola alcatel att boston cajun compaq definity people low price earth
tools europe supply sales products pc memory drivers application serial sun
howto tel middle system words refurbished zip poems full bsd song cells code
canada devices exchanges pollution noise pulls pc to phone depot home
improvement purchase late tutorial songs problems communication gnome calling
card calling codes cards catalyst cost globe small calculator player sleep
insecure free ssh biography mobile phone paintings werks working ramada hack
resolution authentication electronic protecting private port firewall rom non
world's components buying oracle processor kde peripherals network card
computers manual lighting warehouse ios fastener ethernet rovider red roof
professional usa sia java highest cheaper utility technology yellow pages
faxfaxing directory pdf exe downloadable india worldwide percentage phone number
cellular lower frequency time cable zero database homepage charter lowe ratio
united states slowasr plastic sysco thompson tool high asrslides mouse pictures
access monitor locks latch roviders home hinge maintenance european harddrive
auction furniture best price storage bulk clearance supplies configuration word
workshop direct shop management florida poetry comparison good custom cd
functions national worldreliability ratings increase utilities phone service
reverse patch trial area code panasonicpbx hacked t law universe get
applications cordless phone zip code