Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 8 Mar 2016 15:09:30 -0800
From:      John Clark <jeclark2006@aim.com>
To:        Markus Hitter <mah@jump-ing.de>
Cc:        freebsd-embedded@freebsd.org
Subject:   Re: ? about kernel size..
Message-ID:  <938133EE-CCEE-4F08-BB78-8227D9D0C6EC@aim.com>
In-Reply-To: <56DF513E.9000405@jump-ing.de>
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>

next in thread | previous in thread | raw e-mail | index | archive | help
Not to barge in to your discussion=85 but yes there were Unix variants =
that worked on the 286. Xenix was one such OS. Xenix being Microsoft=92s =
idea of avoiding the Unix name=85

Originally Xenix ran on PDP-11, and was ported to other machines that =
have long passed into the oblivion of technological Hell.

As for =91preemetive multitasking=85 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=92s=
 =93Xinu=94 book.

Products with that hack where produced for about 8 years=85 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=85 just lends itself to crapping out on the least =
provocation=85

What an MMU provides is hardware =91address translation=92 such that the =
application can run in an =91virtual absolute=92 addressing space,
have memory protection such that errant code can=92t clobber other tasks =
or the kernel, and also given appropriate devices,
have =91swapping=92 for larger than real memory applications.

The 286 =91segment=92 registers gave a bit of =91translation=92 =
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=85 such as image processing=85 =
which happened to be the application of my work at the time=85

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?
>=20
> 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.
>=20
>=20
> In 2008 I tried to get FreeBSD down to its minimum, too. The success
> post is about all what's left today:
>=20
> =
https://lists.freebsd.org/pipermail/freebsd-embedded/2008-October/000604.h=
tml
>=20
> 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.
>=20
>=20
> Markus
>=20
> --=20
> - - - - - - - - - - - - - - - - - - -
> Dipl. Ing. (FH) Markus Hitter
> http://www.jump-ing.de/
> _______________________________________________
> freebsd-embedded@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-embedded
> To unsubscribe, send any mail to =
"freebsd-embedded-unsubscribe@freebsd.org"




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?938133EE-CCEE-4F08-BB78-8227D9D0C6EC>