Sistemas operativos en tiempo real

Gestión de ficheros. Gestión de procesos y de memoria. Entrada-Salida y Dispositivos. Tiempo Real. Distribuido

  • Enviado por: Guillem
  • Idioma: castellano
  • País: España España
  • 9 páginas

publicidad
cursos destacados
Crea y administra sitios web profesionales con Joomla
Crea y administra sitios web profesionales con Joomla
Con este curso aprenderás Joomla 2.5 desde Cero. Iniciamos con la instalación del sistema y construiremos...
Ver más información

Introducción a Apache OpenOffice 4.0
Introducción a Apache OpenOffice 4.0
Existen multitud de programas informáticos de código abierto y gratuitos, que al no contar detrás con una gran...
Ver más información


ÍNDICE


SISTEMA OPERATIVO EN TIEMPO REAL:

Para este tipo de Sistema Operativo hemos elegido los semáforos, ya que necesitan un Sistema Operativo capaz de coordinarlos y de estimar las prioridades entre procesos para evitar cualquier tipo de contratiempo.

En el caso que planteamos, hemos pensado que, un claro ejemplo de utilización de este tipo de sistema sería el pulsador que se encuentra en algunos semáforos y que sirve para intentar permitir el paso a los peatones en el mínimo tiempo posible.

En el momento en que es pulsado el botón, se deben realizar una serie de operaciones y es donde podemos ver que el Sistema Operativo en tiempo real es el mas adecuado gracias a algunas de sus principales características:

  • Gestión de entradas y salidas: en el momento en que se pulsa el botón deberá activarse un subprograma que paralice la circulación y permita el paso a los peatones y en el cual ya esté predeterminado un tiempo de espera para volver a reanudar la circulación.

  • La capacidad de comunicación entre el Sistema Operativo y el exterior se intenta utilizar al máximo poniendo los pulsadores.

Por tanto, la sincronización entre procesos es necesaria para evitar errores de temporización debido al acceso a recursos compartidos. La sincronización entre procesos también permite el intercambio de señales de temporización (Parar/Seguir) entre procesos cooperativos con el fin de preservar las relaciones especificadas.

Los semáforos son un mecanismo de sincronización entre procesos simples y satisfacen la mayoría de los requisitos de concurrencia excepto procesos competidores como es el caso del pulsador que al activarlo hará una reestructuración de los procesos para dar prioridad a este, que será dar paso a los peatones.

Gráficamente:

Sistemas operativos en tiempo real

Aquí podemos observar el gráfico y la distribución de los pulsadores.

La calla Grande, es la calle con mayor prioridad, ya que es la que tiene mayor afluencia de tráfico, y por tanto, el espacio de tiempo de paso de los vehículos será mayor que la otra calle ya que tiene menos circulación.

Se ha realizado un programa que ya tiene predeterminado el tiempo que debe permitir la circulación por las distintas calles. En el momento en que alguien activa el pulsador, se ejecuta el programa “alternativo” y se bloquea el paso de coches a la calle que se pretende cruzar.

Tenemos un semáforo a cada lado de la calle juntamente con un pulsador, para facilitar el acceso.

Procesos:

  • Acceso por la Calle Grande (Porción de tiempo mayoritaria)

  • Paso de la calle minoritaria

  • Paso a los peatones (en el caso de pulsar el botón)*

    • Como ya hemos mencionado anteriormente, este proceso, en el momento en que alguien ejecuta la pulsación del botón., se vuelve completamente prioritario

    • SISTEMA OPERATIVO MULTIPROCESADOR

      En el caso de esta modalidad de Sistema Operativo, hemos estado pensando en que situación podríamos necesitarlo. Después de analizar los apuntes, hemos decidido que una clara situación donde podemos necesitar gran potencia de cálculo (principal ventaja de este sistema) es el caso de los Fórmula 1.

      En el ejemplo que nosotros utilizamos, tenemos un coche lleno de sensores (se describirá de forma mas concreta posteriormente)que tomarán una série de lecturas, y que deberán ser analizadas los mas rápido posible, para conseguir poner a punto la máquina.

      Primeramente, utilizaremos un Sistema Operativo Multiprocesador con memoria compartida, ya que el volumen de información puede ser en determinados casos muy elevado, de tal manera debemos poder aprovechar al máximo las posibilidades de la máquina, lo que sin duda, con el sistema multiprocesador conseguiremos, ya que un mismo proceso se parte en trozos (tantos como CPU's) y conseguimos rendibilizar al máximo la velocidad de lectura.

      Otro punto muy importante ( y con el que no se acostumbra a pensar demasiado) es el riesgo de fallo del sistema; en nuestro caso, al ser multiprocesador tenemos mayor tolerancia a los fallos, ya que si algún componente de una CPU falla el sistema sigue funcionando pero sin ese componente, y además, tenemos la posibilidad de hacer el llamado cambio en “caliente”, que se caracteriza en que podemos cambiar dicho componente sin necesidad de tener que apagar la máquina.

      Será un sistema diferido, es decir, la información es enviada a una capa intermedia que se encarga de partir el proceso en subprocesos y enviarlo a la CPU que sea más conveniente, de esta manera, ganamos velocidad. También será un Sistema Operativo con supervisores separados, es decir, cada máquina tiene su Sistema Operativo.

      Todo este sistema, se utilizará en el análisis posterior, es decir, en las horas que el equipo de Formula 1 tiene entreno, el piloto dará una serie de vueltas y, posteriormente, se analizará el contenido de las lecturas, vamos a ver el gráfico del vehículo, así como la posición de los sensores, y la función que realiza cada uno.

      El programa, también tendrá unos sistemas de ponderación de las lecturas, y en caso que superen los resultados prefijados, debe dar la alarma, en el punto donde se encuentre el error o el posible fallo.

      Gráficamente:

      Sistemas operativos en tiempo real

      Sensores del vehículo:

    • Presión neumáticos: Durante el tiempo de circulación, se toman lecturas sobre la pérdida de presión o ganancia, y se estima en que factores puede influir.

    • Presión de los amortiguadores: Se utilizará para controlar la presión dentro del amortiguador y así, conseguir los reglajes mas adecuados para ganar la máxima estabilidad.

    • Recorrido del muelle: En situaciones extremas, y en relación con el amortiguador, daremos mas o menos recorrido así como presión en el amortiguador.

    • Inyección: Este sensor, tomará lecturas del flujo de aire y combustible; gracias a eso, llegaremos a saber si la combustión se realiza correctamente o bien debemos enriquecerla con algún aditivo así como aumentar el flujo de aire o de combustible.

    • Temperatura motor: Según el régimen de revoluciones a que trabaje el motor, tendrá una temperatura determinada, que puede aumentar o disminuir.

    • Presión y temperatura del aceite: Se controla la presión del aceite, de esta manera sabremos el desgaste de los lubricantes, y podremos hacer la comprobación de su resistencia a altas temperaturas.

    • Desgaste pastillas de freno: Este no es un punto vital, ya que podríamos poner una pastilla con un volumen predeterminado, pero de esta manera, conseguimos que la duración de las pastillas sea el justo, y de esta manera eliminamos algo de peso.

    • Temperatura discos: Sabremos a que temperatura llegan los discos y de esta manera decidiremos cuales son los compuestos mas adecuados a utilizar como pastillas.

    • Temperatura del habitáculo: El habitáculo siempre debe estar aislado y su temperatura controlada, si no fuera así, el piloto no rendirá suficiente, al cambiar la meteorología, siempre debemos estar preparados, ya que una deshidratación del piloto podría tener consecuencias fatales.


    • SISTEMA DISTRIBUIDO:

      Son sistemas operativos utilizados en redes de computadoras, donde las tarifas

      de distribución y de gestión de recursos son repartidas por diversas maquinas de

      la red.

      Los sistemas distribuidos están basados en las ideas de trasparencia,

      eficiencia, flexibilidad, escalabilidad y fiabilidad.

      Por eso hemos cogido como ejemplo de este sistema una gran  empresa la cual hay

      varios grupos de trabajo, coda uno necesita almacenar grandes cantidades de

      información en el disco duro con una alta fiabilidad y disponibilidad.

      La solución puede ser un sistema operativo distribuido:

      Transparencia: El que el sistema disponga de varios procesadores lograría un

      mayor rendimiento del sistema, de tal manera que todos los ordenadores puedan

      acceder a todos los archivos del sistema, todos los ordenadores tendrían que

      llevar siempre una copia actualizada de la estructura de archivos y directorios.

      Eficiencia: o principal en conseguir con un  sistema operativo distribuido es

      la velocidad ,al igual, que las demás características.Por ello contra mas

      velocidad tenga un ordenador más eficiente será y eso lo podemos conseguir con

      un sistema operativo distribuido, siempre que, por ejemplo, evitemos

      situaciones como enviar un trabajo de impresión a un ordenador que no tenga

      conectada una impresora de forma local, porque la velocidad también depende de

      aspectos como la localización del procesador, los datos, los dispositivos,

      etc....

      Flexibilidad :Un sistema operativo distribuido en una empresa como el ejemplo

      que hemos escogido debe estar abierto  a cambios  y actualizaciones que mejoren

      el funcionamiento del sistema y que en cualquier momento podamos cambiar

      cualquier cosa en nuestro sistema debido a que al ser una gran empresa podrá

      tener muchos cambios a lo largo de su historia, por ejemplo el ponerle mas

      memoria......

      Escalabilidad: En una empresa como la que hemos escogido de gran volumen, es

      lógico que tenga muchos ordenadores y que no tenga limitado el numero de

      ordenadores que  pueda tener distribuidos , POreso, un sistema distribuido en

      este caso es una buena elección, debido a la escabilidad, que debería funcionar

      tanto para una docena de ordenadores como para varios millares. Con la

      escabilidad lo que conseguimos es que cualquier ordenador sea capaz de trabajar

      independientemente como un sistema distribuido, pero también hacerlo conectado a

      muchas otras maquinas.

      Fiabilidad: n una empresa como la nuestra la información no debe estar

      guardada solo en un servidor de archivos sino en por lo menos dos maquinas, y

      gracias a la redundancia de los principales archivos o de todos, vitamos el caso

      de que el fallo de un servidor bloquee todo el sistema, al tener una copia

      idéntica de los archivos en otro equipo.

      ALGUNAS VENTAJAS PARA NUESTRA EMPRESA:

      Economía: l cociente precio/ desempeño de la suma del poder de los

      procesadores separados contra  el poder  de uno solo centralizado es mejor

      cuando están distribuidos.

      Velocidad: Relacionado con el punto anterior, la velocidad sumada es muy

      superior.

      Fiabilidad. Si una maquina falla, el sistema total sigue funcionando.

      Crecimiento: El poder total del sistema puede irse incrementando al añadir

      pequeños sistemas.

      Compartir datos: Un sistema distribuido permite compartir datos mas fácilmente

      que los sistemas aislados, que tendrían que duplicarlos en cada nodo para

      lograrlo.

      Compartir dispositivos: Permite acceder a los dispositivos desde cualquier nodo.

      Comunicaciones: a comunicación persona a persona es factible en los sistema

      distribuidos.

      1