Fragenkatalog bis F20
This commit is contained in:
commit
68d68facb5
|
@ -0,0 +1,131 @@
|
|||
Fragenkatalog IT12/ AE, Schuljahr 2020/2021
|
||||
|
||||
Theorie:
|
||||
Windows Grundlagen:
|
||||
|
||||
1. Welche Bedeutung hatte die Einführung grafischer Benutzeroberflächen für die Verbreitung von PCs?
|
||||
→ Die PCs wurden damit für die Massen eifach zu benutzen und verbreiteten sich deshalb sehr gut seit es GUIs gibt.
|
||||
|
||||
2. Nennen Sie drei Merkmale von Windowsprogrammen!
|
||||
|
||||
→ Oft mit .NET, C++, C# programmiert
|
||||
→ Benutzen die WindowsAPI
|
||||
→ Alle Benutzereingaben werden zuerst von Windows abgefangen und dann an das Programm gesendet für das es bestimmt war
|
||||
|
||||
3. Erläutern Sie den Unterschied zwischen einem Programm und einem Prozess!
|
||||
|
||||
-> Ein Prozess kann bestandteil eines Programms sein, es ist die bestimmte Aufgabe die ausgeführt wird
|
||||
-> Ein Programm ist eine Passive Entität, z.b. eine Ausführbare Datei
|
||||
-> Ein Programm ist eine Bündelung vieler Prozesse um Funktionalität zu bieten
|
||||
|
||||
4. Was versteht man unter einer „Instanz eines Programms“?
|
||||
|
||||
-> Ein Programm das gerade ausgeführt wird, wenn sie dassselbe Programm nochmal öffnen (in einem neuen Fenster) dann ist dies eine zweite Instanz desselben Programmes.
|
||||
|
||||
5. Beschreiben Sie die Aufgaben des Windows Betriebssystems, wenn eine neue Anwendung gestartet wird!
|
||||
-> zuerst wird in WinMain eine Fensterklasse während der Initialisierung erstellt
|
||||
-> Fensterklasse (als Structure vordefiniert) muss mit Infos zum Fenster und zu der Fensterfunktion gefüllt werden
|
||||
-> Fenster wird mit CreateWindow() erzeugt und mit ShowWindow() angezeigt
|
||||
-> UpdateWindow() updatet die anzeige
|
||||
|
||||
6. Beschreiben Sie die Aufgaben des Windows Betriebssystems, wenn eine Anwendung geschlossen wird!
|
||||
-> Benutzereingabe bekommt einen Eintrag in der Application-Queue
|
||||
-> Message Loop verarbeitet die Eingabe
|
||||
-> Windows wird angewiesen die Logik zur Programmbeendung auszuführen (Fenster schließen, Programminstanz beenden, Speicher freigeben...)
|
||||
|
||||
|
||||
|
||||
|
||||
7. Weshalb können unterschiedliche Anwendngen in Win32 nicht über Zeiger auf die gleiche Speicheradresse miteinander kommunizieren?
|
||||
|
||||
-> Weil jeder Prozess seinen eigenen „Speicherraum“ besitzt und nicht auf Speicher eines Anderen Prozesses zugreifen kann (Sandbox)
|
||||
|
||||
8. Welche Vorteile bieten multithreadingfähige Systeme?
|
||||
|
||||
-> Abarbeitung mehrer Prozesse „gleichzeitig“
|
||||
-> „schneller“ (Effektiver Einsatz der CPU)
|
||||
-> Schnelle (low-latency) Kommunikation zwischen mehreren Prozessen eines Programms
|
||||
|
||||
--> https://docs.oracle.com/cd/E19455-01/806-3461/6jck06gqj/index.html
|
||||
--> https://zone.ni.com/reference/de-XX/help/371361R-0113/lvconcepts/benefits_multi_apps/
|
||||
|
||||
9. Unterschied zwischen kooperativem und Preemptivem Multitasking?
|
||||
|
||||
Kooperatives Multitasking:
|
||||
-> gibt die volle CPU-Kontrolle an den auszuführenden Prozess ab und erhält sie erst nach erfolgreicher abarbeitung des Prozesses wieder. (Crash-Problem unter z.B. DOS)
|
||||
|
||||
Preemptives Multitasking:
|
||||
-> System kann jederzeit (nach Ausführung jedes CPU-Befehls) die Kontrolle über die CPU entziehen.
|
||||
|
||||
10. Warum können „abgestürzte“ DOS-Programme das ganze OS Lahmlegen?
|
||||
-> wegen kooperativem Multitasking dass die volle Kontrolle der CPU an den Prozess abgibt.
|
||||
|
||||
11. Abarbeitung einer Tastatureingabe über die Message Loop:
|
||||
|
||||
1. User drückt Taste
|
||||
2. Eintrag des Ereignisses in die System-Queue
|
||||
3. Eintrag in die Application-Queue
|
||||
4. Message Loop verarbeitet das Ereignis
|
||||
5. Windows wird angewiesen, die Fensterfunkton aufzurufen
|
||||
6. Fensterfunktion reagiert auf die Tastatureingabe
|
||||
|
||||
12. Welche Aufgabe erfüllt die Fensterfunktion WinProc()?
|
||||
|
||||
Eine Art Event-Handler des Fensters der die eingehenden Botschaften empfängt und verarbeitet
|
||||
-> Z.B. die Botschaft WM_DESTROY -> Fenster schließen
|
||||
-> jedes Fenster definiert seine eigene Fensterfunktion
|
||||
|
||||
13. Beschreiben Sie den grundsätzlichen Aufbau einer Fensterfuktion unter Win32?
|
||||
|
||||
-> Einfach nur ein switch-case mit allen benötigten Botschaften die anfallen können bzw für das Programm wichtig sind.
|
||||
|
||||
|
||||
14. Bedeutung von Botschaften in ereignisgesteuerten Systemen
|
||||
|
||||
- Eventlistener greifen die Botschaften auf und entscheiden dann anhand der Botschaft den weiteren Ablauf des Programms/Prozesses
|
||||
|
||||
|
||||
15. Nennen Sie vier Schnittstellen für Windows - Programmierer und deren spezielles Anwendungsgebiet?
|
||||
|
||||
- WinInet - Windows Internet API
|
||||
- GDI - Graphics Device Interface
|
||||
- WinSock - API zum zugriff auf Rechnernetzt über Sockets
|
||||
- TAPI - Telephone API (Fax, ...)
|
||||
- COM-API - Für den zugriff auf com schnittstellen
|
||||
|
||||
16. Welche Bedeutung hat die API für den Programmierer?
|
||||
|
||||
- Eine API bietet den zugriff auf bestimmte vorgefertigte Funktionen an
|
||||
- z.b. die coinAPI zum abgreifen von Kryptowährungs-Daten
|
||||
|
||||
17. Erläutern Sie, welches Wissen ein Windows - Anwendungsentwickler zusätzlich zur Kenntnis der Programmiersprache benätigt
|
||||
|
||||
- Windows API
|
||||
- Fensterfunktion
|
||||
- Message Loop
|
||||
- .NET
|
||||
- COM
|
||||
|
||||
|
||||
18. Die vier Parameter der WinMain()
|
||||
|
||||
HINSTANCE hInstance, /* handle to current instance */
|
||||
HINSTANCE hPrevInstance, /* handle to previous instance */
|
||||
LPSTR lpCmdLine, /* pointer to command line */
|
||||
int nCmdShow /* show state of window */
|
||||
|
||||
|
||||
19. Die Windows API Fensterklasse:
|
||||
|
||||
- wird zum beschreiben/stylen des Fensters benutzt
|
||||
|
||||
|
||||
20. Die Inhalte der Windows Fensterklasse
|
||||
|
||||
- style Style des Fensters
|
||||
- lpfnWndProc Zeiger auf die Fensterfunktion (WndProc())
|
||||
- hInstance Handle zur jetzigen Instanz
|
||||
- hCursor Handle zu einer Cursor-Resource für Mouse-Moves
|
||||
- hbrBackground Hintergrundfarbe des Fensters
|
||||
- lpszClassName Pointer zum Klassennamen oder einem Alias dafür
|
||||
|
Loading…
Reference in New Issue