pmos20

所属分类:Windows编程
开发工具:Others
文件大小:651KB
下载次数:5
上传日期:2006-09-24 01:05:43
上 传 者AmineChen
说明:  Welcome to PMOS. PMOS is a set of modules, mostly written in Modula-2, to support multitasking. PMOS was designed primarily with real-time applications in mind. It is not an operating system in the conventional sense rather, it is a collection of modules which you can import into your own programs, and which in particular allow you to write multi-threaded programs.
(Welcome to PMOS. PMOS is a set of modules, mostly written in Modula-2. to support multitasking. PMOS was designed pri marily with real-time applications in mind. It is not an operating system in the conventional's ense rather, it is a collection of modules which you can impor t into your own programs. and which in particular allow you to write multi- threaded programs.)

文件列表:
PMOS20\ACCOUNTS\ACCOUNTS.EXE (134889, 1993-08-11)
PMOS20\ACCOUNTS\CONFIG.ACC (33, 1993-08-03)
PMOS20\ACCOUNTS\DATA\BILLS.LGR (195, 1993-08-03)
PMOS20\ACCOUNTS\DATA\CONVERT.MOD (10491, 1993-04-22)
PMOS20\ACCOUNTS\DATA\DEMO1.LGR (195, 1993-06-10)
PMOS20\ACCOUNTS\DATA\DEMO2.LGR (195, 1993-06-10)
PMOS20\ACCOUNTS\DATA\DIARY (97, 1993-08-10)
PMOS20\ACCOUNTS\MAINMENU.ACC (31, 1993-08-11)
PMOS20\CONTROL\CONTROLD.PR (219, 1993-07-27)
PMOS20\CONTROL\SOURCES\CONTROLD.MOD (20505, 1993-07-12)
PMOS20\CONTROL\SOURCES\FAULTS (270, 1991-09-09)
PMOS20\CONTROL\SOURCES\LOGGER.DEF (750, 1991-03-06)
PMOS20\CONTROL\SOURCES\LOGGER.MOD (14193, 1993-07-13)
PMOS20\CONTROL\SOURCES\TRANSFER.DEF (1442, 1991-02-14)
PMOS20\CONTROL\SOURCES\TRANSFER.MOD (9620, 1993-05-14)
PMOS20\CONTROL\TS.RED (418, 1993-07-27)
PMOS20\DOC\MOUSE.DOC (1268, 1993-03-08)
PMOS20\DOC\STATUS.DOC (3711, 1993-08-10)
PMOS20\DOC\TSFAULTS.DOC (430, 1993-06-14)
PMOS20\LIB\PMOS.LIB (232817, 1993-08-11)
PMOS20\LIB\PMOS.PR (1462, 1993-08-11)
PMOS20\LIB\TS.RED (374, 1993-06-10)
PMOS20\OBJECT\PMOS.PR (1286, 1993-06-08)
PMOS20\OBJECT\TS.RED (361, 1993-06-08)
PMOS20\SOURCES\DEMO\KEYBOARD.MOD (2078, 1990-02-17)
PMOS20\SOURCES\GENERAL\ANALOGUE.DEF (8096, 1991-02-13)
PMOS20\SOURCES\GENERAL\ANALOGUE.MOD (25418, 1993-06-21)
PMOS20\SOURCES\GENERAL\BOUNCE.DEF (843, 1993-02-26)
PMOS20\SOURCES\GENERAL\BOUNCE.MOD (3470, 1993-06-21)
PMOS20\SOURCES\GENERAL\CALCULAT.DEF (717, 1992-12-22)
PMOS20\SOURCES\GENERAL\CALCULAT.MOD (22977, 1993-04-03)
PMOS20\SOURCES\GENERAL\CIRCULAR.DEF (1314, 1993-07-08)
PMOS20\SOURCES\GENERAL\CIRCULAR.MOD (4327, 1993-07-08)
PMOS20\SOURCES\GENERAL\CMOS.DEF (3124, 1992-10-13)
PMOS20\SOURCES\GENERAL\CMOS.MOD (9353, 1993-03-13)
PMOS20\SOURCES\GENERAL\CONVERSI.DEF (3215, 1993-07-21)
PMOS20\SOURCES\GENERAL\CONVERSI.MOD (23704, 1993-07-21)
PMOS20\SOURCES\GENERAL\DEVICES.DEF (7771, 1992-06-16)
... ...

README file for the PMOS multitasking software ============================================== Welcome to PMOS. PMOS is a set of modules, mostly written in Modula-2, to support multitasking. PMOS was designed primarily with real-time applications in mind. It is not an operating system in the conventional sense; rather, it is a collection of modules which you can import into your own programs, and which in particular allow you to write multi-threaded programs. Even if you don't need multi-threaded programs, you might find some of the general-purpose modules useful. Subject to certain conditions which are described below, this software is free. The notes in this file show you how to install PMOS and how to get started. More detailed information may be found in a report called "The PMOS Definition Modules", which can probably be found at the same site where you obtained this software. (If not, contact the author - see contact information below.) The current edition of that report is slightly out of date (a new edition is planned but not yet available), but discrepancies are easily resolved by looking at the definition modules. Since complete source files are included with this distribution, experienced programmers may well find that the additional documentation is redundant. DISCLAIMER Like all free software, this package is supplied "as is", and no warranties are made or implied as to its fitness for any particular purpose. The author does not accept responsibility for any damage, including consequential damage, caused by the use of this software, except to the extent to which this disclaimer may be overridden by law. LICENCE INFORMATION The ACCOUNTS directory of this package contains a shareware product. Licence information for that product is given in a separate README file in the ACCOUNTS directory. You may, if you wish, delete the contents of the ACCOUNTS directory and its subdirectories without affecting the functionality of the PMOS package. All of the remaining components of the PMOS package may freely be used subject to the following conditions. If you do not accept the conditions, do not use the package. Your use of any part of PMOS implies your acceptance of these conditions. 1. Neither PMOS nor any derived product may be sold or distributed for a fee, or used to enhance the value of a product for which a fee is charged. The author is willing to negotiate agreements with individuals or companies for commercial use of PMOS, but in the absence of such an agreement PMOS is for non-profit use only. 2. You may give copies of PMOS to other people, but only if this README file is included. 3. You may modify PMOS, but only if you agree that the altered version continues to be subject to the conditions given here. The name of the original author, and any copyright notices contained in these files, may not be deleted in the course of making such alterations. PREREQUISITES Hardware: IBM-PC compatible computer with 80186 processor or better. The software can be made to run on an 8086 or 8088 processor, but only if you modify the assembly language file INNERKER.A to replace the PUSHA and POPA instructions. Other alterations might be necessary - the software has not been tested on those processors. PMOS contains a number of device drivers which might have to be rewritten to suit your own hardware configuration. The software seems to work on most "standard" configurations, but testing has not been extensive enough to check all possibilities. Operating system: This software has been developed using Microsoft's MS-DOS version 5. Since PMOS "takes over" the machine once a program is running, there are few operating system dependencies; but a small number of DOS calls (mainly during module initialisation) remain. Programs using PMOS will run successfully in an OS/2 DOS session provided that they don't depend too critically on precise timing and that they don't try to violate the OS/2 protection constraints. The PMOS disk drivers won't work under OS/2, but an alternative FileSys module is provided to get around that problem. PMOS has not been tested under Microsoft Windows. Compiler: The software has been compiled and tested with TopSpeed Modula-2. (TopSpeed is a registered trademark of Clarion Software Corporation.) The installation and usage notes in this document assume that you are using the TopSpeed compiler. (Warning: if have the TopSpeed compiler without the TechKit option, you will not be able to modify the assembly language components.) Although reasonable attempts have been made to keep the code portable, you will probably find that you have to do a little editing to make this software compile using other compilers. In particular, the assembly language components will certainly need to be changed. Experienced programmers will find it feasible to port PMOS to work with other compilers; but it's not a job for the inexperienced or faint-hearted. INSTALLATION The installation procedure assumes that you are going to install PMOS in the directory C:\PMOS, and that you are installing from drive A:. If this is not the case, make appropriate modifications to the procedure. (If you're reading this, you've presumably already worked out how to do the unzipping. Check these instructions anyway.) 1. Create a directory C:\PMOS. This should initially be empty, unless you are updating an earlier version of PMOS. 2. Use your favourite unzipping utility to unpack the PMOS20.ZIP file. The file was created with Info-Zip, but up-to-date versions of PKUnzip should also work. Older versions of PKUnzip might not work. At this stage, you have everything you need, but you'll probably want to recompile with different optimization options. This is covered in the following section. REBUILDING THE LIBRARY AND/OR OBJECT MODULES In addition to the source files, you will find several project files (which can be distinguished by a .PR extension), and several redirection files (all called TS.RED). These are for the use of the TopSpeed compiler. If you have some other compiler you can ignore them, and ignore the instructions in the rest of this section. You may wish to tailor the system by changing such details as the optimisation options and the run-time checking. There are two alternative methods for recompiling the entire system: (a) The project file PMOS.PR in the PMOS\OBJECT directory is for rebuilding all of the object files. The object files are left in the same directory. (b) The project file PMOS.PR in the PMOS\LIB directory rebuilds the object files, as above, and also creates a library PMOS.LIB. The library file is left in PMOS\LIB, and the object files are left in PMOS\OBJECT. The fastest way to re-build everything is to go to the PMOS\LIB directory and use the command TSC/M PMOS Whether you use the library or directly use the object files is a matter of personal preference. If you want to use the library, the project file for your own project must contain a line #pragma link(pmos.lib) and in that case you can afford to delete all of the object files from the PMOS\OBJECT directory. Alternatively, you can use the object files directly and delete the entire contents of PMOS\LIB. Whichever method you use, note that: - the "mthread" memory model is the only memory model for which PMOS is known to work. If you use any other memory model, there is a risk of getting non-reentrant library procedures, which can cause multitasking programs to crash mysteriously. - the source files include three assembly language modules. If you don't have the TopSpeed assembler (which is part of the TechKit), you might not be able to get PMOS to work. IF YOU DON'T HAVE THE TOPSPEED COMPILER, OR IF YOU DON'T HAVE THE TOPSPEED TECHKIT ... then you will have to find replacements for the three assembly language modules InnerKernel, LowLevel, and RandCard. You will find more portable (but slightly slower) versions of RandCard and LowLevel in the directory PMOS\SOURCES\SPECIAL. I haven't yet managed to find a way to replace InnerKernel; the solution will almost certainly require some changes to module TaskControl, but it's not yet obvious to me how to do this without any assembly language programming. NOTE: if you replace LOWLEVEL.A by SPECIAL\LOWLEVEL.MOD, make sure that you also replace LOWLEVEL.DEF by SPECIAL\LOWLEVEL.DEF. The "standard" version of LOWLEVEL.DEF makes extensive use of the TopSpeed pragma system, and is nonportable. Because PMOS was developed at a time when a standard for Modula-2 had not yet been adopted, you will probably find that miscellaneous other changes are needed to a variety of modules, because of small differences between different Modula-2 compilers. Most of the changes are likely to be straightforward, but watch out for one problem area: if your compiler does not support the LONGCARD data type (for 32-bit cardinals), you are likely to need major changes to some modules. WHAT'S IN THE DIRECTORIES After you have installed PMOS, you will have the following directories. PMOS This README and some batch files. PMOS\ACCOUNTS A separate package which is described in the README file in that directory. This directory can be deleted if you don't want the separate package. PMOS\CONTROL A project file to build a control systems laboratory program. May need modification to fit your own needs. Can be ignored by most users. PMOS\CONTROL\SOURCES Source files for the control laboratory program. PMOS\DOC Some documentation files. PMOS\LIB This directory is to hold the library file PMOS.LIB. You don't need it if you plan to work directly with object files. PMOS\OBJECT This directory is for the main PMOS object files. It is initially empty. PMOS\SOURCES\GENERAL Most of the PMOS source files. PMOS\SOURCES\SPECIAL Alternative versions for some of the PMOS source files. Useful if you want to port PMOS to another compiler, but can be ignored otherwise. PMOS\SOURCES\TESTS Source files for a few test programs. Not needed, but you might find them useful as programming examples. PMOS\SOURCES\UTIL Source files for some utility programs. PMOS\TESTS Project files for making some test programs. PMOS\UTIL Project files for making some utility programs. Because PMOS is frequently updated, you might find some other subdirectories. Typically these contain things such as temporary files and new modules which are not yet working; I suggest that you ignore them. It is strongly recommended that you not put any of your own files into any of these directories. Mixing up your own work with the PMOS files is potentially very confusing. The preferred method is to make a new top-level directory for your own work, and to create a redirection file TS.RED in that directory to set up the correct path for finding the PMOS components. CONTACT INFORMATION The author of PMOS is Peter Moylan Department of Electrical and Computer Engineering The University of Newcastle, NSW 2308 Australia. Phone: +61 49 21 6023 (time zone GMT+10) Fax: +61 49 60 1712 e-mail: peter@ee.newcastle.edu.au peter@tesla.newcastle.edu.au eepjm@cc.newcastle.edu.au The preferred method of contacting me is via e-mail; this will probably bring a faster response than with paper mail. If you find PMOS useful, please register yourself as a user by sending me a note. (Include both e-mail and postal addresses, especially if you have a hard-to-reach e-mail address.) It won't cost you anything, but it will let me contact you with news of corrections and new versions. If you find any faults in PMOS, or would like to suggest desirable new features, please let me know. I am also interested in hearing about ports of PMOS to other compilers. You have permission to upload the PMOS package to an archive site (subject, of course, to any conditions which might be imposed by the owner of the archive site). Please let me know if you do so, so that I can keep track of where updates should be sent.

近期下载者

相关文件


收藏者