Ada
Aus Lowlevel
Ada ist eine nach Ada Lovelace, der ersten Programmiererin, benannte, in den 1970er Jahren von Jean Ichbiah entwickelte, strukturierte und stark typsierte 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.
Inhaltsverzeichnis
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