Skip to main content

Eine Modulverwaltung für MuPAD

  • Chapter
Dynamische Module

Part of the book series: MuPAD Reports ((MPREP))

  • 29 Accesses

Zusammenfassung

In diesem Kapitel wird die Implementation des Modul-Konzeptes für MuPAD Release 1.2.2 vorgestellt und dabei insbesondere auf die technischen Verfahren zum dynamischen Einbinden des Maschinencodes eingegangen. Ein vollständiges Beispiel zur Modul-Programmierung in MuPAD 1.2.2 wird in Abschnitt 4.5 gegeben. Am Ende des Kapitels werden mögliche Änderungen und Erweiterungen der Modulverwaltung in folgenden MuPAD Releases sowie bei Verwendung von C++ vorgestellt.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 49.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 44.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Literatur

  1. Aug. 1996: Sequent Symmetry, Sparc-Workstations, Silicon Graphics Convex/HP.

    Google Scholar 

  2. Diese wird ausführlich in der Arbeit [Mammut] beschrieben. 83 Anmerkung: Ein multi threaded kernel ist derzeit nicht konkret geplant. 84 Zum Beispiel die Handhabung ausführbarer Objekte, Funktionsattribute, remember table, die Darstellung unevaluierter Funktionsaufrufe, ... Vgl. hierzu [MuPAD]. 85 Vgl. hierzu [MuPAD], Abschnitt 2.3.16 Functions Environments, Seite 52.

    Google Scholar 

  3. Die Funktionsattribute werden zum Beispiel vom Differenzierer und Simplifier genutzt. Vgl. hierzu [MuPAD], Abschnitt 2.3.16.1 Attributes of Function Environments, Seite 53. 87 Vgl. hierzu [MuPAD], Abschnitt 2.3.17 Directly Executable Objects, Seite 55.

    Google Scholar 

  4. Benutzungsschnittstelle der Modulverwaltung, Vgl. hierzu Abschnitt A.2.2.

    Google Scholar 

  5. Das Standard-Modul stdmod wird in Anhang A.2.3 beschrieben. 93 Vgl. hierzu auch Seite 18 zum Stich wort „Verdrängung“. 94 Beispiele: module::help(“module”); module::help(“help”, “module”); 95 Vgl. hierzu Abschnitt 3.1.3. 96 Vgl. hierzu Seite 18: „Verdrängung“ und Seite 29: „call“.

    Google Scholar 

  6. Die Funktion call wird auf Seite 29 beschrieben. 98 Diese werden in Abschnitt 2.2.3 auf Seite 19f eingeführt.

    Google Scholar 

  7. Die Funktion init.generics wird auf Seite 34 beschrieben. 100 Pool der CAS-Objekte. Die Kerne eines Clusters haben getrennten Programmcode.

    Google Scholar 

  8. Ein Beispiel zur Funktion initmod wird im Anhang A.1.2 vorgestellt. 102 Vgl. hierzu Abschnitt 4.1 Seite 62ff.

    Google Scholar 

  9. Typischerweise weniger als 10 Module bzw. 10 Modulfunktionen. 104 Vgl. hierzu die Leistungsbewertung in Abschnitt 4.6 Seite 71ff.

    Google Scholar 

  10. Um die Übersicht zu erhöhen und die Wartung damit zu vereinfachen, enthält die Symboltabelle Lücken (NULL-Einträge). Sie kann damit nur als eine partielle injektive Abbildung verstanden werden. Vgl. hierzu auch symb_tab Seite 35.

    Google Scholar 

  11. Hierzu muß der MuPAD-Kern derzeit mit der Option -DMDMDEBUG übersetzt werden. 107 Eine mögliche Lösung dieses Problems wird in Abschnitt 3.3 Seite 60f diskutiert.

    Google Scholar 

  12. Stand Nov. 1995: Betroffene sind PC/Windows 3.11 und Apple Macintosh System 7.x. 109 Vgl. hierzu die Online-Manuals: man 1d und man 1d.so. 110 Vgl. hierzu das Online-Manual: man dlopen.

    Google Scholar 

  13. Unter SunOS 4.0.3 – 4.1.1 können shared libraries aufgrund eines Betriebssystemfehlers nicht korrekt ausladen. Vgl. SunSolve (Bugs, Patches) zum Stichwort „ld“. Hier wird der Kern mit der Option NOMDM_UNLOAD übersetzt. Vgl. hierzu Seite 50.

    Google Scholar 

  14. Unter der Betriebssystem-Version IRIX-4.X wird das shared library-Konzept leider noch nicht angeboten. Hier können durch MuPAD nur Pseudomodule unterstützt werden.

    Google Scholar 

  15. Vgl. hierzu das Online-Manual: man load.

    Google Scholar 

  16. Unter älteren Betriebssystemversionen mit dem a.out Binary-Format wird das shared library-Konzept in dieser Form leider noch nicht unterstützt. Hier kann jedoch das dld-Paket eingesetzt werden. Es ist frei verfügbar unter tsx-ll.mit.edu:/pub/linux/sources/libs/ Dort sind weitere Informationen und eine genaue Beschreibung der Funktionalität zu finden.

    Google Scholar 

  17. Stand: Dez. 1995, Apple 68k-Macintosh. 116 Vgl. hierzu Abschnitt 4.2 Seite 64ff. 117 Stand: MuPAD Release 1.2.9, Mai 1996

    Google Scholar 

  18. Vgl. hierzu Seite 52.

    Google Scholar 

  19. Vgl. hierzu Abschnitt 2.3.5, insbesondere Abbildung 5 auf Seite 38.

    Google Scholar 

  20. Diese werden in Abschnitt 2.2.2, Seite 18 vorgestellt.

    Google Scholar 

  21. Vgl. hierzu die Funktion info Seite 45 und 70.

    Google Scholar 

  22. Eine mögliche Realisierung der Interface-Ebene in C++ wird in Abschnitt 3.3 diskutiert.

    Google Scholar 

  23. Mit der Erweiterung der Kern-/Modul-Programmierschnittstelle für das MuPAD Release 1.3 werden weitere Makros zur Definition von Modulfunktionen zur Verfügung gestellt. 124Vgl. hierzu Abschnitt 4.3.

    Google Scholar 

  24. Vgl. hierzu Eine Speicherverwaltung in C++, MuPAD, Holger Naundorf, März ’94.

    Google Scholar 

  25. Der MuPAD-Kern und seine Speicherverwaltung sind in ANSI-C implementiert. Zum Einbinden von C++ Modulen muß der Modulgenerator eine (kleine) Erweiterung erfahren, da ANSI-C und C++ Unterschiede im Format ihres Linkage (insbesondere der Symboltabelle) aufweisen. Vgl. hierzu auch [C++] Seite 132 und 577ff.

    Google Scholar 

  26. Vgl. hierzu auch [C++] Seite 124, 167 und 602. 128 Vgl. hierzu Abschnitt 4.4.

    Google Scholar 

  27. Die Symboltabelle symb_tab wird auf Seite 35 beschrieben.

    Google Scholar 

  28. Dies kann zudem anderen Mechanismen dienen, z.B.: Spezielle Deklaration von globalen Variablen im Falle eines multi threacted Kerns, Markieren von Systemfunktionen für den CAS-Interpreter, Markieren globaler shared memory Variablen für den Garbage Collector, ...

    Google Scholar 

  29. Stand: Herbst 1995, MuPAD Release 1.2.2.

    Google Scholar 

  30. Vgl. hierzu auch Seite 59.

    Google Scholar 

  31. Vgl. hierzu auch das UNIX manual nm(1).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer Fachmedien Wiesbaden

About this chapter

Cite this chapter

Sorgatz, A. (1996). Eine Modulverwaltung für MuPAD. In: Dynamische Module. MuPAD Reports. Vieweg+Teubner Verlag, Wiesbaden. https://doi.org/10.1007/978-3-322-93082-8_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-322-93082-8_3

  • Publisher Name: Vieweg+Teubner Verlag, Wiesbaden

  • Print ISBN: 978-3-519-02195-7

  • Online ISBN: 978-3-322-93082-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics