Linux
"Don't fear the penguins."
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
- Support for ICN ISDN Cards (Germany)
- Support for Teles ISDN cards S0-16.0, S0-16.4 and S0-8
- Support for PCBIT ISDN cards
Expanded File System Support
- HPFS (Read-Only) OS/2 File System HPFS is the filesystem used for organizing files on an OS/2 harddisk. This file system is also available as a module (which can be inserted in and removed from memory of a running kernel whenever you want).
- AFFS Amiga FFS File System The Fast File System (FFS) is the common filesystem used on harddisks by Amiga (tm) Systems since AmigaOS version 1.3 (34.20). It's also possible to mount diskfiles used by Un*X Amiga Emulator by Bernd Schmidt. This driver also requires the loop device support. This file system is also available as a module.
- NCPFS NetWare Core Protocol NCP (NetWare Core Protocol) is a protocol that runs over IPX and is used by Novell NetWare clients to talk to file servers. It is to IPX what NFS is to TCP/IP. This protocol allows you to mount NetWare file server volumes and to access them just like any other Unix directory. This file system is also available as a module.
- UMSDOS This file system allows Linux to run from within an existing DOS partition of your harddrive. The advantage of this is that you can get away without repartitioning your hard drive and hence you're able to quickly try out Linux or show it to your friends. Another use of UMSDOS is to write files with long unix filenames to MSDOS floppies. This file system can be compiled as a module.
- VFAT This allows you to mount MSDOS partitions of your harddrive. It will let you use filenames in a way compatibile with the long filenames used by Windows'95 and Windows NT fat-based (not NTFS) partitions. It does not support Windows'95 compressed filesystems. This file system can be compiled as a module.
- SMBFS SMB (Server Message Buffer) is the protocol Windows for Workgroups, Windows NT and Lan Manager use to talk to each other over ethernet. Enabling SMBFS allows you to mount their filesystems and access them just like any other unix directory. This file system can be compiled as a module.
- SYSV-FS This file system allows you to read and write SCO, Xenix and Coherent Unix partitions. This file system can be compiled as a module.
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:
- ICS WDT501-P
- ICS WDT501-P (no fan tachometer)
- ICS WDT500-P
- Software Only
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
- Name of console changed to "linux"
- Expanded PCI Vendor/Device Support
- Most network and disk controller drivers can now be modules
- Kernel Thread Support
- XCONFIG - Graphical Kernel Configuration Tool (make xconfig)
- Make config has been completely re-organized in a much more logical fashion
- New boot parameters (init, panic)
- Improved NFS Buffer Cache (read side only)