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水木清华站∶精华区