Michael Tischer Systemprogrammierung

Michael Tischer Systemprogrammierung

Michael Tischer D гл r\ Systemprogrammierung DATA BECKER к Inhaltsverzeichnis 1. Der PC und die Systemprogrammierung 19 1.1 Was ist Systemprogrammierung? 19 1.2 Das Drei-Schichten-Modell 20 1.3 Grundkonzepte der PC-Hardware 23 1.3.1 Die Entwicklung des PCs 23 1.3.2 Der Bus 24 1.3.3 Die Support-Chips 28 1.3.4 Der Speicheraufbau 32 1.3.5 Was kam nach dem Original-IBM-PC? 34 1.4 Der Prozessor 36 1.4.1 Das Gehirn des PCs 36 1.4.2 Die Prozessor-Register 38 1.4.3 Bildung von Speicheradressen 41 1.5 Kommunikation mit der Hardware 48 1.6 Interrupts 49 1.6.1 Aufbau und Lage der Interrupt-Vektor-Tabelle 50 1.6.2 Das Standard-Layout der Interrupt-Vektor-Tabelle 51 1.6.3 Hardware-Interrupts 53 1.7 Zusammenspiel zwischen Hardware, BIOS, DOS und den Anwendungsprogrammen 57 1.8 Der Pentium-Prozessor 59 1.8.1 Instruktionsausführung und Branch-Prediction 61 1.8.2 Der Cache 65 1.8.3 Die Fließkommaeinheit 74 1.8.4 Weitere Merkmale 76 2. Systemprogrammierung in der Praxis 77 2.1 Systemprogrammierung mit QuickBasic 77 2.1.1 Die Datentypen von QuickBasic 77 2.1.2 Aufruf von Interrupts 83 2.1.3 Puffer hin, Puffer her 86 2.2 Systemprogrammierung in PASCAL 87 2.2.1 Die Datentypen von Turbo Pascal 88 2.2.2 Aufruf von Interrupts 93 2.2.3 Puffer hin, Puffer her 95 2.2.4 Zugriff auf Ports 97 2.3 Systemprogrammierung in С 98 2.3.1 Die Datentypen von С 99 2.3.2 Aufruf von Interrupts 104 2.3.3 Puffer hin, Puffer her 107 2.3.4 Zugriff auf Ports HO 3. Das BIOS 115 3.1 Der BIOS-Standard 116 3.2 Ab die POST 119 3.3 BIOS-Version und PC-Typ 121 3.4 Die Variablen des BIOS 123 4. Der Interrupt-Controller 137 5. Der DMA-Controller 162 6. Die Tastatur 182 6.1 Grundlagen der Tastaturprogrammierung 182 6.1.1 Der lange Marsch - von der Taste bis zum Programm 182 6.1.2 Die verschiedenen PC-Tastaturen 185 6.2 Zugriff auf die Tastatur mit dem BIOS 188 6.2.1 Die BIOS-Funktionen des Interrupts 16h 189 6.2.2 Tastaturabfrage bei MF-II-Tastaturen 202 6.2.3 Die Variablen des BIOS-Tastatur-Interrupts 208 6.2.4 Die Sache mit den Scan-Codes 214 6.3 Tastatur-Interrupt-Handler 215 6.3.1 Eingriff in den BIOS-Tastatur-Interrupt 16h 215 6.3.2 Abfangen von Tastatur-Hardware-Interrupts 219 6.4 Der Tastatur-Controller und seine Programmierung 221 7. Serielle Schnittstelle 232 7.1 Asynchrone Kommunikation 234 7.2 RS 232 238 7.3 Das Innenleben der seriellen Schnittstelle 242 7.3.1 Die Register des UART 242 7.3.2 Die Nachfolger des 8250 252 7.4 Zugriff auf die serielle Schnittstelle über das BIOS 255 7.5 Beispielprogramme 257 8. Parallele Schnittstelle 276 8.1 Zugriff auf den Drucker mit dem BIOS 276 8.1.1 Aufruf der BIOS-Funktionen 280 8.1.2 Umleitung des BIOS-Drucker-Interrupts 281 8.2 Direkte Programmierung der parallelen Schnittstelle 283 8.2.1 Die I/O-Ports der Schnittstelle 283 8.2.2 Die Register der Schnittstelle 285 8.2.3 Struktur der Kommunikation 287 8.2.4 Die Kabel 289 8.2.5 Software zur Datenübertragung 293 9. Bildschirmausgabe und Videokarten 311 9.1 Historie und Leistungsmerkmale 311 9.2 Das Video-BIOS 318 9.3 Ermittlung der installierten Videokarten 336 9.4 Grundlegender Aufbau und Funktionsweise einer Videokarte ... 345 9.4.1 Das Video-RAM 355 9.5 Die IBM-Monochrom-Karte (MDA) 365 9.6 Die Hercules-Grafikkarte (HGC) 373 9.7 Die IBM-Color-Karte (CGA) 383 9.8 Programmierung von EGA-/VGA-Karten 397 9.8.1 Auf den Monitor kommt's an 399 9.8.2 Auswahl und Programmierung von Zeichensätzen 404 9.8.3 Smooth-Scrolling 435 9.8.4 Abschaltung des Bildschirms 450 9.8.5 Das Prinzip der Bit-Planes 452 9.8.6 Die 16-Farben-Grafikmodi der EGA- und VGA-Karte 466 9.8.7 Die VGA-Grafikmodi mit 256 Farben 482 9.8.8 Freie Farbwahl 503 9.8.9 Sprites 518 9.8.10 Die Register der EGA- und VGA-Karte 573 9.9 Super-VGA-Karten 608 9.9.1 Der VESA-Standard 621 10. Disketten und Festplatten 631 10.1 Aufbau von Disketten und Festplatten 632 10.2 Diskettenlaufwerke und -formate 634 10.3 Zugriff auf Disketten mit dem BIOS 639 10.4 Zugriff auf Festplatten mit Hilfe des BIOS 660 10.5 Festplatten und ihre Controller 666 10.5.1 ST506-Controller 667 10.5.2 ESDI-Controller 668 10.5.3 SCSI 670 10.5.4 IDE 671 10.5.5 Vom Controller in den Speicher 673 10.6 Aufzeichnung der Informationen auf einer Festplatte 675 10.6.1 Das FM-Verfahren 675 10.6.2 Das MFM-Verfahren 676 10.6.3 Das RLL-Verfahren 677 10.7 Kleiner, schneller, billiger 679 10.7.1 Der Interleave-Faktor 680 10.7.2 Track Skewing und Cylinder-Skewing 683 10.7.3 Multiple Zone Recording. 684 10.7.4 Fehlerkorrektur 685 10.7.5 Was sonst noch drauf muß 686 10.7.6 Zugriffszeiten und ihre Messung 687 10.8 Festplattenpartitionen 689 10.8.1 Untersuchung der Partitionsstruktur 693 11. Mausprogrammierung 697 11.1 Die Software-Schnittstelle 697 11.2 Programmbeispiele 708 11.3 Wie kommt die Maus in den Rechner? 720 12. Joystick 723 13. Datum, Uhrzeit und die batteriegepufferte Echtzeituhr... 731 13.1 Abfrage von Datum und Uhrzeit mit dem BIOS 731 13.2 Abfrage und Programmierung der Echtzeituhr 735 13.3 Konfigurationsinformationen im batteriegepufferten RAM 740 13.4 Beispielprogramme 742 14. Erweiterungsspeicher — (Dieses Kapitel finden Sie auf der CD) "'——"-• 14.1 Expanded Memory nach dem EMS-Standard 14.1.1 Die Geschichte des LIM-Standards 14.1.2 Die EMS-Version 3.2 14.2 Extended Memory 14.2.1 Zugriff auf das Extended Memory mit dem BIOS 14.2.2 Rangeleien um das Extended Memory 14.2.3 Direkter Zugriff auf die HMA aus dem Real Mode 14.2.4 Der XMS-Standard 15. Tonerzeugung über den Timer 746 16. Konfiguration und Prozessortyp 753 16.1 Feststellen der Konfiguration mit Hilfe des BIOS 753 16.1.1 Abfrage der Hardware-Ausstattung 753 16.1.2 Feststellen der Größe des RAM-Speichers mit Hilfe des BIOS 755 16.1.3 Programmbeispiele 755 16.2 Ermittlung von Prozessor und Co-Prozessor 758 16.2.1 Ermittlung des Prozessortyps 759 16.2.2 Co-Prozessor-Test 766 16.2.3 Beispielprogramme 767 17. Die Entwicklungsgeschichte des DOS 775 18. Der interne Aufbau des DOS 785 18.1 Die verschiedenen DOS-Komponenten 785 18.2 Booten des DOS 787 19. COM- und EXE-Programme 789 19.1 Unterschiede zwischen COM- und EXE-Programmen 789 19.2 Programmierung von COM-Programmen 791 19.3 EXE-Programme 796 19.4 Der PSP 800 20. Zeicheneingabe und -ausgäbe 803 20.1 Handle-Funktionen 803 20.2 Traditionelle Funktionen 809 20.3 Umschaltung vom Raw- in den Cooked-Modus 813 20.4 DOS-Filter 815 20.5 Ein Filter-Beispiel 818 21. Dateiverwaltung 822 21.1 Die zwei Gesichter des DOS 822 21.2 Handle-Funktionen 823 21.3 FCB-Funktionen 826 21.4 Handies kontra FCB 833 22. Zugriff auf Verzeichnisse und Laufwerke 834 22.1 Verwaltung von Verzeichnissen 834 22.2 Suche nach Dateien 837 22.2.1 Dateisuche über FCB-Funktionen 839 22.2.2 Dateisuche über Handle-Funktionen 845 23. Datum und Uhrzeit 857 24. RAM-Speicherverwaltung 860 24.1 RAM-Speicherverwaltung des DOS 860 24.2 Wo der Speicher herkommt - TPA und UMBs 863 24.3 Die Allokation von Speicher sichtbar gemacht 868 24.4 Hinter den Kulissen der Speicherverwaltung 876 25. Die EXEC-Funktion 891 25.1 EXEC zum Laden und Starten von Programmen 891 25.2 Die EXEC-Funktion zum Laden von Overlays 897 25.3 Neuerungen ab der Version 5.0 899 25.4 Programmbeispiel 900 26. Ctrl-Break- und Critical-Error-Interrupt 903 27. Gerätetreiber 909 27.1 Gerätetreiber unter DOS 909 27.1.1 Zeichentreiber 913 27.1.2 Blocktreiber 914 27.1.3 Zugriff auf Gerätetreiber 915 27.2 Die Struktur eines Gerätetreibers 915 27.3 Die Funktionen eines Gerätetreibers 919 27.4 Uhrtreiber 935 27.5 Aufruf eines Gerätetreibers durch DOS 936 27.6 Direkter Zugriff auf Gerätetreiber: IOCTL 938 27.7 Tips zur Entwicklung eines Gerätetreibers 940 27.8 Treiberbeispiele 941 27.9 EXE-Programme als Gerätetreiber 952 27.10 CD-ROM - ein ganz besonderer Gerätetreiber 954 28. Das Dateisystem von MS-DOS 957 28.1 Die Grundstruktur des Dateisystems 957 28.2 Der Boot-Sektor 958 28.3 Die File-Allocation-Table (FAT) 960 28.4 Das Hauptverzeichnis 966 28.5 Der Datenbereich 970 28.6 Diskettenformate 972 29. Der Multiplexer 974 29.1 Funktionsweise des Multiplexers 974 29.2 Nutzung des Multiplexers durch DOS-Programme 977 30. Netzwerkprogrammierung 981 30.1 Die Grundlagen 981 30.2 Netzwerkprogrammierung unter DOS 984 31. DOS und Windows 1000 31.1 Windows entdecken 1000 32. Wie wahre ich Kompatibilität? 1005 32.1 Kompatibilitätsprobleme bei der DOS-Programmierung 1005 33. Geheime DOS-Strukturen 1008 33.1 Geheim und nicht geheim 1008 33.2 Der DOS-Info-Block 1009 34. DOS 6 1014 34.1 DoubleSpace 1014 34.1.1 Datenkompression 1014 34.1.2 CVF-Dateien 1018 34.1.3 Aufbau einer CVF-Datei 1020 34.1.4 Die Datenstrukturen im einzelnen 1023 34.1.5 DoubleSpace und der Bootvorgang 1028 34.1.6 Die Software-Schnittstelle von DoubleSpace 1030 34.2 Die Kompressionsschnittstelle MRCI 1034 35.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    9 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us