Hello everybody! Good news for the Android community!!! Linux Kernel 3.3 to Once Again Include Google Android Code, Open vSwitch, networking, and more!!!, Those of you who use a Linux-based OS will probably be aware that V3.3 (3.4.. 3.x) of the Linux Kernel was released a few days ago. there are majority of the changes, there is one thing that is relevant to our interests first time since 2010 the Linux Kernel once again includes code from the Android project!, So latest refresh of the Linux kernel, 3.3, is now available, and the second release of 2012 brings with it the long-awaited merging of code from Google’s little side project and it really helps to bridging the gap between the Android project and the mainline.
Official release notes for V3.3:
For a long time, code from the Android project has not been merged back to the Linux repositories due to disagreement between developers from both projects. Fortunately, after several years the differences are being ironed out. Various Android subsystems and features have already been merged, and more will follow in the future. This will make things easier for everybody, including the Android dev community, or Linux distributions that want to support Android programs.There are many features interesting to developers looking to boot Android or run apps on the stock Linux kernel (optimized power management and other infrastructure that didn’t make it this time will arrive in the next release, 3.4) and there are many features and improvements to file systems like Btrfs, memory management, networking, security and much more.
Linux 3.x :
In March 2012, version 3.3 of the Linux kernel was released (followed in by version 3.4 in May). In addition to a plethora of small features and bug fixes, several important changes have arrived with these releases, including the merging of the Google Android project; merging of the Open vSwitch; several networking improvements (including the teaming network device); and a variety of file system, memory management, and virtualization updates. Explore many of the important changes in versions 3.3 and 3.4, and have a peek at what’s ahead in 3.5.
What’s potentially ominous about this milestone is both the speed at which the Linux kernel is growing (50% growth since 2008) and whether this growth might begin to negatively affect the efficiency (both power and performance) of the Linux kernel. Power and performance don’t tend to be measured on a per-patch basis, so a bug can easily creep into a released kernel and persist for some time (for example, the PCI Express [PCIe] Active State Power Management power issue that is fixed in 3.3 but existed in the kernel for a year).
In less than 21 years, Linux has grown from just over 10,000 lines of code to more than 15 million. Although the majority of this code resides in the drivers subtree, the complexity of the kernel is increasing with its size. Someday soon, this expansion could result in changes to the kernel to remove the complexity and increase its maintainability.
The changes are mainly with Open vSwitch, File system changes, Networking enhancements. Other interesting changes like Texas Instruments C6x processor is now supported directly,in 3.4 latest GPU processors such as Nvidia’s Kepler and AMD’s latest Radeon and Trinity releases,latest GPU processors such as Nvidia’s Kepler and AMD’s latest Radeon and Trinity releases. For memory corruption issues, debug new configuration item called CONFIG_DEBUG_PAGEALLOC has been added, Virtual Function I/O, S390 architecture was updated to support access to up to 64TB of RAM .
Android Integration:
The biggest news in the 3.3 kernel is the introduction of Google Android to the mainline kernel. This integration will continue in Linux 3.4, but enough of the Android fork is on the mainline to support booting the Android user space. The Android kernel is a fork of the Linux kernel, with several additional features necessary for power and resource-efficient operation (as required by a power-constrained mobile device). Although the focus is on the ARM architecture, there’s also support for x86 (such as is used in the Google TV project).
Collaboration issues between Linux maintainers and Google led to Android being developed independently for a couple of years. The 2011-2012 winter saw the creation of the Android Mainlining Project, whose goal was to integrate Android drivers and features into the mainline Linux kernel. This work was introduced in the 3.3 release and will find further integration in the 3.5 release.
Android created several enhancements to Linux that were necessary to be competitive in the mobile environment. Examples include fast interprocess communication (IPC), improved application memory management, and a solution to the large contiguous physical memory management problem.
The driver called Binder is Android’s answer to IPC. Android developers could have easily reused existing approaches, but Binder includes unique features that were not available (including zero-copy message passing and credential passing). Within Android, applications never exit, so they continue execution until the kernel removes them. The Shrinker exists as a mechanism to improve memory utilization as it gets low. Applications register a function that is called to minimize memory, and the kernel calls these functions when memory gets tight. One other addition by Android is Pmem, which provides the capability to allocate large physically contiguous buffers when needed (such as those required for a camera function). Pmem exports a user space driver for this type of memory allocation. Other capabilities have also been integrated but are specific to the mobile domain.
Certain features have not yet made their way into the kernel, such as wakelocks—a power-management feature that allows a component to prevent the system from entering a low-power state (for example, if an update is occurring). The absence of wakelocks won’t prevent an Android system from booting, but it will drain the battery quickly.
As Android is merged back into the Linux kernel, it’s another great illustration of the flexibility of the Linux kernel (from embedded systems and mobile devices to the largest mainframes and supercomputers). With more than 300 million Android devices in use right now, Linux continues its evolution as a universal platform.
Some Effects :
Even if Linus Torvalds’ comments have shamed Nvidia into issuing a F-Bomb statement , but eventually Nvidia tried to quash the notion that it doesn’t do much for the Linux community by talking up its work in the ARM Linux kernel, which of course is used by Android and runs on Tegra devices. The company said, “We are a very active participant in the ARM Linux kernel. For the latest 3.4 ARM kernel – the next-gen kernel to be used on future Linux, Android, and Chrome distributions – Nvidia ranks second in terms of total lines changed and fourth in terms of number of changesets for all employers or organizations.” more info click me!
Linux continues to move ahead with 3.4 available, the 3.5 candidate releases soon come to a close around August 2012. Linux 3.5 includes several new and interesting features which is really helpful for Android platform.
For more info: click me1 click me2!
Source Ref: The Inquirer, IBM dev