<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Mon, 06 Dec 1982 01:18:40 PST
From   : Lauren Weinstein <vortex!lauren@Lbl-Unix>
Subject: MARC's size

Lessee.  Currently, the non-overlayable portion of the kernel
is around 14.5K bytes.  On my system here, which has a monstrous
hard disk/floppy disk BIOS, I usually have around 46K free for user
programs.  I have found this to be large enough for all my work, including
compiling and running my UUCP and mailsystem code.  Oh yes, I lose another
couple of K in my system due to reserved space for the MARC BYE program
which supports dialup access to UUCP and the like, so 48K is probably
a more realistic figure for my big BIOS when *not* running in dialup
mode.  The CP/M emulator is around 2K bytes, but it only loads when
you need it (when you try to run a program which has the CP/M "tag"
bit set [the same bit used as the "sticky" bit under UNIX]).

Note that user programs under MARC tend to be smaller than under CP/M, since
much terminal and disk I/O code that is duplicated in almost every CP/M
program is unnecessary under MARC, since the MARC kernel provides much
more advanced facilities in those areas than does CP/M.

The kernel is written in 8080 assembler.  Investigation showed a trivial
size decrease for conversion to Z80 code, and would have locked out the
people with fast 8085's, so conversion was not attempted.  Utility
programs are a mixed bag.  Some of them are in assembler and some 
(particularly the more recent/complex ones) are in BDS C.

I can only say that during all the work I do here at vortex, I haven't
found the amount of free memory to be a problem.  I'm looking into the
issues of putting the kernel in a separate bank of memory, but this
will clearly not happen until after the basic MARC is out and I have some
reason to believe it will be accepted in the marketplace.

--Lauren--
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>