El perfil de Ravenscar es un subconjunto del lenguaje de programación Ada especialmente pensado para los sistemas de tiempo real. Impone ciertas restricciones a la parte concurrente del lenguaje para poder realizar análisis temporales y permitir una implementación eficiente del núcleo de ejecución.

Historia

editar

El perfil fue definido en el 8.º IRTAW, celebrado en 1997 en una pequeña localidad del condado de Yorkshire (Reino Unido) llamada Ravenscar. Este es el motivo por el cual el perfil fue bautizado con este nombre, aunque más tarde se creó el siguiente acrónimo: Reliable Ada Verifiable Executive Needed for Scheduling Critical Applications in Real-Time.

En las dos siguientes reuniones del IRTAW fue refinado. Actualmente está siendo estandarizado y ampliado por la ISO y formará parte de la siguiente revisión de Ada, denominada Ada 2005.

Objetivos del perfil

editar

Los objetivos de este perfil son dos:

  • Conseguir un modelo de ejecución concurrente determinista, de tal forma que sea apto para sistemas de tiempo real estrictos.
  • Permitir una implementación pequeña y eficiente, y que no obligue a introducir mucha sobrecarga para que las tareas puedan responder a plazos muy cortos.

Restricciones del perfil

editar

Una aplicación realizada en Ada puede hacer uso de este perfil utilizando la siguiente directiva del compilador:

pragma Profile (Ravenscar);

Que es equivalente a escribir las siguientes directivas de configuración:

pragma Task_Dispatching_Policy (FIFO_Within_Priorities);

pragma Locking_Policy (Ceiling_Locking);

pragma Detect_Blocking;

pragma Restrictions (
                No_Abort_Statements,
                No_Dynamic_Attachment,
                No_Dynamic_Priorities,
                No_Implicit_Heap_Allocations,
                No_Local_Protected_Objects,
                No_Local_Timing_Events,
                No_Protected_Type_Allocators,
                No_Relative_Delay,
                No_Requeue_Statements,
                No_Select_Statements,
                No_Specific_Termination_Handlers,
                No_Task_Allocators,
                No_Task_Hierarchy,
                No_Task_Termination,
                Simple_Barriers,
                Max_Entry_Queue_Length => 1,
                Max_Protected_Entries  => 1,
                Max_Task_Entries       => 0,
                No_Dependence => Ada.Asynchronous_Task_Control,
                No_Dependence => Ada.Calendar,
                No_Dependence => Ada.Execution_Time.Group_Budget,
                No_Dependence => Ada.Execution_Time.Timers,
                No_Dependence => Ada.Task_Attributes);


Véase también

editar

Referencias

editar


📚 Artikel Terkait di Wikipedia

Intel Threading Building Blocks

parallel_while, parallel_do, pipeline, parallel_sort. Contenedores: concurrent_queue, concurrent_vector, concurrent_hash_map. Reserva de memoria: scalable_allocator

API de Google

aplicaciones pueden verse beneficiadas con la API para manipular servicios como TaskQueue, BigQuery o DataStore. Los Gadgets son mini aplicaciones escritas en HTML

Domain Name System Security Extensions

en inglés) son un conjunto de especificaciones de la Internet Engineering Task Force (IETF) para asegurar cierto tipo de información proporcionada por el

Delta Force (Videojuego)

Genghis (30 de octubre de 2025). «'Delta Force' Sees "SAW" Collab, Solo-queue in Operations, More». DayOne (en inglés estadounidense). Consultado el 3

Expresión lambda

como parámetro a otra función */ dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), count_loop); /* Se invoca directamente */ count_loop();

Sistema operativo de tiempo real

Components and Systems with Linux and RTOS. MERCURY LEARNING and INFORMATION. EasyTask OS MaRTE OS FreeRTOS Más acontinuación: Desarrollo de drivers y aplicaciones

Georgina Beyer

de 2023.  Davison, Isaac (18 de agosto de 2010). «Ex-MP heads for dole queue». The New Zealand Herald. Consultado el 1 de octubre de 2011.  «Deborah

Najib Razak

to back up its 1MDB-Najib money trail report». themalaymailonline.com.  «Task force confirms Najib’s accounts at AmBank, says closed before WSJ report»