The Impact of GPU-Assisted Malware on Memory Forensics: a Case Study

Total Page:16

File Type:pdf, Size:1020Kb

The Impact of GPU-Assisted Malware on Memory Forensics: a Case Study Digital Investigation 14 (2015) S16eS24 Contents lists available at ScienceDirect Digital Investigation journal homepage: www.elsevier.com/locate/diin DFRWS 2015 US The impact of GPU-assisted malware on memory forensics: A case study * Davide Balzarotti a, Roberto Di Pietro b, 1, Antonio Villani c, a Eurecom, Sophia Antipolis, France b Bell Labs, Paris, France c Department of Mathematics and Physics, University of Roma Tre, Rome, Italy abstract Keywords: In this paper we assess the impact of GPU-assisted malware on memory forensics. In Graphic processing units particular, we first introduce four different techniques that malware can adopt to hide its Memory analysis presence. We then present a case study on a very popular family of Intel GPUs, and we Malware analyze in which cases the forensic analysis can be performed using only the host's Digital Forensics memory and in which cases it requires access to the GPU's memory. Our analysis shows Direct Rendering Manager that, by offloading some computation to the GPUs, it is possible to successfully hide some malicious behavior. Furthermore, we provide suggestions and insights about which arti- facts could be used to detect the presence of GPU-assisted malware. © 2015 The Authors. Published by Elsevier Ltd on behalf of DFRWS. This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/). Introduction the best of our knowledge, no GPU-assisted malware has been discovered in the wild e with the sole exception of For more than twenty years computers have relied on BadMiner (ArsTechnica, 2015) which exploits the presence dedicated Graphics Processing Units (GPUs) to perform of a GPU to mine bitcoins. However, researchers have graphical computations and rendering. More recently, with already shown that several malicious activities can take the advent of general-purpose computing on graphics advantage of GPUs, for instance to steal sensitive infor- processing units (GPGPU), GPUs have been increasingly mation (Kotcher et al., 2013; Lee et al., 2014), unpack ma- adopted also to perform other generic tasks. In fact, thanks licious code (Vasiliadis et al., Oct 2010), and hide malicious to their many-core architecture, GPUs can provide a sig- activities from malware detection and analysis tools nificant speed-up for several applications e such as finan- (Triulzi, 2008; Ladakis et al., 2013). It is important to notice cial and scientific computations, regular expression that these threats are not confined to the graphic envi- matching, bitcoins mining, video transcoding, and pass- ronment (e.g., screen grabbing or unrestricted access to word-cracking. GPU memory) but that GPUs can also be abused to perform Despite their pervasiveness and their ability to perform attacks that are outside the graphic domain. In fact, oppo- generic computations, the role and impact of GPUs to site to others commonly available PCI devices, the fact that perform malicious activities is still largely understudied. To GPUs can be programmed by userspace applications makes them a very attractive attack vector. As a matter of fact, also other peripherals (such as hard disks, network devices, printers) have been abused to perform malicious activities * Corresponding author. E-mail addresses: [email protected] (D. Balzarotti), (Zaddach et al., 2013; Sparks et al., 2009; Cui et al., 2013), [email protected] (R. Di Pietro), villani@mat. but those scenarios required to introduce custom modifi- uniroma3.it (A. Villani). cations to the device firmware. GPUs are instead meant to 1 He is also with the Department of Maths, University of Padua, Padua, be programmed by the end-user and require no firmware Italy. http://dx.doi.org/10.1016/j.diin.2015.05.010 1742-2876/© 2015 The Authors. Published by Elsevier Ltd on behalf of DFRWS. This is an open access article under the CC BY-NC-ND license (http:// creativecommons.org/licenses/by-nc-nd/4.0/). D. Balzarotti et al. / Digital Investigation 14 (2015) S16eS24 S17 modification to execute arbitrary code. To make things worse, graphic cards vendors pay more attention to the performance of their products than to their security. Un- fortunately, this has often a negative impact on several security mechanisms, such as the memory isolation be- tween independent process running on the same GPU (Di Pietro et al., 2013; Maurice et al., 2014). From a defense perspective, the main problem is that neither antivirus softwares nor memory forensics tools are currently able to analyze the content of the GPU memory. However, it is not clear how severe this limitation is in practice, and what is the real level of stealthiness that can be achieved by GPU-assisted malware. In particular, the main goal of this paper is to understand what is the impact of GPU-assisted malware on memory forensics. Are traditional collection and analysis techniques sufficient to detect and fi fully understand the malicious behavior? This is a funda- Fig. 1. A simpli ed view of a GPU-based heterogeneous architecture. The GPUs have access both to a dedicated device memory and to the host mental question for the computer forensic domain. Nowa- memory. days, memory forensics tools have an incomplete view of the system, limited only to the content of the operating system memory. It is very important to understand under introduce four possible attack scenarios and discuss which conditions this piece of information is enough to their impact for a forensic analyst. For each scenario we detect the presence of a malicious activity (even if the implement a different proof-of-concept for Linux and malware relies to a certain extent on the use of the GPU). we report under what conditions the memory analysis Only recently GPUs gained the attention of the digital can be performed through the kernel data structures, forensic community and a common assumption in the cur- the video driver or the GPU memory rent research (Richard, 2015) is that GPU-assisted malware We present a detailed case study on Intel integrated needs at least a component running in the system memory. GPUs, which are part of all modern processors. Our re- If so, the analysis of this component could be sufficient to sults show that an adversary can take advantage of these detect that the malware is using the GPU and maybe even to integrated GPUs to obtain full access to any memory retrieve the purpose of the outsourced computation. page in the host. Even worse, we show how it is possible However, in this paper we show that in certain condi- to obtain a persistent malicious code running on the tions it is possible for an attacker to leave no trace in the OS GPU without any associated process running on the memory. In this case, malware coders have a substantial host. advantage that could only be limited by developing custom techniques to acquire and analyze the internal GPU mem- ory of each vendor (as well as graphic card model, and Background device driver). Unfortunately, this can be a very difficult e and time-demanding task especially for proprietary Modern GPUs are specialized massively parallel pro- products for which no documentation exists about their cessors with hundreds of computational units. In fact, internal data structures. while traditional CPUs dedicate most of their die area to Our goal is to answer a number of very practical ques- cache memory, GPUs dedicate it to logic circuits. The tions. For instance, is it possible for an analyst to identify combination of the two processing units, which takes which processes are using the GPU and which code is being advantage of the CPU for general applications tasks and of executed there? To answer the previous question, is it the GPU for highly parallel computation, is today the most enough to analyze an image of the system memory, or does common example of a heterogeneous architecture (see the analyst need also to inspect the regions memory- Fig. 1 for a simplified example). The host, namely the logical mapped to the video card (potentially containing pro- element containing the CPU, has its own memory and co- prietary data structures) or, worst case, does the internal ordinates the execution of one or more GPUs in a master- memory of the video card also need to be collected and slave configuration. The GPUs, which also have their own analyzed? Which of these questions can be answered by local memory, consist of several identical computational only looking at the system memory? Can the GPU be used units, each containing the same amount of processing el- to implement anti-forensic techniques? To address these ements. A task which is executed on a GPU is called kernel. questions, we designed and implemented a number of tests The GPU drivers manages kernels through the means of and experiments, based on a popular family of Intel GPUs. contexts, the equivalent of a process control block in the To summarize, this paper makes the following GPU.2 A key aspect of this architecture is that the GPU is contributions: also able to directly access arbitrary pages on the host We conduct the first study of the impact of GPU-assisted malware on memory forensics. In particular, we 2 To disambiguate between the operating system kernel and the GPU kernel, the second one will be typed in italic. S18 D. Balzarotti et al. / Digital Investigation 14 (2015) S16eS24 memory. One of the motivation for this is that, in order to scenario, and a more general approach (independent from coordinate the executions of tasks on the GPU, the CPU the device that has been compromised) is needed to handle typically writes commands into a command buffer that is these powerful cases.
Recommended publications
  • Release Notes for X11R6.8.2 the X.Orgfoundation the Xfree86 Project, Inc
    Release Notes for X11R6.8.2 The X.OrgFoundation The XFree86 Project, Inc. 9February 2005 Abstract These release notes contains information about features and their status in the X.Org Foundation X11R6.8.2 release. It is based on the XFree86 4.4RC2 RELNOTES docu- ment published by The XFree86™ Project, Inc. Thereare significant updates and dif- ferences in the X.Orgrelease as noted below. 1. Introduction to the X11R6.8.2 Release The release numbering is based on the original MIT X numbering system. X11refers to the ver- sion of the network protocol that the X Window system is based on: Version 11was first released in 1988 and has been stable for 15 years, with only upwardcompatible additions to the coreX protocol, a recordofstability envied in computing. Formal releases of X started with X version 9 from MIT;the first commercial X products werebased on X version 10. The MIT X Consortium and its successors, the X Consortium, the Open Group X Project Team, and the X.OrgGroup released versions X11R3 through X11R6.6, beforethe founding of the X.OrgFoundation. Therewill be futuremaintenance releases in the X11R6.8.x series. However,efforts arewell underway to split the X distribution into its modular components to allow for easier maintenance and independent updates. We expect a transitional period while both X11R6.8 releases arebeing fielded and the modular release completed and deployed while both will be available as different consumers of X technology have different constraints on deployment. Wehave not yet decided how the modular X releases will be numbered. We encourage you to submit bug fixes and enhancements to bugzilla.freedesktop.orgusing the xorgproduct, and discussions on this server take place on <[email protected]>.
    [Show full text]
  • Reverse Engineering Power Management on NVIDIA Gpus - Anatomy of an Autonomic-Ready System Martin Peres
    Reverse Engineering Power Management on NVIDIA GPUs - Anatomy of an Autonomic-ready System Martin Peres To cite this version: Martin Peres. Reverse Engineering Power Management on NVIDIA GPUs - Anatomy of an Autonomic-ready System. ECRTS, Operating Systems Platforms for Embedded Real-Time appli- cations 2013, Jul 2013, Paris, France. hal-00853849 HAL Id: hal-00853849 https://hal.archives-ouvertes.fr/hal-00853849 Submitted on 23 Aug 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. Reverse engineering power management on NVIDIA GPUs - Anatomy of an autonomic-ready system Martin Peres Ph.D. student at LaBRI University of Bordeaux Hobbyist Linux/Nouveau Developer Email: [email protected] Abstract—Research in power management is currently limited supported nor documented by NVIDIA. As GPUs are leading by the fact that companies do not release enough documentation the market in terms of performance-per-Watt [3], they are or interfaces to fully exploit the potential found in modern a good candidate for a reverse engineering effort of their processors. This problem is even more present in GPUs despite power management features. The choice of reverse engineering having the highest performance-per-Watt ratio found in today’s NVIDIA’s power management features makes sense as they processors.
    [Show full text]
  • High Speed Visualization in the Jetos Aviation Operating System Using Hardware Acceleration*
    High Speed Visualization in the JetOS Aviation Operating System Using Hardware Acceleration* Boris Barladian[0000-0002-2391-2067], Nikolay Deryabin[0000-0003-1248-6047], Alexey Voloboy[0000-0003-1252-8294], Vladimir Galaktionov[0000-0001-6460-7539], and Lev Shapiro[0000-0002-6350-851X] The Keldysh Institute of the Applied Mathematics of RAS, Moscow, Russia [email protected],{voloboy, vlgal, pls}@gin.keldysh.ru Abstract. The paper discusses details of the pilot display visualization that uses the hardware acceleration capabilities of the Vivante graphics processor in the JetOS aviation operating system. Previously the OpenGL Safety Critical library was implemented without hardware acceleration. This was done in such a way because software library is easier to certify in accordance with the avionics re- quirements. But usage of the software OpenGL does not provide acceptable visualization speed for modern Flight Display and 3D relief applications. So more complex visualization approach utilized the GPU acceleration capabilities was elaborated. Although the OpenGL library was implemented for a specific GPU and took into account its specificity, the described approach to adapt the MESA open source library can be used for other GPUs. An effective algorithm for multi-window visualization using the implemented library with hardware acceleration is present. The described approach allows you to achieve the visu- alization speed acceptable for the pilot display of the aircraft. Keywords: Pilot Display, Embedded Systems, Real-time Operating System, OpenGL Safety Critical, Multi-windowing. 1 Introduction In [1] requirements were formulated for a real-time operating system (RTOS) de- signed to work with integrated modular avionics. In particular, the RTOS should comply with the ARINC 653 standard [2].
    [Show full text]
  • Matrox MGA-1064SG Developer Specification
    Matrox Graphics Inc. Matrox MGA-1064SG Developer Specification Document Number 10524-MS-0100 February 10, 1997 Trademark Acknowledgements MGA,™ MGA-1064SG,™ MGA-1164SG,™ MGA-2064W,™ MGA-2164W,™ MGA-VC064SFB,™ MGA-VC164SFB,™ MGA Marvel,™ MGA Millennium,™ MGA Mystique,™ MGA Rainbow Run- ner,™ MGA DynaView,™ PixelTOUCH,™ MGA Control Panel,™ and Instant ModeSWITCH,™ are trademarks of Matrox Graphics Inc. Matrox® is a registered trademark of Matrox Electronic Systems Ltd. VGA,® is a registered trademark of International Business Machines Corporation; Micro Channel™ is a trademark of International Business Machines Corporation. Intel® is a registered trademark, and 386,™ 486,™ Pentium,™ and 80387™ are trademarks of Intel Corporation. Windows™ is a trademark of Microsoft Corporation; Microsoft,® and MS-DOS® are registered trade- marks of Microsoft Corporation. AutoCAD® is a registered trademark of Autodesk Inc. Unix™ is a trademark of AT&T Bell Laboratories. X-Windows™ is a trademark of the Massachusetts Institute of Technology. AMD™ is a trademark of Advanced Micro Devices. Atmel® is a registered trademark of Atmel Corpora- tion. Catalyst™ is a trademark of Catalyst Semiconductor Inc. SGS™ is a trademark of SGS-Thompson. Toshiba™ is a trademark of Toshiba Corporation. Texas Instruments™ is a trademark of Texas Instru- ments. National™ is a trademark of National Semiconductor Corporation. Microchip™ is a trademark of Microchip Technology Inc. All other nationally and internationally recognized trademarks and tradenames are hereby acknowledged. This document contains confidential proprietary information that may not be disclosed without written permission from Matrox Graphics Inc. © Copyright Matrox Graphics Inc., 1997. All rights reserved. Disclaimer: Matrox Graphics Inc. reserves the right to make changes to specifications at any time and without notice.
    [Show full text]
  • Matrox MGA-2164W Developer's Specification
    Matrox Graphics Inc. Matrox MGA-2164W Developer’s Specification Document Number 10568-XX-0100 August 18, 1997 Trademark Acknowledgements MGA,™ MGA-1064SG,™ MGA-1164SG,™ MGA-2064W,™ MGA-2164W,™ MGA-VC064SFB,™ MGA-VC164SFB,™ MGA Marvel,™ MGA Millennium,™ MGA Mystique,™ MGA Rainbow Run- ner,™ MGA DynaView,™ PixelTOUCH,™ MGA Control Panel,™ and Instant ModeSWITCH,™ are trademarks of Matrox Graphics Inc. Matrox® is a registered trademark of Matrox Electronic Systems Ltd. VGA,® is a registered trademark of International Business Machines Corporation; Micro Channel™ is a trademark of International Business Machines Corporation. Intel® is a registered trademark, and 386,™ 486,™ Pentium,™ and 80387™ are trademarks of Intel Corporation. Windows™ is a trademark of Microsoft Corporation; Microsoft,® and MS-DOS® are registered trade- marks of Microsoft Corporation. AutoCAD® is a registered trademark of Autodesk Inc. Unix™ is a trademark of AT&T Bell Laboratories. X-Windows™ is a trademark of the Massachusetts Institute of Technology. AMD™ is a trademark of Advanced Micro Devices. Atmel® is a registered trademark of Atmel Corpora- tion. Catalyst™ is a trademark of Catalyst Semiconductor Inc. SGS™ is a trademark of SGS-Thompson. Toshiba™ is a trademark of Toshiba Corporation. Texas Instruments™ is a trademark of Texas Instru- ments. National™ is a trademark of National Semiconductor Corporation. Microchip™ is a trademark of Microchip Technology Inc. All other nationally and internationally recognized trademarks and tradenames are hereby acknowledged. This document contains confidential proprietary information that may not be disclosed without written permission from Matrox Graphics Inc. © Copyright Matrox Graphics Inc., 1997. All rights reserved. Disclaimer: Matrox Graphics Inc. reserves the right to make changes to specifications at any time and without notice.
    [Show full text]
  • The Linux Graphics Stack Attributions
    I - Hardware : Anatomy of a GPU II - Host : The Linux graphics stack Attributions Introduction to GPUs and to the Linux Graphics Stack Martin Peres CC By-SA 3.0 Nouveau developer Ph.D. student at LaBRI November 26, 2012 1 / 36 I - Hardware : Anatomy of a GPU II - Host : The Linux graphics stack Attributions General overview Outline 1 I - Hardware : Anatomy of a GPU General overview Driving screens Host < − > GPU communication 2 II - Host : The Linux graphics stack General overview DRM and libdrm Mesa X11 Wayland X11 vs Wayland 3 Attributions Attributions 2 / 36 I - Hardware : Anatomy of a GPU II - Host : The Linux graphics stack Attributions General overview General overview of a modern GPU's functions Display content on a screen Accelerate 2D operations Accelerate 3D operations Decode videos Accelerate scientific calculations 3 / 36 I - Hardware : Anatomy of a GPU II - Host : The Linux graphics stack Attributions General overview CPU Clock Front-side Graphics Generator bus card slot Chipset Memory Slots High-speed graphics bus (AGP or PCI Northbridge Memory Express) bus (memory controller hub) Internal Bus PCI Bus Onboard Southbridge graphics PCI (I/O controller controller Bus hub) IDE SATA USB Cables and Ethernet ports leading Audio Codec CMOS Memory off-board PCI Slots LPC Bus Super I/O Serial Port Parallel Port Flash ROM Floppy Disk Keyboard (BIOS) Mouse 4 / 36 I - Hardware : Anatomy of a GPU II - Host : The Linux graphics stack Attributions General overview Hardware architecture GPU: Where all the calculations are made VRAM: Stores
    [Show full text]
  • Mechdyne-TGX-2.1-Installation-Guide
    TGX Install Guide Version 2.1.3 Mechdyne Corporation March 2021 TGX INSTALL GUIDE VERSION 2.1.3 Copyright© 2021 Mechdyne Corporation All Rights Reserved. Purchasers of TGX licenses are given limited permission to reproduce this manual, provided the copies are for their use only and are not sold or distributed to third parties. All such copies must contain the title page and this notice page in their entirety. The TGX software program and accompanying documentation described herein are sold under license agreement. Their use, duplication, and disclosure are subject to the restrictions stated in the license agreement. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license. This publication is provided “as is” without warranty of any kind, either express or implied, including, but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non- infringement. Any Mechdyne Corporation publication may include inaccuracies or typographical errors. Changes are periodically made to these publications, and changes may be incorporated in new editions. Mechdyne may improve or change its products described in any publication at any time without notice. Mechdyne assumes no responsibility for and disclaims all liability for any errors or omissions in this publication. Some jurisdictions do not allow the exclusion of implied warranties, so the above exclusion may not apply. TGX is a trademark of Mechdyne Corporation. Windows® is registered trademarks of Microsoft Corporation. Linux® is registered trademark of Linus Torvalds.
    [Show full text]
  • Intel 815EM Chipset: 82815EM Graphics and Memory Controller
    查询82815E供应商 捷多邦,专业PCB打样工厂,24小时加急出货 R Intel® 815EM Chipset: 82815EM Graphics and Memory Controller Hub (GMCH2-M) Datasheet October 2000 Document Reference Number: 290689-001 Intel® 82815EM GMCH R Information in this document is provided in connection with Intel products. No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted by this document. Except as provided in Intel’s Terms and Conditions of Sale for such products, Intel assumes no liability whatsoever, and Intel disclaims any express or implied warranty, relating to sale and/or use of Intel products including liability or warranties relating to fitness for a particular purpose, merchantability, or infringement of any patent, copyright or other intellectual property right. Intel products are not intended for use in medical, life saving, or life sustaining applications. Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The Intel® 815EM chipset may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request. Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order. I2C is a 2-wire communications bus/protocol developed by Philips. SMBus is a subset of the I2C bus/protocol and was developed by Intel.
    [Show full text]
  • Performance Analysis of Intel Gen9.5 Integrated GPU Architecture
    Performance Analysis of Intel Gen9.5 Integrated GPU Architecture Helder Francisco Pereira Duarte Thesis to obtain the Master of Science Degree in Electrical and Computer Engineering Supervisor(s): Doctor Aleksandar Ilic Examination Committee Chairperson: Doctor António Manuel Raminhos Cordeiro Grilo Supervisor: Doctor Aleksandar Ilic Member of the Committee: Doctor Ricardo Jorge Fernandes Chaves June 2018 Declaration I declare that this document is an original work of my own authorship and that it fulfills all the require- ments of the Code of Conduct and Good Practices of the Universidade de Lisboa. Acknowledgments I would like to thank my family and friends, whose support was paramount to the completion of this thesis, and to INESC-ID Lisboa, for providing the facilities in which this thesis was developed. In particular I would like to thank Diogo Marques for his tips that helped drive my research forward and, of course, to Prof. Aleksander for his incredible patience in dealing with me. i ii Resumo Recentemente os CPUs vemˆ equipados com placas graficas´ integradas. Este acoplamento tem o potencial de oferecer ganhos de desempenho consideraveis´ caso as ditas GPUs sejam usadas como aceleradores. No entanto, placas graficas´ integradas temˆ dificuldade em atingir os n´ıveis de desem- penho que placas discretas proporcionam devido ao menor numero´ de nucleos.´ Contudo, a sua prox- imidade com o CPU significa uma partilha de dados com menos sobrecargas associadas. Ademais, as vantagens de partilhar a hierarquia de memoria´ com o processador e o consumo de energia mais baixo que as placas discretas a` custa de desempenho permite atingir n´ıveis de eficienciaˆ energetica´ mais elevados.
    [Show full text]
  • Fire GL1 User's Guide
    User's Guide DISCLAIMER The manufacturer (MFR) reserves the right to make changes to this document and the products which it describes without notice. The MFR shall not be liable for technical or editorial errors or omissions made herein; not for incidental or consequential damages resulting from the furnishing, performance, or use of this material. The MFR makes no representation that the interconnection of products in the manner described herein will not infringe on existing or future patent rights, nor do the descriptions contained herein imply the granting of license to make, use or sell equipment constructed in accordance with this description. The PCI accelerators have been designed to support the PCI local bus standards. Some computers use proprietary local bus circuitry and therefore may not be fully compatible with the MFR’s local bus cards. Although tested successfully in a wide variety of computer systems, the MFR cannot be held responsible for any incompatibilities which may occur between this card and the system configuration you plan to use. We recommend that you check with the dealer or distributor for your computer system before installing your card. © Copyright 1999 Fire GL Graphics. All rights reserved 2 Table of Contents 1ABOUT FIRE GL1................................................... 5 HARDWARE FEATURES............................................................6 SOFTWARE FEATURES .............................................................6 PROFESSIONAL 3D RENDERING ............................................7
    [Show full text]
  • Linux, Yocto and Fpgas
    Embedded Open Source Experts Linux, Yocto and FPGAs Integrating Linux and Yocto builds into different SoCs From a Linux software perspective: ➤ Increased demand for Linux on FPGAs ➤ Many things to mange, both technical and practical ➤ FPGAs with integrated CPU cores – very similar many other SoCs Here are some experiences and observations... © Codiax 2019 ● Page 2 Why use Linux? ➤ De-facto standard ➤ Huge HW support ➤ FOSS ➤ Flexible ➤ Adaptable ➤ Stable ➤ Scalable ➤ Royalty free ➤ Vendor independent ➤ Large community ➤ Long lifetime Why not Linux? ➤ Too big ➤ Real-time requirements ➤ Certification ➤ Boot time ➤ Licensing ➤ Too open? Desktop Shells: Desktop Display server: Display BrailleDisplay Touch-Screen Mouse & Keyboard Wayland Compositor Wayland + development tools = a lot code!of source Linux system example weston, clayton,mutter,KWin evdev libinput GNOME Shell D radeon nouveau lima etna_viv freedreno tegra-re lima nouveau radeon freedreno etna_viv e libwayland-server libwayland-server s Cinnamon k t o kms p Linux kernel, Linux kernel, Plasma 2 w i (Kernel Mode Setting) Mode (Kernel d g Cairo-Dock e t s drm (Direct Rendering Manager) Rendering (Direct drm cache coherent L2-Caches L2-Caches cache coherent CPU &GPU Enlight. DR19 System libraries: System oflibraries): form (in the Toolkits Interface User µClibc Pango glibc glibc main memory possibly adaptations to Wayland/Mir libwayland / COGL libwayland Cairo Cairo (Xr) GTK+ Clutter 2D Application 2D GModule GThread GThread GLib GObject Glib GIO ATK devicedrivers other& modules System
    [Show full text]
  • Valorisation Du Logiciel Open Source Via HAL Et Software Heritage
    Valorisation du logiciel open source via HAL et Software Heritage Morane Gruenpeter Estelle Nivault Jozefina Sadowska Software Heritage, Inria Inria Inria Journées CasuHAL 07-11 juin 2021 Agenda ★ Contexte ★ Qu’est-ce qu’un logiciel ? ★ Pourquoi partager les codes sources de recherche ? ★ Comment déposer le logiciel dans Hal ? ★ Comment modérer ? ★ Comment citer ? Speaker’s name Journées CasuHAL 07-11 juin 2021 Presentation – city – date 2/10 Contexte - un nouveau type de dépôt HAL Les dates clés Les acteurs ★ 2017 - Collaboration débute ★ mars 2018 - Phase de test sur HAL-Inria ★ septembre 2018 - Ouverture sur HAL ★ avril 2020 - BibLaTeX @software Prochainement: ★ été 2021 - Dépôt avec SWHID Speaker’sMorane name GruenpeterJournées -Journées Journée CasuHAL CasuHAL de la reproducibilité 07-11 juin juin 2021 2021 - 10-05-2021Presentation – city – date 3/10 Qu’est-ce qu’un logiciel ? https://www.reddit.com/r/ProgrammerHumor/comments/70fump/prog ramming_is_magic/ Speaker’sMorane name GruenpeterJournées -Journées Journée CasuHAL CasuHAL de la 07-11 reproducibilité 07-11 juin juin 2021 2021 - 10-05-2021Presentation – city – date 4/10 Le logiciel - un objet digital multiforme “Ensemble des programmes, procédés et règles, et éventuellement de la documentation, relatifs au fonctionnement d'un ensemble de traitement de données.” Le Larousse (date d'accès: 21.5.2021) Le concept logiciel L’objet logiciel ● projet ou entité ● chaque version du code source ● la communauté autour du projet (fichiers textes) ● l’idée / algorithmes / solutions ● les
    [Show full text]