[hydrixOS] : HydrixOS API - Kritik die 2.

  • From: Friedrich Gräter <webmaster@xxxxxxxxxxx>
  • To: Mailingliste <hydrixos@xxxxxxxxxxxxx>
  • Date: Sun, 01 Sep 2002 18:01:08 +0200

Hallo,
hier ist nun die erste Übersicht über die HydrixOS-API.

Vom Funktionsumfang ist alles enthalten, was im Moment nützlich ist. 
Dinge, die in die Lib-C gehören (Bildschirmausgabe über die Datei stdin) 
sind nicht enthalten. Ebenso gibt es keine Unterstützung für Dinge, 
deren Implementierung im jetzigen HydrixOS-Handbuch noch nicht geplant 
sind (Netzwerke z.B.).
Funktionen die hingegen für die Implementierung einer 
Standard-C-Bibliothek von Nöten sind (Prozessinterne Speicherverwaltung 
z.B.) oder für den Aufbau von Systemprozessen (z.B. Speicheroperationen) 
oder Funktionen für Sachen, die im HydrixOS Handbuch bereits geplant 
aber noch nicht implementiert sind (Dateiverwaltung), sind ebenfalls 
enthalten.

Die Namensgebung habe ich so organisiert, dass sie nicht mit der 
Standard-Lib-C in konflikt gerät, andererseits kurz (also nicht wie 
unter win32 mit KeDasIstEinEllenLangerNameFürEineWindowsFunktion) und 
leicht einprägbar. Vorne ist ein Prefix, das ungefähr über die Kategorie 
der Funktion etwas aussagt (fs_ für Dateisystemoperationen).

Die API, das ist noch wichtig zu sagen, ist nicht gleich der 
Kernel-Schnittstelle - sondern sie baut nur darauf auf.

Wie auch immer, hier ist die API - fällt ein Urteil :-)

cu

FG

---------------------------------------------------------------------------
I. Speicherverwaltung
---------------------------------------------------------------------------
mem_alloc 
        Reserviert einen Speicherbereich.
---------------------------------------------------------------------------
mem_free 
        Gibt einen Speicherbereich frei.
---------------------------------------------------------------------------
mem_realloc 
        Reallokiert einen Speicherbereich.
---------------------------------------------------------------------------
glb_publish 
        Veröffentlich einen Speicherbereich zu einem
                        globalen Segment
---------------------------------------------------------------------------
glb_privat 
        Hebt die Veröffentlichung eines globalen
                        Segmentes wieder auf.
---------------------------------------------------------------------------
glb_read 
        Liest aus einem globalen Segment Daten in den
                        lokalen Speicher.
---------------------------------------------------------------------------
glb_write 
        Schreibt aus einem globalen Segment Daten aus
                        dem lokalen Speicher.
---------------------------------------------------------------------------
glb_enter 
        Sperrt ein globales Segment für den Zugriff.
---------------------------------------------------------------------------
glb_leave 
        Gibt ein globales Segment für den Zugriff frei.
---------------------------------------------------------------------------
shr_mem 
                Gibt Speicher über den Pageing-Dämon zum Teilen
                        mit anderen Prozessen frei.
---------------------------------------------------------------------------
shr_free 
        Hebt die gemeinsame Speichernutzung wieder auf.
---------------------------------------------------------------------------
shr_use 
                Nutzt Speicher, der über den Pageing-Dämon zum
                        Teilen mit anderen Prozessen freigegeben worden
                        ist.
---------------------------------------------------------------------------
shr_let 
                Entfernt gemeinsamen Speicher aus dem
                        Prozessadressraum.
---------------------------------------------------------------------------
###########################################################################
---------------------------------------------------------------------------
II. Speicherzugriff
---------------------------------------------------------------------------
mem_copy 
        Kopiert einen Speicherbereich mit Überlappung.
---------------------------------------------------------------------------
mem_ccopy 
        Kopiert einen Speicherbereich bis ein Zeichen
                        angetroffen wurde.
---------------------------------------------------------------------------
mem_fill 
        Füllt einen Speicherbereich.
---------------------------------------------------------------------------
mem_chf 
                Sucht nach dem ersten vorkommen eines Zeichens.
---------------------------------------------------------------------------
mem_find 
        Sucht nach dem ersten vorkommen eines Strings.
---------------------------------------------------------------------------
###########################################################################
---------------------------------------------------------------------------
III. Prozessverwaltung
---------------------------------------------------------------------------
prc_abort 
        Bricht den aktuellen Prozess ab.
---------------------------------------------------------------------------
prc_execm 
        Erzeugt einen neuen Prozess anhand eines
                        globalen Speichersegmentes.
---------------------------------------------------------------------------
prc_execf 
        Erzeugt einen neuen Prozess anhand einer Datei.
---------------------------------------------------------------------------
prc_exece               Erzeugt einen leeren Prozess.
---------------------------------------------------------------------------
prc_destroy 
        Vernichtet einen Prozess.
---------------------------------------------------------------------------
prc_duplicate 
        Kopiert den aktuellen Prozess.
---------------------------------------------------------------------------
prc_exit 
        Beendet den aktuellen Prozess.
---------------------------------------------------------------------------
###########################################################################
---------------------------------------------------------------------------
IV. Threadverwaltung
---------------------------------------------------------------------------
thr_create 
        Erzeugt einen neuen Thread.
---------------------------------------------------------------------------
thr_fork 
        Verzweigt den aktuellen Thread.
---------------------------------------------------------------------------
thr_kill 
        Beendet einen Thread.
---------------------------------------------------------------------------
thr_yield 
        Gibt die CPU-Zeit ab.
---------------------------------------------------------------------------
thr_finish 
        Beendet den aktuellen Thrad.
---------------------------------------------------------------------------
###########################################################################
---------------------------------------------------------------------------
V. Synchronisation
---------------------------------------------------------------------------
wq_create 
        Erzeugt eine Warteliste.
---------------------------------------------------------------------------
wq_enter 
        Lässt den aktuellen Thread die Warteliste
                        betreten.
---------------------------------------------------------------------------
wq_leave 
        Lässt den aktuellen Thread die Warteliste
                        verlassen und übergibt dem nächsten Thrad der
                        Warteliste die CPU-Zeit.
---------------------------------------------------------------------------
wq_next 
                Übergibt dem nächsten Thread der Warteliste die
                        CPU-Zeit.
---------------------------------------------------------------------------
###########################################################################
---------------------------------------------------------------------------
VI. Nachrichtensystem
---------------------------------------------------------------------------
msg_send 
        Sendet eine Nachricht an ein Port.
---------------------------------------------------------------------------
msg_wait 
        Wartet auf eine neue Nachricht.
---------------------------------------------------------------------------
msg_downl 
        Lädt eine Nachricht herunter.
---------------------------------------------------------------------------
msg_del 
                Löscht eine Nachricht
---------------------------------------------------------------------------
msg_receive 
        Wartet auf eine neue Nachricht, lädt sie falls
                        erhalten runter und löscht sie anschließend.
---------------------------------------------------------------------------
###########################################################################
---------------------------------------------------------------------------
VII. Signalerweiterung
---------------------------------------------------------------------------
sig_handler 
        Installiert einen Signaltypbehandlungsroutine.
---------------------------------------------------------------------------
sig_router 
        Startet nach erhalten eines Signals die
                        entsprechende Signaltypbehandlungsroutine.
---------------------------------------------------------------------------
###########################################################################
---------------------------------------------------------------------------
VIII. RPC-System
---------------------------------------------------------------------------
rpc_handler 
        Installiert eine RPC-Behandlungsroutine.
---------------------------------------------------------------------------
rpc_call 
        Führt einen entfernten Prozeduraufruf durch.
---------------------------------------------------------------------------
rpc_receive 
        Wartet auf neue entfernte Prozeduraufrufe und
                        ruft - falls erhalten - den nötigen Handler auf.
---------------------------------------------------------------------------
###########################################################################
---------------------------------------------------------------------------
IIX. Client/Serverunterstützung
---------------------------------------------------------------------------
cls_wait 
        Wartet auf neue An-/Abmelde-Befehle
                        (Serverseitig).
---------------------------------------------------------------------------
cls_dologon 
        Führt eine Standard-Anmeldung durch
                        (Serverseitig).
---------------------------------------------------------------------------
cls_dologoff 
        Führt einen Standard-Abmeldung durch
                        (Serverseitig).
---------------------------------------------------------------------------
cls_logonc 
        Meldet einen Client bei einem Server an.
---------------------------------------------------------------------------
cls_logoffc 
        Meldet einen Client von einem Server ab.
---------------------------------------------------------------------------
###########################################################################
---------------------------------------------------------------------------
IX. Systemzugang
---------------------------------------------------------------------------
sa_info 
                Gibt Systeminformationen zurück.
---------------------------------------------------------------------------
sa_syscall 
        Führt einen Systemaufruf durch.
---------------------------------------------------------------------------
sa_shell 
        Führt einen Shell-Befehl aus.
---------------------------------------------------------------------------
sa_convert 
        Konvertiert einen Datentyp.
---------------------------------------------------------------------------
hy_* 
                Systemaufrufsfunktionen.
---------------------------------------------------------------------------
###########################################################################
---------------------------------------------------------------------------
X. Dateizugriff
---------------------------------------------------------------------------
fc_create 
        Erstellt eine Datei.
---------------------------------------------------------------------------
fc_open 
                Öffnet eine Datei.
---------------------------------------------------------------------------
fc_close 
        Schließt eine Datei.
---------------------------------------------------------------------------
fc_read 
                Liest aus einer Datei.
---------------------------------------------------------------------------
fc_write 
        Schreibt in eine Datei.
---------------------------------------------------------------------------
###########################################################################
---------------------------------------------------------------------------
XI. Dateiverwaltung
---------------------------------------------------------------------------
fs_copy 
                Kopiert eine Datei.
---------------------------------------------------------------------------
fs_delete 
        Löscht eine Datei.
---------------------------------------------------------------------------
fs_mkdir 
        Erstellt ein Verzeichnis.
---------------------------------------------------------------------------
fs_rmdir 
        Löscht ein Verzeichnis.
---------------------------------------------------------------------------
fs_list 
                Listet ein Verzeichnis.
---------------------------------------------------------------------------
fs_access 
        Prüft die Zugriffsrechte auf eine Datei.
---------------------------------------------------------------------------
fs_attrib 
        Ändert oder lädt die Attribute einer Datei.
---------------------------------------------------------------------------
fs_getacl 
        Lädt die ACL einer Datei.
---------------------------------------------------------------------------
fs_chgacl 
        Ändert Benutzerrechte in der ACL einer Datei.
---------------------------------------------------------------------------
fs_server 
        Prüft ob ein Server an den Vermittlungsserver
                        angemeldet ist.
---------------------------------------------------------------------------
fs_mount 
        Mountet ein Dateisystem.
---------------------------------------------------------------------------
fs_unmount 
        Unmountet ein Dateisystem
---------------------------------------------------------------------------
###########################################################################
---------------------------------------------------------------------------
XII. Sicherheit
---------------------------------------------------------------------------
se_acl 
                Erzeugt eine ACL.
---------------------------------------------------------------------------
se_check 
        Prüft Zugriffsrechte eines Benutzers in einer
                        ACL.
---------------------------------------------------------------------------
se_change 
        Ändert die Zugriffsrechte eines Benutzer in
                        einer ACL.
---------------------------------------------------------------------------
se_get 
                Lädt die Zugriffsrechte ines Benutzers in einer
                        ACL.
---------------------------------------------------------------------------
###########################################################################
---------------------------------------------------------------------------

-- 
HydrixOS Developers Mailing List

Administration: webmaster@xxxxxxxxxxx 
Archive: http://www.freelists.org/archives/hydrixos

Other related posts:

  • » [hydrixOS] : HydrixOS API - Kritik die 2.