Sie sind auf Seite 1von 15

Sistema operativo de tiempo real

De Wikipedia, la enciclopedia libre


Saltar a: navegacin, bsqueda
Un sistema operativo de tiempo real es un sistema operativo que ha sido desarrollado para
aplicaciones de tiempo real. Como tal, se le exige correccin en sus respuestas bajo ciertas
restricciones de tiempo. Si no las respeta, se dir que el sistema ha fallado. Para garantizar
el comportamiento correcto en el tiempo requerido se necesita que el sistema sea
predecible.

ndice
[ocultar]

1 Caractersticas Generales
2 Procesador
3 Diseo
4 Programacin
5 Comunicacin entre Tareas
6 Interrupciones
7 Memoria
8 Comunicaciones
9 Algunos Ejemplos
10 Enlaces externos

Caractersticas Generales[editar]
Usado tpicamente para aplicaciones integradas, normalmente tiene las siguientes
caractersticas:

No utiliza mucha memoria


Cualquier evento en el soporte fsico puede hacer que se ejecute una tarea
Multi-arquitectura (cdigo portado a cualquier tipo de CPU)
Muchos tienen tiempos de respuesta predecibles para eventos electrnicos

Se caracterizan por presentar requisitos especiales en cinco reas generales:

Determinismo
Sensibilidad
Control del usuario
Fiabilidad
Tolerancia a los fallos

En la actualidad hay un debate sobre qu es tiempo real. Muchos sistemas operativos de


tiempo real tienen un programador (en ingls conocido como scheduler), diseos de
controladores que minimizan los periodos en los que las interrupciones estn
deshabilitadas, un tiempo finito conocido (casi siempre calculado para el peor de los casos,
trmino que en ingls se conoce como worst case) de la duracin de interrupcin. Muchos
incluyen tambin formas especiales de gestin de memoria que limitan la posibilidad de
fragmentacin de la memoria y aseguran un lmite superior mnimo para los tiempos de
asignacin y retiro de la memoria asignada.
Un ejemplo temprano de sistema operativo en tiempo real a gran escala fue el denominado
programa de control desarrollado por American Airlines e IBM para el sistema de
reservas Sabre.

Procesador[editar]
Este tipo de sistemas operativos no es necesariamente eficiente en el sentido de tener una
capacidad de procesamiento alta. El algoritmo de programacin especializado, y a veces
una tasa de interrupcin del reloj alta pueden interferir en la capacidad de procesamiento.
Aunque para propsito general un procesador moderno suele ser ms rpido, para
programacin en tiempo real deben utilizarse procesadores lo ms predecibles posible, sin
paginacin. Todos estos factores en un procesador aade una aleatoriedad que hace que sea
difcil demostrar que el sistema es viable, es decir, que cumpla con los plazos de tiempo
para la ejecucin de las tareas y la atencin de los servicios o interrupciones.
Un sistema operativo de tiempo real puede ser implementado en microcontroladores o
procesadores digitales de seal "DSP's", as, se pueden desarrollar aplicaciones embebidas
en diferentes reas de la electrnica.

Diseo[editar]
Hay dos diseos bsicos:

Un sistema operativo guiado por eventos slo cambia de tarea cuando un evento
necesita el servicio.
Un diseo la comparticin de tiempo cambia de tareas por interrupciones del reloj y
por eventos.

El diseo de comparticin de tiempo gasta ms tiempo de la UCP en cambios de tarea


innecesarios. Sin embargo, da una mejor ilusin de multitarea. Normalmente se utiliza un
sistema de prioridades fijas.
Uno de los algoritmos que suelen usarse para la asignacin de prioridades es el RateMonotonic Schedule. Si el conjunto de tareas que tenemos es viable con alguna asignacin
de prioridades fijas, tambin es viable con el Rate-Monotonic Schedule, donde la tarea ms

prioritaria es la de menor periodo. Esto no quiere decir que si no es viable con RateMonotonic Schedule no sea viable con asignaciones de prioridad variable. Puede darse el
caso de encontrarnos con un sistema viable con prioridades variables y que no sea viable
con prioridades fijas.

Programacin[editar]
En los diseos tpicos, una tarea tiene tres estados: ejecucin, preparada y bloqueada. La
mayora de las tareas estn bloqueadas casi todo el tiempo. Solamente se ejecuta una tarea
por UCP. La lista de tareas preparadas suele ser corta, de dos o tres tareas como mucho.
El problema principal es disear el programador. Usualmente, la estructura de los datos de
la lista de tareas preparadas en el programador est diseada para que cada bsqueda,
insercin y eliminacin necesiten interrupciones de cierre solamente durante un perodo
muy pequeo, cuando se buscan partes de la lista muy definidas.
Esto significa que otras tareas pueden operar en la lista asincrnicamente, mientras que se
busca. Una buena programacin tpica es una lista conectada bidireccional de tareas
preparadas, ordenadas por orden de prioridad. Hay que tener en cuenta que no es rpido de
buscar sino determinista. La mayora de las listas de tareas preparadas slo tienen dos o tres
entradas, por lo que una bsqueda secuencial es usualmente la ms rpida, porque requiere
muy poco tiempo de instalacin.
El tiempo de respuesta crtico es el tiempo que necesita para poner en la cola una nueva
tarea preparada y restaurar el estado de la tarea de ms alta prioridad.
En un sistema operativo en tiempo real bien diseado, preparar una nueva tarea necesita de
3 a 20 instrucciones por cada entrada en la cola y la restauracin de la tarea preparada de
mxima prioridad de 5 a 30 instrucciones. En un procesador 68000 20MHz, los tiempos de
cambio de tarea son de 20 microsegundos con dos tareas preparadas.
Cientos de UCP MIP ARM pueden cambiar en unos pocos microsegundos.

Comunicacin entre Tareas[editar]


Las diferentes tareas de un sistema no pueden utilizar los mismos datos o componentes
fsicos al mismo tiempo. Hay dos mtodos para tratar este problema.
Uno de los mtodos utiliza semforos. En general, el semforo binario puede estar cerrado
o abierto. Cuando est cerrado hay una cola de tareas esperando la apertura del semforo.
Los problemas con los diseos de semforos son bien conocidos: inversin de prioridades y
puntos muertos (deadlocks).

En la inversin de prioridades, una tarea de mucha prioridad espera porque otra tarea de
baja prioridad tiene un semforo. Si una tarea de prioridad intermedia impide la ejecucin
de la tarea de menor prioridad, la de ms alta prioridad nunca llega a ejecutarse. Una
solucin tpica sera otorgar a la tarea que tiene el semforo la prioridad de la tarea ms
prioritaria de las que estn esperando dicho semforo. Esto se denomina algoritmo de
herencia bsica de prioridad.
En un punto muerto, dos tareas (T1,T2) pretenden adquirir dos semforos (semA, semB) en
orden inverso. En este caso si T1 adquiere semA y T2 adquiere semB cuando intenten
adquirir el segundo semforo no podrn hacerlo ya que lo tiene la otra tarea. De esta forma
entran en un punto muerto del que ninguna de las dos tareas puede salir sin intervencin
externa. Esto se resuelve normalmente mediante un diseo por ej. obligando a adquirir los
semforos en un orden concreto.
La otra solucin es que las tareas se manden mensajes entre ellas. Esto tiene los mismos
problemas: La inversin de prioridades tiene lugar cuando una tarea est tratando un
mensaje de baja prioridad, e ignora un mensaje de ms alta prioridad en su correo. Los
puntos muertos ocurren cuando dos tareas realizan envos bloqueantes (se quedan en la
funcin de envo esperando a que el receptor reciba el mensaje). Si T1 manda un mensaje
de forma bloqueante a T2 y T2 manda un mensaje de igual forma a T1 ninguna de las dos
tareas saldr de la funcin de envo quedando ambas bloqueadas ya que no podrn llegar a
la funcin de recepcin. Puede resolverse reordenando envos y recepciones o empleando
envos no bloqueantes o temporizados.
Aunque su comportamiento en tiempo real es algo ms difcil de analizar que los sistemas
de semforos, los sistemas basados en mensajes normalmente son ms sencillos de
desarrollar que los sistemas de semforo.

Interrupciones[editar]
Las interrupciones son la forma ms comn de pasar informacin desde el mundo exterior
al programa y son, por naturaleza, impredecibles. En un sistema de tiempo real estas
interrupciones pueden informar diferentes eventos como la presencia de nueva informacin
en un puerto de comunicaciones, de una nueva muestra de audio en un equipo de sonido o
de un nuevo cuadro de imagen en una videograbadora digital.
Para que el programa cumpla con su cometido de ser tiempo real es necesario que el
sistema atienda la interrupcin y procese la informacin obtenida antes de que se presente
la siguiente interrupcin. Como el microprocesador normalmente solo puede atender una
interrupcin a la vez, es necesario que los controladores de tiempo real se ejecuten en el
menor tiempo posible. Esto se logra no procesando la seal dentro de la interrupcin, sino
enviando un mensaje a una tarea o solucionando un semforo que est siendo esperado por
una tarea. El programador se encarga de activar la tarea y esta se encarga de adquirir la
informacin y completar el procesamiento de la misma.

El tiempo que transcurre entre la generacin de la interrupcin y el momento en el cual esta


es atendida se llama latencia de interrupcin. El inverso de esta latencia es una frecuencia
llamada frecuencia de saturacin, si las seales que estn siendo procesadas tienen una
frecuencia mayor a la de saturacin, el sistema ser fsicamente incapaz de procesarlas. En
todo caso la mayor frecuencia que puede procesarse es mucho menor que la frecuencia de
saturacin y depende de las operaciones que deban realizarse sobre la informacin recibida.

Memoria[editar]
Hay dos problemas con el reparto de la memoria en SOTR (sistemas operativos en tiempo
real).
El primero, la velocidad del reparto es importante. Un esquema de reparto de memoria
estndar recorre una lista conectada de longitud indeterminada para encontrar un bloque de
memoria libre; sin embargo, esto no es aceptable ya que el reparto de la memoria debe
ocurrir en un tiempo fijo en el SOTR.
En segundo lugar, la memoria puede fragmentarse cuando las regiones libres se pueden
separar por regiones que estn en uso. Esto puede provocar que se pare un programa, sin
posibilidad de obtener memoria, aunque en teora exista suficiente memoria. Una solucin
es tener una lista vinculada LIFO de bloques de memoria de tamao fijo. Esto funciona
asombrosamente bien en un sistema simple.
La paginacin suele desactivarse en los sistemas en tiempo real, ya que es un factor
bastante aleatorio e impredecible, que vara el tiempo de respuesta y no nos permite
asegurar que se cumplirn los plazos, debido al trasiego de pginas de memoria con un
dispositivo de almacenamiento (thrashing)

Comunicaciones[editar]
Para las comunicaciones se suelen usar conexiones o redes deterministas CAN bus o
puertos serie, ya que las redes ms usuales, como Ethernet son indeterministas y no pueden
garantizarnos el tiempo de respuesta. El sistema CAN bus es utilizado para la interconexin
de dispositivos electrnicos de control (ECU) en los vehculos.

Algunos Ejemplos[editar]

Haiku (sistema operativo)


QNX
RT-11
MaRTE OS
EasyTasks
LynxOS
RedHat Embedded Linux
eCos (Linux)

SOOS
VxWorks
Windows CE
Linchos
UNIX (Some)
DuinOS
RTAI
Symbian
BlackBerry 10

SISTEMAS OPERATIVOS DE TIEMPO REAL


Los Sistemas Operativos de tiempo real son la plataforma para establecer un sistema de tiempo real ya que
en los SOTR no tiene importancia el usuario, sino los procesos.
Algunos ejemplos de Sistemas Operativos de tiempo real son:
a. VxWorks,
b.
c. Solaris, Lyns OS
d. Spectra
Por lo regular Sistema Operativo de tiempo real suele tener la misma arquitectura que un Sistema Operativo
convencional, pero su diferencia radica en que proporciona mayor prioridad a los elementos de control y
procesamiento que son utilizados para ejecutar los procesos o tareas.
a. El SOTR debe ser multitarea y permisible
b. Un SOTR debe poder asignar prioridades a las tareas
c. El SOTR debe proporcionar medios de comunicacin y sincronizacin entre tareas
d. Un SOTR debe poder evitar el problema de inversin de prioridades
e. El comportamiento temporal del SOTR debe ser conocido

CLASIFICACIN DE LOS SISTEMAS DE TIEMPO REAL


Los sistemas de tiempo real pueden ser de dos tipos, esto es en funcin de su severidad en el tratamiento de
los errores que puedan presentarse:
Sistemas de tiempo real blandos o Soft real-time systems: estos pueden tolerar un exceso en el tiempo de
respuesta, con una penalizacin por el incumplimiento del plazo. Estos sistemas garantizan que las tareas
crticas se ejecutan en tiempo. Aqu los datos son almacenados en memorias no voltiles, no utilizan tcnicas
de memoria virtual ni tiempo compartido, estas tcnicas no pueden ser implementadas en hardware.

Sistemas de tiempo real duros o Hard real-time systems: aqu la respuesta fuera de trmino no tiene valor
alguno, y produce la falla del sistema. Estos sistemas tienen menos utilidades que los implementados por
hard, por ejemplo no pueden utilizarse para control industrial y robtico. Pero si para multimedia, supervisin
de controles industriales y realidad virtual.

MTODOS DE DISEOS

Cuando se elabora software de tiempo real se deben incorporar una alta calidad.
Al elaborar el software de tiempo real se presentan mltiples problemas como:
Representacin de interrupciones y cambio de contexto.
Comunicacin y sincronizacin de tareas.
Grandes variaciones en las tasas de datos.
Requisitos especiales para manejo de errores y recuperacin de fallos.
Procesamiento asncrono.
Para evitar muchos de los problemas que se presentan al elaborar software de tiempo real se han establecido
algunos mtodos como lo son:
1. Metodologa de flujo de datos.
2.
3. Metodologa de estructura de datos.
4. Metodologa orientada a los objetos.

REQUISITOS TEMPORALES

Tiempo real estricto (hard real-time)


todas las acciones deben ocurrir dentro del plazo especificado
Ejemplo: control de vuelo
Tiempo real flexible (soft real-time)
se pueden perder plazos de vez en cuando
el valor de la respuesta decrece con el tiempo
Ejemplo: adquisicin de datos
Tiempo real firme (firm real-time)
se pueden perder plazos ocasionalmente
una respuesta tarda no tiene valor
Ejemplo: sistemas multimedia

ESTRUCTURA DE UN STR

CARACTERSTICAS DE LOS SISTEMAS DE TIEMPO


REAL
CARACTERSTICAS PRIMARIAS

CARACTERSTICAS SECUNDARIAS

Procedimiento concurrente

Fiabilidad

Interfaz hardware

Reconfigurabilidad

Tiempo de reaccin antes de los eventos Usabilidad


Arquitectura distribuida

Obligaciones

Bases de datos

Capacidad de evolucin

OTRAS CARACTERISTICAS:
DETERMINISMO EN LOS STR
Este trmino es una parte fundamental en estos sistemas, podra decirse que es una cualidad ya que es la
capacidad de determinar con una alta probabilidad, cuanto es el tiempo que tarda una tarea en iniciar, es
decir, que los STR necesitan que ciertas tareas se comiencen a ejecutar antes que otras.
RESPONSIVIDAD EN LOS STR:
Este trmino se basa en el tiempo que tarda una tarea en ejecutarse. La responsividad se enfoca a 3 aspectos
los cuales son:
1.
2. La cantidad de tiempo que tarda iniciar la ejecucin de una interrupcin
3. La cantidad de tiempo que se necesita para realizar las tareas que pidi la interrupcin.
4. Los efectos de Interrupciones anidadas.
USUARIOS CONTROLADORES
Todos los el usuario tienen un mejor control de todos los procesos que se ejecutan en el sistema esto es:
a.
b. Los procesos son capaces de especificar su prioridad
c. Los procesos son capaces de especificar el manejo de memoria que requiere
d. Los procesos especifican que derechos tiene sobre el sistema.
CONFIABILIDAD

En los STR la confiabilidad juega un papel muy importante, ya que el sistema no debe de presentar fallos, sino
que ms aun la calidad del servicio que ofrezca no debe de degradarse ms all de un lmite especificado.
El sistema tiene que tener la capacidad de seguir funcionando aunque se presenten grandes catstrofes, o
fallos mecnicos. Por lo general una degradacin en el servicio en un STR lleva consecuencias catastrficas.
TOLERANCIA A FALLOS
Al hablar de tolerancia a los fallos nos estamos refiriendo a la capacidad de un sistema de conservar la
mxima capacidad y los mximos datos posibles en caso de un problema grave que afecte a parte del
sistema.
Al referirnos a la tolerancia a los fallos estamos hablando tambin de la estabilidad ya que un sistema de
tiempo real cuando le es imposible cumplir todos los plazos de ejecucin de las tareas que tenia asignado en
ese momento, el sistema cumple los plazos de las tareas mas criticas y de mayor prioridad que hasta ese
momento se estaban ejecutando.
Entonces el sistema debe de fallar de manera que cuando se presente un problema en el sistema conserve
gran parte de los datos y capacidades del sistema en la mayor medida posible.
Caractersticas concretas:
1. Se presentan en entornos en donde deben ser aceptados y procesados una gran cantidad de sucesos,
donde la mayora de estos sucesos son externos al sistema computacional, con un tiempo de respuesta
inmediato.
2. Pueden ser utilizados en muchos mbitos entre los cuales estn en control industrial, conmutacin
telefnica, control de vuelo, simulaciones en tiempo real., aplicaciones militares (entre otras).
3. Proporciona rpidos tiempos de respuesta.
4. Capacidad de procesar rfagas de miles de interrupciones por segundo sin perder un solo suceso.
5. El proceso que tenga mayor prioridad expropia recursos.
6. La mayora de los de procesos son estticos.
7. La gestin de archivos se enfoca a velocidad de acceso que a la utilizacin eficiente del recurso.

APLICACIONES DE LOS STR


Los sistemas de tiempo real pueden tener muchsimas y con el paso del tiempo y el desarrollo de nuevas
tecnologas surgen nuevos campos de utilizacin para estos sistemas.
Las reas ms comunes donde se aplican los servicios de un STR podran ser:
a.
b. Las telecomunicaciones
c. Los sistemas multimedia
d. El control industrial
e. La robtica
f. Los sistemas de avinica y espaciales
g. Los ferrocarriles
h. Automviles
i. Electrodomsticos de nueva generacin
j. experimentos cientficos
k. sistemas mdicos.

SEGURIDAD EN LOS STR


Gran parte de los sistemas de tiempo real presentan requisitos de seguridad muy complicados, lo que da
como resultado que la elaboracin o desarrollo de un STR sea ms complicada. Esto es que en algunos
casos no se puede permitir que ninguna tarea se ejecute fuera del intervalo especificado ni una sola vez.

ENTRADA/SALIDA EN SISTEMAS DE TIEMPO REAL


Cuando el procesamiento en tiempo real esta realizado, es necesario que la interaccin con los dispositivos
externos sea tambin acotada en tiempo.

Entonces para establecer la transmisin de datos o informacin entre el sistema de tiempo real, los sensores y
actuadores que conforman al sistema, pueden usarse diversas tcnicas de buses de tiempo real, que ofrecen
la oportunidad de disponer de sensores inteligentes.
Este tipo de sensores no solo tienen la capacidad de transmitir los datos que se recolectaron, sino tambin
poseen la capacidad de enviar la informacin del instante que los datos fueron recolectados.
Ejemplos de protocolos de comunicacin que utilizan los STR los cuales tienen la capacidad de reducir los
tiempos de transmisin son los siguientes:
El protocolo PAR (Positive Acknowledge or Retransmit), Implicit Flow Control, CSMA/CD (Carrier Sense
Multiple Access/Collision Detection), CAN (Control Area Network), Tokenbus, Central Master, y TDMA-TTP.

EJEMPLO QUE PLASMA LA UTILIDAD DE LOS STR


El Problema:
Hoy en da en las empresas, los problemas llegan al Director General cuando ya poco se puede hacer para
solucionarlos, ya se trata de una operacin con prdidas, una deuda incobrable o la prdida de un cliente
importante. Es decir, cuando el perjuicio para nuestra empresa, para el cliente o para ambos es inevitable.
La Solucin
Ahora bien, que seria si todos los comerciales de la empresa estuviera conectados a un sistema informtico
en tiempo real que controle todas sus operaciones, autorizando las que cumplan las normas preestablecidas
(precios, riesgo, tiempos de entrega, etc.), y reteniendo las que no las cumplan para que sean autorizadas o
rechazadas por la persona o personas con atribucin para ello, quien recibe inmediatamente un aviso por
correo electrnico (un servicio que tambin puede realizarse mediante mensajes a mviles) en el que se le
indica que tiene una operacin pendiente de autorizar y los parmetros que han provocado la irregularidad.
Todo esto ya realidad con en nuevo Sistema HERMES, que combina las tecnologas de telefona mvil e
Internet para proporcionar un seguimiento continuo de las operaciones comerciales de la toda empresa.

CONCLUSIONES
Los sistemas de tiempo real (STR) juegan un papel muy importante ya que como todo sistema debe tener la
capacidad de satisfacer tareas en un tiempo de respuesta mnimo.
Los STR estn presentes en todos los aspectos de nuestra vida diaria como aeronaves, telfonos mviles,
automviles, entre muchas otras aplicaciones que nos benefician ampliamente.
Se podra tambin concluir que los sistemas de tiempo real estn en constante desarrollo puesto que con los
avances tecnolgicos se construyen nuevas maquinas que operan en tiempo real y que por consiguiente
necesitan tener sistemas controlados por un computador que tenga la capacidad de interactuar con el mundo
fsico.
Los sistemas de tiempo real bsicamente estn integrados en un sistema de ingeniera ms avanzado el cual
realiza funciones de control, por lo que tambin se les llama sistemas empotrados o embedded systems.
Los sistemas de tiempo real suelen tener un reloj y un timer para verificar los tiempos reales de respuesta del
sistema. Se dice que no son trminos iguales ya que un reloj le sirve al sistema nicamente para llevar un

conteo, en cambio un timer es un dispositivo que cuando llega a un estado determinado tiene la capacidad de
notificar que esta pasando, pero uno es el complemento del otro.

Leer ms: http://www.monografias.com/trabajos37/sistemas-tiempo-real/sistemas-tiemporeal2.shtml#ixzz2wSrEot32

Lenguajes de Programacion en tiempo real

Los programas creados para la programacion exclusiva en tiempo real, son dos,
Ada y Occam, los cuales presento un pequeo resumen a continuacion.

Ada
Es un lenguaje de programacin orientado a objetos y fuertemente tipado de
forma esttica que fue diseado por Jean Ichbiah de CII Honeywell Bull por
encargo del Departamento de Defensa de los Estados Unidos. Es un lenguaje
multipropsito, orientado a objetos y concurrente, pudiendo llegar desde la
facilidad de Pascal hasta la flexibilidad de C++.
Fue diseado con la seguridad en mente y con una filosofa orientada a la
reduccin de errores comunes y difciles de descubrir. Para ello se basa en un
tipado muy fuerte y en chequeos en tiempo de ejecucin (desactivables en
beneficio del rendimiento). La sincronizacin de tareas se realiza mediante la
primitiva rendezvous.
Ada se usa principalmente en entornos en los que se necesita una gran
seguridad y fiabilidad como la defensa, la aeronutica (Boeing o Airbus),
la gestin

del

trfico

areo (como Indraen

Espaa)

la

industria aeroespacial entre otros.


Uno de sus compiladores muy usado es GNAT, originalmente desarrollado por
la Universidad de Nueva York bajo patrocinio del DoD. Est basado en la

tecnologa de GCC y es software libre. Pero existen otros compiladores


comerciales.

Caractersticas

La sintaxis, inspirada en Pascal, es bastante legible incluso para personas que


no conozcan el lenguaje. Es un lenguaje que no escatima en la longitud de las
palabras clave, en la filosofa de que un programa se escribe una vez, se
modifica decenas de veces y se lee miles de veces (legibilidad es ms
importante que rapidez de escritura).

Es indiferente el uso de maysculas y minsculas en los identificadores y


palabras claves, es decir es un lenguaje case-insensitive.

En Ada, todo el programa es un nico procedimiento, que puede contener


subprogramas (procedimientos o funciones).

Cada sentencia se cierra con end qu_cerramos. Es un modo de evitar errores y


facilitar la lectura. No es necesario hacerlo en el caso de subprogramas,
aunque todos los manuales lo aconsejan y casi todos los programadores de
Ada lo hacen.

El operador de asignacin es :=, el de igualdad =. A los programadores de C y


similares les puede confundir este rasgo inspirado en Pascal.

Se distingue entre "procedimientos" y "funciones" .

Occam
Es un lenguaje de programacin imperativo y estructurado (al igual que Pascal).
Poco conocido y Con muy pero muy poca informacion en la red. Fue
desarrollado por David May en Inmos Limited, Bristol, Inglaterra, para
desarrollar software para su lnea de procesadores Transputers, existiendo
tambin implementaciones para otras plataformas.
Es un lenguaje de procesamiento en paralelo; se basa en el lgebra de procesos
CSP (Communicating Sequential Processes) y comparte muchas de sus
caractersticas. Lleva el nombre de William of Ockham famoso por ser el creador
de la navaja de Occam.
Occam incorpora soporte para grano muy fino, facilidad para usar hilos y el
apoyo sin fisuras de los entornos multi-procesador. Puede ser utilizado en

sistemas de memoria compartida o distribuida, y sus fuertes fundamentos en


CSP lo hace una excelente opcin cuando se requieren pruebas formales
de correccin.

Jose Mara Acua Morgado


Informtica
0 seguidores

Libreras javascript de gran utilidad para


tu desarrollo web
Inicio > Informtica
09/10/2013

2778 Visitas

es un lenguaje de programacin que a lo largo de los ltimos aos


ha ido ganando popularidad y con la incursin de HTML5 ha dotado de
mayor dinamismo e interactividad a la web, haciendo posible una
navegacin ms agradable para el usuario.
JavaScript

Todos los navegadores llevan integrados sus propios motores JavaScript con objeto de

aprovechar al mximo sus caractersticas y ofrecer al usuario un mayor rendimiento en


aplicaciones web.
Algunas de las libreras ms conocidas y que nos pueden ayudar en el desarrollo de
nuestros proyectos web son:

jQuery: es la librera ms utilizada por su fcil manejo en el tratamiento de los objetos del DOM ya
que nos permite abstraernos completamente. Muy aconsejable para la integracin de efectos y
animaciones personalizadas.
jQuery es software libre y de cdigo abierto permitiendo su uso en proyectos libres y privativos.
Adems es compatible con los navegadores ms comunes del mercado como Mozilla Firefox 2.0+,
Internet Explorer 6+, Safari 3+, Opera 10.6+ y Google Chrome 8+

Mootools: este framework est enfocado a la orientacin de objetos como sus siglas indican (My
object oriented tools).
Cuenta con un componente avanzado de efectos y con transiciones optimizadas y utilizadas por
multitud de desarrolladores Flash.
Es de cdigo abierto y compatible y probado en Safari 3+, Internet Explorer 6+, Mozilla Firefox 2+,
Opera 9+, Google Chrome 4+

Prototype: es un framework escrito en JavaScript para el desarrollo sencillo y dinmico de


aplicaciones web. Su potencial es aprovechado al mximo cuando se desarrolla con Ruby On
Rails.

Yahoo! UI Library: bibliotecas utilizadas para la construccin de aplicaciones enriquecidas RIA (rich
Internet applications) o aplicaciones web que tienen la mayora de las caractersticas de las
aplicaciones de escritorio tradicionales.
Liberadas bajo licencia BSD por parte de la compaa Yahoo.

Modernizr: esta librera proporciona la misma experiencia de usurio a todos los visitantes del sitio
web independientemente de su navegador.
Modernizr no aade ninguna funcionalidad al navegador. En cambio, slo averigua si la
funcionalidad que ests intentando implementar responde en dicho navegador. Esto nos permite
experimentar con las nuevas caractersticas de HTML5 y CSS3 sin preocuparnos por restar
experiencia de usuario o que la pgina no se renderice adecuadamente.

Dojo: es un framework que contiene APIs y widgets para facilitar el desarrollo de aplicaciones Web
que utilicen tecnologa AJAX.

Es de cdigo abierto y se puede descargar de forma gratuita en su pgina oficial. Cuenta con el
patrocinio de IBM, Google, AOL y Nexaweb.

Si buscamos libreras que atiendan a propsitos especficos:

Validacin de formularios: wForms, Validanguage, LiveValidation,qForms

Visualizacin y efectos de imagenes: JS charts (grficos de barras, circulares y de lneas


simples), Grfico (10 tipos de grficos, de barras, de area, de lnea y barras
horizontales...), Canvas 3D JS Library (objetos 3D), CanvasXpress (grficos
tridimensionales),Raphal (grficos vectoriales con SVG y VML), ImageFX (efectos sobre
imgenes con CANVAS), Reflection.js (efectos de reflexin),PaintbrushJS (efectos sobre imgenes
similares a los que podemos encontrar en aplicaciones como Instagram o picplz)

Manejo de cadenas y funciones matemticas: Date.js (funciones complejas de


fechas), Sylvester (vectores y arrays en varias dimensiones), XRegEx (expresiones
regulares), JavaScript Url Library (manipulacin de direcciones o url).

Uso de cualquier fuente en un sitio web: typeface.js, Cu

Das könnte Ihnen auch gefallen