Donnerstag, 7. Mai 2009

GSoC'09 Interview mit JiSheng Zhang

Im Rahmen der GSoC'09 Interviewreihe gibt es bei Haikuware ein Interview mit JiSheng Zhang. Leider hat er keinen der begehrten GSoC Plätze ergattern können, sonst hätte er sich um die Verbesserung von Haikus PCI Unterstützung gekümmert.

Erzähl uns ein bisschen von Dir.

Ich studiere Computerwissenschaften mit dem Schwerpunkt "Embedded Betriebssysteme". Ich habe Erfahrung mit Opensource Entwicklung von Haiku, Linux Kernel Treibern und RTEMS. Im Google Summer of Code 2007 hatte ich das Glück FreeBSDs Firewire Stack auf Haiku zu portieren. Dieses Projekt konnte ich erfolgreich abschließen. Außerdem war ich einer der "Haiku Code Drive" Studenten im Jahr 2008. :)
Daneben habe ich einige Linux Kernel Patches zu LKML beigesteuert und in 2007 Linux' neuen Firewire Stack (juju) auf RTEMS portiert.

Wie hast Du vom GSoC erfahren?

Davon weiß ich von der Haiku Development Mailingliste.

Warum ist es Haiku für Dich wert daran zu arbeiten?

Zum einen hat mich Haikus sauberes Design und dessen Implementierung angezogen. Zum anderen die Mentoren, die schon lange dabei sind und große Erfahrung mit der Entwicklung haben. Und die freundliche Community.

Wie hast Du das erste Mal von Haiku gehört und hattest Du schon
Erfahrung mit BeOS oder Zeta?


In meiner Freizeit lese ich gern den Kernel Sourcecode von Betriebssystemen. Ich hatte schon mal von OpenBeOS gehört. Eines Tages in 2006 habe ich dann nach "openbeos" gesucht und Haiku gefunden. Mit BeOS oder Zeta habe ich keinerlei Erfahrung.

Für was hast Du Dich beworben und was hat Dich daran besonders
interessiert?


PCI Verbesserungen.
In den letzten zwei Jahren wurden einige Bugs im PCI Busmanager gemeldet, z.B. #2620 und #3313. Hauptursache dürfte das BIOS einiger Plattformen sein, das nicht richtig mit PCI umgeht und z.B. Fehler bei der Interrupt Zuweisung macht, auf die Haiku allerdings angewiesen ist. Zudem ist die IRQ Zuweisung für verschiedene PCI Geräte nicht ausgewogen. So sehen wir im Log von #3595 dass sich firewire ohci, sata2 ahci, usb_uhci, usb_ehci, Grafik- und Netzwerkkarte alle einen IRQ teilen. Wenn sich zu viele Geräte einen IRQ teilen, schadet das der Performance, weil immer alle ihre ISR (Interrupt-Service-Routine) ausführen, um zu sehen ob der ausgelöste Interrupt von ihnen kam.
Daran würde ich gern arbeiten.

Interessiert Dich ein anderes Gebiet, falls Du nicht an dem Projekt arbeiten kannst, für das Du Dich beworben hast?

FUSE BFS Unterstützung. Damit könnte man unter Linux per cat/cd/file/ls etc. auf BFS Partitionen lesend und schreiben zugreifen.

Warum bist Du Programmierer geworden und mit welchen Sprachen programmierst Du am liebsten?

Beim Hacken und Coden bin ich einfach glücklich. Am meisten benutze ich C und C++.

Hätte Haiku als Organisation (Webseite, Community, Einzelpersonen etc.) etwas besser machen können, um es Dir als Bewerber leichter zu machen? War irgendwas zu kompliziert oder abschreckend?

Hmm, es wäre schön, wenn es für Haiku's PCI/ACPI/PIC Subsysteme eine kurze Einführung gäbe.

Hast Du irgendwelche Vorschläge oder konstruktive Kritik für die Leute, die sich um Haikus Bewerbung beim GSoC kümmern?

Ich habe einen Rat für Studenten deren Sommer erst im Juli beginnt: Fangt mit eurem Projekt so früh wie möglich an. Im Juni haben wir noch viele Prüfungen oder ähnliches und daher nur sehr wenig Zeit.

Hast Du Dich neben Haiku noch bei anderen GSoC Organisationen beworben?

Dieses Jahr hab ich mich neben Haiku noch bei RTEMS angemeldet.

Wärst Du an einem eventuellen Haiku Code Drive interessiert?

Ich stand bei Haiku und RTEMS recht hoch auf der Kandidatenliste. Haiku bevorzugte allerdings neue Studenten und RTEMS hat mich ja auch genommen. Hätte das mit RTEMS nicht geklappt, hätte ich bei einem Haiku Code Drive dieses Jahr mitgemacht.

Keine Kommentare:

Kommentar veröffentlichen