sábado, 15 de octubre de 2016

4.4 Operadores de Entrada / Salida


DMA: Memoria de Acceso directo
El acceso directo a memoria (DMA, del inglés direct memory access) permite a cierto tipo de componentes de una computadora acceder a la memoria del sistema para leer o escribir independientemente de la unidad central de procesamiento (CPU). Muchos sistemas hardware utilizan DMA, incluyendo controladores de unidades de disco, tarjetas gráficas y tarjetas de sonido. DMA es una característica esencial en todos los ordenadores modernos, ya que permite a dispositivos de diferentes velocidades comunicarse sin someter a la CPU a una carga masiva de interrupciones.
Una transferencia DMA consiste principalmente en copiar un bloque de memoria de un dispositivo a otro. En lugar de que la CPU inicie la transferencia, la transferencia se lleva a cabo por el controlador DMA. Un ejemplo típico es mover un bloque de memoria desde una memoria externa a una interna más rápida. Tal operación no ocupa al procesador y, por ende, éste puede efectuar otras tareas. Las transferencias DMA son esenciales para aumentar el rendimiento de aplicaciones que requieran muchos recursos.

IRQ: Interrupt ReQuest=Pedido de interrupción

Como lo dice la palabra, es un pedido de interrupción de parte de la BIOS (Basic Input Output System) hacia el CPU, o sea, que deje de hacer sus tareas (pedido de interrupción) para que pase a procesar lo que necesita un hardware específico.
Siendo esto la definición de IRQ, vamos a adentrarnos un poco más en su funcionamiento.
Cuando un hardware, impresora por ejemplo, quiere que CPU procese su trabajo, envía una petición de IRQ al chip que maneja las interrupciones IRQ. Este chip puede ser parte de la CPU o estar alojada aparte en el MOBO y lo que hace básicamente es dar prioridad a los pedidos IRQ y habilitarlos o deshabilitarlos según la prioridad asignada.

El funcionamiento es el siguiente: cuando una petición de interrupción llega al CPU, este guarda el estado de lo que estaba haciendo, para pasar a responder el pedido de IRQ y realizar la tarea necesaria (imprimir por ejemplo). Una vez terminada la tarea pedida por el IRQ, toma el flag de estado que guardó anteriormente y continúa. Así sucede con cada una de las tareas que va realizando, pudiendo resolver las tareas.


PCI: Peripheral Component Interconnect.

* Estándar que especifica un tipo de bus de una computadora para adjuntar dispositivos periféricos a la placa madre.
Esos dispositivos pueden ser:

1. Un circuito integrado incorporado dentro de la placa madre.

           2. Una 
tarjeta de expansión que encaja en un socket(ranura) de la placa madre.

El bus PCI es común en
PCs modernas, y ha desplazado al bus ISA y al bus VESA (VLB) como buses estándares de expansión. El PCI será eventualmente reemplazado por el PCI Express, que ya es estándar en la mayoría de las nuevas computadoras.

* Las especificaciones PCI incluyen tamaños físicos del bus (incluso del cableado), características eléctricas, cronómetros del bus y protocolos.
Son componentes hardware que se conectan a la placa base de tu ordenador; del tamaño de una caja de CD más o menos, y una variedad de usos. Todos los procesos los hace a través del BUS interno de la propia placa base.
Van instaladas en unas ranuras, generalmente de color blanco y al instalarse las tarjetas, los conectores quedan preparados en la parte trasera del ordenador. Antes de instalar la tarjeta PCI, deberemos retirar la tapa ciega que protege la ranura de la caja para que no entre suciedad.



4.3 Estructura de datos para manejadores de dispositivos

¿Qué es una estructura?       
  Los sistemas operativos actuales son grandes y complejos, estos deben poseer una ingeniería correcta para su fácil actualización y para que puedan cumplir su función correctamente. La estructura es generalmente modular, cada modulo cumple una función determinada e interactúa con los demás módulos. 

Estructura simple o sistema monolitico
   
        El sistema MS-DOS es, sin duda, el mejor sistema operativo para microcomputadoras. Sin embargo, sus interfaces y niveles de funcionalidad no están bien definidos. Los programas de aplicación pueden acceder a operaciones básicas de entrada / salida para escribir directamente en pantalla o discos. Este libre acceso, hace que el sistema sea vulnerable, ya que un programa de aplicación puede eliminar por completo un disco rígido por alguna falla. Además este sistema, también esta limitado al hardware sobre el que corre.

        Otra estructura simple es la utilizada por la versión original de UNIX, esta consiste de dos partes separadas, el kernel y los programas de sistemas . El kernel fue posteriormente separado en manejadores (drivers) de dispositivos y una serie de interfaces. El kernel provee el sistema de archivos, la programación de CPU, el administrador de memoria y otras funciones del sistema operativo que responden a las llamadas del sistema enunciadas anteriormente. 



 Es una forma  de relacion entre el kernel y el software  


los sistmas opertivos que usaron este sistemafuron freedbsd, unix y linux.





Estructura por capas (layers)
        Las nuevas versiones de UNIX se diseñaron para hardware mas avanzado. Para dar mayor soporte al hardware, los sistemas operativos se dividieron en pequeñas partes. Ahora los sistemas operativos tienen mayor control sobre el hardware y las aplicaciones que se ejecutan sobre este.
        La modularizacion de un sistema se puede presentar de varias formas, la mas utilizada es la de capas, la cual consiste en dividir al sistema operativo en un numero de capas. La capa de menor nivel es el hardware y la de mayor nivel es la interfaz con el usuario.
        La principal ventaja es que cada capa cumple con una serie de funciones y servicios que brinda a las otras capas, esto permite una mejor organización del sistema operativo y una depuración mas fácil de este. 

      
 







Es una estructura organizada jerarquicamente cada una construidas de menor a mayor.












   Cada capa se implementa solo utilizando las operaciones provistas por la capa de nivel inferior. Una capa no necesita saber como se implementan estas funciones, solo necesita saber que operaciones puede realizar. 

Los procesos de usuario emiten peticiones de E/S al sistema operativo. Cuando un proceso solicita una operacion de E/S, el sistem operativo prepara dicha operacion y bloquea al proceso hasta que se recibe una interrupcion del controlador del dispositivo indicando que la operacion esta completa.

En el manejo de los dispositivos de E/S es necesario, introducir dos nuevos terminos:


BUFFERING (uso de memoria interna)


Trata de mantener ocupados tanto la CPU como los dispositivos de E/S. Los datos se leen y se almacenan en un buffer, una vez que los datos se han leido y la CPU va a iniciar inmediatamente la operacion con ellos, el dispositivo de entrada es introducido para iniciar inmediatamente la siguiente lectura.

La CPU y el dispositivo de entrada permanecen ocupados. Cuando la CPU este libre para el siguiente grupo de datos, el dispositivo de entrada habra terminado de leerlos. La CPU podra empezar el proceso de los ultimos datos leidos, mientras el dispositivo de entrada iniciara la lectura de los datos siguientes.


SPOOLING


Esta forma de procesamiento de denomina spooling, utiliza el disco como un buffer muy grade para leer tan por delante como sea posible de los dispositivos de entrada y para almacenar los ficheros hasta que los dispositivos de salida sean capaces de aceptarlos.

Es una característica utilizada en la mayoría de los sistemas operativos.




Los procesos de usuario emiten peticiones de entrada/salida al sistema operativo. Cuando un  proceso solicita una operación de E/S, el sistema operativo prepara dicha operación y bloquea al proceso hasta que se recibe una interrupción del controlador del dispositivo indicando que la operación está completa. Las peticiones se procesan de forma estructurada en las siguientes capas:
  • Manejadores de interrupción.
  • Manejadores de dispositivos o drivers.
  • Software de EIS independiente de los dispositivos. Este software está formado por la parte de alto nivel de los manejadores, el gestor de cache, el gestor de bloques y el servidor de archivos.
  • Interfaz del sistema operativo. Llamadas al sistema que usan las aplicaciones de usuario.
El sistema operativo estructura el software de gestión de E/S de esta forma para ofrecer a los usuarios una serie de servicios de E/S independientes de los dispositivos. Esta independencia implica que deben emplearse los mismos servicios y operaciones de E/S para leer datos de un disquete, de un disco duro, de un CD-ROM o de un teclado.

Manejadores de interrupción

Los manejadores de interrupción se encargan de tratar las interrupciones que generan los controladores de dispositivos una vez que éstos están listos para la transferencia de datos o bien han leído o escrito los datos de memoria principal en caso de acceso directo a memoria. Para tratar dicha interrupción se ejecuta el correspondiente manejador de interrupción cuyo efecto es el de salvar los registros, comunicar el evento al manejador del dispositivo y restaurar la ejecución de un proceso (que no tiene por qué ser el interrumpido).

Los manejadores de interrupción suelen hacer algo más que comunicar el evento al manejador de dispositivo. Cuando una interrupción ocurre muy frecuentemente, caso del reloj, o cuando la cantidad de información a transferir es muy pequeña, caso del teclado, sería muy costoso comunicar siempre el evento al manejador de dispositivo asociado. En estos casos, el propio manejador de interrupción registra la ocurrencia del evento, bien mediante el incremento de una variable global para el reloj o la acumulación de caracteres en un buffer del teclado. La notificación al manejador se hace únicamente cada cierto número de ocurrencias del evento, en el caso del reloj, o activando unflag que indica que hay datos en el buffer del teclado.

Problemas de los manejadores de dispositivos


Al momento de estar manejando dispositivos de Entrada/Salida pueden surgir varios problemas, algunos que se pueden resolver, otros simplemente los tenemos que evitar.

Problemas de Uso Compartido

Otro problema que se presenta con frecuencia, es cuando distintas aplicaciones intentan acceder a un dispositivo (ya sea para escribir o leer datos) pero éste se encuentra en uso por otro programa, y el Sistema tiene que bloquearlo, como con el caso de la memoria protegida, para que sea utilizable hasta que un programa detenga su uso.

Problemas con Buffers

Uno de los principales problemas que se presenta es el del manejo de buffers, y consiste en determinar tan pronto como sea posible que un dispositivo de entrada y salida ha finalizado una operación. Este problema se resuelve mediante las interrupciones. Tan pronto como un dispositivo entrada y salida acaba con una operación interrumpe a la CPU, en ese momento la CPU detiene lo que está haciendo e inmediatamente transfiere el control a una posición determinada.

Problemas al momento de manejar archivos

Uno de los problemas más frecuentes en el manejo de archivos son los DEADLOCK, un deadlock es una situación no deseada de espera indefinida y se da cuando en un grupo de procesos, dos o más procesos de ese grupo esperan por llevar a cabo una tarea que será ejecutada por otro proceso del mismo grupo, entonces se produce el bloqueo. Los bloqueos se dan tanto en los sistemas operativos tradicionales como en los distribuidos, solo que en estos últimos es más difícil de prevenirlos, evitarlos e incluso detectarlos, y si se los logra detectar es muy complicado solucionarlos ya que la información se encuentra dispersa por todo el sistema.
 Una vez que un deadlock se detecta, es obvio que el sistema está en problemas y lo único que resta por hacer es una de dos cosas: tener algún mecanismo de suspensión o reanudación que permita copiar todo el contexto de un proceso incluyendo valores de memoria y aspecto de los periféricos que esté usando para reanudarlo otro día, o simplemente eliminar un proceso o arrebatarle el recurso, causando para ese proceso la pérdida de datos y tiempo.
Existen también varias causas para que los dispositivos de E/S presenten errores, como lo son drivers desactualizados y/o una mala instalación de éstos; que el sistema intente utilizar de una manera incorrecta/incompatible el dispositivo en cuestión, o daño físico del periférico.

• Controlador de periférico.

No debe confundirse con Controlador de dispositivo.
El controlador de periférico o adaptador de periférico es el componente electrónico de los periféricos de Entrada/Salida (E/S). El componente mecánico es el dispositivo en sí.
Por lo general, los periféricos de (E/S) o unidades de E/S consisten en un componente mecánico y un componente electrónico. A menudo es posible separar las dos porciones para proveer un diseño más modular y general.
En las computadoras personales, comúnmente tiene la forma de un chip en la placa base o una tarjeta de circuito integrado que se puede insertar en una ranura de expansión.



4.2 Mecanismos y funciones de los manejadores de dispositivos

Introducción

Para que un Sistema Operativo sea funcional, eficaz y eficiente requiere de un sistema de Entrada/Salida de datos, por lo que el diseño de éste es un aspecto muy importante ya que para que exista la interacción usuario-máquina, o máquina-máquina es necesario un sistema de Entrada/Salida de datos, de lo contrario el sistema se consideraría incompleto.

Diseño de Entrada de Datos

Consiste en desarrollar los requerimientos y los pasos a seguir y la realizacion de los procesos necesarios para colocar los datos de forma utilizable para el procesamiento es asi como se logra instruir a la computadora. Existen cinco objetivos/requerimientos que controlan la cantidad de entrada requerida, a enviar los retrasos, controlar los errores y mantener la sencillez de los pasos necesarios, estos son:
· Control de calidad de entrada, usando registros y optimizando puertos, interfaces y controladores.
· Evitar Retrasos
· Evitar errores en los datos
· Evitar pasos adicionales
· Mantener la sencillez del proceso 

Diseño de Salida de Datos

Es todo aquello producido por el sistema, si la salida no es de calidad entonces el sistema es innecesario una de las salidas puede ser documentos o formularios dependiendo de el objetivo del sistema. Para el diseño de salida de datos también existen ciertos requerimientos como lo son:
· Que haya distintos niveles de Diseño, tanto lógico como físico
· Utilización de los datos de requerimientos, así como registros de control, estado y salida.
· Participación de los usuarios

Estructura de un sistema de Entrada/Salida: Módulos y Controladores

Las diferencias existentes entre los dispositivos periféricos han hecho que la unidad de E/S de una computadora se organice en torno a dos tipos de elementos, unos que soportan las características comunes a todos los dispositivos (módulos de E/S) y otros específicos para cada periférico que son los controladores de dispositivo:

Módulos de E/S

Un módulo de E/S permite que el procesador gestione una amplia gama de dispositivos periféricos de una forma similar, ocultando los detalles concretos de temporización, formatos de datos y principios físicos de funcionamiento. El módulo de E/S se conecta con el procesador a través de un conjunto de líneas de datos, dirección y control (un bus). Los datos que se transfieren se almacenan temporalmente en un registro de datos. El estado del módulo se refleja en los bits de un registro de estado. El registro de control permite configurar y programar diferentes funciones en el módulo. Estos dos registros (estado y control) pueden unificarse en uno sólo en módulos simples. Un módulo de E/S dispone de la lógica específica para su conexión con uno o más dispositivos periféricos. En la siguiente figura se muestra la estructura general de un módulo de E/S: 

Controladores de E/S

La estructura del controlador de un dispositivo tendrá que adaptarse en cada caso a las peculiaridades específicas del periférico. Unos tendrán que actuar sobre elementos electromecánicos (impresoras de línea), otros sobre elementos ópticos (CD-ROM), o magnéticos (discos), etc. Sin entrar en las singularidades de cada uno, podemos decir que los controladores de dispositivos periféricos presentan una estructura general como la representada en la siguiente figura:

Funciones de los manejadores de dispositivos

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.
Las funciones básicas del software independiente del dispositivo son:
  • Efectuar las funciones de e / s comunes a todos los dispositivos.
  • Proporcionar una interfaz uniforme del software a nivel usuario.
El software independiente del dispositivo asocia los nombres simbólicos de los dispositivos con el nombre adecuado.
Un nombre de dispositivo determina de manera única el nodo-i de un archivo especial:
  • Este nodo-i contiene el número principal del dispositivo, que se utiliza para localizar el manejador apropiado.
  • El nodo-i contiene también el número secundario de dispositivo, que se transfiere como parámetro al manejador para determinar la unidad por leer o escribir.
El software independiente del dispositivo debe:
  • Ocultar a los niveles superiores los diferentes tamaños de sector de los distintos discos.
  • Proporcionar un tamaño uniforme de los bloques, por ej.: considerar varios sectores físicos como un solo bloque lógico.

Al momento de estar manejando dispositivos de Entrada/Salida pueden surgir varios problemas, algunos que se pueden resolver, otros simplemente los tenemos que evitar.

Problemas de Uso Compartido

Otro problema que se presenta con frecuencia, es cuando distintas aplicaciones intentan acceder a un dispositivo (ya sea para escribir o leer datos) pero éste se encuentra en uso por otro programa, y el Sistema tiene que bloquearlo, como con el caso de la memoria protegida, para que sea utilizable hasta que un programa detenga su uso.

Problemas con Buffers

Uno de los principales problemas que se presenta es el del manejo de buffers, y consiste en determinar tan pronto como sea posible que un dispositivo de entrada y salida ha finalizado una operación. Este problema se resuelve mediante las interrupciones. Tan pronto como un dispositivo entrada y salida acaba con una operación interrumpe a la CPU, en ese momento la CPU detiene lo que está haciendo e inmediatamente transfiere el control a una posición determinada.

Problemas al momento de manejar archivos

Uno de los problemas más frecuentes en el manejo de archivos son los DEADLOCK, un deadlock es una situación no deseada de espera indefinida y se da cuando en un grupo de procesos, dos o más procesos de ese grupo esperan por llevar a cabo una tarea que será ejecutada por otro proceso del mismo grupo, entonces se produce el bloqueo. Los bloqueos se dan tanto en los sistemas operativos tradicionales como en los distribuidos, solo que en estos últimos es más difícil de prevenirlos, evitarlos e incluso detectarlos, y si se los logra detectar es muy complicado solucionarlos ya que la información se encuentra dispersa por todo el sistema.
 Una vez que un deadlock se detecta, es obvio que el sistema está en problemas y lo único que resta por hacer es una de dos cosas: tener algún mecanismo de suspensión o reanudación que permita copiar todo el contexto de un proceso incluyendo valores de memoria y aspecto de los periféricos que esté usando para reanudarlo otro día, o simplemente eliminar un proceso o arrebatarle el recurso, causando para ese proceso la pérdida de datos y tiempo.
Existen también varias causas para que los dispositivos de E/S presenten errores, como lo son drivers desactualizados y/o una mala instalación de éstos; que el sistema intente utilizar de una manera incorrecta/incompatible el dispositivo en cuestión, o daño físico del periférico.

• Controlador de periférico.

No debe confundirse con Controlador de dispositivo.
El controlador de periférico o adaptador de periférico es el componente electrónico de los periféricos de Entrada/Salida (E/S). El componente mecánico es el dispositivo en sí.
Por lo general, los periféricos de (E/S) o unidades de E/S consisten en un componente mecánico y un componente electrónico. A menudo es posible separar las dos porciones para proveer un diseño más modular y general.
En las computadoras personales, comúnmente tiene la forma de un chip en la placa base o una tarjeta de circuito integrado que se puede insertar en una ranura de expansión.


Introducción

Para que un Sistema Operativo sea funcional, eficaz y eficiente requiere de un sistema de Entrada/Salida de datos, por lo que el diseño de éste es un aspecto muy importante ya que para que exista la interacción usuario-máquina, o máquina-máquina es necesario un sistema de Entrada/Salida de datos, de lo contrario el sistema se consideraría incompleto.

Diseño de Entrada de Datos

Consiste en desarrollar los requerimientos y los pasos a seguir y la realizacion de los procesos necesarios para colocar los datos de forma utilizable para el procesamiento es asi como se logra instruir a la computadora. Existen cinco objetivos/requerimientos que controlan la cantidad de entrada requerida, a enviar los retrasos, controlar los errores y mantener la sencillez de los pasos necesarios, estos son:
· Control de calidad de entrada, usando registros y optimizando puertos, interfaces y controladores.
· Evitar Retrasos
· Evitar errores en los datos
· Evitar pasos adicionales
· Mantener la sencillez del proceso 

Diseño de Salida de Datos

Es todo aquello producido por el sistema, si la salida no es de calidad entonces el sistema es innecesario una de las salidas puede ser documentos o formularios dependiendo de el objetivo del sistema. Para el diseño de salida de datos también existen ciertos requerimientos como lo son:
· Que haya distintos niveles de Diseño, tanto lógico como físico
· Utilización de los datos de requerimientos, así como registros de control, estado y salida.
· Participación de los usuarios

Estructura de un sistema de Entrada/Salida: Módulos y Controladores

Las diferencias existentes entre los dispositivos periféricos han hecho que la unidad de E/S de una computadora se organice en torno a dos tipos de elementos, unos que soportan las características comunes a todos los dispositivos (módulos de E/S) y otros específicos para cada periférico que son los controladores de dispositivo:

Módulos de E/S

Un módulo de E/S permite que el procesador gestione una amplia gama de dispositivos periféricos de una forma similar, ocultando los detalles concretos de temporización, formatos de datos y principios físicos de funcionamiento. El módulo de E/S se conecta con el procesador a través de un conjunto de líneas de datos, dirección y control (un bus). Los datos que se transfieren se almacenan temporalmente en un registro de datos. El estado del módulo se refleja en los bits de un registro de estado. El registro de control permite configurar y programar diferentes funciones en el módulo. Estos dos registros (estado y control) pueden unificarse en uno sólo en módulos simples. Un módulo de E/S dispone de la lógica específica para su conexión con uno o más dispositivos periféricos. En la siguiente figura se muestra la estructura general de un módulo de E/S: 

Controladores de E/S

La estructura del controlador de un dispositivo tendrá que adaptarse en cada caso a las peculiaridades específicas del periférico. Unos tendrán que actuar sobre elementos electromecánicos (impresoras de línea), otros sobre elementos ópticos (CD-ROM), o magnéticos (discos), etc. Sin entrar en las singularidades de cada uno, podemos decir que los controladores de dispositivos periféricos presentan una estructura general como la representada en la siguiente figura:

Funciones de los manejadores de dispositivos

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.
Las funciones básicas del software independiente del dispositivo son:
  • Efectuar las funciones de e / s comunes a todos los dispositivos.
  • Proporcionar una interfaz uniforme del software a nivel usuario.
El software independiente del dispositivo asocia los nombres simbólicos de los dispositivos con el nombre adecuado.
Un nombre de dispositivo determina de manera única el nodo-i de un archivo especial:
  • Este nodo-i contiene el número principal del dispositivo, que se utiliza para localizar el manejador apropiado.
  • El nodo-i contiene también el número secundario de dispositivo, que se transfiere como parámetro al manejador para determinar la unidad por leer o escribir.
El software independiente del dispositivo debe:
  • Ocultar a los niveles superiores los diferentes tamaños de sector de los distintos discos.
  • Proporcionar un tamaño uniforme de los bloques, por ej.: considerar varios sectores físicos como un solo bloque lógico.



4.1 Dispositivos y manejadores de dispositivos.


Donde podemos encontrar los manejadores de dispositivos

Panel de control -> administrador de dispositivos

Bluetooth

Enumerador bluetooth de microsoft -> Click derecho -> propiedades

General, Controlador, Detalles y Eventos.


martes, 11 de octubre de 2016

Unidad 4 Administración de entrada y salida


Una de las principales de un sistema operativo es controlar todos los dispositivos de E/S del computador.
Debe enviar los comando a los dispositivos, atrapar interrupciones y manejar errores. También debe de proporcionar una interfaz sencilla y fácil de usar entre los dispositivos y el resto del sistema. En la medida de lo posible, la interfaz debería ser la misma para todos los dispositivos.

El código del E/S representa una función importante del sistema operativo total

Principios de hardware de E/S.

Se puede clasificar en dos grandes categorías:

*dispositivos de bloque
*dispositivos de carácter.

Los dispositivos de bloque almacenan información en bloques de tamaño fijo cada uno su propia dirección. Los tamaños comunes van desde 512 bytes hasta 32678 bytes. la propiedad fundamental de un dispositivo de bloques consiste en que es posible leer o escribir cada bloque con independencia de todos los demás.

Las principales características son:

*La información se almacena en bloques de tamaño fijo
*Cada bloque tiene su propia dirección
*Un ejemplo típico de dispositivos de bloque son los discos.


Los dispositivos por carácter suministra o acepta un flujo de caracteres sin estructurarlos en bloques , no es direccionable ni tiene una operación de desplazamiento. Las impresoras, interfaces de red, ratones y casi todos los demás dispositivos que no son tipo disco, pueden considerarse como tipo de caracteres.

Las principales características son:

*La información se trasmite como flujo de carácter.
*No se pueden utilizar direcciones
*No tiene una operación de búsqueda
*Unos ejemplos son: las impresoras lineales, terminales, interfaces de una red, ratones, etc

Controladores de dispositivos.

Las unidades de E/S general mente constan de: 

*Un componente mecánico 
*Un componente electrónico, el controlador del dispositivo o adaptador  

Muchos controladores pueden manejar mas de un dispositivo.

El sistema operativo generalmente puede manejar mas de un dispositivo.
 El controlador debe: 

*Convertir el flujo de bytes en serie en bloque de bytes 
*Ejecutar cualquier corrección de errores necesarios.
*Copia el bloque en la memoria principales.


Glosario

Entradas: Una seña de datos que es recibida por un determinado sistema para su posterior procedimiento.

Salida: Conjunto de resultados obtenidos por un ordenador.

Carácter: Cualquier signo empleado de forma convencional para representar datos.

Bloque: En conjunto, sin hacer parte ni distinciones.

Dispositivos: Mecanismo, aparato o maquina que esta preparado para producir una sección prevista.

Mause: Aparato que posee un ordenador para controlar el cursor en la pantalla.

Código: Conjunto de reglas precisas, que se emplean para convertir datos.

Dirección: Información utilizada por los sistemas de información para localizar un registro.

Suministrar: Proveer lo que se necesita.

Archivos: Espacio reservado en el dispositivo de memoria de un ordenador.

Convertir: Cambia una expresión por otra de igual significado.

Información: Medida de la diversidad de operación que ofrece un conjunto de mensajes posibles.

Almacenamiento: Registro de datos.

Hardware: Conjunto de elemento materiales o físicos de un sistema de información.

Comando: Cualquier instrucción que genera acciones preestablecidas.

Fijo: Que no cambia o que es invariable.

Transferir: Pasar de una dirección a otra.

Esquema: Representación de una cosa.

Clasificación: Acción y resultado de clasificar.

Generar: Producir una cosa o otra.

martes, 4 de octubre de 2016

Configuracin de memoria virtual


Pasos para configurar la memoria virtual


1.- Equipo -> click derecho -> propiedades

2.- Operaciones avanzadas  ->  Continuar

3.- En la ventana siguiente click en cambiar…

4.- Desestabilizar la opción de administrar -> habilitar tamaño personalizado -> dependiendo del tamaño de memoria que tengas pondrás el tamaño de la memoria virtual -> establecer -> aceptar.



3.4 Administración de memoria virtual

1- Como se le conoce a la parte del sistema operativo que administra la jerarquía de memoria?
*Administrador de memoria

2- Qué hace la solución mas sencilla que utiliza la versión muy simple de la re ubicación dinámica?
*Lo que hace es asociar el espacio de direcciones de cada proceso sobre una parte distinta de la memoria física, de una manera simple

3- Cuales son los dos registros de harware especiales para cada CPU?
*De base y limite

4- Cuantos procesos se pueden iniciar en un sistema de windows o linux común?
*Se puede iniciar entre 40 y 60 procesos o mas

5- En que consiste la estrategia mas simple conocida como intercambio?
*Consiste en llevar cada proceso completo a memoria, ejecutarlo durante cierto tiempo y después regresarlo al disco.

6- En que consiste la estrategia conocida como memoria virtual?
*Permite que los programas se ejecuten incluso cuando solo se encuentran en forma parcial en la memoria.

7- Cuando el intercambio crea varios huecos en la memoria, es posible combinarlos todos en uno grande desplazado los procesos lo mas hacia abajo que sea posible nos referimos a:

A) Intercambio de memoria
B) Compactación de memoria 
C) Comparación de memoria

8- Como es conocida la solución que se adopto en la decada de 1960 fue dividir los programas en pequeñas partes
*Sobrepuestos (overlays)

9- Las direcciones generadas por el programa se conocen como direcciones virtuales y forman el espacio de direcciones virtuales.

10- Como se llaman las unidades correspondientes a la memoria fisica?
*Marcos de página

11- Como debe realizarse la asociación virtual o física?
*Se debe realizar en cada referencia de memoria 

12- De cuantos bist son las direcciones virtuales de los PC modernos?
*De 32 y 64 bits

13- Que ocurre cuando se inicia un proceso?
*El sistema operativo carga los registros con la tabla de paginas del proceso, tomada de una copia que se mantiene en la memoria principal

14- Es un método simple y no requiere referencias a memoria durante la ejecución:
*Aceleración de la paginación

15- A falta de paginación, esta instrucción hace solo la referencia a memoria para obtener la instrucción
*Búfferes de traducción adelantada

16- Que se requiere con la "paginación"?
*Al menos un referencia adicional a memoria para acceder a la tabla de paginas

17- Cuales son las siglas de Buffer de traducción adelantada?
*TLB ( Traslation Lookaside Buffer )

18- En este diseño la administración y el manejo de fallos del TLB se realizo por completo mediante el hardware de la MMU;
*Administración de TLB mediante software

19- Que arquitectura administra sus paginas mediante software?
*RICS Architectura

20- Cual es el objetivo de las tablas de paginación multinivel?
*Evitar mantenerlas en memoria todo el tiempo, y en especial, aquellas que no necesitan


Memoria Virtual

Es una técnica para proporcionar la ilusión de un espacio de memoria mucho mayor que la memoria física de una maquina. Esta ilusión permite que los programas se hagan sin tener en cuenta el tamaño exacto de la memoria física.

www.duiops.net

Es un concepto que permite al software usar mas memoria principal que la que realmente posee el computador. Aunque podría ser implementada por el software del sistema operativo, en la practica casi universalmente se usa una combinación d hadrware y software.

es.slideshare.net

La memoria virtual peermite simular una memoria RAM de ayor tamaño que la que tenemos en el equipo.

computadoras.about.com     Angel Luis Sanchez

3.2 Memoria Real

La memoria real o partición es donde son ejecutados los programas y procesos de una computadora y es el espacio real que existe en memoria para que se ejecuten los procesos. Por lo general esta memoria es de mayor costo que la memoria secundaria, pero el acceso a la información contenida en ellos es de rápido acceso.

Solo la memoria cache es mas rápida que la principal pero su costo a su vez mayor.

Los términos "memoria" y "almacenamiento" se consideran equivalentes.

Los programas y datos deben estar en almacenamiento principal para:

*Poderlos ejecutar
*Referenciarlos directamente 


Ejemplo:


Algoritmo de remplazo de paginas

Cuando ocurre un fallo de pagina el sistema operativo debe elegir una pagina para retirarla de la memoria y hacer un espacio para la pagina por recuperar.

Si la pagina por eliminar fue modificada mientras estaba en la memoria, debe escribirla en el disco para mantener actualizada la copia del disco, si por el contrario la pagina no ha sido modificada la copia del disco ya esta actualizada por lo que no es necesaria volver a escribir, la pagina por retirar. Aunque es posible elegir una pagina al azar para el remplazo relacionado con un fallo de pagina, el rendimiento del sistema es mucho mejor si se elige un pagina de poco uso.

Unidad III. Administración de Memoria

Concepto:

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 identifica.

Jerarquía 

Gracias a un principio llamado cercanía de referencias, es factible utilizar una mezcla de los distintos tipos y lugar de rendimiento cercano a la de la memoria mas rápida.
Los niveles que componen la jerarquía de memoria habitualmente son:

Nivel 0: Registros CPU del procesador
Nivel 1: Memoria cache (Memoria rapida)
Nivel 2: Memoria principal RAM
Nivel 3: Disco duro (Con el mecanismo de memoria virtual)

Clasificación