Subject: Fragen zum Vorlesungsskript und den Übungsfolien
1) Folie D.33: Bei den Vorrangregeln bei Operatoren steht in der Spalte Assoziativität: von rechts nach links bzw. von links nach rechts. Was ist damit gemeint?
2) Folie E.3: Beim Programmadressraum steht 2 Byte pro Adresse und beim Datenadressraum steht 1 Byte pro Adresse. Heißt das, dass der Inhalt eines Zeigers mit einer Adresse aus dem Programmspeicher 2 Byte groß ist und einer aus dem Datenspeicher 1 Byte groß ist?
3) Folie E.12: Der Interrupt-Vektor enthält Informationen zur Bearbeitung des Interrupts. Laut Skript, einen Maschinenbefehl oder eine Adresse einer Bearbeitungsfunktion. Wo ist da der Unterschied?
4) Folie F.14 : Ein Feld kann durch eine Liste von konstanten Ausdrücken, die durch Komma getrennt sind, initialisiert werden. Wieso müssen das konstante Ausdrücke sein? Kann ich nicht mit Variablen initialisieren?
5) Folie F.26: Wieso sind die Parameter-Deklarationen int p2[] und int *p2 äquivalent? int p2[] ist doch ein konstanter Zeiger auf das erste Element des Feldes und int *p2 ein Zeiger der veränderbar ist.
6) Folie G.13: Wenn vor sleep_cpu() ein Interrupt auftritt, wieso ensteht dann das Lost-wakeup-Problem?
7) Übungsskript Folie 5.28: Da die Variable event 8 bit ist (atomar) und in der while Schleifenbedingung nur gelesen wird, wäre die while-Schleife dann auch so richtig?
2) Folie E.3: Beim Programmadressraum steht 2 Byte pro Adresse und beim Datenadressraum steht 1 Byte pro Adresse. Heißt das, dass der Inhalt eines Zeigers mit einer Adresse aus dem Programmspeicher 2 Byte groß ist und einer aus dem Datenspeicher 1 Byte groß ist?
3) Folie E.12: Der Interrupt-Vektor enthält Informationen zur Bearbeitung des Interrupts. Laut Skript, einen Maschinenbefehl oder eine Adresse einer Bearbeitungsfunktion. Wo ist da der Unterschied?
4) Folie F.14 : Ein Feld kann durch eine Liste von konstanten Ausdrücken, die durch Komma getrennt sind, initialisiert werden. Wieso müssen das konstante Ausdrücke sein? Kann ich nicht mit Variablen initialisieren?
5) Folie F.26: Wieso sind die Parameter-Deklarationen int p2[] und int *p2 äquivalent? int p2[] ist doch ein konstanter Zeiger auf das erste Element des Feldes und int *p2 ein Zeiger der veränderbar ist.
6) Folie G.13: Wenn vor sleep_cpu() ein Interrupt auftritt, wieso ensteht dann das Lost-wakeup-Problem?
7) Übungsskript Folie 5.28: Da die Variable event 8 bit ist (atomar) und in der while Schleifenbedingung nur gelesen wird, wäre die while-Schleife dann auch so richtig?
- while(event==0) {
- cli();
- sleep_enable();
- sei();
- sleep_cpu();
- sleep_disable();
- }
Show profile
Link to this post
(Gibt aber noch deutlich schlimmeres.)