Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 08 Mar 2016 16:14:49 -0700
From:      Ian Lepore <ian@freebsd.org>
To:        John Clark <jeclark2006@aim.com>, Markus Hitter <mah@jump-ing.de>
Cc:        freebsd-embedded@freebsd.org
Subject:   Re: ? about kernel size..
Message-ID:  <1457478889.1406.50.camel@freebsd.org>
In-Reply-To: <938133EE-CCEE-4F08-BB78-8227D9D0C6EC@aim.com>
References:  <CAPKZHbVyPji-bZwDzM77TN6qybjRcf%2BZe5r6WZmbG98LkhT-rg@mail.gmail.com> <CANCZdfriqr24Lh9ZuptaC0gEm6gAV6LN9XHcVAJtbyaBejEgNg@mail.gmail.com> <CAPKZHbW%2BG7WnSU__yeYBVPqs8MPmFm-5q_wM4sm9FxHhEEgPDg@mail.gmail.com> <1457473674.1406.46.camel@freebsd.org> <CAPKZHbX8BXKC_=8PPvtasqE%2BRj96_mPQkqdRt=hqU6fazxpPfA@mail.gmail.com> <56DF513E.9000405@jump-ing.de> <938133EE-CCEE-4F08-BB78-8227D9D0C6EC@aim.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Jeez, really?  This thread is going to be hijacked to discuss the
theoretical possiblity of running on 40 year old hardware?

Unbelievable.

-- Ian

On Tue, 2016-03-08 at 15:09 -0800, John Clark via freebsd-embedded
wrote:
> Not to barge in to your discussion… but yes there were Unix variants
> that worked on the 286. Xenix was one such OS. Xenix being
> Microsoft’s idea of avoiding the Unix name…
> 
> Originally Xenix ran on PDP-11, and was ported to other machines that
> have long passed into the oblivion of technological Hell.
> 
> As for ‘preemetive multitasking… of course one can run a preemptive
> scheduler on almost any CPU that has a clock interrupt.
> 
> I wrote one for the 286 based on the kernel described in Douglas
> Comer’s “Xinu” book.
> 
> Products with that hack where produced for about 8 years… in the
> early-mid-80s. I wrote it such that it would run in a DOS box and
> allow for machine control of various robotic systems for industrial
> inspection machines.
> 
> In any case one can develop a multitasking kernel to run in a non-MMU
> based system… just lends itself to crapping out on the least
> provocation…
> 
> What an MMU provides is hardware ‘address translation’ such that the
> application can run in an ‘virtual absolute’ addressing space,
> have memory protection such that errant code can’t clobber other
> tasks or the kernel, and also given appropriate devices,
> have ‘swapping’ for larger than real memory applications.
> 
> The 286 ‘segment’ registers gave a bit of ‘translation’ capability in
> that one could address relative to the segment registers, and so,
> code and data could be place in available member and context switched
> would update the segment registers.
> 
> The segment registers were a crappy way of accessing memory if one
> had long linear arrays of data to process… such as image processing…
> which happened to be the application of my work at the time…
> 
> And one could always implement an external MMU which was popular with
> the Motorola M68K which was sort of the contemporary alternative to
> the Intel x86 line.
> 
> John Clark.
> 
> On Mar 8, 2016, at 2:25 PM, Markus Hitter <mah@jump-ing.de> wrote:
> 
> > Am 08.03.2016 um 22:56 schrieb Brad Walker:
> > > But, are you saying that no engineering has been done on this yet
> > > OR no
> > > amount of engineering could make it work?
> > 
> > If I recall correctly from some 25 years ago, memory address
> > mapping
> > (which is what a MMU does) is mandatory for preemtive multitasking.
> > An
> > i286 can't run a Unix-like OS either.
> > 
> > 
> > In 2008 I tried to get FreeBSD down to its minimum, too. The
> > success
> > post is about all what's left today:
> > 
> > https://lists.freebsd.org/pipermail/freebsd-embedded/2008-October/0
> > 00604.html
> > 
> > The task to get there is simple and straightforward, but time
> > consuming:
> > go step by step through the kernel configuration to disable
> > whatever you
> > can spare. Configure, build, try, repeat. If you need a small
> > entire
> > system, do the same for packages and every single file you copy
> > into
> > your system image.
> > 
> > 
> > Markus
> > 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1457478889.1406.50.camel>