Migrating Linux Device Drivers to a Microkernel POSIX RTOS: A Case Study. David Donohoe Senior Software Developer QNX Software Systems
|
|
- Irma Brown
- 5 years ago
- Views:
Transcription
1 to a Microkernel POSIX RTOS: A Case Study David Donohoe Senior Software Developer
2 Introduction Porting Linux applications to a commercial OS can be surprisingly straightforward, provided the OS is based on POSIX, the same industry-standard API used by Linux. Take the QNX Neutrino RTOS, for example. Because it was designed to support POSIX standards, it can run many Linux and open source applications without code changes. In most cases, the developer simply has to recompile and relink the Linux source code. Nonetheless, porting low-level drivers from Linux to QNX Neutrino or to any other OS can be a bit more challenging. For instance, consider the differences between the monolithic kernel used in Linux and the microkernel used in QNX Neutrino. In a monolithic model, device management code resides inside the kernel and, as a result, can't call OS functions in the same way that applications do. Because of this limitation, a Linux driver can't access the facilities of the POSIX API. See Figure 1. Figure 1 In a monolithic OS like Linux, drivers run inside the OS kernel and have no access to the POSIX API. Compare this to a microkernel OS like the QNX Neutrino RTOS, where device drivers run outside the kernel, in separate, memory-protected processes. In this architecture, a device driver is virtually indistinguishable from a regular application: it can be dynamically stopped and started as required, and it can access the same POSIX API that applications use. See Figure 2. 2
3 Figure 2 In a microkernel OS like QNX Neutrino, drivers run as separate, memory-protected processes and have full access to the POSIX API. Naturally, these differences in kernel architecture must be taken into account when porting drivers. But, as we ll see, they don t necessarily create any special difficulty. In fact, porting drivers from one monolithic OS to another monolithic OS (for example, from Linux to Windows) can be just as hard, or harder. The reason is simple: almost every OS has its own proprietary specification for writing device drivers. As a result, driver code written for one OS typically has to be reworked before it can be plugged in to any other OS, even if the OSs share a similar architecture. Choosing a Driver to Port Exactly how hard or easy is it to port Linux drivers to a microkernel RTOS like QNX Neutrino? Can you reuse most of the original code, or only a little? To provide concrete answers to those questions, we conducted a case study. Because the author had expertise in Ethernet devices, it was decided to port a Linux Ethernet driver. (The intention was to study the effort involved for developers who already have some experience in a given type of device driver.) The driver for the SMC 9452TX Gigabit Ethernet PCI card was chosen because: The source code was available on the SMC Networks website ( The SMC 9452TX card wasn t already supported under the QNX Neutrino RTOS. The source code to the SMC 9452 driver is published under the GPL. Since the case study was merely an academic exercise, the commercial implications of using the GPL were, in this case, not an issue. 3
4 Porting the SMC 9452TX Linux Driver Source The SMC 9452 driver source is well-structured and well-written, making it a good candidate for porting. Structurally, the driver is divided into two parts: Hardware-specific portion contained approximately 7400 lines of code OS-specific portion contained about 2030 lines of code While Linux and the QNX Neutrino RTOS use different driver interfaces, the interfaces provide similar capabilities. Browsing through the source code, we identified the main interactions between the driver and the rest of the system to determine how much code would need to be modified. The following paragraphs summarize the similarities and differences in the way that Linux and QNX Neutrino handle drivers: Low-level interaction with hardware Both OSs provide straightforward mechanisms that allow a driver to access memorymapped or I/O-mapped device registers. Device detection and configuration Both OSs provide mechanisms to automatically configure devices on the PCI bus, including library calls that let the driver detect the presence of a device and determine the device s configuration. Both OSs also provide mechanisms that let the user supply configuration parameters that affect the driver s operation. These parameters are implemented quite differently under the two OSs, however. Under QNX Neutrino, device driver options are parsed, and the configuration information is stored in private, per-device data structures. Under Linux, this information is stored in global variables within the driver module. Interrupt handling Both OSs allow a thread to execute the driver s interrupt-handling code in response to interrupt-generating events that are triggered by the device. Network traffic: sending and receiving packets The format of packet data buffers and the API for transferring data between the device driver and the OS s networking infrastructure are different, but the principles are the same. Miscellaneous functionality This includes functionality such as multicast address filtering and statistics gathering. Again, while the APIs for providing the functionality differ, the principles are the same. 4
5 Hardware-specific Code The hardware-specific code all 7400 lines of it didn t need to be modified. It was simply standard ANSI C code that communicates with the SMC 9452 card via a handful of macros from a header file. These macros were reimplemented for QNX Neutrino in the header file as follows: #define NsmRegRead8(ctx, addr, pval) #define NsmRegRead16(ctx, addr, pval) #define NsmRegRead32(ctx, addr, pval) *(pval) = (*(volatile uint8_t *)(addr)) *(pval) = (*(volatile uint16_t *)(addr)) *(pval) = (*(volatile uint32_t *)(addr)) #define NsmRegWrite8(ctx, addr, val) #define NsmRegWrite16(ctx, addr, val) #define NsmRegWrite32(ctx, addr, val) *(volatile uint8_t *)(addr) = (val) *(volatile uint16_t *)(addr) = (val) *(volatile uint32_t *)(addr) = (val) Since the hardware-specific code is passed a pointer to the device s memory-mapped registers, these macros were all we needed to communicate with the SMC 9452 hardware. OS-specific Code Next came the OS-specific code. While we were able to maintain the overall structure of this code, significant portions had to be implemented or re-implemented. For instance, we needed to implement command-line option-string parsing, which is a unique capability of QNX drivers. Conveniently, code that handles this parsing already exists: We simply lifted the code from the network driver development kit (DDK) for the QNX Neutrino RTOS. (Note that QNX Neutrino supports many drivers for PCI network cards, including the pcnet driver supplied with this DDK.) We were also able to reuse a lot of code from a QNX Neutrino driver written for a different PCI network card, which greatly reduced development time. In the end, the new driver for the SMC 9452 card had about 1600 lines of OS-specific code, compared to the 2030 lines of OSspecific code in the original Linux driver. Overall, about 80 percent of the code from existing Linux driver was preserved. Results After about 10 hours of development, the new code provided the basic capabilities expected of an Ethernet driver: packet transmission and reception statistics gathering multicast address filtering 5
6 The new driver also followed the normal QNX Neutrino driver conventions for option parsing, link detection, and so on. Performance Testing Next, we measured the performance of the resulting driver, using the TCP netperf throughput measuring utility. (Since this was a case-study exercise only, we didn t attempt to optimize the driver performance.) The machines used for measuring throughput were configured as follows: A 2GHz Pentium IV machine with an Intel Gigabit card. A 450Mhz Pentium III machine with an SMC 9452TX Gigabit card. Netperf test: Intel to SMC 9452 Recv socket Send socket Send message Elapsed time (secs) Throughput (kbytes/sec) Netperf test: SMC 9452 to Intel Recv socket Send socket Send message Elapsed time (secs) Throughput (kbytes/sec) Note All results are for a non-optimized driver. Faster Driver Development through User-Space Debugging An existing code base of driver software for one OS can help accelerate migration to a different OS, even if the two OSs have fundamental differences in architecture. In this case, we reused about 80 percent of the original driver code, allowing an initial driver port to be completed very quickly. Nonetheless, the fast development time can be partially attributed to the microkernel architecture of the QNX Neutrino RTOS, which allows drivers to run as memory-protected processes in user space. During development, several mistakes caused the driver code to crash. Nevertheless, we never had to reboot the system. We simply fixed the offending sections of code and restarted the networking subsystem with the updated driver. If you have 6
7 ever developed drivers for a monolithic kernel, where a driver bug will crash the entire OS, you ll immediately appreciate the benefits of this rapid driver recovery. Naturally, the more a developer knows about the technologies related to the drivers that he or she is porting, the better equipped they will be for the task. For instance, anyone qualified to write an Ethernet driver for a multitasking, memory-protected OS should be able to complete a driver port in a relatively short timeframe. Of course, familiarity with the target OS will help the developer complete the job more quickly. In the case of the QNX Neutrino RTOS, a background in POSIX application development will also be beneficial, since the QNX device drivers have full access to the POSIX API. 7
8 About, a Harman International company, is the industry leader in realtime embedded OS technology. The component-based architectures of the QNX Neutrino RTOS and QNX Momentics development suite together provide the industry s most reliable and scalable framework for building innovative, high-performance embedded systems. Global leaders such as Cisco, DaimlerChrysler, General Electric, Lockheed Martin, and Siemens depend on QNX technology for network routers, medical instruments, vehicle telematics units, security and defense systems, industrial robotics, and other mission- or life-critical applications. Founded in 1980, is headquartered in Ottawa, Canada, and distributes products in over 100 countries worldwide GmbH & Co. KG. All rights reserved. Published with permission of International Corporation. QNX, Momentics, and Neutrino are trademarks of GmbH & Co. KG, registered in certain jurisdictions, and are used under license. All other trademarks and trade names belong to their respective owners.
Fastboot Techniques for the x86 Architecture. Ben Biron QNX Software Systems
Ben Biron bbiron@qnx.com Abstract With the introduction of the Intel Atom processor, the x86 architecture has become a viable contender as a low-power embedded platform. The problem is, x86 designs have
More informationProcessor Affinity or Bound Multiprocessing? Easing the Migration to Embedded Multicore Processing
Easing the Migration to Embedded Multicore Processing Shiv Nagarajan, Ph.D. Nicola Vulpe, Ph.D. shiv@qnx.com, nvulpe@qnx.com Abstract Thanks to higher computing power and system density at lower clock
More informationCase Study: Using System Tracing to Improve Packet Forwarding Performance
Case Study: Using System Tracing to Improve Packet Forwarding Performance Sebastien Marineau-Mes, Senior Networking Architect, sebastien@qnx.com Abstract Symmetric multiprocessing (SMP) can offer enormous
More informationAn Introduction to QNX Transparent Distributed Processing
Yi Zheng, Product Manager, Safety and Security Products QNX Software Systems Limited yzheng@qnx.com Abstract In a conventional network, devices can share files and data with relative ease. Imagine, however,
More informationUser-Space Debugging Simplifies Driver Development
QNX Software Systems Ltd. 175 Terence Matthews Crescent Ottawa, Ontario, Canada, K2M 1W8 Voice: 1 800 676-0566 +1 613 591-0931 Email: info@qnx.com Web: www.qnx.com User-Space Debugging Simplifies Driver
More informationUsing POSIX Threading to Build Scalable Multi-Core Applications
d font sizes: Title: Arial 14, bold Using POSIX Threading to Build Scalable Multi-Core Applications Kerry Johnson Senior Product Manager QNX Software Systems kjohnson@qnx.com Introduction Until recently,
More informationHypervisor Part 1- What is a Hypervisor and How Does it Work?
WHITEPAPER Hypervisor Part 1- What is a Hypervisor and How Does it Work? Randy Martin Product Manager 5/3/17 BlackBerry QNX Not for general distribution. Intended for Advanced Sterilization Products 1
More informationIn-Field Debugging: Diagnosing Software Problems While Maintaining System Availability
In-Field Debugging: Diagnosing Software Problems While Maintaining System Availability Paul Leroux, Technology Analyst, QNX Software Systems paull@qnx.com Abstract Software bugs that make it to market
More informationReal-Time Systems and Intel take industrial embedded systems to the next level
Solution brief Industrial IoT (IIoT) Embedded Software and Systems Real-Time Systems and Intel take industrial embedded systems to the next level Innovative hypervisor and partitioning software increases
More informationThe Convergence of Storage and Server Virtualization Solarflare Communications, Inc.
The Convergence of Storage and Server Virtualization 2007 Solarflare Communications, Inc. About Solarflare Communications Privately-held, fabless semiconductor company. Founded 2001 Top tier investors:
More informationUsing Memory Analysis to Create Leaner, Faster, More Reliable Embedded Systems
Font and font sizes: Title: Arial 14, bold Using Memory Analysis to Create Leaner, Faster, More Reliable Embedded Systems Bill Graham, Product Line Manager Paul N. Leroux, Technology Analyst QNX Software
More informationMaking the Switch to RapidIO
QNX Software Systems Ltd. 175 Terence Matthews Crescent Ottawa, Ontario, Canada, K2M 1W8 Voice: +1 613 591-0931 1 800 676-0566 Fax: +1 613 591-3579 Email: info@qnx.com Web: www.qnx.com Using a Message-passing
More informationThe Myricom ARC Series with DBL
The Myricom ARC Series with DBL Drive down Tick-To-Trade latency with CSPi s Myricom ARC Series of 10 gigabit network adapter integrated with DBL software. They surpass all other full-featured adapters,
More informationBRDS ( , WS 2017) Ulrich Schmid
BRDS (182.704, WS 2017) Ulrich Schmid s@ecs.tuwien.ac.at http://ti.tuwien.ac.at/ecs/teaching/courses/brds File System Protocol Stack Audio Driver Graphics Driver Microkernel Application Message Bus Microkernel
More informationAccelerating Delivery of Quality Systems with Eclipse-based Tools. Sebastien Marineau-Mes QNX Software Systems
Accelerating Delivery of Quality Systems with Eclipse-based Tools Sebastien Marineau-Mes QNX Software Systems QNX at Cisco Highlights è QNX/(KUE-nix): provider of realtime operating system (RTOS) software,
More informationInstant-on virtual network per student: a learning environment for secure computer labs
Instant-on virtual network per student: a learning environment for secure computer labs W. Craig Scratchley, Lecturer, Simon Fraser University (wcs@sfu.ca) Abstract A low-cost, portable, lab environment
More informationSolutions for iseries
Innovative solutions for Intel server integration Integrated IBM Solutions for iseries xseries The IBM _` iseries family of servers, including the newest member, IBM _` i5, offers two solutions that provide
More informationQNX MOMENTICS ACCELERATE YOUR DEVELOPMENT WITH QNX MOMENTICS KNOCK WEEKS, EVEN MONTHS, OFF YOUR DEVELOPMENT SCHEDULE WITH THE
ACCELERATE YOUR DEVELOPMENT WITH QNX MOMENTICS QNX MOMENTICS f KNOCK WEEKS, EVEN MONTHS, OFF YOUR DEVELOPMENT SCHEDULE WITH THE QNX MOMENTICS DEVELOPMENT SUITE. COMPREHENSIVE, YET SIMPLE TO USE, QNX MOMENTICS
More informationSCRAMNet GT. A New Technology for Shared-Memor y Communication in High-Throughput Networks. Technology White Paper
Technology White Paper SCRAMNet GT A New Technology for Shared-Memor y Communication in High-Throughput Networks Introduction A number of today s most advanced networking applications require the fast
More informationIntroduction to Ethernet Latency
Introduction to Ethernet Latency An Explanation of Latency and Latency Measurement The primary difference in the various methods of latency measurement is the point in the software stack at which the latency
More informationMaRTE OS Misc utilities
MaRTE OS Misc utilities Daniel Sangorrin daniel.sangorrin@{unican.es, gmail.com} rev 0.1: 2008-5-12 1. Circular Memory Buffer This is a generic software component that allows the user to write some data
More information@Cisco. Welcome! By Rennie Allen, Cisco FAE. Welcome to the Machine By Rennie Allen, Cisco FAE. Q Volume 1 Issue 1
@Cisco QNX Software Systems, 900 East Hamilton Ave., Campbell CA, 95008 www.qnx.com rallen@qnx.com 951-704-3447 Q2 2008 Volume 1 Issue 1 Welcome! I N S I D E T H I S I S S U E 1 Welcome to @Cisco! 1 Welcome
More informationRab Nawaz Khan Jadoon
OS Kernel, Instruction Execution and Interrupt Processing Rab Nawaz Khan Jadoon DCS COMSATS Institute of Information Technology Lecturer COMSATS Lahore Pakistan Operating System Concepts Operating System
More informationQNX Software Development Platform 6.6. Quickstart Guide
QNX Software Development Platform 6.6 QNX Software Development Platform 6.6 Quickstart Guide 2005 2014, QNX Software Systems Limited, a subsidiary of BlackBerry. All rights reserved. QNX Software Systems
More informationDevelop Unified SNMP, XML, CLI, and Web-based Management for Embedded Real-Time Systems with MIBGuide
1 Overview Develop Unified SNMP, XML, CLI, and Web-based Management for Embedded Real-Time Systems with MIBGuide SNMP Research International, Inc. Knoxville, Tennessee 1 Overview Support for remote management
More informationAuthors : Ruslan Nikolaev Godmar Back Presented in SOSP 13 on Nov 3-6, 2013
VirtuOS: An operating sytem with kernel virtualization Authors : Ruslan Nikolaev Godmar Back Presented in SOSP 13 on Nov 3-6, 2013 Presentation by Bien Aime MUGABARIGIRA Process Isolation and protection
More informationFPGA Augmented ASICs: The Time Has Come
FPGA Augmented ASICs: The Time Has Come David Riddoch Steve Pope Copyright 2012 Solarflare Communications, Inc. All Rights Reserved. Hardware acceleration is Niche (With the obvious exception of graphics
More informationExam Questions. Give an example network topology where GPSR cannot find a way from a source to a sink. Explain your answer.
Exam Questions Type 1 Consider a 1000m2 area with a uniform distribution of 1000 sensor nodes, each equipped with a temperature sensor. You want to constitute a temperature map of the area at various resolutions.
More informationThe Myricom ARC Series of Network Adapters with DBL
The Myricom ARC Series of Network Adapters with DBL Financial Trading s lowest latency, most full-featured market feed connections Drive down Tick-To-Trade latency with CSPi s Myricom ARC Series of 10
More informationCHAPTER 3 LabVIEW REAL TIME APPLICATION DEVELOPMENT REFERENCES: [1] NI, Real Time LabVIEW. [2] R. Bishop, LabVIEW 2009.
CHAPTER 3 By Radu Muresan University of Guelph Page 1 ENGG4420 CHAPTER 3 LECTURE 1 October 31 10 5:12 PM CHAPTER 3 LabVIEW REAL TIME APPLICATION DEVELOPMENT REFERENCES: [1] NI, Real Time LabVIEW. [2] R.
More informationComparison of scheduling in RTLinux and QNX. Andreas Lindqvist, Tommy Persson,
Comparison of scheduling in RTLinux and QNX Andreas Lindqvist, andli299@student.liu.se Tommy Persson, tompe015@student.liu.se 19 November 2006 Abstract The purpose of this report was to learn more about
More informationIntroduction: Context Switch
Introduction: The central module of an operating system. It is the part of the operating system that loads first, and it remains in main memory. Because it stays in memory, it is important for the kernel
More informationOS Design Approaches. Roadmap. OS Design Approaches. Tevfik Koşar. Operating System Design and Implementation
CSE 421/521 - Operating Systems Fall 2012 Lecture - II OS Structures Roadmap OS Design and Implementation Different Design Approaches Major OS Components!! Memory management! CPU Scheduling! I/O Management
More informationCommercial Real-time Operating Systems An Introduction. Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory
Commercial Real-time Operating Systems An Introduction Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory swamis@iastate.edu Outline Introduction RTOS Issues and functionalities LynxOS
More informationUnit OS2: Operating System Principles. Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze
Unit OS2: Operating System Principles 2.5. Quiz Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Copyright Notice 2000-2005 David A. Solomon and Mark
More informationCSC Operating Systems Fall Lecture - II OS Structures. Tevfik Ko!ar. Louisiana State University. August 27 th, 2009.
CSC 4103 - Operating Systems Fall 2009 Lecture - II OS Structures Tevfik Ko!ar Louisiana State University August 27 th, 2009 1 Announcements TA Changed. New TA: Praveenkumar Kondikoppa Email: pkondi1@lsu.edu
More informationAnnouncements. Computer System Organization. Roadmap. Major OS Components. Processes. Tevfik Ko!ar. CSC Operating Systems Fall 2009
CSC 4103 - Operating Systems Fall 2009 Lecture - II OS Structures Tevfik Ko!ar TA Changed. New TA: Praveenkumar Kondikoppa Email: pkondi1@lsu.edu Announcements All of you should be now in the class mailing
More informationOpen Source in Automotive Infotainment
Open Source in Automotive Infotainment Taeyong Kim (ty.kim@windriver.com) Services & Solutions Wind River Systems 2015 Wind River. All Rights Reserved. Why using Open Source in IoT? Internet of Things
More informationVirtual Memory in Today s Operating Systems. Part 1 of 2 Greg Hartman
Virtual Memory in Today s Operating Systems Part 1 of 2 Greg Hartman 1 Why Did I Get Interested in Virtual Memory? From my MapQuest experience, sub-second response times matter to users Users should control
More informationEmbedded Linux Architecture
Embedded Linux Architecture Types of Operating Systems Real-Time Executive Monolithic Kernel Microkernel Real-Time Executive For MMU-less processors The entire address space is flat or linear with no memory
More informationIntroduction to OpenOnload Building Application Transparency and Protocol Conformance into Application Acceleration Middleware
White Paper Introduction to OpenOnload Building Application Transparency and Protocol Conformance into Application Acceleration Middleware Steve Pope, PhD Chief Technical Officer Solarflare Communications
More informationLinux-based 6LoWPAN border router
Linux-based 6LoWPAN border router David Hauweele University of Mons 7 August 2013 Table of Contents 1 Internet of Things 2 Problem and state of the art 3 Implementation 4 Validation 5 Conclusion David
More informationSoftware Development & Education Center
Software Development & Education Center Embedded Linux & RTOS With ARM 9 µc Embedded Linux and RTOS with ARM9 µc Introduction The course is designed for those who want to pursue Linux based Embedded Systems.
More information6WINDGate. White Paper. Packet Processing Software for Wireless Infrastructure
Packet Processing Software for Wireless Infrastructure Last Update: v1.0 - January 2011 Performance Challenges for Wireless Networks As advanced services proliferate and video consumes an ever-increasing
More informationSoftware development from a bird's eye view Ulrich Kloidt, Senior Application Engineer, Altium Europe GmbH
Software development from a bird's eye view Ulrich Kloidt, Senior Application Engineer, Altium Europe GmbH A modular software application can help designers focus on the essential part of their task -
More informationThe modularity requirement
The modularity requirement The obvious complexity of an OS and the inherent difficulty of its design lead to quite a few problems: an OS is often not completed on time; It often comes with quite a few
More informationMotion Control Computing Architectures for Ultra Precision Machines
Motion Control Computing Architectures for Ultra Precision Machines Mile Erlic Precision MicroDynamics, Inc., #3-512 Frances Avenue, Victoria, B.C., Canada, V8Z 1A1 INTRODUCTION Several computing architectures
More informationMigration to 64-bit Platform Improves Performance of Growing Bank s Core
Microsoft Windows Server 2003 Customer Solution Case Study Migration to 64-bit Platform Improves Performance of Growing Bank s Core Overview Country or Region: Mexico Industry: Banking Customer Profile
More informationOS DESIGN PATTERNS II. CS124 Operating Systems Fall , Lecture 4
OS DESIGN PATTERNS II CS124 Operating Systems Fall 2017-2018, Lecture 4 2 Last Time Began discussing general OS design patterns Simple structure (MS-DOS) Layered structure (The THE OS) Monolithic kernels
More informationIntroduction to TCP/IP Offload Engine (TOE)
Introduction to TCP/IP Offload Engine (TOE) Version 1.0, April 2002 Authored By: Eric Yeh, Hewlett Packard Herman Chao, QLogic Corp. Venu Mannem, Adaptec, Inc. Joe Gervais, Alacritech Bradley Booth, Intel
More informationHow Does Your Real-time Data Look?
How Does Your Real-time Data Look? By Supreet Oberoi Real-Time Innovations, Inc. 385 Moffett Park Drive Sunnyvale, CA 94089 www.rti.com Introduction Are all real-time distributed applications supposed
More informationSoftware Development & Education Center
Software Development & Education Center Embedded Linux & Device Drivers Embedded Linux & Device Drivers Introduction The course is designed for those who want to pursue Linux based Embedded Systems. Embedded
More information440GX Application Note
Overview of TCP/IP Acceleration Hardware January 22, 2008 Introduction Modern interconnect technology offers Gigabit/second (Gb/s) speed that has shifted the bottleneck in communication from the physical
More informationIO virtualization. Michael Kagan Mellanox Technologies
IO virtualization Michael Kagan Mellanox Technologies IO Virtualization Mission non-stop s to consumers Flexibility assign IO resources to consumer as needed Agility assignment of IO resources to consumer
More informationembos Real-Time Operating System embos plug-in for IAR C-Spy Debugger Document: UM01025 Software Version: 3.0 Revision: 0 Date: September 18, 2017
embos Real-Time Operating System embos plug-in for IAR C-Spy Debugger Document: UM01025 Software Version: 3.0 Revision: 0 Date: September 18, 2017 A product of SEGGER Microcontroller GmbH & Co. KG www.segger.com
More informationModel Based Development of Embedded Control Software
Model Based Development of Embedded Control Software Part 4: Supported Target Platforms Claudiu Farcas Credits: MoDECS Project Team, Giotto Department of Computer Science cs.uni-salzburg.at Current execution
More informationChapter 13: I/O Systems
Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance 13.2 Silberschatz, Galvin
More informationMini USB 3.0 Dual Display Dock
Mini USB 3.0 Dual Display Dock VGA & HDMI Dual Display / Gigabit Ethernet / USB 3.0 Hub QUICK INSTALLATION GUIDE - 1 - INTRODUCTION Thanks for purchasing the Mini USB 3.0 Dual Display Dock. USB Type C
More informationLive Migration of Direct-Access Devices. Live Migration
Live Migration of Direct-Access Devices Asim Kadav and Michael M. Swift University of Wisconsin - Madison Live Migration Migrating VM across different hosts without noticeable downtime Uses of Live Migration
More informationMuch Faster Networking
Much Faster Networking David Riddoch driddoch@solarflare.com Copyright 2016 Solarflare Communications, Inc. All rights reserved. What is kernel bypass? The standard receive path The standard receive path
More informationIP over IB Protocol. Introduction CHAPTER
CHAPTER 3 The following sections appear in this chapter: Introduction, page 3-1 Manually Configure IPoIB for Default IB Partition, page 3-2 Subinterfaces, page 3-2 Verify IPoIB Functionality, page 3-5
More informationChapter 2: Operating-System Structures
Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System
More informationI/O Systems. Amir H. Payberah. Amirkabir University of Technology (Tehran Polytechnic)
I/O Systems Amir H. Payberah amir@sics.se Amirkabir University of Technology (Tehran Polytechnic) Amir H. Payberah (Tehran Polytechnic) I/O Systems 1393/9/15 1 / 57 Motivation Amir H. Payberah (Tehran
More informationChapter 13: I/O Systems
Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance 13.2 Silberschatz, Galvin
More informationAndroid App Development
Android App Development Outline Introduction Android Fundamentals Android Studio Tutorials Introduction What is Android? A software platform and operating system for mobile devices Based on the Linux kernel
More informationNEC Express5800/ft series - Fault-tolerant technology
WHITE PAPER NEC Express5800/ft series - Fault-tolerant technology 1. Introduction In general, a fault tolerant system requires expert knowledge with high cost, and it is used for niche market currently.
More informationAvaya ExpertNet Lite Assessment Tool
IP Telephony Contact Centers Mobility Services WHITE PAPER Avaya ExpertNet Lite Assessment Tool April 2005 avaya.com Table of Contents Overview... 1 Network Impact... 2 Network Paths... 2 Path Generation...
More informationRoadmap. Tevfik Koşar. CSE 421/521 - Operating Systems Fall Lecture - II OS Structures. University at Buffalo. OS Design and Implementation
CSE 421/521 - Operating Systems Fall 2013 Lecture - II OS Structures Tevfik Koşar University at Buffalo August 29 th, 2013 1 Roadmap OS Design and Implementation Different Design Approaches Major OS Components!
More informationStacked Vlan: Performance Improvement and Challenges
Stacked Vlan: Performance Improvement and Challenges Toshiaki Makita NTT Tokyo, Japan makita.toshiaki@lab.ntt.co.jp Abstract IEEE 802.1ad vlan protocol type was introduced in kernel 3.10, which has encouraged
More informationOS Design Approaches. Roadmap. System Calls. Tevfik Koşar. Operating System Design and Implementation. CSE 421/521 - Operating Systems Fall 2013
CSE 421/521 - Operating Systems Fall 2013 Lecture - II OS Structures Roadmap OS Design and Implementation Different Design Approaches Major OS Components!! Memory management! CPU Scheduling! I/O Management
More informationREAL SPEED. Neterion : The Leader in 10 Gigabit Ethernet adapters
experience10 GbE REAL SPEED Neterion : The Leader in 10 Gigabit Ethernet adapters With data volumes growing at explosive rates, network bandwidth has become a critical factor in the IT infrastructure of
More informationData Path acceleration techniques in a NFV world
Data Path acceleration techniques in a NFV world Mohanraj Venkatachalam, Purnendu Ghosh Abstract NFV is a revolutionary approach offering greater flexibility and scalability in the deployment of virtual
More informationQNX SDK for Apps and Media 1.0. Multimedia Architecture Guide
QNX SDK for Apps and Media 1.0 QNX SDK for Apps and Media 1.0 Multimedia Architecture Guide 2014, QNX Software Systems Limited, a subsidiary of BlackBerry. All rights reserved. QNX Software Systems Limited
More informationImproving the Reliability of Commodity Operating Systems. Mike Swift, Brian Bershad, Hank Levy University of Washington
Improving the Reliability of Commodity Operating Systems Mike Swift, Brian Bershad, Hank Levy University of Washington Outline Introduction Vision Design Evaluation Summary The Problem Operating system
More informationWIND RIVER TITANIUM CLOUD FOR TELECOMMUNICATIONS
WIND RIVER TITANIUM CLOUD FOR TELECOMMUNICATIONS Carrier networks are undergoing their biggest transformation since the beginning of the Internet. The ability to get to market quickly and to respond to
More informationCisco Unified Computing System Delivering on Cisco's Unified Computing Vision
Cisco Unified Computing System Delivering on Cisco's Unified Computing Vision At-A-Glance Unified Computing Realized Today, IT organizations assemble their data center environments from individual components.
More informationSilberschatz and Galvin Chapter 12
Silberschatz and Galvin Chapter 12 I/O Systems CPSC 410--Richard Furuta 3/19/99 1 Topic overview I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O requests to hardware operations
More informationOpenMPDK and unvme User Space Device Driver for Server and Data Center
OpenMPDK and unvme User Space Device Driver for Server and Data Center Open source for maximally utilizing Samsung s state-of-art Storage Solution in shorter development time White Paper 2 Target Audience
More informationIBM Europe Announcement ZP , dated November 6, 2007
IBM Europe Announcement ZP07-0484, dated November 6, 2007 IBM WebSphere Front Office for Financial Markets V2.0 and IBM WebSphere MQ Low Latency Messaging V2.0 deliver high speed and high throughput market
More informationwith Sniffer10G of Network Adapters The Myricom ARC Series DATASHEET Delivering complete packet capture functionality. a cost-effective package
The Myricom ARC Series of Network Adapters with Sniffer10G Delivering complete packet capture functionality in a cost-effective package CSPi s Myricom ARC Series of multi-port network adapters with Sniffer10G
More informationNETWORK SIMULATION USING NCTUns. Ankit Verma* Shashi Singh* Meenakshi Vyas*
NETWORK SIMULATION USING NCTUns Ankit Verma* Shashi Singh* Meenakshi Vyas* 1. Introduction: Network simulator is software which is very helpful tool to develop, test, and diagnose any network protocol.
More informationVERITAS SANPoint Storage Appliance Overview of an Open Platform for the Implementation of Intelligent Storage Server
VERITAS SANPoint Storage Appliance Overview of an Open Platform for the Implementation of Intelligent Storage Server Table of Contents Introduction...1 Block I/O and Block Servers...3 File I/O and File
More informationNTRDMA v0.1. An Open Source Driver for PCIe NTB and DMA. Allen Hubbe at Linux Piter 2015 NTRDMA. Messaging App. IB Verbs. dmaengine.h ntb.
Messaging App IB Verbs NTRDMA dmaengine.h ntb.h DMA DMA DMA NTRDMA v0.1 An Open Source Driver for PCIe and DMA Allen Hubbe at Linux Piter 2015 1 INTRODUCTION Allen Hubbe Senior Software Engineer EMC Corporation
More informationThe Fruits of Their Labor
The Fruits of Their Labor Welch s saves money by upgrading to new IBM Power servers and the IBM XIV Storage System CUSTOMER: Welch's Food Inc., a cooperative HEADQUARTERS:Concord, Mass. BUSINESS: Leading
More informationModule 2 Storage Network Architecture
Module 2 Storage Network Architecture 1. SCSI 2. FC Protocol Stack 3. SAN:FC SAN 4. IP Storage 5. Infiniband and Virtual Interfaces FIBRE CHANNEL SAN 1. First consider the three FC topologies pointto-point,
More informationRAPIDIO USAGE IN A BIG DATA ENVIRONMENT
RAPIDIO USAGE IN A BIG DATA ENVIRONMENT September 2015 Author: Jorge Costa Supervisor(s): Olof Barring PROJECT SPECIFICATION RapidIO (http://rapidio.org/) technology is a package-switched high-performance
More informationSAP High-Performance Analytic Appliance on the Cisco Unified Computing System
Solution Overview SAP High-Performance Analytic Appliance on the Cisco Unified Computing System What You Will Learn The SAP High-Performance Analytic Appliance (HANA) is a new non-intrusive hardware and
More informationOPEN SOURCE SOFTWARE A Tool for Digital Transformation in the Broadcasting Industry
OPEN SOURCE SOFTWARE A Tool for Digital Transformation in the Broadcasting Industry Eloi Bail (MSc) Senior Software Consultant Amir Taherizadeh (Ph.D., M.B.A.) Tech. Marketing and Business Development
More informationCisco How Virtual Private Networks Work
Table of Contents How Virtual Private Networks Work...1 Introduction...1 Before You Begin...1 Conventions...1 Prerequisites...1 Components Used...1 Background Information...1 What Makes a VPN?...2 Analogy:
More informationOpenOnload. Dave Parry VP of Engineering Steve Pope CTO Dave Riddoch Chief Software Architect
OpenOnload Dave Parry VP of Engineering Steve Pope CTO Dave Riddoch Chief Software Architect Copyright 2012 Solarflare Communications, Inc. All Rights Reserved. OpenOnload Acceleration Software Accelerated
More informationWebSphere Application Server Base Performance
WebSphere Application Server Base Performance ii WebSphere Application Server Base Performance Contents WebSphere Application Server Base Performance............. 1 Introduction to the WebSphere Application
More informationPart 1: Introduction to device drivers Part 2: Overview of research on device driver reliability Part 3: Device drivers research at ERTOS
Some statistics 70% of OS code is in device s 3,448,000 out of 4,997,000 loc in Linux 2.6.27 A typical Linux laptop runs ~240,000 lines of kernel code, including ~72,000 loc in 36 different device s s
More informationOperating System Services
CSE325 Principles of Operating Systems Operating System Services David Duggan dduggan@sandia.gov January 22, 2013 Reading Assignment 3 Chapter 3, due 01/29 1/23/13 CSE325 - OS Services 2 What Categories
More informationCisco 1000 Series Connected Grid Routers QoS Software Configuration Guide
Cisco 1000 Series Connected Grid Routers QoS Software Configuration Guide January 17, 2012 Americas Headquarters Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706 USA http://www.cisco.com
More informationNetwork Processing Technology for Terminals Enabling High-quality Services
: Services for Hikari Era: Terminal Component Technologies Network Processing Technology for Terminals Enabling High-quality Services Yukikuni Nishida and Keiichi Koike Abstract This article describes
More informationChapter 2. Operating-System Structures
Chapter 2 Operating-System Structures 2.1 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System
More informationUnderwater Glider Embedded Control System Design Based on QNX Real-time Kernel
Underwater Glider Embedded Control System Design Based on QNX Real-time Kernel Xibo Wang 1,2, Song Liu 2, Ge Yu 1, Qian Li 2 1. College of Information Science and Engineering, Northeastern University,
More informationReuters Market Data System
Reuters Market Data System RMDS 6.0 on Sun Fire X4150 Server with Cisco (1GbE) Ethernet Infrastructure DISCLAIMER: The test results and recommendations contained in this report are made available for informational
More informationCPSC 341 OS & Networks. Introduction. Dr. Yingwu Zhu
CPSC 341 OS & Networks Introduction Dr. Yingwu Zhu What to learn? Concepts Processes, threads, multi-processing, multithreading, synchronization, deadlocks, CPU scheduling, networks, security Practice:
More informationSymantec Network Security 7100 Series
Symantec Network Security 7100 Series Proactive intrusion prevention device protects against known and unknown attacks to secure critical networks transition can be accomplished transparent to any network
More information