martes, 26 de abril de 2016

Dispositivos y manejadores de dispositivos mediante conceptos e imagenes.



Dispositivos de bloques.
Un dispositivo de bloques, en informática, es un componente de la computadora en el que los datos se transmiten en conjuntos indivisibles en la comunicación con la unidad central de proceso.
Un ejemplo típico de dispositivo de bloque es un disco duro, que está ordenado internamente en sectores que típicamente son de 512 bytes, y al escribir o al leer del disco es necesario transferir esa cantidad de información como conjunto.

Dispositivos de Caracteres.
Un dispositivo de caracteres, en informática es un componente del ordenador que se comunica con la unidad central de proceso por medio de bytes individuales.
Ejemplos de dispositivos de caracteres son impresoras y teclados, que permiten el manejo de un solo byte a la vez.

Manejadores de Dispositivos.

Cada controlador posee uno o más registros de dispositivos:
  • Se utilizan para darle los comandos.
  • Los manejadores de dispositivos proveen estos comandos y verifican su ejecución adecuada.
La labor de un manejador de dispositivos es la de:
  • Aceptar las solicitudes abstractas que le hace el software independiente del dispositivo.
  • Verificar la ejecución de dichas solicitudes.
Si al recibir una solicitud el manejador esta ocupado con otra solicitud, agregara la nueva solicitud a una cola de solicitudes pendientes. 
La solicitud de e / s, por ej. para un disco, se debe traducir de términos abstractos a términos concretos:
  • El manejador de disco debe: (ver figura 4.1.2)
    • Estimar el lugar donde se encuentra en realidad el bloque solicitado.
    • Verificar si el motor de la unidad funciona.
    • Verificar si el brazo esta colocado en el cilindro adecuado, etc.
    • Resumiendo: debe decidir cuales son las operaciones necesarias del controlador y su orden.
    • Envía los comandos al controlador al escribir en los registros de dispositivo del mismo.
    • Frecuentemente el manejador del dispositivo se bloquea hasta que el controlador realiza cierto trabajo; una interrupción lo libera de este bloqueo.
    • Al finalizar la operación debe verificar los errores.
    • Si todo esta o.k. transferirá los datos al software independiente del dispositivo.
    • Regresa información de estado sobre los errores a quien lo llamo.
    • Inicia otra solicitud pendiente o queda en espera.

Actividad 2 - Mecanismos y Funciones de los Manejadores de Dispositivos.

                                                        Imagen 4.1


¿Qué es un Device Driver? 
En inglés “Device Drivers”, son piezas de software que se adicionan a los sistemas operativos para permitirles operar dispositivos.  Los viejos kernels monolíticos manejaban un conjunto limitado de dispositivos  En la actualidad un S.O. debe operar gran multiplicidad de dispositivos, algunos inexistentes cuando el S.O. fue diseñado.Una pieza de software que nos permite acceder a servicios de uno o mas dispositivos. Puede ser provisto por el fabricante del S.O., por el fabricante del dispositivo o por terceros, o incluso, fabricado por el usuario. Es fuertemente dependiente de la plataforma y del dispositivo, y generalmente no es “portable”.

Funciones.
Funciones generalmente realizadas por el software independiente del dispositivo:
  • Interfaz uniforme para los manejadores de dispositivos.
  • Nombres de los dispositivos.
  • Protección del dispositivo.
  • Proporcionar un tamaño de bloque independiente del dispositivo.
  • Uso de buffer.
  • Asignación de espacio en los dispositivos por bloques.
  • Asignación y liberación de los dispositivos de uso exclusivo.
  • Informe de errores.
Clases.
● Kernel Space: el DD es integrado al código del Kernel del SO, y corre en la región de memoria y con el nivel de privilegio de Kernel. Las fallas del DD pueden comprometer la estabilidad de todo el sistema.
● User Space: el DD corre como una aplicación de usuario, sin privilegios especiales y en su espacio de memoria propio.

Los DD deben transferir datos desde o hacia la periferia -un disco rígido, un enlace de comunicaciones o un sensor- a la memoria del computador en forma eficiente y previsible 

Ciclo de vida.
Un DD puede estar integrado en forma rígida con el SO o puede ser cargado y descargado bajo demanda. 
● Ejemplo del primer caso son los DD de discos internos de una computadora 
● Ejemplo del segundo caso es el de los dispositivos “plug-and-play”.

Marcos de desarrollo.
Por la complejidad inherente al desarrollo de DD, los sistemas operativos modernos brindan entornos de programación que proveen funcionalidades de base y permiten al diseñador de DD centrarse en el manejo del dispositivo.
Consisten en especificaciones, librerías y herramientas a disposición del diseñador.

Fuentes: 
https://sites.google.com/site/materiasisoperativo/unidad-4-administracion-de-entrada-salida/4-2-mecanismos-y-funciones-de-los-manejadores-de-dispositivos-device-drivers

martes, 12 de abril de 2016

Administrador de memoria.

Se refiere a los distintos métodos y operaciones que se encargan de obtener la máxima utilidad de la memoria organizando los procesos y programas que se ejecutan de tal manera que que se aproveche de la mejor manera posible el espacio disponible.



Esquemas de administrador de memoria.


  • Administrador de memoria sin intercambio o paginación.
  • Monoprogración sin intercambio o paginación.
  • Multiprogramación con particiones fijas,
  • Intercambio.
  • Multiprogramación con particiones variables.
  • Memoria virtual.
  • Paginación.
  • Algoritmos de reemplazo de paginas.
  • Algoritmo de reemplazo de paginas optimo.
  • Algoritmo de pagina de uso no muy reciente.
  • Algoritmo de reemplazo "primero en entrar, primero en salir FIFO".
  • Algoritmo de reemplazo de paginas de la segunda oportunidad.
  • Algoritmo de reemplazo de paginas del reloj.
  • Segmentación.
HRN
Algoritmo apropiativo parecido al SRT consistente en calcular el Reponse Ratio (Ratio de respuesta) para asignar la CPU a procesos más viejos. (Para evitar la inanición).

Características:

  • Es muy productivo pero se sobrecarga el sistema.
  • Ofrece un buen tiempo de respuesta.
  • Equilibra los procesos, aunque da prioridad a los procesos más cortos.
  • Evita la inanición (los procesos que envejecen serán ejecutados).

Filosofía

La memoria principal puede ser considerada como un arreglo lineal de localidades de almacenamiento de un byte de tamaño. Cada localidad de almacenamiento tiene asignada una dirección que la indicada.
una de las funciones básica debe implementar un S.O. es la Administración de la Memoria para tener un control sobre los lugares donde están almacenados los procesos y datos que actualmente se están utilizando.

Nota: Sea cual sea el esquema de organización del almacenamiento que se adopte para un sistema especifico, es necesario decidir que estrategias se deben utilizar para obtener un rendimiento optimo. 

Realiza una presentacion sobre la organizacion y administracion de la memoria virtual

martes, 5 de abril de 2016

2.6 Técnicas de Administracion del Planificador

Cuando más de un proceso es ejecutable, el Sistema Operativo debe decidir cual de ellos debe ejecutarse en primer termino. Esa parte del sistema operativo que debe de llevar a cabo esa decisión se llama planificador y el algoritmo que utiliza se llama algoritmo de planificación.


FIFO.

FIFO es el acrónimo inglés de First In, First Out (primero en entrar, primero en salir). Un sinónimo de FIFO es FCFS, acrónimo inglés de First Come First Served ( primero en llegar, primero en ser servido). Es un método utilizado en estructuras de datos, contabilidad de costes y teoría de colas. 
Guarda analogía con las personas que esperan en una cola y van siendo atendidas en el orden en que llegaron, es decir, que la primera persona que entra es la primera persona que sale.
Mecanismo de scheduling en el cual los procesos se ordenan en una fila, en la cual se ejecutan cada uno de los procesos hasta su finalizacion secuencialmente. Es tremendamente ineficiente.



SJF

El trabajo más corto primero: Llamado también SJF (Shortest Job First). Este algoritmo de planificación reduce la preferencia en favor de los procesos más largos dando más importancia a los procesos cortos, como se muestra en la figura.
Las características de este algoritmo son las siguientes:

El tiempo de espera aumenta de acuerdo con el tamaño de los procesos, pero el tiempo promedio de espera con respecto a otros algoritmos es óptimo.

Es poco predecible.

No es justo con los procesos largos.

Tiene buen tiempo de servicio.

Resulta difícil de llevarse a la práctica por los datos que necesita para realizarse la planificación.

Su característica principal es que cuando se activa el planificador, éste elige el proceso de menor duración. Es decir, introduce una noción de prioridad entre procesos.
La ventaja que presenta este algoritmo sobre el algoritmo FIFO es que minimiza el tiempo de finalización promedio.



RR.

Round robin: Uno de los más antiguos, sencillo, justo y de uso más amplio es el round robin. Cada proceso tiene asignado un intervalo de tiempo de ejecución, llamado su quantum. Si el proceso en ejecución al final de su quantum, otro proceso se apropia de la CPU. Si el proceso esta bloqueado o a terminado antes de consumir su quantum, se altera el uso de la CPU. El Roun Robin es muy fácil de implantar. Todo lo que necesita el planificador es mantener una lista de procesos ejecutables. Cuando el quantum de un proceso se consume, se le coloca al final de la lista.

- Planificación Round Robin.

(a) La lista de procesos ejecutables.
(b) La lista de procesos ejecutables después de agotarse el quantum B.

El único aspecto interesante del round robin es la longitud del quantum. La alternancia entre un proceso y otro necesita cierta cantidad de tiempo para administración.


Quevest-Multilevel.

Un algoritmo de planificación multinivel particiona la cola de listos en colas separadas. Se asignan en forma permanente los trabajos a una cola, generalmente, basándose en alguna propiedad del mismo (requerimientos de memoria, tipo de trabajo), teniendo cada cola su propio algoritmo. Por ejemplo, la cola interactiva podría planificarse usando RR y la batch FIFO.
Ningún trabajo en una cola de baja prioridad puede ejecutarse si las colas con mayor prioridad no están vacías. Si algún trabajo entra en una cola de mayor prioridad, el trabajo de otras colas es interrumpido. (Deitel M. Harvey (2001). Introduccion a los sistemas Operativos).




Multi-Level Feedback Queues.

En colas multinivel realimentadas los trabajos pueden moverse dentro de distintas colas. La idea es separar procesos con distintos tipos de interrupciones de la CPU. Si un trabajo consume mucho tiempo de CPU, será movido a una cola con menor prioridad.
En forma similar, si un proceso espera demasiado tiempo en una cola de baja prioridad, lo moveremos a una cola de mayor prioridad.

 


Fuente:
http://administraciondeprocesos-garcia2.blogspot.mx/2008/10/21-concepto-de-proceso.html