BBS水木清华站∶精华区

发信人: yyh (阿欢&正在努力上进中......), 信区: Linux        
标  题: Previewing The 2.4 Linux Kernel 
发信站: BBS 水木清华站 (Sat Sep 18 03:25:34 1999) 
 
 
 
                                                      www.cmpnet.com 
                                                        The Technology Network 
Previewing The 2.4 Linux Kernel 
By Moshe Bar, 
Aug 10, 1999 (8:02 AM) 
URL: http://www.byte.com/feature/BYT19990809S0002 
Linux 2.4, the newest version of the Linux kernel, is, according to buzz on 
the net, slated for official release by Linux author Linus Torvalds by 
mid-August. (Linux distributors like RedHat, SuSe, and Caldera changed to 
the then-new Linux kernel 2.2 back in April 1999 -- although many Linux 
users are still running earlier versions.) 
I've been running version 2.3.11, a development version of the 2.4 kernel. 
Development kernels are always numbered odd in the minor version number. 
For example, the development for 2.4 kernels will be numbered 2.3. The 
development for 3.0 kernels will be 2.9 etc. Here's a report on what you 
can expect, in terms of features, changes, how well things work, and some 
things you may want to do. 
A Linux distribution -- of which there are dozens of well-known ones, and 
anybody can create their own -- is intended to be a fully operational 
system, including not only the operating system, but also tools and 
utilities ranging from shells, GUIs, text editors, and browser clients to 
language compilers/debuggers, Web servers, games, and more. However, the 
heart of any Linux distribution remains its kernel; major new versions are 
eagerly awaited. 
I remember the first download of Linux in 1991, from the university's 
computer. I just downloaded it out of curiosity, not really knowing what to 
expect from it. Only a few features were present. The most impressive of 
them all was Linux's stability and reliability. 
We are now in version 2.2.11 of the kernel and Linux is now supported 
offered (preinstalled) and by the likes of IBM, Dell, Sun, HP, SGI, and 
many more. 
The next big kernel release -- the 3.0 kernel -- will address even more 
such important issues such as more efficient Symmetric MultiProcessing 
(SMP), a more reliable and faster file system, better virtual memory 
manager, and 64-bit support. 
The way to 3.0 is still long and bumpy, but fortunately Linus Torvalds will 
feed us the big changes in easily digestible chops. The next step on the 
way to 3.0 kernels is the upcoming 2.4 release, which Linux mailing lists 
and discussion areas are rumoring will happen in the next few weeks. 
We at Byte.com already tested the new breed of kernels, currently in 
version 2.3.11, and what follows here is a technical report of the new 
features.While the 2.2. kernels were meant to address primarily 
deficiencies for Linux on servers, the 2.4 release offers new features 
mainly aimed at workstations. In other words, emphasis is being put on 
support for new devices, multimedia, and ease of use. If your machine 
previously already supported Linux well, you won't see many changes. Most 
of 2.2's bugs were already eliminated by minor release 2.2.10 and therefore 
you won't have to rush to get the new kernel. 
Changes At A GlanceCTrl-Alt-Delete now performs a cold reboot instead of a 
warm reboot. This was necessary for increased hardware compatibility. If 
you want a warm reboot and you know it doesn't make problems with your 
hardware, add a "reboot=warm" command line option in your LILO 
configuration file. Some machines needs "reboot=bios" to reboot via BIOS. 
All cua* devices are obsolete by kernel 2.4. Make sure to change over to 
ttyS* style now. The 2.2. kernels complained about, but still accepted the 
old notation. 
If you run at least glibc-2.0.9x then you can also have optional support 
for Unix998-sytle pty devices. You need to re-compile your kernel with 
CONFIG_UNIX98_PTY and CONFIG_DEVPTS_FS enabled for this. The 2.4 kernels 
need at least gcc 2.7.2 to be compiled. Note that the egcs, pgcc and gcc2.8 
compilers may do Bad Things while compiling your kernel, particularly with 
ridiculous optimizations (-O9). 
The spiffy penguin logo on boot-up introduced by the frame buffer consoles 
of Linux 2.2 is now available for all platforms on which Linux runs. This 
has the advantage of providing a uniform graphical subsystem support across 
all Linux ports. 
Some old software may need to be recompiled against 2.2. headers to work 
properly under 2.4 kernels. This should, however not be needed often. 
To turn on IP forwarding (enabling a computer with more than one network 
connection to act as a gateway) issue the following command, obviously as 
root: 
echo 1 > /proc/sys/net/ipv4/ip_forward 
Similar procedures are necessary to turn on the networking features. If 
something appears to be broken, check the /proc/sys/net/ipv4 directory. "1" 
generally denotes enabled, while "0" stands for disabled. 
If you use ISDN (as I sometimes do) you will have to recompile your kernel 
on your machine with ISDN enabled. One major change is being introduced to 
Linux' networking protocol. Whenever a packet was coming in from the 
network, under older versions, all processes with an open socket connection 
(i.e. executing a read() ) were awoken by the kernel. Obviously only one 
process could be the destination of that particular packet, therefore 
making it an expensive operation to wake up all other, unconcerned 
processes. As of 2.4 if the process registers with the kernel, only that 
process will be woken up. 
This will greatly benefit ftp and Web servers, after being appropriately 
adapted for this new feature. Apache has announced support for the new 
feature and will include it in the next Linux minor version. 
Previously not optimally supported processors like the newer AMD and Cyrix 
models are not up to par with Intel feature support. 
The Linux ext2 file system is one of its weaknesses. It is neither very 
fast nor very secure (the file's metadata, its time stamps and privileges, 
are not written synchronously with the file content's). There is some work 
in progress to bring a server-strength file system to Linux. SGI is talking 
of porting its excellent efs file system (which Linux 2.4 can now read) to 
Linux and there are ports on the way for coda, a journaled file system. 
Right now, on a big Linux server with 40 or 50 GBs of disks, it can take 30 
or 40 minutes after a power-failure to fsck (file system check) the whole 
file system. With a journaled file system it would only take two or three 
seconds. 
One change introduced by 2.4 is a unified file-system buffer forread/write. 
This will allow for less memory consumption and speed up I/O operation 
somewhat. Also, the file system code within the kernel has been properly 
adapted for better performance in SMB environments of up to 8 processors. 
Many more critical-code sections have been put within locking brackets and 
the lock areas are now much more granular. This will solve contention 
problems and therefore increase system throughput. 
OS/2 partitions (OS/2 is still alive and well) can now be read and written. 
New Support for Busses, Devices, and Controllers This is where the new 
version really shines, support for new buses, devices, and controllers. The 
big news: There is now finally support for USB. On my machine, it worked 
more or less flawlessly. In general it works better for low-bandwidth 
devices such as mice and keyboards. Not well or not all supported on my 
system were the USB modem and the USB printer connection. 
The parallel-port driver has now been generalized. This lets a program read 
and write the parallel port as with any other device. One positive 
side-effect of this is that you can now have the console at boot go to the 
parallel port, which gives you the possibility to print all boot messages 
on paper. Access to the parallel port is now in DMA, which makes this 
considerably faster. 
There is now support for 8 IDE controllers from previously 4. Linux will 
correctly recognize and configure almost all IDE controllers in the PC 
market now. This means that you should not experience a situation where the 
install from CD is not possible because the CD-ROM drive is not recognized 
before you installed a Linux that permits you to adapt the kernel; the 
classic chicken and egg problem. 
On one old HP laptop where I could previously not install my self-rolled 
Linux 2.2.5 kernel with the RH installer, it now worked flawlessly on the 
first try. This feature will speed up Linux acceptance more than all others 
presented in this article. 
The new kernels will significantly improve support for PC hardware. It will 
become even easier for Windows users to switch over to Linux. For existing 
Linux believers, unless you desperately need some of the new features 
introduced with 2.4 you won't have to rush to get it. I have been running 
2.3.11 and 2.3.10 for some time now. Although these are development kernels 
I never experienced any real stability problems with them. Linux was, is, 
and will, hopefully, always be rock solid. 
Linux cognoscenti expect RedHat to introduce the new 2.4 kernels with its 
RH6.1 or 6.2 release. It is probably advisable to wait for the major 
distributions to come out instead of upgrading now. 
Moshe Bar is an Israeli system administrator and OS researcher, who started 
learning UNIX on a PDP-11 with AT&T Unix Release 6 back in 1981. He holds 
an M.Sc in computer science. Visit Moshe's website at 
http://cvs.sentience.org/. 
 
                                                      www.cmpnet.com 
                                                        The Technology Network 
Copyright 1998 CMP Media Inc. 
 
-- 
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 162.105.17.237] 

BBS水木清华站∶精华区