Beiträge anzeigen

Diese Sektion erlaubt es dir alle Beiträge dieses Mitglieds zu sehen. Beachte, dass du nur solche Beiträge sehen kannst, zu denen du auch Zugriffsrechte hast.


Nachrichten - RedEagle

Seiten: [1] 2 3 ... 13
1
Offtopic / Re: Welchen Desktop benutzt ihr?
« am: 17. July 2012, 09:33 »
KDE4 verträgt sich nur leider nicht mit den nVidia Treibern [..]
Habe ich nie Probleme mit gehabt - ganz im Gegenteil. KDE4+nvidia läuft schnell und stabil :)
(zumindest bei dem proprietären Treiber)

Auf älteren Rechnern nutze ich Fluxbox. Auf meinem Netbook läuft derzeit noch Android 4.0 x86
2
Offtopic / Re: Welchen Desktop benutzt ihr?
« am: 13. July 2012, 20:41 »
KDE4 - aus Überzeugung :)
So schön, und so benutzerfreundlich <3

screenshot
3
Offtopic / Re: ARM-Systeme
« am: 22. February 2012, 22:42 »
Ich habe seit zwei Tagen ein FriendlyARM mini6410 - Das Gerät macht auch einen sehr guten Eindruck. Alles offen und viele Möglichkeiten zum Spielen :)
4
Offtopic / Re: Software zum Dokumentieren von Ergebnissen
« am: 05. February 2012, 13:51 »
Ich empfehle dir das dokuwiki. Ich arbeite damit schon länger und es ist eigentlich genau das, was du suchst :)
Einfach in der Handhabung, und super syntax-highlighting für nahezu alles :)

Zudem hast du den Vorteil dass das dokuwiki keine Datenbank, sonder Textfiles nutzt die du ggf auch ohne X- und Web- Server noch lesen und bearbeiten kannst.
5
OS-Design / Re: Formatstring
« am: 05. February 2012, 13:48 »
Denn mal ehrlich, wer von euch hat noch nie einen über die Tastatur eingelesen String über
Zitat
printf(buffer);
ausgelesen, sonder benutzt immer
Zitat
printf("%s", buffer)
?
ICH :)
Aber ich packe auch sehr gerne noch ein paar ANSI-Escape-Sequenzen drumherum damit es schön bunt wird :)

Und was die Implementierung im Kernel oder sonst wo angeht. Dort habe ich keine printf, oder ähnliche Funktion. Ich habe eine Hand voll log-funktionen die klar definierte Argumente erwarten.
(Die erhoffte Ordnung in den Log-files stellte sich dadurch allerdings nicht ein :) )

---
An Admin und Mod: Hatte gerade sehr komisches verhalten. War eingeloggt und wollte hier antworten. Als ich auf "Schreiben" klickte wurde ich aufgefordert mich einzuloggen, nachdem ich das Tat hieß es, dass ich nicht zwei Beiträge hintereinander schreiben dürfe.
Als ich dann unverrichteter Dinge zurück in den Thread ging war meine Antwort dort noch nicht gepostet. Ich hoffe es funktioniert jetzt :)
6
Offtopic / Re: Panikmache wegen DNS-Changer
« am: 12. January 2012, 14:22 »
Focus.de: Internetnutzer trauen dns-ok.de nicht
Soviel zum Thema Panik m(

Und was Linux angeht:
Linux-User sind ja immer als User unterwegs, aber um die /etc/hosts zu editieren (oder sonst wie die DNS-Einstellungen zu ändern) braucht man aber root-Rechte. Die malware muss also tief in das System eindringen, und das ist bei Linux immer so eine Sache da sich die Distributionen alle unterscheiden und daher vermutlich für jede Distribution unterschiedliche Lücken gesucht werden müssten, und diese auch nur kurzzeitig verfügbar sind (bis zum nächsten update)

Unwillen oder Unfähigkeit bei Behörden kann man natürlich nie ausschließen, aber ich hoffe und wünsche mir, dass das BSI weiß was es tut :)
7
Offtopic / Re: ARM-Systeme
« am: 12. January 2012, 13:10 »
Sind diese ARM Board eigentlich wenigstens ein bisschen kompatibel zueinander?

Mit relativ hoher Wahrscheinlichkeit nicht. ARM liefert seine Prozessoren quasi nur im "Sourcecode" aus, jeder Hersteller packt dann noch eigenes Zeug auf den Chip und Produziert ihn dann. Dadurch unterscheiden sich die CPUs bereits, Von der Peripherie mal ganz abgesehen. Es gibt halt keine Standards oder Leitschemen wie der IBM-PC, zumindest sind mir keine bekannt.

Leider hat kaum ein Hersteller, oder gar keiner, das Interesse mehr ein Heimcomputer herzustellen der Offen ist.  :cry:
8
Offtopic / Re: ARM-Systeme
« am: 12. January 2012, 01:24 »
Hm… Das von Svenska erwähnte BeagleBoard, aber vor allem der BeagleBone sehen ja auch recht interessant aus.

~90$ und ein ARM Cortex-A8 von TI
9
Offtopic / Re: Panikmache wegen DNS-Changer
« am: 12. January 2012, 01:14 »
Wenn schon so ein Thread irgendwo existiert will ich mal beteiligen da auch ich mich heute Mittag bereits über diese Seite aufregte. Was mich allerdings störte war der Schriftzug "Ihre DNS Konfiguration ist korrekt"
Ich habe eigentlich nicht so viel Ahnung von den Details des Internets, aber die Seite wird doch nicht mehr machen als zu prüfen, ob genau dieser spezielle DNS-Server vom PC des Besuchers genutzt wird oder nicht. Die Website sagt mir also nur, dass ich den DNS-Changer nicht habe, aber sie kann doch keine Aussage darüber treffen dass meine DNS-Einstellungen generell OK sind.

Abgesehen davon finde ich die Aktion aber ganz i.o. da sie auch das "normale" nicht-Nerd-Volk erreicht und die Leute daran erinnert dass es im Internet mehr als nur Katzen und Ponys gibt  :mrgreen:

ps.: Und dass MNemo hier den Link zu der Warn-Seite eingebaut hat finde ich, speziell in diesem Forum, auch nicht wirklich tragisch - Es erinnert uns nämlich daran nicht überall drauf zu klicken ;)
10
Offtopic / Re: ARM-Systeme
« am: 10. January 2012, 12:58 »
Ich weiß zwar nicht so ganz genau was das Ziel dieses Threads ist, aber da du bereits zwei System vorgestellt hast erzähle ich mal über meine derzeitigen Aktivitäten für meine Bachelor Thesis :)

Ich schreibe einen Kernel der auf einem STM32 F103 - Controller mit einem ARM Cortex-m3 Prozessor läuft. Evaluationsboard mit diesem Controller kann man bei Olimex bekommen.
Die von STM bereitgestellte Firmware ist allerdings nicht zu empfehlen, man sollte dann wirklich schon von Grund auf alles selber implementiere, aber genau darum geht es hier ja :D

Zum beschreiben des Flashs und als GDB-Server zum debuggen wird die Software openOCD verwendet.

Jetzt noch ein paar Weisheiten und Erfahrungen :D
  • Finger weg von Windows. Wer wirklich Spaß haben möchte ARMs sollte unter Linux programmieren. Grund ist die schlechte Qualität der Windows-SW für ARMs die mehr Ärger macht als hilft.
  • Auf IDEs verzichten. Man muss relativ oft (öfters als bei AVRs oder x86er) in den build und flash-Prozess eingreifen. Nicht zuletzt weil ARMs verschiedene Befehlssätze haben (Thumb,Thumb2) und teilweise grundlegende Unterschiede zwischen verschiedene ARM-Prozessoren sind (cortex-m3 haben beispielsweise keine FPU). Auch das beschreiben der µCs ist alles andere als einheitlich.
  • Auf die STM-Firmware verzichten. Ich weiß nicht wie es bei anderen Herstellern aussieht, aber die Firmware von STM hat eine umständliche API und ist teilweise von echt mieser Qualität. Ich empfehle vor gebrach sich den Quellcode anzusehen - ist aber auch sonst sehr unterhaltsam :D
  • openOCD ist noch weit weg von fertig und fehlerfrei. Bei Version 0.6 kann man sich mit GDB nicht auf den openOCD-Server verbinden wenn man die symbols aus der elf geladen hat. OpenOCD schickt den Registerdump dann nämlich doppelt und GDB bricht die Verbindung ab weil das Antwortpaket unerwartet groß ist :D

So, mehr fällt mir nicht ein :)
Ist zwar jetzt eher alles für den Embedded-Bereich, aber vielleicht Hilft es ja jemanden und vieles lässt sich bestimmt auch auf die "größere" ARMs anwenden.
Einem Anfänger kann ich ARMs nicht empfehlen, aber wer schon etwas lowlevel-Erfahrung hat wird sich schnell mit ihnen anfreunden :)

PS.: Der Befehlssatz macht Spaß und ist, auch wenn das R für RISC steht, bei weitem nicht so langweilig wie der AVR-Befehlssatz. Man kann sie also durchaus auch in Assembly programmieren ohne verrückt ohne verrückt zu werden :D

PPS.: Raspberry Pi <3
11
Das Wiki / Re: Vandalenarlarm
« am: 19. November 2011, 21:51 »
Ja, das stimmt auch wieder. Das würde aber nur funktionieren wenn, wie du ja bereits schriebst, man den Forum und den Wiki-Account vereint damit man sich nicht zwei mal anmelden muss.
12
Das Wiki / Re: Vandalenarlarm
« am: 19. November 2011, 21:42 »
Das wäre ja dann quasi wie mein Vorschlag, sich erst im Forum zu melden bevor man im wiki editieren darf. Da hat DesL aber recht, dass es die ausgrenzt, die erstmal nur im wiki aktiv sein wollen.
13
Das Wiki / Re: Vandalenarlarm
« am: 19. November 2011, 20:54 »
Vielleicht ist es sinnvoll, dass man nicht einfach nach der Anmeldung im Wiki Artikel schreiben/editieren kann, sondern erst, wenn ein Mod den User frei gegeben hat.
Denn im Wiki schreiben ja nur die User, die bereits im Forum ihre Menschlichkeit bewiesen haben :)
14
Ich sollte öfters hierher kommen und belanglosen Mist schreiben :evil:

Ich nutze diese Gelegenheit mal um dieses sinnlose Feature zu testen
15
Hm… also nochmal zusammengefasst:

Scheduler und Prozessmanager trenne - käme meinem ursprünglichen Gedanken auch nah und wird sowieso von den Meisten so gemacht :D

Aber was die konstanten Zeitschlitze pro Prozess angeht, da bin ich noch nicht so glücklich mit… Wie bereits Svenska schrieb werden Prozesse mit vielen Threads da sehr benachteiligt. Ich würde da dann gar nicht mehr zwischen Prozess und Thread unterscheiden wollen - alles Tasks, alle eine von ihrer Priorität abhängig konstante Laufzeit.
Man kann dann immer noch, eine globale Laufzeit festlegen - also wenn alle Threads zusammen weniger als eine gewisse Zeit liefen kann den Rest IDLE bekommen. Laufen so viele Threads dass diese Zeit nicht mehr ausreicht, wird so viel Zeit für das Durchlaufen der Task bereit gestellt wie nötig…

Mein jetziger geistiger Entwurf: :D
Im Prozessmanager: Liste von Prozessen, jeder Prozess enthält eine Liste von Threads
Soll ein Thread laufen wird dieser von Prozessmanager in eine weitere Liste geschoben welche von Scheduler durchgegangen wird und den Thread dann entsprechend ausführt.
Soll er nicht mehr laufen, wird er wieder auch der Liste des Schedulers entfernt.
16
Hat vor allem den Vorteil dass ich bei einem Thread-wechsel nicht das PD neu laden muss :)
Aber nur wenn der alte und der neue Thread vom selben Prozess sind.
Natürlich :) … Das ist bei meiner alten Lösung "das Problem"… dort musste ich immer das PD neu laden weil ich die Threads und Prozesse in der selben Liste hatte…

Ich bin mir nicht sicher ob es geschickt ist immer wenn die Liste der runnable Threads leer ist diese wieder neu zu befüllen. Ich persönlich würde lieber jeden Thread der vom Scheduler verdrängt wird (der aber noch lauffähig also nicht blockiert ist) einfach wieder hinten ran hängen.

Der Scheduler geht, bzw soll es, wenn er fertig ist :D, einfach durch die Liste, von Prozess zu Prozess. Bei jeden Prozess lädt er dessen PD und geht dann all seine Threads durch. Ist die Thread-liste eines Prozesses durchlaufen wird der nächste Prozess genommen und dessen PD geladen usw...
Sind alle Prozesse abgearbeitet geht es wieder von vorne los :)
Trifft er dabei auf ein blockierten Thread wird einfach der nächste geladen.

So ist es zumindest erstmal geplant… hatte aber noch nicht die Zeit gefunden mir das ins Detail zu überlegen… Wenn der Scheduler auf die selben Listen zugreift die der Prozessmanager - so war es bei dem alten - Gibt es natürlich einige kritische Momente wie z.B. das entfernen eines Prozesses…
17
1000 präemptive Taskwechsel pro Sekunde sind zu viel, würde ich sagen. 50 sollten mehr als genug sein. Das wirklich teure am Taskwechsel ist auch nicht die Zeit, die der Scheduler braucht, um einen neuen Task rauszusuchen, sondern die Kosten vom Kontextwechsel.
hm… bei nur 50 Tastwechseln sieht das natürlich alles viel entspannter aus  :mrgreen:

In tyndur macht der Scheduler überhaupt nichts mit Prozessen, er arbeitet nur mit Threads. Jeder Prozess besteht also aus mindestens einem Thread. Prozesse haben eine Liste aller ihrer Threads und Threads einen Pointer auf ihren Prozess. Wenn der Scheduler nichts mehr zu tun hat, packt er alle lauffähigen Threads in eine Liste und arbeitet dann bei den nächsten Timer-Interrupts diese Liste ab. Bei vielen aktiven Tasks holen die meisten Taskwechsel also einfach nur das nächste Element aus der Liste.
Das hört sich nach einem guten Kompromiss an… Hat vor allem den Vorteil dass ich bei einem Thread-wechsel nicht das PD neu laden muss :)

Danke für die Tipps :)
18
Hi
Das Multitasking, so wie ich es derzeit implementiert habe, gefällt mir nicht mehr :) Es ist meiner Meinung nach etwas umständlich, und sehr experimentell (habe einfach auf gut Glück drauf los programmiert  8-) ).
Maw.: Es wird Zeit es richtig zu machen… zumal ich derzeit mit einem recht fiesen Bug zu kämpfen habe der u.U. vielleicht sogar damit zusammenhängen könnte :D

Was mich am meisten belastet ist die Frage nach dem Timing. Mit welcher Frequenz sollten Taskwechsel stattfinden? Derzeit wird der Scheduler mit 1kHz aufgerufen. Er besteht aus etwa 80 Zeilen assembler-code.
Meine Frage ist jetzt, wie man das "Taskwechsel-Aufwand" - "Tasklaufzeit" - Verhältnis am besten wählt. Andere Kernel haben einen in C geschriebenen Scheduler. Ich mache mir sorgen dass dann 50% der Zeit nur für das Wechseln der Tasks verloren geht…

Des weiteren spiele ich mit dem Gedanken eine etwas komplexere Struktur für die Prozesse/Threads zu verwenden. Derzeit befindet sich Prozesse und Threads in einer liste die von Scheduler durchgearbeitet wird. Die einzige Beziehung zwischen Prozessen und deren Threads ist der Eintrag der parent-PID in der task-struktur des Threads. - Es ist also recht aufwändig herauszufinden ob zu einem Prozess noch Threads gehörten auf die gewartet werden muss...
Wie könnte man das am besten angehen? Einfach zu jedem Prozess/Thread eine Child-list hinzufügen? Dann hätte der Scheduler allerdings viel Arbeit.
Derzeit spiele ich mit dem Gedanken beides zu machen - also eine liste für den Scheduler, und eine für den Prozessmanager.

Wie sind eure Erfahrungen so? Wie macht ihr das?
19
OS-Design / Re:Mapping verwalten
« am: 26. January 2011, 10:40 »
Ich weiß nicht genau ob es das ist, was du meinst, aber ich gebe den Prozessen die selben Pagetables wie dem Kernel. Natürlich nur im dem Bereich, in dem sich der Kernel ausbreiten darf. Wenn der Kernel dann Speicher anfordert, und die Pages in dessen Pagetables eingetragen werden, erscheinen sie automatisch auch in dem memspace der Prozesse.
Die Pagetables sind natürlich direkt alle reserviert worden und somit von Anfang an bekannt, sodass ich später nur noch die Pages eintragen muss, und nicht noch extra eine Page für die Table.
20
Offtopic / Re:Hilfe!!!! Windoof spinnt!!!!
« am: 02. January 2011, 17:51 »
Ich hab mit dem Rechner ja schließlich auch die Lizenz bezahlt. :cry:

Joa, aber jetzt ist es ja kaputt. :evil: Also:

1.) Linux-LiveCD runterladen (Kubuntu o.ä.)
2.) Daten sichern
3.) Linux drauf installieren :-D

Legt win nicht vor den Updates Widerherstellungsinformationen an?
Seiten: [1] 2 3 ... 13

Einloggen