Linux and Android Q&A with Wind River




Answers on a set of questions covering topics from automotive IVI to wearables to writing for multicore processors.

Dinyar-Dastoor_115
Dinyar Dastoor, Vice President of Product Management, Wind River

Editor’s note: Our thanks to Dinyar Dastoor, Wind River’s Vice President of Product Management, who recently offered his insights on a number of questions.

EECatalog: Automotive software has been described as a boom area for Linux, but will uncertainty on the legal landscape hinder this? Why or why not? What specific steps can be taken to keep the boom from being a bubble?

Dinyar Dastoor: As automotive systems become more connected and sophisticated, the role of software is indeed becoming more important than ever. However, with increased capabilities and connectivity comes increased complexity and exposure to greater threats.
There is a greater need for security not only around personal data but also, ultimately, around safety in the car as well. Unlike a smartphone or PC, a hacked automobile system can result in physical harm. These new demands are creating new hurdles in automotive certifications and regulations in the areas of safety as well as security.
All of these trends result in a rise in software complexity in the car. However, automotive companies don’t traditionally come from a history of software expertise. Take for example, the handling of software licenses and copyright. Given all of these new complexities, it is now more critical than ever for auto companies to partner with appropriate experts. This is a sweet spot for Wind River. Wind River is well positioned with its experience in embedded, open source and deep vertical industry expertise (across markets such as auto, A&D, industrial and networking). In addition to the need for software expertise, partners with experience working with complex automotive projects including certification challenges, will be highly valuable. Wind River provides world-class professional services and global support to help customers better manage the highly detailed requirements, complex software integration and intricate project planning associated with the automotive industry.

EECatalog: Google has announced its intention to target the automotive IVI space either natively, or via smartphone connectivity. How well is Android suited for in-vehicle (headed) applications? What are the pro’s and con’s of Android in automotive?

Dinyar Dastoor: Android has been gaining tremendous momentum in automotive. Not surprisingly, open source technologies have risen in popularity in the car as they help accelerate the rate of innovation in automotive systems. Android lends itself well to the rich multimedia demands of IVI systems with its rich framework of middleware, applications and development tools. That said, with increased capabilities and connectivity comes increased complexity and exposure to greater threats. Auto companies will need to be more diligent to build in security as they work through the design process.
With Google “Projected Mode,” a lot of automotive requirements are addressed and this makes it easier to address low and mid end IVI systems with a connected smartphone as an enhanced “amplifier.” Android is the market leader in mobile devices and this is the biggest add-on that it brings to automotive. IVI systems get enlarged with consumer features. On the other hand, software components like Bluetooth phoning, audio management or power management have to be adapted to be able to solve automotive use cases and requirements.

EECatalog: What would be the most notable differences today, as compared to one year ago, for checklists comparing Android and Linux on such topics as GUI support, availability of code packages, foothold in traditional enterprise ecosystems, the wearables market, security and other criteria of your choice?

Dinyar Dastoor: One of the key value proposition differentiators between the two operating systems remains Android’s included touch user interface for direct human interaction and wireless connectivity, especially in the consumer device markets. Outside of the mobile phone and tablet markets, use in wearables and automotive continues to grow for Android. For the wider enterprise markets, Linux, Real Time Operating System and other operating systems remain the top candidates based on their existing ecosystem of developers and applications that are more specific to needs of non-phone/tablet markets, as well as the increased need for safety, security, certification and long-term support. As mobile phones and tablets become more disposable devices with less than two years of product life, the need for support and updating is less critical. However in other areas such as industrial, medical, networking, and aerospace and defense, where embedded devices have expected lifecycles ranging from 5-20+ years, it’s critical to have solutions where implementing bug fixes, updates, and security patches to the originally selected operating system version is possible. It makes a difference in the decision process as well as re-certification efforts.

EECatalog: What’s new with the latest Linux kernel? Is this significant?

Dinyar Dastoor: Some significant changes with recent Linux kernel releases are:

  • Improvements on enabling dedicated cores and isolated applications. This allows enhanced performance and predictability in user space applications.
  • Better integration of soft real-time capabilities to the Linux kernel. Finer grained locking, improved synchronization techniques, Refuelling Control Unit (RCU) enhancements and the Earliest Deadline First (EDF) scheduler are a few examples.
  • Continued scalability improvements like faster suspend resume, VFS, VMA caching, etc.
  • KVM, container and namespace evolution to support sandboxed applications while leveraging hardware capabilities to offer improved performance.
  • Thousands of minor bug fixes, security improvements and maintenance updates.
  • The introduction of ARM64 and the continued organization of the ARM architecture to be consistent across SoCs.

EECatalog: As recently as two years ago, we were still hearing about the gyrations of writing Linux code for multicore processors. Is this now straightforward…or still a challenge?

Dinyar Dastoor: Designing for multicore remains a challenge as developers must take into account more complex designs. While the industry has long been talking about multicore, many developers are still fairly new to putting this type of design into action and need all the help they can get. Also, teams must seek and get familiar with newer “multicore-aware” development tools and methodologies in order to maximize the potential of multicore design.
Synchronization within the kernel can also be challenging, but there are more constructs and advanced techniques available in newer kernels. This includes RCU improvements and modes, new barriers and synchronization primitives, per CPU variables, developing communication channels such as kernel debus and tools that can detect and warn of locking / synchronization issues. These primitives are leveraged by the latest generation of programming language that takes care of multicore and synchronization issues on behalf of the developer.


ciufo_chrisChris A. Ciufo is editor-in-chief for embedded content at Extension Media, which includes the EECatalog print and digital publications and website, Embedded Intel® Solutions, and other related blogs and embedded channels. He has 29 years of embedded technology experience, and has degrees in electrical engineering, and in materials science, emphasizing solid state physics. He can be reached at cciufo@extensionmedia.com.

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • TwitThis

Tags: