27/3/09

Gestión de Entrada y Salida

El hardware asociado con un dispositivo de E/S consta de cuatro elementos básicos que son el bus para comunicarse con la CPU y es compartido entre varios dispositivos, Un puerto que consta de varios registros (Estado, Control, Datos_entrada, Datos_salida), un controlador que recibe ordenes del bus del sistema, traduce ordenes, y lee/escribe datos desde/en el bus del sistema, y por ultimo el propio dispositivo, bien sea tradicional como impresoras, teclado, modem, ratón, pantalla, entre otros, como no tradicionales joystick, actuador de robot, superficie de vuelo de un avión, sistema de inyección de un coche, etc.

Existen varias formas en que el sistema operativo se comunique con cualquier dispositivo de entrada y salida, uno de ellos es el sondeo donde el CPU espera hasta que el estado sea libre y ajusta el registro de ordenes y datos-salida (si la operación es de salida), luego ajusta el estado a orden-preparada haciendo reaccionar el controlador y pone estado a ocupado, lee registro de ordenes y ejecuta orden, pone un valor en datos-salida (si es una orden de salida), suponiendo que la orden tiene éxito el controlador cambia el estado a ocioso, la CPU observa el cambio a ocioso y lee los datos si es una operación de salida. El sondeo es buena elección si los datos van a ser manejados al instante (un modem o teclado).

Por otro lado, en lugar de tener la CPU ocupada esperando la disponibilidad del dispositivo, se encuentra la interrupción, otra forma de comunicación entre sistema operátivo-dispositivo, donde el dispositivo interrumpe a la CPU cuando ha terminado una operación de e/s, cuando esto ocurre, la cpu determina que dispositivo la provocó y si la última orden fue una operación de entrada, recupera los datos del registro del dispositivo e  inicia la siguiente operación para el dispositivo.

Arquitectura software del sistema de E/S

Se puede estructurar el software de e/s en capas:

  • Manejadores de dispositivos: Cada manejador gestiona un tipo o clase de dispositivo. Acepta peticiones “abstractas” de la capa de software independiente del dispositivo y las traduce en ordenes para el controlador del dispositivo, además controla que la petición se realiza y se bloquea o no, según tipo de operación. Si no hay errores, da respuesta si es necesario, y retorna al llamador.
  • Software de e/s independiente del dispositivo: Realiza las tareas comunes a todos los dispositivos como la protección, implementa el búfering, asigna y libera dispositivos dedicados, informar de errores producidos y suministra una interfaz común al usuario.
  • Software a nivel de usuario: permiten realizar las llamadas al sistema de e/s para la gestión de formatos y control de los dispositivos


Rendimiento y sus soluciones

En cuanto a el rendimiento de las E/S se puede decir por varias razones que son costosas, ya que, Involucran movimientos físicos lentos (cabezal disco) o líneas de comunicaciones (teléfono-red) que también lo son.

Los dispositivos de E/S son a menudo disputados por múltiples procesos y se suministran por medio de llamadas al sistema y gestión de interrupciones, que son lentas. Para solucionar esto seria mas factible reducir el número de veces que los datos son copiados manteniéndolos en caché, reducir la frecuencia de interrupciones utilizando, si es posible, grandes transferencias de datos y descargar computación de la CPU principal utilizando controladores de dispositivos que puedan escribir directamente en memoria( DMA, Direct Memory Access).

Gestión de Procesos

Proceso

Son todas aquellas instrucciones que posee un programa determinado que esperan ser ejecutadas por el microprocesador, estos a su vez poseen diferentes estados  e información necesaria para que el Sistema Operativo tome diferentes decisiones.


Estados de un Proceso

Modelo de Dos Estados

Este modelo es uno de los más simples de todos y consta de manejar los procesos como Ejecución y No Ejecución.  Esto quiere decir que cuando un proceso es creado este viene con uno de los estados, en este caso sería No Ejecución, el cual al pasar algún tiempo empezara a ejecutarse (Ejecución), para posterior mente  culminar y ceder el paso al próximo proceso.

Modelo de 5 Estados

Este modelo complementa a el anterior agregandole otros 3 estados, los cuales son:

  • Listo: El Proceso esta listo para ser ejecutado, solamente espera que el planificador del Sistema Operativo disponga su ejecución.
  • Espera: El Proceso está a la espera de algún otro proceso para poder continuar.
  • Nuevo: El Proceso recientemente fue creado pero todavía no ha sido admitido por el Sistema Operativo, generalmente estos aún no son cargados en memoria.


Bloque de Control de Proceso (PCB)

Es un almacenamiento central de información que permite al sistema operativo localizar toda la información clave sobre el proceso.  Toda la información que está dentro de la PCB es de gran importancia para los Sistemas Operativos, ya que con esta pueden saber el Estado del Proceso, su identificador, sus registros, limites de memoria, estatus de los dispositivos de E/S, entre otros.


Interrupciones

Es una señal emitida por algún proceso en ejecución al Sistema Operativo, la cual necesita ser atendida en la brevedad posible, éste coloca al o los procesos que estén en estado de Ejecución a Suspendidos, luego guarda el o los valores del contador del programa en la pila, seguidamente el Sistema Operativo salta a la dirección de rutina de interrupción del proceso, al terminar de ejecutar la rutina vuelve al contador de programas y continúa con los procesos en las instrucciones en las que habían quedado.  Las Interrupciones pueden venir tanto del Hardware como el Software.


Planificación de los Procesos

Es el encargado de pasar los procesos a la memoria principal y al microprocesador, decidiendo qué procesos de los que están listos pasarán a ejecución cuando el computador se libere de algún otro proceso.  Existen diferentes tipos de Planificación, estos son algunos:

FIFO (First In, First Out)

Consiste en que el primer proceso que este listo para ser ejecutado va a ser el primero que va a ser atendido, y los procesos consiguientes son almacenados en colas de procesos y tienen que esperar que el proceso anterior culmine para ser ejecutados.  Anteriormente cuando solo existían los Sistemas Operativos Monotareas, ésta era la política de planificación que se implementaba.

Primer Tiempo Más Corto

El Sistema Operativo realiza un paneo de los procesos que esperan ser ejecutados y los ordena de manera ascendente de acuerdo con el tiempo de ejecución, es decir, que el proceso que dure menor tiempo de ejecución será atendido primero y luego el corto más próximo.

Prioridad

Todos los Procesos guardan en su PCB su nivel de prioriad.  Con esta planificación cada proceso entrante será atendido por el microprocesador de acuerdo a su prioridad, es decir, que si un proceso entrante es de alta prioridad y hay procesos de prioridad media, éste se ejecuta primero que los demás.

Round Robin

Por lo general ésta planificación es acompañada por la de FIFO, ya que se trata de darle un Quantum  de tiempo a cada proceso, que al cumplirse el plazo éstos son devueltos al final de la cola y se atiende el siguiente proceso.

23/3/09

Estructura de los Sistemas Operativos

Sistemas Monolíticos

El Sistema Operativo es una colección de procedimientos que se pueden llamar entre si, a su vez cada uno de ellos posee una interfaz bien definida en términos de parámetros y resultados.



Para la ejecución de los servicios del Sistema Operativo (llamadas al Sistema):
  • Se solicitan colocando los parámetros en lugares bien definidos (registros o pilas).
  • Se ejecuta la llamada al núcleo o Kernel.
  • La máquina cambia a modo supervisor o Kernel.
  • Se Transfiere el control al Sistema Operativo.
  • El Sistema Operativo examina los parámetros de la llamada para determinar cuál de ellas se desea realizar.
  • El Sistema Operativo analiza una tabla que contiene en la entrada "k" un apuntador al procedimiento que realiza la "k-ésima" llamada al sistema (Identifica al procedimiento de servicio llamado).
  • La llamada al sistema y el control regresa al programa del usuario.



Cabe destacar que los procesos realizados en esta estructura son tratados de forma secuencial o estructurada.

Ejemplo: UNIX, MS-DOS.


Diseño por Capas

Consiste en organizar el Sistema Operativo como una jerarquía de capas, donde cada capa ofrece una interfaz clara y bien definida a la capa superior y solamente utiliza los servicios que le ofrece la capa inferior.

En cada una de ellas se encapsulan funciones específicas, así cada capa se encarga de una parte específica del Sistema Operativo.

El Primer sistema con este esquema fue el THE (Technische Hogeschool Eindhoven), la cual consistía de 6 capas:

5.- Operador
4.- Programas del Usuario
3.- Control de Entrada/Salida
2.- Comunicaciones Operador/Proceso
1.- Administrador de la Memoria y el Disco Duro
0.- Asignación del Procesador y Multiprogramación

La principal ventaja que nos ofrece este modelo es la modulación y la ocultación de la información, ya que una capa no necesita saber cómo fue implementada la capa sobre la que se construye, sino la interfaz que esta ofrece.


Modelo Cliente-Servidor

En este modelo se definen dos tipos de procesos: Procesos Clientes y Procesos Servidores.  El primero es quien debe enviar una solicidud al servidor, este realiza el trabajo y luego devuelve una respuesta.



La función del Kernel se reduce a funciones básicas como controlar, supervisar y coordinar la comunicación entre los procesos clientes y servidores.  Al dividir el Sistema Operativo en partes pequeñas, cada una de las cuales se encarga del manejo de una faceta del sistema, como el servicio de archivo, servicio de procesos, entre otros, cada parte se vuelve pequeña y fácil de manejar.  Además como todos los servidores corren en modo usuario y no en modo núcleo, no tienen acceso al hardware.  Esto trae como beneficio que si se activa un error oculto en el servidor de archivo por ejemplo, esto hará fallar el servicio de archivos pero por lo general no hará fallar la maquina.



Otra de las ventajas de este modelo es su adaptabilidad en sistemas distribuidos.  Si un Cliente se comunica con su servidor por medio de mensajes, no es relevante para él si el mensaje se maneja de forma local, o si bien se envió en una red a un Servidor de una máquina remota.


22/3/09

Maquina Extendida

Dentro de un Computador se pueden definir dos tipos de Maquinas:

a) Maquina Desnuda.
b) Maquina Extendida.

Al hablar de la Maquina Desnuda nos referimos al Hardware que posee el computador, la cual es importante para llevar a cabo todos los procesos que se necesiten realizar, aquí todas la operaciones se ejecutan en código binario.

En cambio al mencionar una Maquina Extendida estamos en presencia de una Maquina Desnuda junto a un Sistema Operativo que administra todos los recursos del computador, es decir, que gracias a la creación de los sistemas operativos los programadores pueden realizar aplicaciones en lenguajes de alto nivel y no solamente en código binario como anteriormente se hacían.

16/2/09

Internet 2

Es una red de cómputo sustentada en tecnologías de vanguardia que permiten una alta velocidad en la transmisión de contenidos y que funciona independientemente de la Internet comercial actual.

Su origen se basa en el espíritu de colaboración entre las universidades del mundo y su objetivo principal es desarrollar la próxima generación de aplicaciones telemáticas para facilitar las misiones de investigación y educación de las universidades, además de ayudar en la formación de personal capacitado en el uso y manejo de redes avanzadas de cómputo.

La Internet de hoy en día ya no es una red académica, como en sus comienzos, sino que se ha convertido en una red que involucra, en gran parte, intereses comerciales y particulares. Esto la hace inapropiada para la experimentación y el estudio de nuevas herramientas en gran escala.

Adicionalmente, los proveedores de servicios sobre Internet "sobrevenden" el ancho de banda que disponen, haciendo imposible garantizar un servicio mínimo en horas pico de uso de la red. Esto es crítico cuando se piensa en aplicaciones propias de Internet 2, que requieren calidad de servicio garantizada.

Por otro lado, los enlaces de alta velocidad son aún demasiado costosos para poder realizar su comercialización masiva.

cuentan con otros atributos, como son:

• IPv6.- Es un nuevo protocolo de Internet diseñado para resolver las limitaciones del actual protocolo IPv4, ya que cuenta con importantes características para mejorar el desempeño de la red Internet. Lo mas relevante es que cuenta con un espacio prácticamente infinito de direcciones, al utilizar 128 bits, en vez de los 32 que utiliza el actual protocolo, esto es una capacidad de 1038.

• Multicast.- Permite optimizar la red, ya que desde un nodo que transmite se puede enviar información hacia otros nodos participantes en una comunicación, sin necesidad de duplicar los envíos en la red, como ocurre actualmente con soluciones unicast. Esto tiene un gran uso en aplicaciones de educación.

• Calidad de Servicio (QoS).- Es la capacidad de la red de proporcionar el nivel de servicio que requiere cada aplicación. QoS proporciona un servicio de red mejor y más fiable:
- Ancho de banda dedicado

- Mejora las características de pérdida

- Administra la congestión de la red

- Moldea el tráfico de la red

- Fijar prioridades del tráfico a través de la red

Particularmente: "La Internet 2 está empezando a marcar la diferencia en cuanto a la globalización de los avances tecnológicos, debido a que la gran mayoria son redes universitarias. Actualmente en Venezuela esta encargado el Centro Nacional de Innovación y Tecnología en compañía de universidades como la ULA, UCV, UC, UCLA,USD, UDO, UPEL y el IVIC. Si todo sale como lo planeado, en un futuro no existirán países menos desarrollados que los demás, ya que todos tendran la misma disponibilidad de los recursos tecnológicos"

Fuente: http://www.ciberhabitat.gob.mx/universidad/internet2/

FAT32 Vs. NTFS

FAT32 (File Allocation Table):

Se introduce con la salida al mercado de Windows 95 OSR2 en 1996, pero manteniendo la compatibilidad con MS-DOS. El tamaño máximo de una partición es de 32GB. Una de las grandes ventajas de este tipo de formato es la capacidad de ser utilizada por cualquier Sistema Operativo (UNIX, LINUX, Mac, Windows), en pocas palabras, el acceso puede ser de lectura o escritura. Pero su desventaja es que cada archivo tiene que ser menor o igual a 4GB, y a su vez, al borrar algun archivo siempre queda algun resiruo del mismo, por lo que es necesario aplicar la desfracmentación, tambien carece de permiso de seguridad (cualquier usuario puede acceder a cualquier archivo).


NTFS (New Technology File System):

Se diseñó específicamente para Windows NT (imcluyendo las versiones Win 2000, Win 2003, Win XP y Win Vista). Cada partición puede llegar a tener hasta 256TB, asi como tambien el tamaño máximo permitido de cada archivo es de 16TB, gran ventaja para manejar volumenes grandes de audio y video. Pero como desventajas tenemos que este tipo de formato necesita una cierta cantidad en memoria por lo que no es recomendable utilizarlo en discos con capacidad menor a 512MB, a su vez es incompatibles con versiones anteriores de Window, y los demás Sistemas Operativos pueden acceder en modo de lectura mas no en modo de escritura como el SO LINUX.

Particularmente "cada formato es de gran utilidad, la diferencia radica en su funcionalidad y en la disponibilidad de los recursos".

28/1/09

Presentación del Equipo


Sección: 10M2IS

Integrantes:


Eykis Chacón
Eusely Rodriguez
Edgar Salcedo
Joan Elisa Mendoza
Josimaury Oviedo