⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 read.me

📁 一个多任务操作系统CTask的源代码 用C语言编写
💻 ME
📖 第 1 页 / 共 2 页
字号:
CTask - A Multitasking Kernel for C.
Version 2.2d, Released 93-06-08.

Public Domain Software written by Thomas Wagner

Internet:    twagner@bix.com
BIX:         twagner
Compuserve:  100023,2042

*** NOTE: ADDRESS CHANGE! ***

Business Address:

        Ferrari electronic GmbH
        Ruhlsdorfer Strasse 138
        D-14513 Teltow
        Germany

        Phone: (49-3328) 474 626
        Fax:   (49-3328) 438 04-0

        BBS:   (49-3328) 438 04-8 (from 8/15/93)
               please don't try to call before 8/15!

Home Address:

        Thomas Wagner
        Patschkauer Weg 31
        D-14195 Berlin
        Germany

This software is in the Public Domain. No registration is required,
and no license fees or royalties must be paid. 

You are using this software at your own risk. There is no warranty on
fitness for any purpose, and the author can not be held liable for
any damages whatsoever.

Re-distribution by any media, disk or BBS, is expressly encouraged.
Please distribute freely, but please leave the archives intact when
re-posting. If there is a technical need to split up the archives,
please include this read.me with all parts, and tell the user where
to find the other parts. 


Versions released so far:
   0.1 (Beta)  88-03-01
   1.1         88-07-01
   1.1a        88-12-29
   1.1b        89-05-30
   2.0 	       89-12-24
   2.1         90-07-23
   2.1a        90-08-13
   2.1b        90-08-14
   2.2         90-10-12
   2.2a        90-11-22
   2.2b        91-05-28
   2.2c        92-09-02
   2.2d (this) 93-06-08
   
If you want to receive future updates, I recommend joining BIX. You
will not only have access to the newest version of CTask, you will
also get direct support from me through E-mail or the CTask support
topic in the ibm.other conference. Please see the manual for
more information on BIX, and for the complete support policy. 

For those without easy access to BIX, there will be a Ferrari BBS in
the near future. Our BBS will provide the same level of support as BIX,
i.e. you will be able to download the most current version, and discuss
CTask in messages and E-mail. The BBS (single line for now) is scheduled
to be operational August 15th, 1993.

Please use either BIX or our BBS whenever possible to obtain new
versions.  Although I've offered to send update disks in the past,
I'd like to reduce disk mailings to an absolute minimum. Mailing
disks free is too costly for us, and payment has proven to be a
problem (caching foreign cheques for small amounts often costs more
in bank fees than the cheque is good for). Also, since new CTask
releases have been sparse, it's frustrating for both me and you when
you send in money, and don't receive anything for a long time.
(Naturally, all those who sent money *will* receive a disk with the
next major release once it's issued.) Our BBS will offer access at
14.400 bps, with V.42bis and MNP5 compression, so even transatlantic
downloads will not cost you an arm and a leg. BIX offers access at
9600 bps direct dial, various speeds through Tymnet, and access
through TELNET over the Internet at very moderate cost.

                ----------------------------

Version 2.2 was released mainly to correct a number of known bugs in
2.1. The fixes a through d correct minor bugs, and adapt to new 
compiler versions. CTask development will continue, but a firm date
for a new major release can not yet be given. The new release will
probably appear late '93, and will address at least one major problem:

Version 2.2 will not work correctly with Windows 3.0 or 3.1 in
enhanced 386 mode if CTask is installed as TSR before starting
Windows. The reason (communication between virtual machines) is
known, but a solution would be rather complex. I will try to solve
this problem in the next release. CTask will work fine with Windows
3.0/3.1 if started in a DOS-window, or if used with the real-mode
version.

                ----------------------------

Version 2.2a fixes three bugs:

  - Timeouts during an event wait caused an incorrect value to be 
    returned (-3 instead of -1).

  - The tsk_install_dos initialization routine clobbered register SI.

  - Linking with shared code caused duplicate entry point errors, because
    some entries were missing in the stub table. Adding the entries to
    the table required changing them from "Localfunc" to "Globalfunc".

Version 2.2b fixes several bugs, including:

 - Register SI was clobbered in tsk_install_dos. This caused the
   speedup parameter in tsk_install_main to cease working when compiled
   with MSC 6.0 /Ox.

 - An incorrect value (-3, TWATCH) was returned for timeouts on event
   waits.

 - The tsk_sprintf and tsk_vsprintf routines did not terminate the
   resulting strings with a zero.

 - If CLOCK_MSEC was enabled, two routines used an incorrect timeout.

 - Function stubs for code sharing were incomplete/incorrect.

 - Turbo C Huge model produced fixup errors due to an incorrect placement
   of an "extern" directive in TSKINT17.ASM.

This release also corrects a problem with Borland C++ 2.0 Huge model.
BC++ uses a slightly different data segment structure, which has to
be accounted for in the Assembler modules. TSK.MAC was changed, and
you have to define BC_HUGE instead of TC_HUGE when compiling for BC++
2.0 Huge model.

Make files for BC++ Huge model are included as a sample. 

Typecasts were added in several modules to allow compilation in C++
"native" mode, which does not support some ANSI C type coercions.

Version 2.2c fixes minor problems:

 - The distributed TSKCONF.H was *not* configured according to the
   defaults. I had tested some features, and then forgot to switch
   back to the default version. The precompiled libraries included
   wouldn't work when linked with a default configuration.

 - If CLOCK_MSEC was enabled, most timeouts were not translated. The
   tsk_timeout translation call was missing from both t_delay and 
   the tsk_wait function.

 - Borlands TASM 3.0 is incompatible with previous versions in some
   areas. The ".BC" make files were changed to include the "M510"
   switch instead of the old "MASM51", and the TSK.MAC file was slightly
   modified to account for the changes.
   
 - Borland C++ 3.1 complains about the duplicate definitions of inportb
   and outportb in TSK.H. Since those definitions were included only to
   account for a problem in Turbo C++ 1.0, which probably no one still
   uses, the definitions were disabled.

Version 2.2d fixes minor problems, and adds more debug support:

 - When spawning, the DOS save area was initialised when the task was first
   scheduled in. This could lead to tasks using incorrect PSPs, depending
   on the order of events. In 2.2d, the save area is initialised on task
   creation.

 - New debug options (in TSKDEB.H) allow tracing DOS calls, either buffered
   or on-line.

 - A new serial option allows task snapshot output through a COM-port. The
   printf routines were expanded to support (polled) COM-port I/O. Simple
   input routines are also provided to aid in debugging:

                        Serial snapshot

   To output a snapshot dump to a COM port, you have to first initialise
   the port somewhere (preferably during program initialisation):

        tsk_cprint_init (int port, int baud)

   The "port" parameter may either be 1..4 to use the "relative"
   COM port number COM1..COM4, or an absolute port address.
   The "baud" parameter may be 24, 96, 192, 384, or 1150.
      Example: 
        tsk_cprint_init (1, 96);

   The snapshot is invoked with 

        comsnapshot ();


   After the port is initialised, you can also get input characters, for
   example to trigger the snapshot dump using the remote terminal. There
   are two routines:

        tsk_cprint_getc ()
           Reads a character from the comm port if one is available.
           The upper byte contains the line status on return, the lower
           byte the received character or 0. The zero flag is set if
           there is no character.

        tsk_cprint_waitc ()
           Waits for and reads a character from the comm port.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -