Contributions for Improving Debugging of Kernel-Level Services in a Monolithic Operating System Tegawende Bissyande

Total Page:16

File Type:pdf, Size:1020Kb

Contributions for Improving Debugging of Kernel-Level Services in a Monolithic Operating System Tegawende Bissyande Contributions for improving debugging of kernel-level services in a monolithic operating system Tegawende Bissyande To cite this version: Tegawende Bissyande. Contributions for improving debugging of kernel-level services in a monolithic operating system. Autre [cs.OH]. Université Sciences et Technologies - Bordeaux I, 2013. Français. NNT : 2013BOR14768. tel-00821893 HAL Id: tel-00821893 https://tel.archives-ouvertes.fr/tel-00821893 Submitted on 13 May 2013 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. No d’ordre: 4768 THÈSE Présentée devant L’UNIVERSITÉ DE BORDEAUX École Doctorale de Mathématiques et Informatique pour obtenir le grade de : DOCTEUR DE L’UNIVERSITÉ DE BORDEAUX Mention INFORMATIQUE par Tegawendé François d’Assise BISSYANDÉ Équipe d’accueil : PROGRESS École Doctorale : Mathématiques et Informatique Composante universitaire : LABRI Titre de la thèse : Contributions for Improving Debugging of Kernel-level Services in a Monolithic Operating System Contributions à l’Amélioration du Débogage des Services Noyau dans un Système d’Exploitation Monolithique Soutenue le 12 Mars 2013 devant la commission d’examen M. : Xavier BLANC Président MM. : Yves LEDRU Rapporteurs Olaf SPINCZYK MM. : Julia LAWALL Examinateurs David LO Laurent RÉVEILLÈRE M. : Gilles MULLER Invité à Josy pour avoir été là de bout en bout, à tonton Michel pour le soutenu “paternel”, et à ma maman Lucie pour son courage et son abnégation. Acknowledgements This dissertation would not have been possible without the support, help or guidance of several indi- viduals who in one way or another contributed and extended their valuable assistance in the prepara- tion and completion of my university studies. Among those individuals are Dr. Michel M.D. Nikiéma (tonton Michel) who stood as a father to me. I also acknowledge the courage of my mother, Lucie Bis- syandé, who, in uncertain times, did not stop fighting for our interests. Ouindpouiré Josiane Sedogo supported me throughout this PhD experience and I shall remain grateful to her. I would also like to mention my brothers and sister, especially Flore Bissyandé who was always supportive. In the research community, I am grateful to several researchers and teachers who guided me towards the realization of this dissertation. I am specially thankful for meeting Olivier Beaumont, Director of Research at INRIA, who was the best teacher I got in engineering school. I would like to express the deepest appreciation to Professor Xavier Blanc, Professor at the Uni- versity of Bordeaux, who gracefully accepted to chair my defense committee. Second, a special thank to Professors Yves Ledru from the University of Grenoble, and Olaf Spinczyk from the University of Berlin, who accepted to review my thesis document before the committee can sit. I Would also like to thank other committee members, Julia L. Lawall, Director of Research at INRIA, David Lo, Assistant Professor at the Singapore Management University, and Laurent Réveillère, my thesis supervisor, Associate Professor at the Bordeaux Institute of Technology. My gratitude goes also to Gilles Muller, Director of research at INRIA whose guidance is embedded in the entire dissertation. Next, I would like to acknowledge the friends I have made here in France: • friends in CVT at LaBRI: Rémi Laplace (and JDB), Jonathan Ouoba, Jérémie Albert, Damien Dubernet, Hugo Balacey, Daouda Ahmat, Cyril Cassagnes, Jigar Solanki, Vincent Autefage, Télesphore Tiendrebeogo and Sebastien Bindel. • fellow PhD students at LaBRI: Thomas Morsellino, Florent Foucaud, Vincent Filou, Vincent Rabeux and Yi Ren. Finally, I am as ever indebted to God, who made all things possible. Abstract Despite the existence of an overwhelming amount of research on the quality of system software, Operating Systems are still plagued with reliability issues mainly caused by defects in kernel-level services such as device drivers and file systems. Studies have indeed shown that each release of the Linux kernel contains between 600 and 700 faults, and that the propensity of device drivers to contain errors is up to seven times higher than any other part of the kernel. These numbers suggest that kernel- level service code is not sufficiently tested and that many faults remain unnoticed or are hard to fix by non-expert programmers who account for the majority of service developers. This thesis proposes a new approach to the debugging and testing of kernel-level services focused on the interaction between the services and the core kernel. The approach tackles the issue of safety holes in the implementation of kernel API functions. For Linux, we have instantiated the Diagnosys automated approach which relies on static analysis of kernel code to identify, categorize and expose the different safety holes of API functions which can turn into runtime faults when the functions are used in service code by developers with limited knowledge on the intricacies of kernel code. To illustrate our approach, we have implemented Diagnosys for Linux 2.6.32 and shown its bene- fits in supporting developers in their testing and debugging tasks. The contributions of this thesis are: • We identify the interface of kernel exported functions as a sweet spot at which it is possible to interpose the generation of debugging information, in a way that improves debuggability but does not introduce an excessive runtime overhead. • We identify safety holes as a significant problem in the interface between a service and the kernel. Indeed, of the 703 Linux 2.6 commits for which the changelog refers explicitly to a function exported in Linux 2.6.32, 38% corrected faults that are related to one of our identified safety holes. Thus, although we may assume that in-tree kernel code is much more thoroughly tested than new service code under development, violations of these safety holes have still caused numerous crashes and hangs. In this thesis, we propose an extended characterization of these safety holes for the Linux kernel. • We propose an approach to allow a service developer to seamlessly generate, integrate, and exploit a kernel debugging interface specialized to the service code. This approach has a low learning curve, and in particular does not require any particular Linux kernel expertise. • Using fault-injection experiments on 10 Linux kernel services, we demonstrate the improve- ment in debuggability provided by our approach. We find that in 90% of the cases in which a crash occurs, the log contains information relevant to the origin of the defect, and in 95% of these cases, a message relevant to the crash is the last piece of logged information. We also find that in 93% of the cases in which a crash or hang occurs, the log information reduces the number of files that have to be consulted to find the cause of the bug. • We show that the generated debugging interface incurs only a minimal runtime overhead on service execution, allowing it to be used up through early deployment. Beyond operating systems software, the Diagnosys approach described in this thesis can be applied to any software based on the plug-in model, where extension code is written to interact and comple- ment a core software through an ever-expanding interface. The proposed solution thus opens up new possibilities for improving the debugging of such software. Key words Diagnosys, Debugging, Wrappers, Linux, Device Drivers, Software Engineering, Reliability, Testing. VIII Résumé Alors que la recherche sur la qualité du code des systèmes a connu un formidable engouement, les systèmes d’exploitation sont encore aux prises avec des problèmes de fiabilité notamment dûs aux bogues de programmation au niveau des services noyaux tels que les pilotes de périphériques et l’implémentation des systèmes de fichiers. Des études ont en effet montré que que chaque version du noyau Linux contient entre 600 et 700 fautes, et que la propension des pilotes de périphériques à contenir des erreurs est jusqu’à sept fois plus élevée que toute autre partie du noyau. Ces chiffres suggèrent que le code des services noyau n’est pas suffisamment testé et que de nombreux défauts passent inaperçus ou sont difficiles à réparer par des programmeurs non-experts, ces derniers formant pourtant la majorité des développeurs de services. Cette thèse propose une nouvelle approche pour le débogage et le test des services noyau. Notre approche est focalisée sur l’interaction entre les services noyau et le noyau central en abordant la question des “trous de sûreté” dans le code de définition des fonctions de l’API du noyau. Dans le contexte du noyau Linux, nous avons mis en place une approche automatique, dénommée Diagnosys, qui repose sur l’analyse statique du code du noyau afin d’identifier, classer et exposer les différents trous de sûreté de l’API qui pourraient donner lieu à des fautes d’exécution lorsque les fonctions sont utilisées dans du code de service écrit par des développeurs ayant une connaissance limitée des subtilités du noyau. Pour illustrer notre approche, nous avons implémenté Diagnosys pour la version 2.6.32 du noyau Linux. Nous avons montré ses avantages à soutenir les développeurs dans leurs activités de tests et de débogage. Les contributions de cette thèse sont les suivantes: • Nous identifions l’interface des fonctions exportées du noyau comme un endroit opportun où il est possible d’interposer la génération des informations de débogage. Cette interposition est réalisée de façon à améliorer le débogage sans introduire un surcoût d’exécution excessif. • Nous identifions les trous de sécurité comme un problème important dans l’interface entre les service noyau et le noyau central.
Recommended publications
  • Oracle VM Virtualbox User Manual
    Oracle VM VirtualBox R User Manual Version 5.0.16 c 2004-2016 Oracle Corporation http://www.virtualbox.org Contents 1 First steps 11 1.1 Why is virtualization useful?............................. 12 1.2 Some terminology................................... 12 1.3 Features overview................................... 13 1.4 Supported host operating systems.......................... 15 1.5 Installing VirtualBox and extension packs...................... 16 1.6 Starting VirtualBox.................................. 17 1.7 Creating your first virtual machine......................... 18 1.8 Running your virtual machine............................ 21 1.8.1 Starting a new VM for the first time.................... 21 1.8.2 Capturing and releasing keyboard and mouse.............. 22 1.8.3 Typing special characters.......................... 23 1.8.4 Changing removable media......................... 24 1.8.5 Resizing the machine’s window...................... 24 1.8.6 Saving the state of the machine...................... 25 1.9 Using VM groups................................... 26 1.10 Snapshots....................................... 26 1.10.1 Taking, restoring and deleting snapshots................. 27 1.10.2 Snapshot contents.............................. 28 1.11 Virtual machine configuration............................ 29 1.12 Removing virtual machines.............................. 30 1.13 Cloning virtual machines............................... 30 1.14 Importing and exporting virtual machines..................... 31 1.15 Global Settings...................................
    [Show full text]
  • Vista Wait Cursor Gif
    Vista Wait Cursor Gif 1 / 4 Vista Wait Cursor Gif 2 / 4 3 / 4 С Vista Transformation Pack можете да промените изгледа на Windows XP и да го направите като Windows Vista. Пакета ... vista transformation pack .gif С Vista ... Updated Vista Rainbar's launcher for constant waiting cursor activity issue. On October 31, 2013, claimed that the 's counterpart, a, was more recognized than Windows Vista's wait cursor due to the cultural impact that .... So the blue circle animation that pops up next to the mouse pointer that shows ... and closing running programs in the tray, and the waiting animation ... a problem by performing a clean boot in Windows Vista or in Windows 7.. In your jQuery use: $("body").css("cursor", "progress");. and then back to normal again $("body").css("cursor", "default");.. N. ▻ Non- animated throbbers‎ (1 C, 3 F) ... Ajax loader metal 512.gif 512 × 512; 45 KB ... Cursor Windows Vista.gif 32 × 32; 9 KB ... Wait.gif 40 × 40; 4 KB.. Download GIF Viewer for free. Windows 7/8/10-compatible animated .gif player. A C# program used to visualize and extract frames from .GIF files. (you need .. In this topic you'll learn more about static and animated cursors. ... in different context (Normal Select, Help Select, Working in background, Busy. ... colors, smooth transparency (alpha channel) - Supported by Windows XP, Vista and superior only ... which can be saved using various file formats (BMP, PSD, GIF, JPEG, WMF.. Windows Vista's "busy" cursor? Reply ... This always makes me forget my troubles. http://upload.wikimedia.org/wikipedia/en/3/3d/WaitCursor-300p.gif.
    [Show full text]
  • HP Remote Graphics Software
    Sales brief HP Remote Graphics Software Release notes This document comprises the release notes for HP Remote Graphics Software (HP RGS). Topics covered in this document include the following: • New features • Known issues • Security issues What’s new in Release 7.4 HP RGS 7.4 Sender supports Windows – The Linux® RGS Receiver Package contains 2. RHEL 7.4 requires an update to GDM to and Linux®. HP RGS 7.4 Receiver supports two separate installers: avoid a problem where the login screen does not return after a logout. See Ret Hat Windows, Linux®, and macOS™. – Receiver for RHEL 6.x Bugzilla bug 1469755. New features: – Receiver for RHEL 7.x and SUSE 12 3. On Linux® Receiver, the SETUP MODE 1. Floating License Server: The FLEXnet – The Linux® RGS Sender and Receiver sequence + H that is used to hide or unhide license server for floating licenses must Package contains the two Receiver the toolbar does not always work as be version 11.14 or later to support RGS installers listed above plus installers for: expected. This behavior is planned to be 7.4. Local licenses are not affected. The fixed in an upcoming release. - Sender for RHEL 6.x FLEXnet license server is included with the - Sender for RHEL 7.x and SUSE 12 HP RGS package. See the Licensing Guide at - Sender for SLED 11 hp.com/go/RGS for more information. What’s new in Release 7.3.3 2. Operating System Notes: Windows – RHEL 7.4 and SLED 12 SP3 are now HP RGS Release 7.3.3 is a release for Windows – Windows 10 Fall Creators Update is now supported and Linux® Senders and Receivers and the supported macOSTM Receiver.
    [Show full text]
  • Bluescreen 1St Edition Free
    BLUESCREEN 1ST EDITION FREE Author: Dan Wells ISBN: 9780062347886 Download Link: CLICK HERE How to fix the blue screen of death error in Windows 10 Schweiz - Deutsch. Retrieved 9 September Depending on the OS version, there may be several formats this can be saved in, ranging from a 64kB "minidump" introduced in Windows to a "complete dump" which is effectively a copy of the entire contents of physical memory RAM. It can occur as a result of a faulty update Bluescreen 1st edition due to spontaneous hardware failures. Remove everything you are not using, especially older applications. South Africa - English. Windows 10 gets new refresh rate feature, Start Menu search tweaks. You will then be offered Bluescreen 1st edition options for checking system files. Wikimedia Commons. However, this page is only of limited use. Were you viewing a video or were you in the middle of a video conference? To do this, shut down your PC and press F8 while restarting it. Windows blue screen (BSOD): How to cure the error A blue screen of death BSOD on windows 10 is an error that almost every Windows 10 user has experienced sometimes or the other. In some cases it tells you the exact error that has occurred. Developers are exploring Android support for Lumia phones April 10, Crna Gora - Srpski. Spinning pinwheel Windows wait cursor. There are several ways to solve Bluescreen 1st edition. For a short time, you see a blue screen with some information pop up. From Wikipedia, the free encyclopedia. The hexadecimal error code and parameters can still be found in the Windows Event Log or in memory dumps.
    [Show full text]
  • Crimson User Manual
    LP0577 CRIMSON 2 USER MANUAL Copyright © 2003-2006 Red Lion Controls. All Rights Reserved Worldwide. The information contained herein is provided in good faith, but is subject to change without notice. It is supplied with no warranty whatsoever, and does not represent a commitment on the part of Red Lion Controls. Companies, names and data used as examples herein are fictitious unless otherwise stated. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, without the express written permission of Red Lion Controls All trademarks are acknowledged as the property of their respective owners. Written by Mike Granby and Jesse Benefiel. TABLE OF CONTENTS TABLE OF CONTENTS GETTING STARTED ........................................................................................... 1 SYSTEM REQUIREMENTS ..................................................................................... 1 INSTALLING THE SOFTWARE................................................................................. 1 CHECKING FOR UPDATES..................................................................................... 1 INSTALLING THE USB DRIVERS ............................................................................ 2 CRIMSON BASICS............................................................................................. 3 MAIN SCREEN ICONS ......................................................................................... 3 COMMUNICATIONS............................................................................................................................3
    [Show full text]
  • Insight Tech Console User Guide 2 |
    | 1 Insight Tech Console User Guide 2 | Last modified: January 2021 © 1999 - 2021 Faronics Corporation. All rights reserved. Faronics, Deep Freeze, Deep Freeze Cloud, Faronics Deploy, Faronics Core Console, Faronics Anti-Executable, Faronics Anti-Virus, Faronics Device Filter, Faronics Data Igloo, Faronics Power Save, Faronics Insight, Faronics System Profiler, and WINSelect are trademarks and/or registered trademarks of Faronics Corporation. All other company and product names are trademarks of their respective owners. Insight Tech Console User Guide Contents | 3 Contents Preface . 5 Important Information. 6 About Faronics . 6 Product Documentation . 6 Supported Environments . 7 Tech Console . 7 Report Server . 8 Technical Support . 9 Contact Information. 9 Installing Tech Console and Report Server . 10 Planning the Installation . 11 Tech Console Network Configuration . 12 IP-Subnets and VLANs . 12 Insight Port Usage. 12 Configuring Tech Console for use with IP-Multicast or IP-Directed Broadcast. 13 Installing Tech Console on Windows . 14 To install Tech Console on a Windows computer . 14 To install Tech Console on a Student computer . 15 Scripting or Mass Deploying Students via MSI . 16 Installing Tech Console in Secure Mode . 17 Password Secure Mode. 17 Active Directory Secure Mode . 18 Uninstalling Tech Console from a Windows Computer . 19 Installing Tech Console on a Mac. 20 Manual Installation . 20 Automated Installation. 21 Uninstalling Tech Console on a Mac . 22 Updating Tech Console and User Machines . 23 Updating the Tech Console . 23 Update Insight on Selected Users . 23 Configuring Tech Console Preferences . 25 Tech Preferences . 25 Network . 26 Security . 27 Tech Console Security Monitoring . 30 Tech Console in a NAL environment.
    [Show full text]
  • Linux Kernel Crash Book Everything You Need to Know
    Linux Kernel Crash Book Everything you need to know Igor Ljubuncic aka Dedoimedo www.dedoimedo.com www.dedoimedo.com all rights reserved Contents I LKCD 23 1 Introduction 23 1.1 How does LKCD work?.......................... 23 1.1.1 Stage 1............................... 23 1.1.2 Stage 2............................... 24 2 LKCD Installation 25 3 LKCD local dump procedure 25 3.1 Required packages............................. 25 3.2 Configuration file.............................. 25 3.2.1 Activate dump process (DUMP_ACTIVE)............ 25 3.2.2 Configure the dump device (DUMP_DEVICE).......... 25 3.2.3 Configure the dump directory (DUMPDIR)............ 26 3.2.4 Configure the dump level (DUMP_LEVEL)............ 27 3.2.5 Configure the dump flags (DUMP_FLAGS)............ 28 3.2.6 Configure the dump compression level (DUMP_COMPRESS).. 29 3.2.7 Additional settings......................... 29 3.3 Enable core dump capturing........................ 30 3.4 Configure LKCD dump utility to run on startup.............. 30 4 LKCD netdump procedure 31 5 Configure LKCD netdump server 31 5.1 Required packages............................. 31 5.2 Configuration file.............................. 31 2 www.dedoimedo.com all rights reserved 5.2.1 Configure the dump flags (DUMP_FLAGS)............ 32 5.2.2 Configure the source port (SOURCE_PORT)........... 32 5.2.3 Make sure dump directory is writable for netdump user...... 32 5.3 Configure LKCD netdump server to run on startup............ 33 5.4 Start the server.............................. 33 6 Configure LKCD client for netdump 34 6.1 Configuration file.............................. 34 6.1.1 Configure the dump device (DUMP_DEV)............ 34 6.1.2 Configure the target host IP address (TARGET_HOST)..... 34 6.1.3 Configure target host MAC address (ETH_ADDRESS).....
    [Show full text]
  • The Linux Kernel HOWTO
    The Linux Kernel HOWTO Al Dev (Alavoor Vasudevan) < alavoor[AT]yahoo.com > v6.7, 15 Aug 2003 This is a detailed guide to kernel configuration, compilation, upgrades, and troubleshooting for ix86−based systems. Can be useful for other architectures as well. This document is kept small & simple, so that even non−technical "home computer users" will be able to compile and run the Linux Kernel. The Linux Kernel HOWTO Table of Contents 1. Introduction.....................................................................................................................................................1 2. Quick Steps − Kernel Compile.......................................................................................................................2 2.1. Precautionary Preparations...............................................................................................................2 2.2. Minor Upgrading of Kernel..............................................................................................................2 2.3. New Release Changes: Documentation............................................................................................3 2.4. For the Impatient...............................................................................................................................3 2.5. Building New Kernel − Explanation of Steps..................................................................................3 2.6. Troubleshooting................................................................................................................................7
    [Show full text]
  • Read Book the Mac Is Not a Typewriter Ebook
    THE MAC IS NOT A TYPEWRITER PDF, EPUB, EBOOK Robin Williams,Robert C. Fay | 96 pages | 01 May 2003 | Pearson Education (US) | 9780201782639 | English | Berkeley, United States The Mac is Not a Typewriter PDF Book Abort, Retry, Fail? Members save with free shipping everyday! The appendices provide an excellent reference to the ascii codes for "unusual" characters as used by various word processors. Numerals in Odd Places. Leading, or Linespace. Account Sign In. Throughout, Robin shows you the small details that separate the pros from the amateurs: typographer versus typewriter quotation marks, en and em dashes, tabs and indents, kerning, leading, white space, widows and orphans, and hanging punctuation. Oct 29, Jena rated it really liked it. Combining Typefaces. This revised edition is dedicated to the practical advice that made the first edition an enduring bestseller. Oct 30, Cp rated it it was amazing. One Space Between Sentences. Pearson Education. Error messages. Robin rated it really liked it Sep 18, The appendix is so helpful. Namespaces Article Talk. Jan 23, Tania rated it it was amazing. Throughout, Robin explains the small details that separate the pros from the amateurs: typographer versus typewriter quotation marks, en and em dashes, tabs and indents, kerning, leading, white space, widows and orphans, and hanging punctuation. Open Preview See a Problem? I recently re-read this book and was reminded how fabulous it is. Views Read Edit View history. The name "Teletype" was derived from the more general term, "teletypewriter"; using "typewriter" was a different contraction of the same original term. View 1 comment. If I could, I would give everyone I meet a copy of this gem.
    [Show full text]
  • Error Messages
    Error messages explained Error messages Explained Graham Morrison decodes the secret meaning behind the most common Linux error messages and helps you cure the problems in the process. ome people are scared of Linux understand and rarely helpful. Which is a pity, back on track. We’ve chosen areas we think are because the error messages it because the vast majority of problems can be the most problematic. These include booting produces seem to imply the coming solved quite easily, and a considerable number problems, general software usage, the filesystem, S of the apocalypse. And there’s a great involve the same problems recurring again and networking and distro installation. number of them. If you search for the word again. In business speak, these are low-hanging We’ve picked a few of the most common errors ‘Error’ in our forums, you get more than 150 fruit. And it’s these problems we want to target. from each, and explained what’s happening along pages of results. That’s a lot of people You shouldn’t need to be a Linux expert to get with the solution. The intention is that even if the experiencing a lot of problems. your machine to boot, or a programmer to play a problems don’t apply to you, you can get an idea The biggest difficulty for these users isn’t the movie file. Yet it’s this level of expertise that most of how and why Linux error messages might seem number of error messages; it’s trying to get error messages seem to assume of their users.
    [Show full text]
  • Intime Software 4.0 User's Guide
    USER’ S MANUAL INtime® 4.0 Software TenAsys Corporation 1400 NW Compton Drive, Suite 301 Beaverton, OR 97006 USA +1 503 748-4720 FAX: +1 503 748-4730 31001-6 [email protected] September 2009 www.tenasys.com September 2009 Copyright © 2009 by TenAsys Corporation. All rights reserved. INtime, iRMX, and TenAsys are registered trademarks of TenAsys Corporation. † All other trademarks, registered trademarks, service marks, and trade names are the property of their respective owners. Before you begin This guide describes INtime® software, both as an extension for Microsoft Windows or as a stand-alone RTOS (Real Time Operating System) running on an Intel architecture PC, that provides the tools you need to create and run real-time (RT) applications— robust, high-performance applications with predictable responses to external events. This guide assumes that you know how to develop programs for Windows and understand RT system concepts. Note In this guide, the term “Windows” means any supported version of Windows. For a complete listing of supported Windows versions, see page 3. About this guide Guide contents This guide introduces you to INtime software: how it makes RT applications possible and how to use the INtime development tools. Use this guide to get acquainted with INtime software, then refer to INtime Help for detailed information about INtime components. For more information about accessing help, see Where to get more information later in this chapter. Note For a quick start, read the following: • Chapter 1, Overview to introduce you to all the basic INtime software concepts and to learn where to find detailed information about INtime software.
    [Show full text]
  • Overview of Windows Embedded Versions
    Technical Article Overview of Windows Embedded Versions Summary: Original Equipment Manufacturers (OEMs) have several embedded options, and they may be unsure of which version of Windows Embedded best meets their needs. To help guide OEMs in their selection process, we have created this introductory guide to Windows Embedded. In this document, we discuss the various versions of Windows Embedded. We also describe their features, provide comparative scenarios, and discuss approaches to prototyping. Published: October 2015 Applies to: All currently supported Windows Embedded operating systems (c) 2016 Microsoft Corporation. All rights reserved. This document is provided "as-is." Information and views expressed in this document, including URL and other Internet Web site references, may change without notice. You bear the risk of using it. This document does not provide you with any legal rights to any intellectual property in any Microsoft product. You may copy and use this document for your internal, reference purposes. Table of Contents Overview ....................................................................................................................................................... 5 In Scope ..................................................................................................................................................... 5 Out of Scope .............................................................................................................................................. 5 Windows CE/Windows Embedded
    [Show full text]