Lowlevel

Lowlevel => OS-Design => Thema gestartet von: DaniilKharlamov am 23. August 2004, 13:40

Titel: API
Beitrag von: DaniilKharlamov am 23. August 2004, 13:40
Hallo,
ich hätte da mal ne Frage. Gibt es ein Tutorial zum Thema API und wie man ein Kernel programmiert, der API's bereitstellt?
Daniel
Titel: API
Beitrag von: joachim_neu am 24. August 2004, 01:36
ja, also wenn man unter einer API ein interrupt mit systemfunktionen versteht, dann siehe lowlevel-ausgaben!!!!!
Titel: API
Beitrag von: The-Programmerfish am 24. August 2004, 10:46
Ich glaub der meint eher so was wie die Windows API (Application Interface) (~ 8500 Funktionen) und die läuft glaub ich nicht über Interrupts. Läuft glaub ich über Ports.
Titel: API
Beitrag von: DaniilKharlamov am 24. August 2004, 13:05
Und, gibts dafür Tutorials? Ich brache das sehr dringend.
Titel: API
Beitrag von: joachim_neu am 24. August 2004, 13:54
ja, das ist ja auch im PM... aber für den RM währe doch ein int recht praktisch...
Titel: API
Beitrag von: Roshl am 24. August 2004, 19:59
AAAlso eine API in den Kernel einbaun? Wie das denn? Also entweder man stellt Systemfunktionen über Interrupte bereit, oder man baut eine Bibliothek auf. Ich denke du meinst API so das du bei programmieren Funktionen verwenden kannst wie malloc usw. Das kommt aber nicht in den Kernel, sondern sind genaugenommen externe Funktionen
Titel: API
Beitrag von: joachim_neu am 24. August 2004, 23:41
ich verstehe unter einer API funktionen, um text auszugeben und/oder dateien zu lesen oder so...
Titel: API
Beitrag von: Roshl am 25. August 2004, 17:47
Ja eben ich ja auch, deswegen finde ich "Kernel proggen der API bereitstellt" irgndwie komisch formuliert.
Titel: API
Beitrag von: DaniilKharlamov am 28. August 2004, 17:09
Ich nicht. Windows stellt ja auch Api's bereit, oder. Sonst könnte ja auch nicht die WIN-API funktionieren. Halt Funktionen, die an den Kern Parameter übergeben und der Kern dafür ein Fenster aufbaut.
DanielKharlamov
Titel: API
Beitrag von: Roshl am 29. August 2004, 13:38
Sag ich ja, dassind Funktionen. Die werden nicht unbedingt in den Kernel eingebaut, sondern einfach nur ein paar Funktionen.
btw Ich konnte mich nie mit Windows Programmierung anfreunden.
Titel: API
Beitrag von: hannibal am 19. September 2004, 12:20
uh...kleine geschichtsstunde:

KERNEL
^
|
v
EXECUTION
^
|
|
|
v
Win32-Subsystem <------ das ding stellt diese ominoese winapi zur verfuegung, als normaler thread/prozess kannst du mit dem kernel _direkt_ beinahe gar nix machen .. ausserdem haben alle NT-systeme (ich nehme mal an, dass du ein NT/2k/XP zu hause hast) sowas aehnliches wie mikro-kernel..insofern waere es daemlich, wenn man in einen mikro-kernel die gui reinmacht *kopfkratz*

die bereitgestellte API sind entweder funktions-source oder compilierte _LIBRARIES_, die du mit deinem eigenen source zusammenlinkst..

lg, hannibal
Titel: API
Beitrag von: sp am 19. September 2004, 13:46
Die API's unter Windows werden, soweit ich weiß, über DLL's bereitgestellt.
Die DLL's leiten dann die Befehle weiter, entweder an der Kernel oder an andere  "Dienste" wie z.B. die GUI oder DirectX weiter.

So arbeiten, soweit ich weiß, auch Programme wie Wine. Also sie stellen dann pseudo-DLL's bereit.

Also im Prinzip wie hannibal das auch schon gesagt hat.
Titel: API
Beitrag von: mastermesh am 19. September 2004, 19:10
Zitat
hannibal postetesowas aehnliches wie mikro-kernel..insofern waere es daemlich, wenn man in einen mikro-kernel die gui reinmacht *kopfkratz*
Naja, in der Hinsicht sollten wir lieber nicht den NT-Kernel imitieren... hier laufen nämlich noch die Videotreiber im Ring0...
Titel: API
Beitrag von: Another Stupid Coder am 19. September 2004, 22:47
[sarkasmus] Yeah, das nenne ich OS-Design. [/sarkasmus]
Titel: API
Beitrag von: mastermesh am 20. September 2004, 15:13
Naja, bis etwa 3.51 konnte man NT ja wirklich noch Microkernel nennen... ab NT4 ist es dann ein furchtbarer Mischmasch geworden, die neuen 5er Kernels sind jedoch wieder recht stabil (Gott sei Dank).
Titel: API
Beitrag von: Roshl am 20. September 2004, 18:07
Also ein Microkernel hat wie ich finde nich nur vorteile^^, hat alles gute und schlechte seiten,sollte man immer abwägen, Mischmasch find ich persönlich sogar am besten, schlagt mich ruhig dafür:D
Titel: API
Beitrag von: The-Programmerfish am 20. September 2004, 18:15
Wieso denn ich bin ganz deiner Meinung, schließlich kann man damit herrlich ein Monopol bilden bzw. Ausbauen. :D
Titel: API
Beitrag von: Roshl am 20. September 2004, 18:45
Und die Welt beherrschen nicht vergessen:D
Titel: API
Beitrag von: Another Stupid Coder am 20. September 2004, 21:06
Pst....sonst erfährt noch jemand von den Plänen die wohl 90% von uns haben ;)
Titel: API
Beitrag von: Roshl am 20. September 2004, 21:31
Ich dachte LowLevel is ne Vereinigung die Gemeinsam dieHerrschaftan sich reißen will:O:O:O
Lieg ich da falsch? Verdammt was will ich dann hier^^
Titel: API
Beitrag von: Draco am 20. September 2004, 21:43
LOL  ich bin auch für meine weltherschaft, aber mal abgesehen davon. würde mich das thema worums hier eigentlich ging auch interessieren.
also wie bitte stellt man ne api als middleware zwischen kernel routinen und restlichen os her. und um mal abzuschweifen in richtung kernel design sieht me keinen einleuchtenden vorteil in einem expo kernel system da meines erachtens zuviel vertrauen in die fähigkeiten der application developer gesetzt wird ohne wirkliche sicherheitsmassnahmen zu erstellen. oder hat me das falsch verstanden?

gruss Draco
Titel: API
Beitrag von: hannibal am 21. September 2004, 01:33
erstmal: die gui unter beim NT-kernel wurde aus performance-gruenden in den ring0 gehoben!

api: man braucht sichs ja nur bei 'den grossen' abgucken -> dynamisch ladbare libraries mit funktionen, die man eben in seine api einbinden will (ganz nett waeren da die standard-c funktionen, wie z.b. i/o, string-funktionen, etc)

wers weniger kompliziert haben will baut seine api einfach in den kernel ein :)

lg, hannibal
Titel: API
Beitrag von: TeeJay am 21. September 2004, 11:22
Die WinAPI ist eigentlich nur ein Vorsatz.

Windows NT/XP/2k bauen intern genauso auf Interrupts auf wie die meisten OS der Leute hier auf.

Da aber nur 256 (minus Hardwareints) Interrupts bereitstehen und sich hinter jedem Interrupt noch etliche Funktionen verbergen, hat man die API gebaut. Damit können "einfach" Funktionen aufgerufen werden, die dann die nötigen Interrupts mit entsprechenden Variablen aufrufen um die Arbeit zu erledigen.
Titel: API
Beitrag von: Cobi am 15. January 2005, 14:49
Auch wenn der Thread schon etwas älter ist, will ich dennoch nachtragen dass der NT Kernel sehrwohl sogar ein ganzes batzen an Funktionen exportiert!
(Er hat ja auch eine eigene Export Table)