[comp.unix.internals] UNIX KERNEL SOURCE CODE ??

slfrr@cc.usu.edu (12/23/90)

Hi,
	Can anybody tell me where I can get a copy of  the UNIX Kernel Source Code ?
I know that it is copyrighted, but can I get a "student copy" for a nominal
price ?  It is purely for educational purposes.  

Thanks in anticipation.

My email address :  nani@biocat.chem.usu.edu
                 :  nani@multi.ee.usu.edu   

bzs@world.std.com (Barry Shein) (12/25/90)

>	Can anybody tell me where I can get a copy of the UNIX Kernel
>Source Code ?  I know that it is copyrighted, but can I get a "student
>copy" for a nominal price ?  It is purely for educational purposes.

Please post the code to the list!



Seriously, you need a license executed by your institution for a copy
of real (tm) Unix. Someone from your organization calls AT&T (USL?)
and gets forms to fill out and pays a fee. Tapes will follow after
your organization's lawyers express their nervousness over it all.

You should ask around, there's a good chance your organization owns
one of these licenses.

For Berkeley code you then contact UCB/CSRG for another license, with
your AT&T license (with another fee, tho much smaller), and they'll
send you their version.

For your vendors you'll have to contact them, but the AT&T license is
still a pre-requisite (but check to make sure your vendor will even
sell you the code, you'll need a copy from them if you really want to
modify and run it, not all vendors will part with their code I assume,
tho many will.)

There's also free or almost free Unix-like kernels available. Minix is
a Unix-clone which is available (Prentice-Hall?) for a small fee. And
it can be shared among students somewhat last I looked.

Much of the BSD ATT-free kernel code is becoming available for FTP
from various archives. There seems to be enough there already to get a
good understanding of how the (a) kernel works.

There are certainly others which other people will mention.
-- 
        -Barry Shein

Software Tool & Die    | {xylogics,uunet}!world!bzs | bzs@world.std.com
Purveyors to the Trade | Voice: 617-739-0202        | Login: 617-739-WRLD

bc@uxa.cso.uiuc.edu (Ben Cox) (01/03/91)

bzs@world.std.com (Barry Shein) writes:

>For your vendors you'll have to contact them, but the AT&T license is
>still a pre-requisite (but check to make sure your vendor will even
>sell you the code, you'll need a copy from them if you really want to
>modify and run it, not all vendors will part with their code I assume,
>tho many will.)

SCO one told me on the phone (when I was contemplating SCO Unix/386) that they
would not sell their source, but that if they did, they'd charge around
$125,000.00 for it.

>There's also free or almost free Unix-like kernels available. Minix is
>a Unix-clone which is available (Prentice-Hall?) for a small fee. And
>it can be shared among students somewhat last I looked.

Minix is terrific.  It goes for around $80, not including the book (whose exact
title I forget) which is available separately for around $50.  Check the group
comp.os.minix for details -- there is a monthly post which gives the details.
Minix is a very good way to learn the basics about how the kernel works,
although it's not *really* the same.

--
-- Ben Cox
bc@uxa.cso.uiuc.edu

ti@altos86.Altos.COM (Ti Kan) (01/04/91)

In article <1991Jan3.112435.5509@ux1.cso.uiuc.edu> bc@uxa.cso.uiuc.edu (Ben Cox) writes:
>Minix is terrific.  It goes for around $80, not including the book (whose exact
>title I forget) which is available separately for around $50.  Check the group
>comp.os.minix for details -- there is a monthly post which gives the details.
>Minix is a very good way to learn the basics about how the kernel works,
>although it's not *really* the same.

Minix is not at all like real UNIX.  The design and source is _completely_
different.  Minix supports no virtual memory, and many customary UNIX
kernel functionality (such as the filesystem and process scheduling) are
implemented as user processes that communicate with the kernel via a
special message scheme.  Minix is useful for a student learning about
a possible way to approach operating system design, but it is _not_ useful
as a tool to learn about the internals of real UNIX (whichever flavor of
UNIX you prefer, be it System V, BSD, Xenix, or whatever) because of
the drastic differences, and it is certainly _not_ a useful OS to do real
work on due to its limitations.

-Ti
-- 
Ti Kan | vorsprung durch technik!                                       \\\
Internet: ti@altos.com                                                   \\\
UUCP: ...!{sun|sco|pyramid|amdahl|uunet}!altos!ti                     /// \\\
The opinions herein are not necessarily those of Altos.              ////////\

ghelmer@dsuvax.uucp (Guy Helmer) (01/05/91)

In <4526@altos86.Altos.COM> ti@altos86.Altos.COM (Ti Kan) writes:

>In article <1991Jan3.112435.5509@ux1.cso.uiuc.edu> bc@uxa.cso.uiuc.edu (Ben Cox) writes:
>>Minix is terrific.  [...]

>Minix is not at all like real UNIX.  The design and source is _completely_
>different.

What is real UNIX anymore?  Is it USL's UNIX?  BSD 4.3?  Mach with BSD
functionality?  SUN OS?  OSF/1?  XENIX?  BSD 4.4?
Each one is completely different from any other from the perspective
of the kernel programmer.

>            Minix supports no virtual memory, and many customary UNIX
>kernel functionality (such as the filesystem and process scheduling) are
>implemented as user processes that communicate with the kernel via a
>special message scheme.

I don't know that AT&T UNIX uses virtual memory that well; I seem
to recall that VM was kind of hacked in.  People are working
on adding VM to MINIX in some neat ways, but no one has posted
their code to the net yet.  The non-monlithic structure of MINIX
makes it easier to port to other machines than any other UNIX
kernel that originated from an AT&T source release.

As for message passing: I wonder what Mach does? :-)

>                         Minix is useful for a student learning about
>a possible way to approach operating system design, but it is _not_ useful
>as a tool to learn about the internals of real UNIX (whichever flavor of
>UNIX you prefer, be it System V, BSD, Xenix, or whatever) because of
>the drastic differences, and it is certainly _not_ a useful OS to do real
>work on due to its limitations.

Sure, it's limited the way UNIX Version 7 was limited (on PC's with 8086
or 80286 processors)---64K I&D.  The 80386 version of MINIX isn't
a production version yet, but it offers access to the full memory space
with 32 bit pointers, and GCC even runs on it.  Versions of MINIX for several
68000 processors exist, as well as one Sparc implementation.

MINIX is only four years old, but has gone through versions 1.1-1.2-1.3-1.5
with a 1.6 in beta and 2.0 being worked on.  Each version has contained
a huge increase in functionality, and 2.0 will conform to the POSIX spec.

At $179 per copy for MINIX (including full source & documentation),
it's quite a steal compared to the thousands of dollars per license
required for an AT&T source license for a university, or the 
hundreds of thousands for a company.  The binary license for AT&T SVR3
per copy costs probably almost as much as MINIX.

My point is that AT&T UNIX System V Release 4 isn't the
only UNIX kernel around, and in the future the major design differences
between kernels will become even less important than they are now.

As for MINIX being great or poor, it depends on what you want out of
it.  I say it is great, but that's because it gives me a UNIX base
that I can hack on and port stuff to.

>-Ti
>-- 
>Ti Kan | vorsprung durch technik!                                       \\\
>Internet: ti@altos.com                                                   \\\
>UUCP: ...!{sun|sco|pyramid|amdahl|uunet}!altos!ti                     /// \\\
>The opinions herein are not necessarily those of Altos.              ////////\
-- 
Guy Helmer                           helmer@sdnet.bitnet, uunet!dsuvax!ghelmer
work: DSU Computing Services, Business & Education Institute    (605) 256-5315
play: MidIX System Support Services                             (605) 256-2788
postnews: message content ambiguous; spurious information added as required

alan@frey.nu.oz.au (Alan Hargreaves) (01/05/91)

ghelmer@dsuvax.uucp (Guy Helmer) writes about minix:

>Sure, it's limited the way UNIX Version 7 was limited (on PC's with 8086
>or 80286 processors)---64K I&D.

hmmm, this needs some qualification. Perhaps you meant V7 on PDP 11's?
I have a V7 system at this site (about to be retired) on a Perkin Elmer
(now Concurrent) 3220. It runs stuff far bigger than 64k I&D.

ls -s provides the following (blocksize == 1024):

158 rn
149 kermit
129 vi

size gives (text+data+bss = image size (dec) = image size (hex)):

rn: 111644+24032+30116 = 165792 = 287A0
vi: 125184+6856+14452 = 146492 = 23C3C
kermit: 89856+38780+11132 = 139768 = 221F8

As an aside, I believe that the code running on this machine is VERY
close to the original non-DEC port of UNIX by the wollongong group
when it was still in wollongong and the licensing was done by
western electric.

There are many who will argue that V7 was the last REAL UNIX.
There are also others who will argue that it was V6.

alan.
-- 
Alan Hargreaves (VK2MGL) alan@frey.newcastle.edu.au, Uni of Newcastle, UCS.
Ph: +61 49 215 512 Fax: +61 49 602 118 ICBM: 32 53 44.6 S / 151 41 52.6 E
Yes one usually thinks to oneself. If one thinks to others, it is called ESP.
							Me.

jfh@rpp386.cactus.org (John F Haugh II) (01/05/91)

In article <1991Jan4.164110.24105@dsuvax.uucp> ghelmer@dsuvax.uucp (Guy Helmer) writes:
>What is real UNIX anymore?  Is it USL's UNIX?  BSD 4.3?  Mach with BSD
>functionality?  SUN OS?  OSF/1?  XENIX?  BSD 4.4?
>Each one is completely different from any other from the perspective
>of the kernel programmer.

There isn't a single "real UNIX", but the collection of "real UNIX"
implementations is a pretty small set.  I'd say BSD 4.3 and SVR[34]
is probably large enough.  However, my experience has been that any
knowlege of UNIX-like internals is better than none and MINIX sure
does count as UNIX-like.

Then entire realm of O/S internals is so unlike normal applications
level programming.  I could tell horror stories of the first college
O/S project I was part of, but suspect many of you have similiar
ones.  They usually start with "but isn't that in the library?" or
"but doesn't the compiler save those registers?"  Learning MINIX or
even 6th Edition UNIX would be very beneficial for someone considering
a career as a UNIX kernel programmer.
-- 
John F. Haugh II                             UUCP: ...!cs.utexas.edu!rpp386!jfh
Ma Bell: (512) 832-8832                           Domain: jfh@rpp386.cactus.org
"While you are here, your wives and girlfriends are dating handsome American
 movie and TV stars. Stars like Tom Selleck, Bruce Willis, and Bart Simpson."