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.
近期下载者:
相关文件:
收藏者: