Highlights of Linux 2.6 kernel (III)

Source: Internet
Author: User

Core hardware support
With the development of Linux over the years and gradually entering the mainstream, from the perspective of the device types supported by the kernel, Each kernel release is like a hop: supports emerging technologies (2.4 USB) and legacy technologies (2.2 MCA ). It has grown to linux2.6, with fewer devices not supported by Linux. Few mainstream PC hardware is not supported. For this reason, most (apparently not all) Improvements to hardware support (including the device model mentioned above) focus on the enhancement of existing support.

Internal device Bus
The bus at the bottom of the system is almost as important as the processor; these bus are like a binder that connects all components of the system. In the PC world, these bus have always been indispensable, whether it is the old ISA (which can be found in the original ibm pc) bus, the current external serial port and Wireless (Wireless) bus. Once new buses and devices become popular consumer products, Linux will always be able to adapt to them quickly. However, for less popular devices, the situation is much worse.
An example of this situation is the PNP (plug-and-play) feature of the ISA bus. Linux does not support plug-and-play extension of the ISA bus until version 2.4, it is much later than other popular commercial operating systems (before the kernel supports isa pnp, you may be able to barely use some user-state utilities to make it work ). Linux 2.6 has made an important improvement on this subsystem to make it more comprehensive and better integrated into the new device model. New features include complete pnp bios support, device name database, and other features that make the system more robust. These improvements make Linux a real plug-and-play operating system, and can be set to achieve the same effect as the BIOS of compatible hosts.
Two alternative solutions for ISA-PNP in the ISA era are the MCA (microchannel system) and Eisa (Extended Isa), although they are not so popular. During the development cycle of linux2.6, both subsystems have made some improvements to support the new device model. In addition, by introducing a device name database, EIsa has been further standardized with other subsystems.
In addition to the several important features mentioned earlier, Linux has made many other notable changes to support the hardware bus. PCI bus is the most popular and important bus in all buses. Linux 2.6 has greatly improved its support, including improved Hot swapping and power management support. The new version also supports multiple open-ended bus (that is, accelerated graphics port-an independent high-speed bus based on the PCI protocol) systems, such as high-end graphics workstation. For PC hardware support, Linux is closely following the trend in the hardware market.
In addition to the actual device bus, linux2.6 also adds a conceptual legacy bus. This type of bus is proprietary to each architecture that contains all the devices you might think. For example, on-board serial port, parallel port, and PS/2 ports may exist on a PC, but it is not enumerated by any actual bus in the system (enumerated ). On other platforms, this legacy support may include more complex things (such as querying firmware ). But in general, this is just a layer of packaging, so that device drivers can operate on these devices in a standard way in the new driver model view.

External Bus
Although early device standards have matured and few new features have been added, USB is an exception. USB support has been improved a lot in the latest kernel development cycle, the most significant of which is that the new kernel will support USB 2.0 devices. USB2.0 is a new standard that supports bandwidth up 480 m BPS (the current USB is only 12 Mbps ). Devices that support this standard are generally referred to as high-speed USB devices and are gradually occupying the market. Another new standard is USB on-the-go (or usb otg). It is a point-to-point variant in the USB protocol and is used for direct device connection; linux 2.6 does not yet support it (the 2.6 patch is supported ). In addition to device support, the enumeration methods of most USB devices have been modified to allow Linux to access all instances of many devices of the same type today ). This is useful for large printers or storage devices (although the latter may be more inclined to use a dedicated storage Bus ). Obviously, technologies in this field have grown significantly in recent years, and Linux's support for related devices has also kept pace with the market.

Wireless Devices
In the past few years, wireless technology has taken off in public applications. It seems that in the near future, cables (non-power supply) will become history. Wireless devices include both network devices (currently the most common wireless devices) and more general devices, such as PDAs.
In wireless network space, devices can be roughly divided into long distances (such as ax.25 Based on amateur wireless devices) and short distances (usually 802.11, but some old protocols also exist ). Since early on (v1.2), the Support for the two has become a feature of Linux. In the development of 2.6, they were updated again. The biggest change here is that the main components used to support short-distance subsystems of various boards and protocols are merged into a single "wireless" subsystem and API. Provides a set of user space tools that can work on all supported devices to achieve unified processing of different devices. This method solves many small compatibility problems caused by different processing methods on different devices. In addition to this standardization, the Linux 2.6 kernel has many global improvements, including better notification capabilities when the status changes (such as a device in the "Roaming" status, and a TCP-related change designed to better handle periodic latency fluctuations in wireless devices. Due to people's expectation for wireless support in the 2.4 kernel, many of the above features are included in the 2.4 kernel.
There are similar major improvements in wireless device space. IRDA (the infrared protocol named after infrared data associates group) has made some improvements since the previous major release, such as power management and integration into the new kernel driver model. The real improvement lies in providing support for Bluetooth devices. Bluetooth is a new wireless protocol designed for short distances, low power consumption, and no line of sight restrictions in IRDA. As a protocol, Bluetooth is designed to be "available everywhere ". It has been applied to a variety of devices, such as PDAs, mobile phones, printers, and more weird (bizarre) devices such as on-board devices. The Protocol itself consists of two different data connection types: SCO for Lossy audio applications (synchronous connection oriented for Synchronous connections ); and support for strong connections such as retransmission L2CAP (Logical Link Control and adaptation protocal, logical Connection Control and Adaptation Protocol ). L2CAP further supports various seed protocols, including RFCOMM for point-to-point networks and bnep for Ethernet-like networks. Linux's support for Bluetooth-enabled devices is constantly improving. We can believe that this support will be very mature when enough devices using Bluetooth technology are used. It is worth mentioning that the initial support for Bluetooth has been integrated into the later versions of the 2.4 series kernel.

Block Device Support
Storage Bus
In the development of 2.6, storage buses such as IDE/ATA and SCSI were also updated. The major changes focus on the overwritten (re-overwritten) ide subsystem, solving many scalability problems and other restrictions. For example, the ide cd/RW device can write data directly through the IDE disk driver, which is much simpler than the previous method. (In the past, a special SCSI simulation driver was required. This is confusing and difficult to implement .) Now, when you encounter an unrecognized controller, the IDE layer can query the BIOS information of the machine to obtain the data or other data required for timing operations. The SCSI part has many minor improvements distributed in the system to support more devices and improve scalability. A special improvement for legacy systems is that Linux now supports SCSI-2 Multi-Channel devices that have more than 2 Luns on a single device ). Another important improvement is that Linux is now able to detect media changes like MS windows to better be compatible with devices that do not fully comply with standard specifications. Since these technologies have been tested and stabilized over time, Linux also provides support for them.
Linux also supports direct access to the EDD (enhanced disk device) bios of new machines, so that you can obtain the disk device view on the server. Edd BIOS contains information about all storage buses (including IDE and SCSI) that are connected to the system and recognized by BIOS. In addition to obtaining the configuration and other information of the connected device, it also has several advantages. For example, this new interface allows Linux to know which disk device the system is started from. This is useful in new systems, because it is often not obvious from which device the system starts. The smart installer can also consider using this information, for example, when deciding where to install grub (a Linux boot loader.
In addition to all these changes, we need to emphasize that all bus device types (hardware, wireless, and storage) are integrated into the new device model subsystem of Linux. Some changes are only "decorative", while others include significant changes (for example, the logic of how to detect devices must be modified ).

File System
The most common usage of Block devices in Linux (or other systems) is to create a file system on the block device. Compared with Linux 2.4, Linux 2.6 has many improvements in file system support. Key changes include support for extended attributes and POSIX standard access controls.
As the default file system installed in most Linux systems, ext2/ext3 is the most improved File System in 2.6. The major change is the support for extended attributes, that is, embedding some metadata (metadata) in the file system for the specified file ). Some extended attributes are used by the system and can only be read and written by the root user. Many other operating systems, such as Windows and MacOS, have used such extended attributes extensively. Unfortunately, UNIX operating systems generally do not support extended attributes well. Many user-level programs (such as tar) need to be updated to save and dump the extended attributes. This is another aspect of Linux's growth; Linux's support for extended attributes is maturing.
The first purpose of the new extended attribute subsystem is to implement the POSIX access control linked list. POSIX access control is a superset of standard UNIX permission control and supports more fine-grained access control. If necessary (for example, when outputting files from NFS), these access control can be mapped to the standard user/group permission control. In addition to the above, ext3 has other minor changes. The time for File System Log submission (COMMIT) can be adjusted to be more suitable for laptops (in power-saving mode, the drive may be accelerated ); the default loading option can be saved in the file system itself (so you do not need to enter the loading option every time you load); you can mark a directory as "indexed" to accelerate file search in this directory.
Linux has also made a lot of improvements to the file system layer to be compatible with mainstream PC operating systems. First, Linux 2.6 supports windows logical volume manager (that is, Dynamic Disk dynamic disks ). This is a new Partition Table Mechanism in Windows XP and later versions. It can easily support partition size adjustment and new partition creation in Multi-partition systems. (Of course, the Linux system does not necessarily use this mechanism immediately.) Secondly, Linux 2.6 also overwrites the support for the NTFS file system. Now, an NTFS Volume can be installed in read/write mode. Write support is still in the trial phase and is being improved gradually. The final kernel release version may or may not include write support. Finally, Linux's support for fat12 (a very old system or a DOS file system used on a floppy disk) removes some bugs encountered when using MP3 players. Tracking other technologies in the PC field will be an important part of the development of Linux core.
The file system has improved its compatibility with other operating systems. Improved support for extended attributes of HPFs file systems (OS/2 and used in other systems. OS/2 extended attributes are separated into another namespace. The XFS file system is also updated to be compatible with the IRIX operating system disk level (on-disk.
In addition, there are many scattered changes in the Linux File System. Quota (quota) management is rewritten so that the system can support more users. Users can mark directories as synchronization, so that all changes (such as adding files) they are all atomic (this is especially important for the mail system and directory-based database systems, and it is better for disk fault recovery); transparent compression (Linux-only extensions) added to the iso9660 File System (used in CD-ROM. Finally, a new memory-based File System (hugetlbfs) is created to better support shared memory-based databases.

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.