Linux/Alpha Progress Report (1 of 2)
Jerry Feldman, ZKO3-3/Y25, DTN:381-2970
gaf at zk3.dec.com
Mon Nov 14 17:12:10 EST 1994
Linux/Alpha Progress Report
Part 1 - Overview
November 14, 1994
Jim Paradis
Alpha Migration Tools Group
Digital Equipment Corporation
NEW EMAIL ADDRESS: paradis at amt.tay1.dec.com
1.0 INTRODUCTION - WHAT IS LINUX/ALPHA?
The Linux FAQ (Frequently-Asked-Questions) list describes Linux as
follows:
Linux is a Unix clone for 386/486-based PCs, written from scratch
by Linus Torvalds, with assistance from a loosely-knit team of
hackers across the Net. It aims towards POSIX compliance.
It has all the features you would expect in a modern
fully-fledged Unix, including true multitasking, virtual memory,
shared libraries, demand loading, shared copy-on-write
executables, proper memory management and TCP/IP networking.
It uses the hardware features of the 386 processor family (TSS
segments et al) to implement these features.
It is distributed under the GNU General Public License
Although the distributed Linux kernel depends heavily on the x86
processor architecture, it is feasible to port it to other
architectures. Indeed, ports are currently in progress to the Alpha,
680x0, PowerPC, MIPS, and possibly other architectures.
Linux/Alpha is my port of the Linux operating system to the Digital
Alpha architecture.
2.0 OVERVIEW OF LINUX/ALPHA
Linux/Alpha is a port of Linux to the Digital Alpha RISC
microprocessor. It is based on the Linux V1.0 kernel. Linux V1.0 was
current when I started the project. To limit the number of variables,
I decided to stick with a single version while developing the
Alpha-specific pieces. Although the Linux V1.0 kernel provides more
than enough functionality for our current needs, we might investigate
subsequently leapfrogging to the most-current stable kernel when
Linux/Alpha is stable.
Linux/Alpha is a 32-bit operating system. Except for those cases where
the kernel must interface with the Alpha hardware, no kernel data
type is wider than 32 bits. As far as C programmers are concerned
pointers and longs are 32 bits. The decision to remain with 32-bit
data types was based on our group's experience with migrating legacy
software to a 64-bit environment. By not changing the size of any
data types, those parts of Linux that are unaffected by the port (such
Linux/Alpha Progress Report Page 2
as the file system code) should continue to work without modification.
Changing the data type size would require significant code review to
ensure that all data types are used correctly. Note that 64-bit
quantities are still available for computation through the use of
"long long" and "long double" C data types. Thus, the only limitation
of a 32-bit operating system is the unavailability of 64-bit pointers.
On PC-class machines, with at most a few tens of megabytes of physical
memory, this should not be a significant restriction for the
forseeable future.
Linux/Alpha is primarily aimed at PC-class Alpha platforms that
support ISA, VLB, and PCI devices. Support for other devices
and platforms is possible in the future. Contribution of drivers for
other platforms is always welcome.
+-------------------------------------------------------------+
Jerry Feldman Unix Systems - Development Engineering
Mailstop: ZKO3-3/Y25 DTN:381-2970
Digital Equipment Corp. EXT:(603)881-2970
110 Spitbrook Rd. ip(DEC): gaf at zk3.dec.com
Nashua, NH 03062-9987 enet: QUARRY::GAF
Internet(HOME):gaf at palantir.newton.ma.us
+-------------------------------------------------------------+
More information about the Discuss
mailing list