Sistemas operativos – Técnicas de comunicación de E/S

Existen tres técnicas para llevar a cabo las operaciones de E/S:

  • E/S programada
  • E/S dirigida por interrupciones
  • Acceso directo a memoria (Direct memory access o DMA)

E/S programada

Cuando el procesador ejecuta un programa y encuentra una instrucción relacionada con la E/S (leer, escribir o comprobar el estado de un dispositivo), ejecuta esa instrucción generando uno o varios mandatos al módulo de E/S apropiado. En el caso de la E/S programada, el módulo de E/S realiza la acción solicitada pero no realiza ninguna acción para avisar al procesador. Por tanto, después de invocar la instrucción E/S, el procesador debe tomar un papel activo para determinar cuándo se completa la instrucción. El procesador comprueba periódicamente el estado del módulo E/S hasta que se completa la operación. Aquí no se ha producido ninguna interrupción, sin embargo, el procesador ha colaborado con el módulo E/S para comunicarse en dirección al dispositivo externo y no al revés.

Read more ›

Publicado en Sistemas operativos, Varios

Sistemas operativos – Sistema de Entrada-Salida (E/S)

Los ordenadores actuales están basados en la arquitectura de Von Neumann. Esta arquitectura consta de tres partes claramente diferenciadas: El procesador, la memoria y uno o varios dispositivos de E/S. Para conectar estas partes, se usan tres tipos básicos de buses:

  • Bus de datos: Puede ser de 8, 16, 32 o 64 bits, dependiendo del modelo de procesador.
  • Bus de direcciones: Se usa para poder conectar la CPU con la memoria y con dispositivos de E/S.
  • Bus de control: Se usa para enviar señales que determinan cómo se comunica la CPU con el resto del sistema.

Con esta arquitectura, debe haber un sistema que se encargue de comunicar y gestionar los dispositivos de E/S con el procesador, reduciendo la carga de trabajo en la CPU tanto como sea posible. Esto es el módulo de E/S.

Read more ›

Publicado en Sistemas operativos, Varios

Sistemas operativos – Interrupciones

Prácticamente todos los computadores proporcionan un mecanismo para mejorar el uso del procesador y por el cual, módulos como los de E/S pueden interrumpir el secuenciamiento normal del mismo. A continuación se describirán los cuatro tipos de interrupciones más comunes. Los dos primeros tipos corresponden a interrupciones de software, y los dos últimos a interrupciones de hardware:

  • De programa: Generada por alguna condición que se produce como resultado de la ejecución de una instrucción, como por ejemplo un desbordamiento aritmético, una división entre cero, un intento de ejecutar una instrucción ilegal o una referencia errónea a memoria.
  • Por temporizador: Generada por un temporizador del procesador. Permite al sistema operativo realizar funciones de forma regular.
  • De E/S: Generada por un controlador de E/S para señalar la conclusión normal de una operación, o para indicar diversas condiciones de error.
  • Por fallo de hardware: Generada por un fallo, como un fallo de energía, o un error de paridad en la memoria.

Read more ›

Publicado en Sistemas operativos, Varios

Sistemas operativos – Ejecución de instrucciones

Un programa que va a ejecutarse en un procesador consta de un conjunto de instrucciones almacenadas en memoria. Podemos decir que la ejecución consta de dos pasos: el procesador lee (busca) instruciones de la memoria, una cada vez, y ejecuta cada una de ellas. La ejecución del programa consiste en repetir este proceso de búsqueda y ejecución hasta que se ejecute la última instrucción del programa. Llamamos ciclo de instrucción al procesamiento requerido por una única instrucción.

CicloInstrucción

Read more ›

Publicado en Sistemas operativos, Varios

Sistemas operativos – Elementos básicos del procesador

Teniendo en cuenta la arquitectura Von Neumann, un computador consta de procesador, la memoria y los componentes de E/S, incluyendo uno o más módulos de cada tipo. Hay cuatro elementos principales:

  • Procesador: Controla el funcionamiento del computador y realiza funciones de procesamiento de datos, se le denomina CPU (Central Processing Unit).
  • Memoria principal: Almacena datos y programas. Esta memoria suele ser volátil, esto quiere decir que cuando se apaga el computador, se pierde su contenido. Por el contrario, el contenido de la memoria del disco duro se mantiene incluso cuando se apaga el computador.
  • Módulos de E/S: Transfieren los datos entre computador y su entorno externo. El entorno externo puede estar compuesto por diversos dispositivos de memoria secundaria, equipos de comunicaciones, terminales, etc.
  • Bus del sistema: Proporciona comunicación entre los procesadores, la memoria principal y los módulos E/S.

Read more ›

Publicado en Sistemas operativos, Varios

Sistemas operativos – Máquina multinivel

El sistema operativo separa al programador de trabajar directamente con el hardware a bajo nivel (bits, transistores, puertas lógicas, etc) y presenta una interfaz sencilla ocultando asuntos desagradables como interrupciones, temporizadores, administración de memoria, etc. Desde esta perspectiva, una de las funciones del sistema operativo es presentar al usuario el equivalente de una máquina virtual, que es más fácil de programar que el hardware.

Las máquinas interpretan más fácilmente las señales on y off, lo que equivale a interpretar la presencia o ausencia de voltaje. Por lo tanto, el lenguaje empleado por las máquinas consta de dos símbolos, el 1 y el 0, lo que equivale a verdadero o true, y falso o false respectivamente. Este lenguaje se conoce como lenguaje binario, y es éste lenguaje el empleado para construir todos los comandos e instrucciones necesarias para comunicarnos con la máquina. Las instrucciones que se ejecutan en un computador, son colecciones de bits, por ejemplo, el siguiente patrón indica al computador que debe sumar dos números: 1000110010100000. Escribir un programa a base de bits, es muy complicado para los programadores, para solucionar este problema existe lo que llamamos máquina multinivel. Éste concepto es una estructuración de capas bajo una serie de abstracciones, donde cada capa se apoya en la que está debajo de ella, y facilita el trabajo con el sistema operativo. Ejemplo de máquina multinivel: Read more ›

Publicado en Sistemas operativos, Varios

Sistemas operativos – Planificación y gestión de los recursos

Una responsabilidad importante de los sistemas operativos es la gestión de varios recursos disponibles para ellos, tales como espacio de la memoria principal, dispositivos de E/S, procesadores, etc. Es necesario que se planifique el uso de estos recursos mediante distintos procesos activos. Cualquier asignación de recursos y política de planificación debe tener en cuenta tres factores:

  • Equitatividad: Por norma general, se desea que todos los procesos que compiten por un determinado recurso, se le conceda un acceso equitativo a dicho recurso.
  • Respuesta diferencial: Por otro lado, el sistema operativo puede necesitar discriminar entre diferentes clases de trabajos con diferentes requisitos de servicio. El sistema operativo debe decidir sobre la asignación y planificación con el objetivo de satisfacer el conjunto total de los requisitos. Además, debe tomar decisiones de forma dinámica. Por ejemplo, si un proceso está esperando para hacer uso de un recurso de E/S, el sistema operativo puede intentar planificar este proceso lo antes posible con el objetivo de dejar libre ese recurso para posteriores demandas por parte de otros procesos.
  • Eficiencia: El sistema operativo debe intentar maximizar la productividad, minimizar los tiempos de respuesta, y en caso de sistemas de tiempo compartido, acomodar tantos usuarios como sea posible.

Read more ›

Publicado en Sistemas operativos, Varios
Sobre mi…

Soy Técnico en Explotación de Sistemas Informáticos y Técnico Superior en Administración de Sistemas Informáticos en Red. Actualmente estudiando el Grado de Ingeniería Informática en la Universidad de Córdoba (España).

Enamorado de la ciencia en general y de la computación en particular.

Música: Heavy, Rock, Celta, New Age, Electrónica, etc...
Libros:Isaac Asimov, Richard Dawkins, Stephen Hawking, Carl Sagan...

Estoy interesado en la programación de videojuegos. Políticamente de izquierdas, escéptico y ateo. En definitiva, mala gente.

Sígueme en Twitter

Introduce tu dirección de correo electrónico para seguir este Blog y recibir las notificaciones de las nuevas publicaciones en tu buzón de correo electrónico.

Únete a otros 24 seguidores

Usa Linux Mint
The Bit Developer Box