{{Vorlage:Sprache |Name = Ada |Inlineassembler = Nein |Compiler = GNAT (GNU Ada Compiler) |Plattformen = [[Linux]], [[Windows]] |Homepage = [http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=45001 ISO-Norm] }} '''Ada''' ist eine nach Ada Loveleace, der ersten Programmiererin, benannte, in den 1970er Jahren von Jean Ichbiah entwickelte, strukturierte und stark typsierte [[:Kategorie:Programmiersprache | Programmiersprache]], deren Ziel die Entwicklung von und für eingebettete Systeme und Echtzeitanwendungen war. Ada war zudem die erste standardisierte Programmiersprache und wurde anfänglich vom US-Verteidigungsministerium gefördert. == Ada als Sprache für ein [[Betriebssystem]] == Alle Vorteile von Ada, die Laufzeitüberwachung und die parallele Verarbeitung, können nicht ohne weiteres in einem Betriebssystem (genauer: In einem [[Kernel]]) benutzt werden, ohne im Kernel selbst eine Referenzimplementierung von Ada zu programmieren. Dennoch ist es möglich, einen Kernel in Ada zu schreiben. == Testkernel in Ada == ===test.adb===
with System.Storage_Elements;

procedure test is

    pragma Suppress (All_checks);

    multiboot: constant array (0..2) of integer
        := (16#1badb002#, 0, -16#1badb002#);

    v: Array (0 .. 80 * 25 * 2) of character;
    for v'Address use System.Storage_Elements.To_Address(16#B8000#);

    s: constant String := "Hello world!";
begin
    for i in s'range loop
        v(2 * (i - 1)) := s(i);
    end loop;
end test;
===build.sh===
#!/bin/bash
gcc -c -m32 -x ada test.adb
strip -dR .eh_frame test.o
ld -melf_i386 -Ttext=0x100000 -e "_ada_test" -o test.krn test.o
== Weblinks == * GNU Ada Compiler [https://libre2.adacore.com/] * ISO-Norm Ada 2005 [http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=45001 ] [[Kategorie:Programmiersprache]]