Gestion de entrada y salida: iOS

Entrada y Salida: iOS

Perifericos de entrada y salida

Son dispositivos o componentes que no forman parte del hardware del dispositivo que tiene la función de comunicar o conectar  el dispositivo con el exterior, estos hacen abstracciones del software para que el usuario pueda operarlos así como también introducir datos o instrucciones. En iOS un ejemplo de periferico de E/S podría ser la pantalla multitáctil, tarjetas de memoria, hasta los dispositivos de comunicación podrían considerarse dispositivos de E/S, estos interactúan con el S.O. por medio de controladores o drivers para solicitar los datos que requieran al ejecutarse.

Controladores  

Son programas informáticos que contienen instrucciones para la ejecución de un periférico con el sistema operativo, este tiene la función de hacer una abstracción del hardware que requiera el periférico y sin ellos este no podría interactuar con la maquina no ejecutar ninguna de sus funciones. El controlador se encarga de ser un intermediario entre el dispositivo y el sistema operativo por medio del CPU, esto es cuando se conecta con un puerto de E/S (ej. el puerto USB o el puerto de audio), el controlador coordina el  trafico de datos que van del CPU o la memoria hacia el dispositivo, estos datos pueden ser comandos o informacion para intercambiar entre los dispositivos asi tambien como de hacer buffer para almacenar los datos temporalmente, esto ultimo para tratar con la diferencia de velocidades de la CPU y el periferico.

Bus 

Son canales por los cuales se transmite la información de un proceso y datos de un programa que viajan por todo el hardware a un determinado componente para darle instrucciones y solicitar que administre un programa del software  

Buffer

Son espacios de memoria reservados para almacenar informacion de manera temporal para las operaciones de entrada y salida de datos, esto ocurre para que el periferico no se quede sin datos a la hora de que se este ejecutando la operacion, (por la diferencia de velocidades entre los dispositivos) los tipos de buffers son:

  • Buffer simple: Son el tipo de mas comun de buffers estos se ejecutan de la manera que cuando ocurre una operacion de E/S de datos el sistema operativo le asigna un espacio en la memoria de bloque para almacenar los datos, cuando finaliza la transferencia de datos el proceso mueve el bloque al espacio en que se requieren los datos para la operacion y si faltan datos por procesar inmediatamente se le asigna otro bloque de memoria para terminar con la transferencia hasta que el proceso de por finalizado.
  • Buffer doble: Este tipo de buffer consiste en la asignacion de dos buffers al proceso o la operacion de E/S, mientras el proceso en ejecucion envia datos hacia el buffer o desde el otro buffer es administrado por el sistema operativo para vaciarlo o llenarlo de datos del proceso en cuestion.

Gestión de entrada y salida en iOS

Es un proceso en el cual se administra cuando el intercambio de datos e información entre los dispositivos de E/S y la maquina, esto ocurre cuando un periférico se conecta a en uno de los puertos de entrada/salida de datos del dispositivo, cuando se conecta este envía una señal mediante los buses de información y le comunica al sistema operativo para administrar y proporcionarle al periférico la información y los datos necesarios para su ejecución.

iOS tiene 3 maneras de comunicarse con el dispositivo de E/S
  • E/S programada: en esta técnica el procesador se enfoca solo en la operación de E/S y tiene el control total de este, está constantemente revisando el estado del periférico y no atiende otra tarea o programa hasta que la operación de E/S haya finalizado, al usar esta técnica se usara un mínimo del hardware y se ejecutara más rápido pero no podrá ejecutar alguna otra tarea ya que solo administrara al periférico
  • E/S por interrupciones: el dispositivo da ejecuta una interrupción al procesador para que atienda la operación de E/S y guarde los datos del programa que estaba ejecutándose, este proceso en comparación a la E/S programa es más eficiente ya que elimina las esperas innecesarias y el procesador puede ejecutar mas tareas a parte de esa pero también reducirá en manera considerable la velocidad de ejecución
  • E/S DMA: la operación de E/S por DMA o acceso directo de memoria (Direct Access Memory) se considera como una de las más efectivas ya que el controlador intercambia los datos directamente con la memoria sin necesitar al procesador para el intercambio de datos 

Familias


Así como se hacen abstracciones de hardware para los dispositivos de E/S también deben hacerse abstracciones de software, para ello se utilizan las familias. Las familias son clases que implementan abstracciones para los protocolos de bus y los dispositivos de E/S, esto es mediante los controladores que cuando se ejecutan se conectan con las familias para solicitar y proporcionar datos para que el dispositivo oueda interactuar y realizar sus funciones, un controlador siempre trabaja con 2 o más familias (a la que pertenece el controlador del dispositivo, una capa superior de la cual es cliente y una capa inferior la cual le provee los servicios necesarios).

 

-Samuel Villalba

Comentarios

  1. ¿ Cual de las tres manera para comunicarse con un periférico, tiene ios como predeterminada o mas usada? ANDROID

    ResponderBorrar
    Respuestas
    1. iOS usa todas las tecnicas, e/s programada por ejemplo cuando se actualiza el software del dispositivo y queda en modo standby (se recuerda que hasta los dispositivos de comunicacion inalambrica son considerados dispositivos de e/s), e/s por interrupciones cuando se trata de alguna transferencia de datos por bluetooth, pero la mas usada o la predeterminada es DMA ya que se comprueba cuando el dispositivo actualiza o descarga aplicaciones, o intercambia datos en una pc sin afectar la velocidad, el funcionamiento o el rendimiento del dispositivo

      Borrar
  2. Este comentario ha sido eliminado por el autor.

    ResponderBorrar

Publicar un comentario

Entradas populares