The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: peter.jeremy@alcatel.com.au (Peter Jeremy)
Subject: [TUHS] Redoing "V6on286" or porting V7...?
Date: Mon, 14 Nov 2005 07:16:09 +1100	[thread overview]
Message-ID: <20051113201609.GW6574@gsmx07.alcatel.com.au> (raw)
In-Reply-To: <e82a1c07e297628c639705226ded3f56@coraid.com>


I've also looked at this in the past.  I lost interest when my
intended target box died (and I realised I didn't have the free time).

On 2005-Nov-12 08:18:50 -0500, Brantley Coile <brantley at coraid.com> wrote:
>i may be wrong, but i don't think you want the segments.  pdp-11
>segments divided the address space into eight, well, segments.  each
>could be grow up or grow down and had a physical base and a limit.
>intel segments don't work that way.  the major difference is that the
>segment selector, instead of being the upper most three bits of the
>virtual address, is not even in the address space at all.

Actually the 286 MMU is very primitive compared to the PDP-11.  One
crucial difference is that Unix has the implicit assumption that the
stack is in the data space - which is not true on the 286.  This
difference is fairly critical to Unix and makes it impossible to
accurately reproduce the traditional Unix memory protection.

>so the eight, for a pdp-11/40 say, or the sixteen for the 11/70 don't
>really apply.  instead just give each data segment the whole 64k
>address space and it'll not klobber anybody else.  just itself.

This is fairly wasteful of RAM.  Keep in mind that V6 cannot page -
a process is either entirely in memory or entirely on disk.  If you
limit yourself to 640K RAM, you are probably restricting yourself
to about 6 resident processes.  And swapping means moving 64K of
data to/from disk.

This approach also makes brk(2) a no-op.  There's nothing to prevent a
process using as much heap as it wants (or crashing into the stack).
(No SIGSEGV or SIGBUS errors).

>you're correct to imply that v6 takes up MUCH less space than other
>systems.  it's amazing how small you can run this.  the root in the
>6th edition system is only 1.4MB.  and that includes the normal
>binaries, libraries and the source to the kernel.  it'll run great on
>a floopy.

You will need to have a swap partition.  And if each process has a
64K data segment, you'll need a comparatively large amount of swap.
The biggest disadvantage of a floppy will be performance - latency
of about 80msec, I/O of about 40KB/sec.

Have you identified a suitable C compiler?  There aren't many open
source 16-bit x86 compilers, especially ones that can run in 16-bit
mode.  None of the ones I found generated particularly good code.
This may impact you ability to get the larger utilities (and maybe
the kernel) to fit into 64K I-space.

-- 
Peter Jeremy

This email may contain privileged/confidential information. You may not copy or disclose this email to anyone without the written permission of the sender.  If you have received this email in error please kindly delete this message and notify the sender.  Opinions expressed in this email are those of the sender and not necessarily the opinions of the employer. 

This email and any attached files should be scanned to detect viruses.  No liability will be accepted by the employer for loss or damage (whether caused by negligence or not) as a result of email transmission.



  reply	other threads:[~2005-11-13 20:16 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-09 17:26 Lyrical Nanoha
2005-11-09 21:54 ` M. Warner Losh
2005-11-09 22:03 ` Brantley Coile
2005-11-12  6:13   ` Albert Cahalan
2005-11-12 13:18     ` Brantley Coile
2005-11-13 20:16       ` Peter Jeremy [this message]
2005-11-14  9:38         ` Wesley Parish
2005-11-14 15:45         ` Brantley Coile
     [not found]         ` <8a61b612cf43394f33e6531339fe4263@coraid.com>
2005-11-14 19:49           ` Peter Jeremy
2005-11-14 20:31             ` Brantley Coile
2005-11-16 21:41             ` Lyrical Nanoha
     [not found]               ` <17277.62390.986234.433543@hod.localdomain>
2005-11-18 17:59                 ` Lyrical Nanoha
2005-11-19  4:17                   ` Brantley Coile
2005-11-15  3:08         ` Greg Haerr
2005-11-15  3:40           ` Peter Jeremy
2005-11-15 13:30             ` Brantley Coile
2005-11-14 21:34 Norman Wilson
2005-11-14 22:59 ` Brantley Coile

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20051113201609.GW6574@gsmx07.alcatel.com.au \
    --to=peter.jeremy@alcatel.com.au \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).