Ich denke, es würde mehr Sinn machen, erst einmal allg. eine Sprache zu lernen.
Dazu gehört die Logik zu begreifen und selbst anwenden zu können.
Wenn man soweit ist, ist es relativ irrelevant welche Sprache man lernt, da die Sprachen sich im großen und ganzen "nur" im Syntax und in der Grammatik unterscheiden.
Empfehlen würde ich dabei C/C++, da dies eine sehr bekannte ( wenn nicht die bekannteste) und viel genutzte Sprache ist. Allerdings eignen sich auch alle anderen Objekt-Orientierten Sprachen (evtl. Ruby, Java, [...])
Außerdem musst du bedenken das ein Betriebssystem nicht unbedingt aus einer Programmiersprache besteht. So können einzelne komponenten in dieser und andere Komponenten in jener Sprache sein. Diese können sehr unterschiedlich sein (Typ der Sprache, Logik, Syntax usw).
Ansonsten kann ich dir nur davon abraten davon gleich in das IPhone IOS rein zu gehen. Du solltest dir lieber den Source Code von OpenSource Programmen anschauen und da mithelfen. Dort wirst du schon feststellen, das einzelne Programme schon komplex genug sind. Denn genau aufgrund dieser Komplexität kommen Bugs zu stande... Daher bietet sich das lernen einer Programmiersprache als Grundlage, dann das Betrachten von OpenSource-Quellcode und evtl. später in Betriebssysteme an. Dieser Prozess kann sich dabei aber locker über einige Jahre ziehen. (vom ersten "Hello World" bis zum wirklich nützlichen Debuggen von Programmen ~ 1-2 Jahre + dann mindestens noch 1-2 Jahre -->Nicht mal so in den Sommerferien getan

)
Ich wünsche dir viel Erfolg auf dem Weg und kann nur aus eigener Erfahrung sagen, dass programmieren Spaß machen kann, allerdings nicht für jeden was ist.
Mit freundlichen Grüßen,
PAE
[EOF]