Sourcecode Fortschritt


  • Mod

    version = "0.0.2.199 - Rev: 1044"

    - Kleine Korrekturen im Netzwerkbereich


  • Mod

    version = "0.0.2.200 - Rev: 1045"

    - #defines ... in os.h getestet und Fehler beseitigt (nun können alle geöffnet werden. Code compiliert, aber das Programm ist nicht mehr wirklich lauffähig. 😉 )
    - icmp.c Zahlen gegen die defines ausgetauscht aus icmp.h
    - Ausgaben bei Netzwerk verfeinert (z.B. nur eigenes tcp-window beim Senden)
    - tcp-window-Steuerung verbessert

    TODO: tcp In-Buffer freigeben nach Weitergabe an die Application


  • Mod

    version = "0.0.2.200 - Rev: 1046"

    starwars:
    Bildschirmlöschen eingebaut (vielleicht muss man noch Pakete zusammenfassen)


  • Mod

    version = "0.0.2.201 - Rev: 1047"

    - NetBIOS hinzugefügt
    - tcp Out Buffer versuchsweise verwendet (log-Fkt. eingebaut)
    - strg+p pingt jetzt 10.0.2.x (x = 0 ... 254)


  • Mod

    version = "0.0.2.202 - Rev: 1048"

    Fehler korrigiert in tcp.c, der zu #PF führte (malloc ...)

    tcp_showOutBuffers(connection,true); <--- testweise in tcp.c, zeile 460


  • Mod

    version = "0.0.2.203 - Rev: 1049"

    Netzwerk: Fehlerbeseitigung, Verfeinerung


  • Mod

    version = "0.0.2.204 - Rev: 1050"

    bei tcp_showOutBuffers werden bereits per ACK bestätigte Daten grün und die anderen braun angzeigt.

    Idee: Die grün angezeigten Daten können gelöscht werden, weil bereits angekommen und bestätigt. Die braun angezeigten Daten werden nach einer gewissen Zeit erneut gesendet. Hierbei wird keine Sinnfrage gestellt.


  • Mod

    version = "0.0.2.205 - Rev: 1051"

    - Zeiterfassung packet sent und packet acknowledged eingebaut, RTT-Bestimmung ( http://de.wikipedia.org/wiki/Paketumlaufzeit )


  • Mod

    version = "0.0.2.206 - Rev: 1052"

    - Verbesserte Version für RTT



  • Version 0.0.2.207:

    - tcp_findConnection verbessert: Mit tcp_findConnectionListen zusammengeführt, beachtet beim passiven Verbinden die Angabe des Ports
    - Angefangen, lastPacket zu entfernen. Nur noch der derzeit nötige Teil ist vorhanden
    - Zahlreiche Codestyle-Anpassungen. Bitte Styleguide beachten: Leerzeichen statt Tabs, keine Leerzeichen am Zeilenende.


  • Mod

    version = "0.0.2.208 - Rev: 1054"

    - RTO wird bestimmt nach RFC 2988 und aufgerundet auf 1000 msec (typische RTT sind ca. 100 ms ins Internet)
    - #define SYSTEMFREQUENCY 100 in timer.h (nicht mehr versteckt in ckernel.c) 🙂


  • Mod

    version = "0.0.2.209 - Rev: 1055"

    - retransmission eingefügt (rfc2988)

    version = "0.0.2.210 - Rev: 1056"

    - Fehler korrigiert bei retransmit (seq.nxt anstelle alte seq wurde in tcp_send geschickt)

    version = "0.0.2.211 - Rev: 1057"

    - Testwert für RTO in tcp.c entfernt. Jetzt wieder check auf time > RTO.


  • Mod

    version = "0.0.2.212 - Rev: 1058"

    Vereinfachungen im Code von tcp.c, z.B. send_ACK(...)


  • Mod

    version = "0.0.2.213 - Rev: 1059"

    - Fehler in RTO calculation (in letzter Versioin versehentlich eingebaut) wieder behoben


  • Mod

    version = "0.0.2.214 - Rev: 1060"

    - Eigenen tcp-Log auf die serielle Schittstelle 1 implementiert, der empfangene und gesendete Pakete mit relativen seq-/ack-Numbers dokumentiert
    - Fehler korrigiert (mit Hilfe des serial Logs aufgefallen!) 🙂

    Einfügen in qemu-Batch: -serial file:serielleSchnittstelle1.txt (nicht com1.txt verwenden. Das wird bereits unsichtbar verwendet, kann also nicht erstellt werden.)

    Bsp. mit "browser":

    send:  SYN	    seq:	0	  seq nxt:	1
    recv:  SYN ACK	seq:	0	  rcv nxt:	1	  ack:	1
    send:  ACK	    seq:	1	  seq nxt:	1	  ack:	1		 SND.UNA:	0
    
    send:  ACK	    seq:	1	  seq nxt:	82	 ack:	1
    recv:  ACK PSH	seq:	1	  rcv nxt:	248	ack:	82		SND.UNA:	82
    send:  ACK	    seq:	82	 seq nxt:	82	 ack:	248
    recv:  ACK PSH	seq:	248	rcv nxt:	755	ack:	82		SND.UNA:	82
    send:  ACK	    seq:	82	 seq nxt:	82	 ack:	755
    recv:  ACK PSH	seq:	248	rcv nxt:	755	ack:	82		SND.UNA:	82
    send:  ACK	    seq:	82	 seq nxt:	82	 ack:	755
    
    send:  RST	    seq:	82	 seq nxt:	82
    

    Reihenfolge der Pakete stimmt so wie oben (dort manuell sortiert) in der Ausgabe noch nicht, liegt noch am Sourcecode, da wir dort noch sofort senden, den serial_log gebe ich erst am Ende der tcp_receive aus. Sollte noch sinnvoll umgebaut werden. Die Abläufe funktionieren noch nicht komplett RFC793ff. konform.


  • Mod

    version = "0.0.2.215 - Rev: 1061"

    - tcp structs und abläufe weiter optimiert (Paket-Reihenfolge kommt nun richtig)



  • Version 0.0.2.216:

    - Unterstützung für PE-Dateien implementiert
    - VM86-Tasks haben nun ein eigenes PD -> Mehrere VM86-Tasks mit gleicher virtuellen Adresse (0x100) sind nun möglich
    - waitForEvent implementiert, Als syscall eingeführt, in Userprogrammen genutzt
    - RTO-Formel korrigiert (Klammern falsch gesetzt)
    - Kleinigkeiten. U.a. Include-Gruppierung in ckernel.c überarbeitet


  • Mod

    version = "0.0.2.217 - Rev: 1063"

    Kleine Korrekturen in tcp.c


  • Mod

    version = "0.0.2.218 - Rev: 1064"

    //serial.h: 
    static inline void serial_logUINT(uint8_t com, uint32_t num)
    static inline void serial_logINT (uint8_t com, int32_t  num)
    

    Anwendung in tcp.c (vereinfachter code)



  • Version 0.0.2.219:

    - serial_log verhält sich nun analog zu printf
    - Code von network.h/usb_hc.c nach pci.c verlegt
    - Bugfix: Memoryleak beim löschen von eventqueues beseitigt
    - Bugfix: Freetimetask nimmt nun keine events mehr an
    - Verbesserungen am heap (placementMalloc in Funktion ausgelagert, unnötigen code hinter _MALLOC_FREE_ versteckt)


Anmelden zum Antworten