- Titel: Programmieren in C
- Organisation: UNI KIEL
- Seitenzahl: 2
Inhalt
- Prof Reinhard von Hanxleden
- Programmieren in C
Vorschau
Prof. Reinhard von Hanxleden
Christian-Albrechts-Universit¨t zu Kiel a Institut f¨r Informatik u Christian-Albrechts-Platz 4, 24118 Kiel Tel./Fax: +49 (431) 880-7281/-7615 E-Mail: rvh@informatik.uni-kiel.de http://www.informatik.uni-kiel.de/rtsys/contact/rvh/
Hinweise f¨ r H¨rer der Vorlesung u o Organisation und Architektur von Rechnern (Inf-OAR/G2.2/Systemorientierte Informatik II) Sommersemester 2010 Liebe Studierende! Falls Sie im n¨chsten Semester die Vorlesung “Organisation und Architektur von Rechnern” h¨ren, a o m¨chte ich als Dozent dieser Vorlesung Sie schon jetzt herzlich begr¨ßen. Weiterhin m¨chte ich o u o Ihnen hiermit ein paar Hinweise geben, wie Sie sich in den Wochen bis zum Semesteranfang auf die Vorlesung vorbereiten k¨nnten. Diese Vorbereitungsarbeiten werden Ihnen den Einstieg in die o Vorlesung deutlich erleichtern.
1
Das Skript
Als Referenz verwenden wir: Randal E. Bryant, David R. O’Hallaron, “Computer Systems: A Programmer’s Perspective”, Prentice Hall (kurz: “Bryant/O’Hallaron”), Kapitel 1 bis 6. Dieses Buch ist das Skript zur Vorlesung. F¨r die Vorlesung k¨nnen sowohl die erste Edition (2003) als auch u o die zweite Edition (Februar 2010) verwendet werden. Das Buch enth¨lt nicht nur Hintergrundmaa terial zur Vorlesung, sondern auch eine Vielzahl von Beispielproblemen, z.T. auch mit L¨sungen, o welche zur uberpr¨fung des Verst¨ndnisses und zur Klausurvorbereitung n¨tzlich sind. Weiterhin u a u ¨ enth¨lt das Buch Kapitel, welche auch f¨r weitere Vorlesungen hilfreich sind (Echtzeitsysteme, a u Betriebssysteme, Kommunikationssysteme). Die Sprache der Vorlesung und der Klausuren wird deutsch sein; ein Gutteil der Vorlesungsmaterialien ist jedoch auf englisch, insbesondere die Folien und der Bryant/O’Hallaron. Auch sp¨ter a im Studium werden Ihnen englische Quellen begegnen, sp¨testens bei der Vorbereitung eines Sea minarvortrags. Sollten Sie sich im Englischen noch nicht sicher f¨hlen, w¨rde ich Ihnen empfehlen, u u sich zumindest schon mal die ersten beiden Kapitel des Bryant/O’Hallaron in den n¨chsten Wochen a in Ruhe anzusehen – oder sich zumindest schonmal in die Vorlesungsfolien einzulesen. Der Bryant/O’Hallaron ist zweifach im Handapparat der Fachbibliothek vorhanden, w¨hrend a der Bibliotheks¨ffnungszeiten (http://www.math.uni-kiel.de/bibliothek/oeffnung.shtml) alo so stets einsehbar; eine begrenzte Anzahl hiervon kann auch ausgeliehen werden. Davon abgesehen w¨re f¨r Informatikstudierende auch eine pers¨nliche Anschaffung dieses Buches eine sehr sinnvolle a u o Investition.
Programmieren in C
Ein wesentlicher Bestandteil der Veranstaltung werden “Labs” sein, welche gr¨ßtenteils in C proo grammiert werden. Dabei geht es uns nicht so sehr um die Programmiersprache C als solche; sie ist f¨r uns mehr Mittel zum weck, um etwas uber die Organisation und Architektur eines Rechners zu u ¨ erfahren, wof¨r C aufgrund seiner Maschinenn¨he eine geeignete Sprache ist. Es werden also auch u a keine fortgeschrittenen Programmierkonstrukte verwendet oder abgefragt werden. Es wird jedoch erwartet, dass Sie die Basiskonstrukte von C und den Umgang mit einem C-Compiler (gcc) sicher beherrschen. In der zweiten Vorlesung werde ich eine kurze Einf¨hrung/Wiederholung zu C geben, aus der u Java-Perspektive. Dies sollte f¨r Sie ausreichen, falls u • Sie bereits in C programmiert haben, oder • falls Sie bereits ein relativ ge¨bter Java-Programmierer sind (oder zumindest in der Einf¨hrung u u von Java am Ende von Informatik I gut aufgepasst haben), evt. noch eine weitere, imperative Programmiersprache kennen (z.B. Pascal, C++), und sich allgemein sicher im Umgang mit dem Computer, einem Compiler und einer Shell f¨hlen. u 1
Falls Sie sich in keiner dieser Personengruppen wiederfinden, m¨chte ich Sie hinweisen auf o • den C-Programmierkurs, welcher vom Rechenzentrum angeboten wird: “Programmieren in C”, 15.03.–17.03.10, 9:15 – 12:45, 13:45-15:30 Uhr, Info/Anmeldung uber http://www.rz. ¨ uni-kiel.de/kurse, Anmeldung ab dem 01.02.10 m¨glich; o • Die Programmiersprache C – Ein Nachschlagewerk, Skript des RR N, 125 Seiten, 16. Auflage, 2007. Das Skript wird als Referenz zur Begleitung der Vorlesung empfohlen. Es wird f¨r 3,60 u Euro von der Kopierstelle der UB verkauft (gebundene Ausgabe), und wird – in begrenzter Anzahl – auch zu diesem Preis am ersten Vorlesungstermin (12.04.10) erh¨ltlich sein. a • Weitere Informationsmaterialien zu C, welche sich auf der Vorlesungshomepage finden, incl. Beispielprogrammieraufgaben, welche den erwarteten Level an C-Programmierung verdeutlichen; H¨rer, welche diesen Hinweis zu kurzfristig f¨r eine Teilnahme am Programmierkurs erhalten, o u z.B. weil sie ihr Studium zum Sommersemester beginnen, sollten sich bitte am Ende der ersten Vorlesung mit mir in Verbindung setzen. Es ist geplant, je nach Nachfrage, f¨r diesen Personenkreis u einen ,,C-Crashkurs” in der ersten Vorlesungswoche anzubieten.
Linux
Um noch n¨her an den Kern der Dinge zu kommen, werden wir neben der C-Programmierung auch a mit Assembler arbeiten. Die Architektur, welche wir beispielhaft untersuchen werden und welche wir in Assembler programmieren werden, ist die IA32-Architektur – allgemein bekannt als “PC”, “x86” oder “Pentium”. Dies ist heute die g¨ngigste Architektur (zumindest unter nicht-eingebetteten a Systemen), und entspricht – sehr wahrscheinlich – auch dem, was Sie bereits zuhause auf dem Schreibtisch stehen haben. Da der Grundausbildungspool jedoch auf einer anderen Architektur (Sun) beruht, k¨nnen wir diesen f¨r die Assembler-Programmierung nur eingeschr¨nkt einsetzen. o u a Falls Sie selbst uber einen PC verf¨gen, m¨chte ich Ihnen deshalb empfehlen, diesen auch f¨r die u o u ¨ Aufgabenbearbeitung zu nutzen; dies w¨rde nicht nur den PC-Pool (& uns) entlasten, sondern es u auch Ihnen erlauben, die Aufgaben in freier eiteinteilung zu bearbeiten. Dies gilt nat¨rlich auch f¨r u u das sp¨tere Studium. Es werden alle Aufgabenmaterialien zum Download zur Verf¨gung gestellt. a u Die Labs setzen (zumindest zum Teil) Linux voraus; falls Sie noch nicht mit Linux arbeiten, so m¨chte ich Sie hinweisen auf o • Informationsmaterialen zu Linux auf der Vorlesungshomepage; hier gibt es auch Infos dar¨ber, u welche Linux-Varianten Sie verwenden k¨nnen (kurze Antwort: fast alle, sofern sie nicht zu o alt sind – es muss nur ein gcc Version 2.95 oder neuer vorhanden sein); • einen Linux-Installationstag, welcher – falls sich Bedarf abzeichnet und die Fachschaft hierzu wieder bereit ist – Anfang des Sommersemesters angeboten werden k¨nnte. Bei Interesse o kontaktieren Sie mich bitte per E-Mail. Weiterf¨hrende Hinweise finden sich auch auf der Vorlesungshomepage (http://www.informatik. u uni-kiel.de/rtsys/teaching/ss10/v-oar/). F¨r weitere Fragen stehen ich oder Herr Sp¨neu o ¨ mann (msp@informatik.uni-kiel.de) sowie die weiteren Ubungsgruppenleiter (siehe VorlesungsHomepage) gerne zur Verf¨gung. u Herzliche Gr¨ße und viel Erfolg, u Reinhard v. Hanxleden