"Don't fear the penguins."

The Future

After Linux 1.0 has been released, work was done on several enhancements. Disk access speedups, TTY improvements, and many more things are now available in Linux 1.2.

Linux 1.2 has now been released, and many new enhancements, including virtual memory enhancements, multiple platform support, and quotas are being considered for the 1.3.x development series. Linux 1.0 was not the end of Linux, nor was it even very important; it is mostly intended to provide a stable version that people can use without being afraid that they are using beta software, and that can be standardized on to some extent. After one stable year of Linux 1.0, Linux 1.2 filled that same role and now it is Linux 2.0's turn.

There is plenty of code left to write, and even more documentation. Please join the DOC channel of the mailing list if you would like to contribute to the documentation.

Linux 2.0 has been greatly enhanced since version 1.2.x. Version 2.0 contains several bug fixes, overall performance improvements, expanded device support and several other enhancements.

Additional Platform support

Linux now runs on the following platforms:

Expanded IDE Device Support

Expanded SCSI Device Support

The SCSI support in the linux kernel can be modularized in a number of different ways depending upon the needs of the end user. To understand your options, we should first define a few terms.

The scsi-core contains the core of scsi support. Without it you can do nothing with any of the other scsi drivers. The scsi core support can be a module (scsi_mod.o), or it can be build into the kernel. If the core is a module, it must be the first scsi module loaded, and if you unload the modules, it will have to be the last one unloaded.

The individual upper and lower level drivers can be loaded in any order once the scsi core is present in the kernel (either compiled in or loaded as a module). The disk driver (sd_mod.o), cdrom driver (sr_mod.o), tape driver (st.o) and scsi generics driver (sg.o) represent the upper level drivers to support the various assorted devices which can be controlled. You can for example load the tape driver to use the tape drive, and then unload it once you have no further need for the driver (and release the associated memory).

Expanded Ethernet Adapter Support

Serial Line Load Balancing

If you have two serial connections to some other computer (this usually requires two modems and two telephone lines) and you use SLIP (= the protocol for sending internet traffic over telephone lines) or PPP (= a better SLIP) on them, you can make them behave like one double speed connection using this driver. Naturally, this has to be supported at the other end as well, either with a similar EQL Linux driver or with a Livingston Portmaster 2e.

Module Support Many features of the Linux kernel can now be built as loadable modules. These modules can then be loaded into memory when needed and unloaded from memory when no longer used. This gives you the added flexibility of using your system's RAM memory more efficiently.

Kerneld Module Support Linux can dynamically insert and remove kernel modules as needed automatically as the operating system requires. This is a great extension to the Linux module support, since the kernel itself can take care of inserting and removing modules.

ARP Daemon Support

Normally, the kernel maintains an internal cache which maps IP addresses to hardware addresses on the local network, so that Ethernet/Token Ring/ etc. frames are sent to the proper address on the physical networking layer. For small networks having a few hundred directly connected hosts or less, keeping this address resolution (ARP) cache inside the kernel works well. However, maintaining an internal ARP cache does not work well for very large switched networks, and will use a lot of kernel memory if TCP/IP connections are made to many machines on the network. By enabling this option, the kernel's internal ARP cache will never grow to more than 256 entries (the oldest entries are expired in a LIFO manner) and communication will be attempted with an external ARP daemon, arpd. This code is still experimental.

APM Support

Advanced Power Management (APM) has been added to the kernel. APM, which is primarily of use in laptops, provides access to the battery status information and may help to conserve battery power.

SMP Support

The Linux kernel now supports up to 16 processors using the Intel MP specification. SMP support is still experimental.

IP Tunneling

IP Tunneling encapsulates data of one protocol type within another protocol and sending over a channel that understands the encapsulating protocol. This particular tunneling driver implements encapsulation of IP within IP, which sounds kind of pointless, but can be useful if you want to make your (or some other) machine appear on a different network than it physically is, or to use the mobile IP facilities.

IP Masquerading

IP masquerading allows you to use a single IP address to serve an entire network. It forwards the traffic to the intended destination, but makes it look like it came from the firewall box itself. It works both way: if the outside host answers, the firewall will silently forward the traffic to the corresponding local computer. This makes it possible to have the computers on the local network participate on the interenet even if they don't have officially registered IP address.

IP Multicast Routing

This allows for addressing several networked computers at once. You need Multicast Routing if you intend to participate in the MBONE, a high bandwidth network on top of the internet which carries audio and video broadcasts.

JAVA Support

Linux supports JAVA binaries directly, just like any other Linux Program. You can even execute HTML files containing JAVA applets (= JAVA binaries) if those files start with the string "<!--applet-->".

ISDN Support

Expanded File System Support

Quota Support

Quota support enables you to set per user limits for disk usage (also called diskquotas).

Watch Dog Support

A Watchdog Timer Interface for Linux. The following watchdog drivers are currently implemented:

All four interfaces provide /dev/watchdog, which when open must be written to within a minute or the machine will reboot. Each write delays the reboot time another minute.

Multiple Device Support

This allow you to group several partitions into one logical devices.

Loop Device Support

Loop Device Support lets you mount a file as a file system, which can allow for all sorts of cool things like encrypted file systems and such.

Expanded Documentation

Linux now includes a very complete Documentation directory that contains documentation on the various features and capabilities of Linux. These Web Pages were mainly contructed from these files.

Miscellaneous Changes

[Linux Home Page]