The kernel at the center of the burgeoning Linux universe has just received its broadest series of changes in its history.
“There are a lot of changes in the 2.6.25 kernel, more changes than have happened in any previous single kernel release,” said Greg Kroah-Hartman, a kernel developer and a Novell fellow in the company’s Open Platform Solutions group.
“The rate of change is also higher than almost any previous kernel release as well, and I think more developers and more companies contributed than ever before,” he told InternetNews.com. Kroah-Hartman recently co-authored a recent study that found nearly 1,000 developers are now working on the Linux kernel, representing over 100 corporations.
The update from the prior 2.6.24 kernel incorporates more than 12,000 individual changesets, totaling nearly 370,000 lines of code.
“Tons and tons has changed,” Linux founder Linus Torvalds said in his release announcement, adding that the changelog alone weighs in at a whopping 7.5MB in size.
While Torvalds described many of the changes as “one-liners,” chiefly updates to drivers, some of the release’s improvements tackle wider-ranging issues.
Among the highlights of the 2.6.25 release are improvements to Linux’s real-time capabilities, including Read/Copy/Update (RCU) preempt support. Such enhancements may better position Linux for use in certain industries that require software operations to behave deterministically — producing results in the same time, each time.
“This feature allows the real-time kernels to work better with the RCU-locking subsystem, making customers who rely on deterministic computing much happier,” Kroah-Hartman explained.
Another real-time improvement comes from First In/First Out (FIFO) ticket spinlocks. A spinlock is a piece of the kernel that ensures two threads can’t modify the same data: it locks a thread in a loop until the resource becomes available.
“Now, spinlocks are not ‘unfair,” Kroah-Hartman said — referring to the fact that they now ensure threads are not locked out from data for too long — thereby “making the kernel operate in a much more deterministic manner.”
Memory resources also get a boost in 2.6.25 with a new memory resource controller for control groups. Instead of being able to control CPU and scheduling usage for different groups of processes, it now can manage memory usage for those groups as well.
“This allows users to tightly control exactly what resources different processes are able to consume in a group-like manner,” Kroah-Hartman said.
On the security side, the 2.6.25 kernel includes randomization features that are intended to make it tougher for hackers to break into applications.
“The kernel now randomizes the location and placement of applications, making premade hacking scripts much harder to implement,” Kroah-Hartman said.
The Linux 2.6.25 kernel also expands the device footprint of Linux itself with new devices being supported.
“Hundreds of new devices of all different types are supported with this kernel release, along with a completely new CPU architecture, further solidifying the lead that Linux has of supporting more, different devices and more, different CPUs than any other operating system ever has.”