Date: Tue, 24 Nov 1998 21:03:36 +0000 From: "Paolo Di Francesco" <paipai@tin.it> To: jbg@masterplan.org (Jason George) Cc: freebsd-sparc@FreeBSD.ORG Subject: Re: [Code writers ONLY] Developer Kit Message-ID: <19981124200123.LSAL22050.fep03-svc@winworkstation> In-Reply-To: <199811241648.JAA01185@gongshow.masterplan.org>
next in thread | previous in thread | raw e-mail | index | archive | help
>
> Huh? Mainly using assembly code? Since when? Citing pages 22 and
> 23 of "The Design and Implementation of the 4.4BSD Operating System" by
> McKusick and others,
>
> "The software that is machine dependent includes
>
> o Low-level system-startup actions
>
> o Trap and fault handling
>
> o Low-level manipulation of the run-time context of a process
>
> o Configuration and initialization of hardware devices
>
> o Run-time support for I/O devices
>
> ..
>
I have this book too... It's the "red book" as I call it 8)
I expressed myself not very well...
What we are doind here is the BSD kernel, but I was talking of "another type of
kernel". NOW, we have to experiment with boot process, and this means write
many asm line which ARE NOT BSD kernel (maybe they will in the future...).
So what I wanted to say it's if you put this lines of code together, then some
C lines (which are not necessary for this experiment) you have something
similar to our BSD kernel from the booting point of view.
This is not a typical app, but something new, more similar to a kernel (from
that point of view) because you don't execute this app as usual, writing its
name or clicking on it under your preferred OperatingSystem because, there's no
Operating System... 8)
Hope this clarify... ;)
> Virtually all the software in the kernel is written in the C programming
> language; less than 2 percent is written in assembly language... [T]he
> machine-dependent software, excluding HP/UX and device support, accounts
> for a minuscule 6.9 percent of the kernel."
>
Yes, I read those statistics...
> Now McKusick was referring to the HP300 port, and the exact percentages
> will be different within this context, but the relative proportions
> should remain fairly consistent given any other port.
>
This depends on the implementation. But I think we will be below the
10%...maybe below 5%
> All you need assembly for is to setup the manipulation of the 5 points
> listed above.
Teorically, yes. For a minimal working kernel, yes. We can do a second step
kernel in September 13th 1999 (when the Alpha station on the moon will be
isolated from Earth... someone remembers?) doing some nice tricks with assebly
code.
>The assembly code is then wrapped in a C wrapper, and you
> then forget about the assembly code. That's the design abstraction that
> allows pretty much anything to be ported with the least amount of
> effort.
>
Yes, I know. Good thing abstraction. 8)
> I'm not trying to trivialize the low-level work to be done here.
> Effective and efficient assembly is non-trivial to code, but we're not
> writing some high-speed microkernel or executive here. We're writing,
> heck, largely only _recoding_, an architecture for a different
> implementation.
>
Can I repeat: I was NOT talking of our BSD kernel, but "something it's not an
app and which is more similar to a kernel from our point of view"
Thanks, for you patience. ^___^
P.S. This message is sent to FreeBSD-Sparc.
Ciao Ciao
Paolo Di Francesco
_
->B<- All Recycled Bytes Message ...
~
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-sparc" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19981124200123.LSAL22050.fep03-svc>
