Archiv verlassen und diese Seite im Standarddesign anzeigen : Was ist ein "Stack" ??
Hi@all
Ich hab da mal eine Frage:
was ist eigentlich ein sogenannter "Stack" (z.b. "TCP-Stack"!)
Auf heise hab ich gerade eben gelesen =>
"Er ruft bei einem Stack Overflow die Fehlerbehandlungsroutine panic() auf"
Was sind nun diese "Stacks" ?
Gibts da ein Howto/Guide hierfür :ugly:
BTW: Ich habs wegem dem heise Zitat hier gepostet (Und auch, weil man des öfteren von gehackten TCP-Stacks liest; ich glaub zumindest davon gelesen zu haben ;) )
Ein Stapel. Wenn der Stapel zu voll wird läuft er über bzw.kippt um :ugly:
:D
Immer dieser Sarkasmus hier ...
Also nichts anderes als die Layer der TCP/IP Protokolle!?
Hätt ich mir auch denken können (peinlich :rolleyes: )
mfg
Nero
im zwiefelsfall lohnt sich bei Begriffsunklarheiten auch immer wieder ein Blick in die wikipedia ;)
Englisch: http://en.wikipedia.org/wiki/Stack_(computing)
Deutsch: http://de.wikipedia.org/wiki/Stack
Original geschrieben von Nero
:D
Immer dieser Sarkasmus hier ...
Also nichts anderes als die Layer der TCP/IP Protokolle!?
Hätt ich mir auch denken können (peinlich :rolleyes: )
mfg
Nero
Ein Stack kann auch ein Speicher sein. Wenn der voll ist ...
Original geschrieben von cybercrow
im zwiefelsfall lohnt sich bei Begriffsunklarheiten auch immer wieder ein Blick in die wikipedia ;)
Englisch: http://en.wikipedia.org/wiki/Stack_(computing)
Deutsch: http://de.wikipedia.org/wiki/Stack
Stimmt!
Warum hab ich nicht selber an Wikipedia gedacht...
Dangeschön
greetz
Nero
Wenn der voll ist ...
jaja :p
Neben dem Stack-Speicher redet man auch bei Netzwerk-Protokollen von Stacks. Mit TCP/IP-Stack meint man nähmlich nicht die Datenstruktur, sondern den Programm-Teil der das Protokoll implementiert.
Ich Bereich der Sicherheit hat der Stack seine traurige Berühmtheit wegen den so genannten Buffer-Over-Flow erlangt. Dabei ist nicht ein überlauf des Stacks gemeint, sondern ein Überlauf eines Buffers auf dem Stack. Temporäre Variablen werden oft auf dem Stack abgelegt, auf dem auch die Rücksprungaddresse der aufgerufenen Funktionen liegen. Wenn nun z.B. eine Array-Variable auf dem Stack abgelegt wird und der Programmierer nicht darauf achtet, dass dieser Array nicht über das Ende aus beschrieben wird, kann ein Angreiffer die Rücksprungaddresse überschreiben und so beliebigen Code ausführen.
Gruss, Andy
Ein Stack im Zusammenhang mit Computern kommt ursprünglich aus der Programmierung.
Du kannst Daten in Listen speichern, die sozusagen eine Einbahnstraße darstellen.
Mal angenommen, Du hast Speicherplätze, die durchnummeriert sind, meinetwegen 1, 2, 3, 4, 5. Dazu hast Du dann noch einen einzigen Zeiger, der auf immer genau einen Speicherbereich zeigen kann. Am Anfang zeigt er nun auf 1. Du legst nun das erste Datum auf Platz 1, der Zeiger zeigt dann auf 2. Das nächste Datum wird dann auf 2 gelegt, der Zeiger zeigt dann auf 3 usw. Genau so (und nur so) kann man dann auch die wieder auslesen. Also zuerst die 5, dann die 4 usw.
Es ist, als würde man einen Stapel aufbauen. Wenn man dann einen hohen Stapel hat, kann man die Teile des Stapels auch nur von oben nach unten abtragen, ohne dass er umstürzt. Daher das Stack.
Beim Netzwerk spricht man auch davon, weil die Pakete der einzelnen Schichten ebenfalls so seriell zusammengebaut und wieder auseinandergenommen werden.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.