Michael Tischer Systemprogrammierung

Total Page:16

File Type:pdf, Size:1020Kb

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.
Recommended publications
  • Operating System
    OPERATING SYSTEM INDEX LESSON 1: INTRODUCTION TO OPERATING SYSTEM LESSON 2: FILE SYSTEM – I LESSON 3: FILE SYSTEM – II LESSON 4: CPU SCHEDULING LESSON 5: MEMORY MANAGEMENT – I LESSON 6: MEMORY MANAGEMENT – II LESSON 7: DISK SCHEDULING LESSON 8: PROCESS MANAGEMENT LESSON 9: DEADLOCKS LESSON 10: CASE STUDY OF UNIX LESSON 11: CASE STUDY OF MS-DOS LESSON 12: CASE STUDY OF MS-WINDOWS NT Lesson No. 1 Intro. to Operating System 1 Lesson Number: 1 Writer: Dr. Rakesh Kumar Introduction to Operating System Vetter: Prof. Dharminder Kr. 1.0 OBJECTIVE The objective of this lesson is to make the students familiar with the basics of operating system. After studying this lesson they will be familiar with: 1. What is an operating system? 2. Important functions performed by an operating system. 3. Different types of operating systems. 1. 1 INTRODUCTION Operating system (OS) is a program or set of programs, which acts as an interface between a user of the computer & the computer hardware. The main purpose of an OS is to provide an environment in which we can execute programs. The main goals of the OS are (i) To make the computer system convenient to use, (ii) To make the use of computer hardware in efficient way. Operating System is system software, which may be viewed as collection of software consisting of procedures for operating the computer & providing an environment for execution of programs. It’s an interface between user & computer. So an OS makes everything in the computer to work together smoothly & efficiently. Figure 1: The relationship between application & system software Lesson No.
    [Show full text]
  • 2015 Test Questions
    VERSION 00000001 COMPSCI340/SOFTENG370 THE UNIVERSITY OF AUCKLAND SECOND SEMESTER, 2015 Campus: City COMPUTER SCIENCE / SOFTWARE ENGINEERING Operating Systems TEST (Time Allowed: 45 minutes) NOTE: Calculators are NOT permitted. Compare the test version number on the Teleform sheet supplied with the version number above. If they do not match, ask the test supervisor for a new sheet. Enter your name and student ID (in pencil) on the Teleform sheet. Your name and Student Id should both be entered left aligned. If your name is longer than the number of boxes provided, truncate it. Answer all questions on the Teleform answer sheet provided. Use a dark pencil to shade in your answers in the multiple choice answer boxes on the Teleform sheet. Check that the question number on the sheet corresponds to the question number in this question book. If you spoil your sheet, ask the supervisor for a replacement. Questions are worth marks as indicated. There are 26 questions worth 30 marks in total. CONTINUED VERSION 00000001 - 2 - COMPSCI340/SOFTENG370 THIS PAGE HAS BEEN INTENTIONALLY LEFT BLANK. CONTINUED VERSION 00000001 - 3 - COMPSCI340/SOFTENG370 MULTIPLE CHOICE QUESTIONS For each question, choose the best answer according to the information presented in lectures and in the textbook. Select your preferred answer on the Teleform answer sheet by shading in the appropriate box in pencil. There are 26 questions worth 30 marks in total. Question 1 [1 mark] Which of the following was NOT a theme/model for discussing operating systems in lectures? (a) The bare machine model (b) The resource allocator model (c) The manager model (d) The dustbin model (e) The onion model Question 2 [1 mark] Which of the following statements about environmental subsystems is FALSE? (a) The MS-DOS API could be provided as an environmental subsystem.
    [Show full text]
  • Intellio C320turbo User's Manual
    Intellio C320Turbo User's Manual An Advanced Professional Intelligent Multiport System for ISA bus with Desktop and Rackmount Options Jun. 1999 (3rd Edition) The content of this manual is also available in CD-ROM and at Moxa Web Site. Moxa Technologies Co., Ltd. Tel: +866-2-8665-6373 Fax: +886-2-8665-6372 www.moxa.com [email protected] Intellio C320Turbo User's Manual The software described in this manual is furnished under a license agreement and may be used only in accordance with the terms of the agreements. Copyright Notice Copyright ã 1999 Moxa Technologies Co., Ltd. All rights reserved. Reproduction in any form without permission is prohibited. Trademarks MOXA is a registered trademark of Moxa Technologies Co., Ltd. All other trademarks or registered marks in this manual belong to their respective manufacturers. Disclaimer Information in this document is subject to change without notice and does not represent a commitment on the part of Moxa. Moxa provides this document “as is”, without warranty of any kind, either expressed or implied, including, but not limited to, the particular purpose. Moxa may make improvements and/or changes in this manual or in the product(s) and/or the program(s) described in this manual at any time. Information provided in this manual is intended to be accurate and reliable. However, Moxa Technologies assumes no responsibility for its use, or for any infringements of rights of the fourth parties which may result from its use. This product could include technical or typographical errors. Changes are periodically made to the information herein; these changes may be incorporated in new editions of the publication.
    [Show full text]
  • Superport System
    C360 SuperPort System A Super Professional Intelligent Multiport Board for IBM PC/AT and Compatible System Dec. 1996 (1st Edition) All Rights Reserved Copyright Notice This documentation is copyrighted by Moxa Technologies Co., Ltd. All rights are reserved. Moxa Technologies reserves the right to make improvements to the products described in this manual at any time without notice. Information provided in this manual is intended to be accurate and reliable. However, Moxa Technologies assumes no responsibility for its use, nor for any infringements of rights of the fourth parties which may result from its use. MOXA is a registered trademark of Moxa Technologies Co. Ltd. The other trademarks in this manual belong to their manufacturers individually. Moxa Technologies Co., Ltd. Moxa Tech USA (CA) Tel: +866-2-8665-6373 Tel: (408)734-2224 Fax: +886-2-8665-6372 Fax: (408)734-4442 www.moxa.com.tw support @moxa.com.tw Moxa Internet Services Customer’s satisfaction is always our number one concern. To ensure customers get the full benefit of our services, Moxa Internet Services (MIS) have been built for technical support, product inquiry, new driver upgrade, etc. The followings are the services we provide. E-mail for technical support address: [email protected] Ftp site for free driver upgrade address: ftp.moxa.com or ftp.moxa.com.tw user ID: ftp password: your_email_address World Wide Web (WWW) for product info. address: www.moxa.com or www.moxa.com.tw Table of Contents . Chapter 1 Introduction 13 ~ 16 1.1 Overview 1 1.2 Features and Specifications 2 1.3 Check list 4 .
    [Show full text]
  • IBM Operating System/2 Technical Reference
    First Edition (September 1987) The following paragraph does not apply to the United Kingdom or any country where such provisions are Inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you. This publication could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time. It is possible that this publication may contain reference to, or infor­ mation about, IBM products (machines and programs), programming, or services that are not announced in your country. Such references or information must not be construed to mean that IBM intends to announce such IBM products, programming, or services in your country. Requests for copies of this publication and for technical information about IBM products should be made to your IBM Authorized Dealer or your IBM Marketing Representative. Operating System/2 and OS/2 are trademarks of the International Business Machines Corporation. ©Copyright International Business Machines Corporation 1986, 1987 All rights reserved. No part of this publication may be reproduced or distributed in any form or by any means without prior permission in writing from the International Business Machines Corporation.
    [Show full text]
  • A Survey on Virtualization Technologies
    A Survey on Virtualization Technologies Susanta Nanda Tzi-cker Chiueh {susanta,chiueh}@cs.sunysb.edu Department of Computer Science SUNY at Stony Brook Stony Brook, NY 11794-4400 Abstract Virtualization is a technology that combines or divides computing resources to present one or many operating environments using methodologies like hardware and software partitioning or aggregation, partial or complete machine simulation, emulation, time-sharing, and others. Vir- tualization technologies find important applications over a wide range of areas such as server consolidation, secure computing platforms, supporting multiple operating systems, kernel de- bugging and development, system migration, etc, resulting in widespread usage. Most of them present similar operating environments to the end user; however, they tend to vary widely in their levels of abstraction they operate at and the underlying architecture. This paper surveys a wide range of virtualization technologies, analyzes their architecture and implementation, and proposes a taxonomy to categorize them on the basis of their abstraction levels. The pa- per identifies the following abstraction levels: instruction set level, hardware abstraction layer (HAL) level, operating system level, library level and application level virtual machines. It studies examples from each of the categories and provides relative comparisons. It also gives a broader perpective of the virtualization technologies and gives an insight that can be extended to accommodate future virtualization technologies under this taxonomy. The paper proposes the concept of an extremely lightweight technology, which we call as Featherweight Virtual Machine (FVM), that can be used to ”try out” untrusted programs in a realistic environment without causing any permanent damage to the system.
    [Show full text]
  • Rocketport/ISA API (6508) for the MS-DOS Operating System
    First Edition, December 1993 Revised April 1994 Copyright © 1993, 1994, 1995, 1996. Comtrol Corporation. All Rights Reserved. Comtrol Corporation makes no representations or warranties with regard to the contents of this guide or to the suitability of the Comtrol RocketPort controllers for any particular purpose. Trademarks The Comtrol logo is a registered trademark of Control Systems, Inc. Comtrol is a trademark of Comtrol Corporation. The RocketPort series is a registered trademark of Comtrol Corporation. Borland is a registered trademark of Borland International, Inc. Microsoft and MS-DOS are registered trademarks of Microsoft Corporation. Product names mentioned herein may be trademarks and/or registered RocketPort/ISA trademarks of their respective companies. API (6508) for the MS-DOS Operating System Document Number: 6508D1.ELE 1 Before You Begin Scope Organization This guide describes the following information about the DOS application Section 1. Installing RocketPort Systems program interface (API) for RocketPort controllers: Provides you with the following information: • Installing the software and hardware • Product introduction • Running the sample application • Software and hardware installation overview • Developing applications • Installing the software and hardware Note: If you want to install the Interrupt 14 device driver, see the Reference • Configuring controllers Card. • Running the sample application Section 2. Developing Applications Purpose Provides you with information about how to develop applications using the API. Section 3. Troubleshooting and Technical Support This guide explains installing and using the API functions. Provides you with troubleshooting and technical support information for your RocketPort series controller. Audience Appendix A. API Functions Contains the API asynchronous functions available for writing the application. Appendix B.
    [Show full text]
  • API Software for 1746 I/O PCI Interface and 1747-OC Open Controller
    API Software for 1746 I/O PCI Interface and 1747-OC Open Controller 1747-OCF, -PCIS User Manual Important User Information Because of the variety of uses for the products described in this publication, those responsible for the application and use of this control equipment must satisfy themselves that all necessary steps have been taken to assure that each application and use meets all performance and safety requirements, including any applicable laws, regulations, codes and standards. The illustrations, charts, sample programs and layout examples shown in this guide are intended solely for purposes of example. Since there are many variables and requirements associated with any particular installation, Allen-Bradley does not assume responsibility or liability (to include intellectual property liability) for actual use based upon the examples shown in this publication. Allen-Bradley publication SGI-1.1, Safety Guidelines for the Application, Installation and Maintenance of Solid-State Control (available from your local Allen-Bradley office), describes some important differences between solid-state equipment and electromechanical devices that should be taken into consideration when applying products such as those described in this publication. Reproduction of the contents of this copyrighted publication, in whole or part, without written permission of Rockwell Automation, is prohibited. Throughout this manual we use notes to make you aware of safety considerations: Identifies information about practices or ATTENTION circumstances that can lead to personal injury or ! death, property damage or economic loss Attention statements help you to: • identify a hazard • avoid a hazard • recognize the consequences IMPORTANT Identifies information that is critical for successful application and understanding of the product.
    [Show full text]
  • Memory Management Algorithms and Implementation in C/C++
    Everything about Internet Technology! Chose your section ● Auctions ● Network Marketing ● Business ● Online Promotion ● Computers ● Search Engines ● Domain Names ● Site Promotion ● Downloads ● Software ● eBay ● Technology ● Ebooks ● Video Conferencing ● Ecommerce ● VOIP ● Email Marketing ● Web Design ● Internet Marketing ● Web Development ● HTML ● Web Hosting ● JavaScript ● WIFI ● MP3 Memory Management Algorithms and Implementation in C/C++ by Bill Blunden Wordware Publishing, Inc. Library of Congress Cataloging-in-Publication Data Blunden, Bill, 1969- Memory management: algorithms and implementation in C/C++ / by Bill Blunden. p. cm. Includes bibliographical references and index. ISBN 1-55622-347-1 1. Memory management (Computer science) 2. Computer algorithms. 3. C (Computer program language) 4. C++ (Computer program language) I. Title. QA76.9.M45 .B558 2002 005.4'35--dc21 2002012447 CIP © 2003, Wordware Publishing, Inc. All Rights Reserved 2320 Los Rios Boulevard Plano, Texas 75074 No part of this book may be reproduced in any form or by any means without permission in writing from Wordware Publishing, Inc. Printed in the United States of America ISBN 1-55622-347-1 10987654321 0208 Product names mentioned are used for identification purposes only and may be trademarks of their respective companies. All inquiries for volume purchases of this book should be addressed to Wordware Publishing, Inc., at the above address. Telephone inquiries may be made by calling: (972) 423-0090 This book is dedicated to Rob, Julie, and Theo. And also to David M. Lee “I came to learn physics, and I got Jimmy Stewart” iii Table of Contents Acknowledgments......................xi Introduction.........................xiii Chapter 1 Memory Management Mechanisms. 1 MechanismVersusPolicy..................1 MemoryHierarchy......................3 AddressLinesandBuses...................9 Intel Pentium Architecture .
    [Show full text]
  • C168P User's Manual (This Manual) ¡Ñ V Pcomm Lite Diskette 1
    C168P User’s Manual Universal 8-port Serial Board Eighth Edition, June 2008 www.moxa.com/product © 2008 Moxa Inc., all rights reserved. Reproduction without permission is prohibited. C168P User’s Manual The software described in this manual is furnished under a license agreement and may be used only in accordance with the terms of that agreement. Copyright Notice Copyright © 2008 Moxa Inc. All rights reserved. Reproduction without permission is prohibited. Trademarks MOXA is a registered trademark of Moxa Inc. All other trademarks or registered marks in this manual belong to their respective manufacturers. Disclaimer Information in this document is subject to change without notice and does not represent a commitment on the part of Moxa. Moxa provides this document “as is,” without warranty of any kind, either expressed or implied, including, but not limited to, its particular purpose. Moxa reserves the right to make improvements and/or changes to this manual, or to the products and/or the programs described in this manual, at any time. Information provided in this manual is intended to be accurate and reliable. However, Moxa assumes no responsibility for its use, or for any infringements on the rights of third parties that may result from its use. This product might include unintentional technical or typographical errors. Changes are periodically made to the information herein to correct such errors, and these changes are incorporated into new editions of the publication. Technical Support Contact Information www.moxa.com/support Moxa Americas: Moxa China (Shanghai office): Toll-free: 1-888-669-2872 Toll-free: 800-820-5036 Tel: +1-714-528-6777 Tel: +86-21-5258-9955 Fax: +1-714-528-6778 Fax: +86-10-6872-3958 Moxa Europe: Moxa Asia-Pacific: Tel: +49-89-3 70 03 99-0 Tel: +886-2-8919-1230 Fax: +49-89-3 70 03 99-99 Fax: +886-2-8919-1231 About This Manual This manual is composed of six Chapters and one Appendix.
    [Show full text]
  • The Measured Performance of Personal Computer Operating Systems J
    A version of this paper will appear in The Proceedings of the 15th ACM Symposium on Operating System Principles. The Measured Performance of Personal Computer Operating Systems J. Bradley Chen, Yasuhiro Endo, Kee Chan, David Mazières Antonio Dias, Margo Seltzer, and Michael D. Smith Division of Applied Sciences Harvard University Abstract dows. The differences between the OS platforms used in research and mainstream OS products makes some systems research irrele- This paper presents a comparative study of the performance of vant with respect to the current needs of the software industry. At three operating systems that run on the personal computer archi- the same time, researchers ignore important problems in non- tecture derived from the IBM-PC. The operating systems, Win- UNIX systems. dows for Workgroups, Windows NT, and NetBSD (a freely The operating system most commonly used on PC platforms available variant of the UNIX operating system), cover a broad is Microsoft Windows. Windows lacks many features that the OS range of system functionality and user requirements, from a single research community takes for granted, most notably preemptive address space model to full protection with preemptive multi-task- multitasking and protected address spaces. New operating systems ing. Our measurements were enabled by hardware counters in for the PC market such as Windows NT and OS/2 incorporate the Intel’s Pentium processor that permit measurement of a broad multitasking support found in modern UNIX operating systems, range of processor events including instruction counts and on-chip while also supporting Windows applications. Though the operat- cache miss counts. We used both microbenchmarks, which expose ing systems community is familiar with the benefits of features specific differences between the systems, and application work- such as separate protected address spaces, little attention has been loads, which provide an indication of expected end-to-end perfor- given to systems without them.
    [Show full text]
  • Industio CI-132 Series User's Manual
    Industio CI-132 Series User’s Manual Industrial 2 Port RS-422/RS-485 Serial Board Feb. 1999 (1st Edition) The content of this manual is also available at Moxa Web Site. Moxa Technologies Co., Ltd. Tel: +866-2-8665-6373 Fax: +886-2-8665-6372 www.moxa.com [email protected] Industio CI-132 Series User’s Manual The product described in this manual is furnished under a license agreement and may be used only in accordance with the terms of the agreements. Copyright Notice Copyright ã 1999 Moxa Technologies Co., Ltd. All rights reserved. Reproduction in any form without permission is prohibited. Trademarks MOXA is a registered trademark of Moxa Technologies Co., Ltd. All other trademarks or registered marks in this manual belong to their respective manufacturers. Disclaimer Information in this document is subject to change without notice and does not represent a commitment on the part of Moxa. Moxa provides this document “as is”, without warranty of any kind, either expressed or implied, including, but not limited to, the particular purpose. Moxa may make improvements and/or changes in this manual or in the product(s) and/or the program(s) described in this manual at any time. Information provided in this manual is intended to be accurate and reliable. However, Moxa Technologies assumes no responsibility for its use, or for any infringements of rights of the fourth parties which may result from its use. This product could include technical or typographical errors. Changes are periodically made to the information herein; these changes may be incorporated in new editions of the publication.
    [Show full text]