Tizen Bootup

Total Page:16

File Type:pdf, Size:1020Kb

Tizen Bootup Tizen Bootup Xiaoli Gong [email protected] Nankai University, China Tizen logical layers OSP(Open Services Platform, C++ APIs) Tizen physical partitions Storage partitions Tizen filesystems File system is a user interface 5 Mount point 6 Write file system into partitions Write file system into partitions Write file system into partitions How system know file systems In u-boot source code, root file system type is specified: include/configs/tizen.h 10 Root file system mounted by kernel Call stack init/main.c kernel_init_freeable init/do_mounts.c prepare_namespace init/do_mounts.c mount_root_block In this function, the argument “root”, “rootfstype” are recognized,and call do_mount_root to mount the root Create the first process Kernel source : init/main.c kernel_init 12 User space—prepare for init The first process with task id 1 Root of the process tree Take over the orphan process Power off the system …… What’s in /sbin/init 14 systemd What is systemd? • Sysvinit – userspace launch (PID 1) – Only one process at a time running – Simply starting the system and then going to sleep until the next reboot • Systemd – Default init in Fedora 15 and later Leonard Poettering (2009) – improve the software framework for expressing dependencies – allow more processing to be done concurrently or in parallel during system booting – reduce the computational overhead of the shell. Platform bootup https://wiki.tizen.org/wiki/Porting_Guide entry point .target vs .service • .target; service grouping • .service; process run Parsing unit file – example (8/8) • User awareness unit name = “System Initialization” • If emergency is running, wait • Run with local-fs.target, swap.target, sysinit.target.wants • Run after local-fs.target, swap.target, emergency.service, emergency.target • User can control service start and stop local-fs.target /usr/lib/systemd/system/local-fs.target.wants opt.mount [Mount] What=/dev/mmcblk0p6 Where=/opt Type=ext4 Options=defaults Systemd other features Demo What is systemd? Systemd in Tizen System and service manager for tizen systemd Ver. 43 (download http://www.freedesktop.org/software/systemd/) Parallelizes service execution Socket and D-Bus activation for starting services and daemon on-demand starting of daemons Managing the service processes as a group using Linux cgroup Supporting automount points Snapshotting and restoring of services systemd architecture systemd architecture • systemd Utility – monitoring and controlling systemd itself and its services – 'systemctl' developers can query or send control commend to the systemd service manager – 'systemd-journalctl' utility to see log message • systemd target – Tizen boot-up process is split up in various discrete steps and each step are grouped its unit using 'Target' unit to synchronize point – The boot-up process is highly parallelized in each target so that the order in which specific target units are reached in not deterministic • systemd daemon – system and service manager for Tizen platform – acts as init system – 'systemd' daemonruns as user session with '--user' option – 'systemd-journald' is a system service that collects and stores log data from the Kernel, from user processes via syslog or STDOUT/STDERR systemd architecture systemd core manages all units such as service, socket, mount and so on, stores all log data. controlled by using systemd utility like 'systemctl' systemd library & Linux Kernel systemd requires to enable 'cgroup' and 'autofs' option in Kernel configuration It also depends on dbus and some libraries such as libnotify, libudev Platform bootup – sysinit.target Early boot-up scripts Most of file system are mounted and systemd related daemons are launched Kernel dev-hugepages.mount local-fs.target sysinit.target dev-mqueue.mount -.mount proc-sys-fs- boot.mount binfmt_misc.automount csa.mount basic.target sys-fs-fuse-connections.mount fsck-root.service sys-kernel-config.mount media.mount opt-usr.mount bootmode.target sys-kernel-debug.mount sys-kernel-security.mount opt.mount systemd-ask-password- remount-rootfs.service multi-user.target console.path resize2fs-root.service systemd-binfmt.service systemd-remount-api-vfs.service systemd-journald.service var-run.mount graphical.target systemd-modules-load.service systemd-random-seed- socket.target load.service dbus.socket systemd-readahead-collect.service systemd-initctl.socket systemd-readahead-replay.service systemd-journald.socket systemd-sysctl.service systemd-shutdownd.socket systemd-tmpfiles-setup.service telnetd.socket udev-control.socket swap.target udev-kernel.socket Platform bootup – basic.target Basic boot-up All necessary initialization for general purpose daemons are completed Kernel sysinit.target basic.target opt-var-kdb-db-libsqlfs.service opt-var-kdb-db-smack-labels.service bootmode.target smack-default-labeling.service multi-user.target systemd-tmpfiles-clean.timer tizen-debug-level.service graphical.target udev-trigger.service udev.service vconf-setup.service Platform bootup – bootmote.target Select boot mode If kernel boot parameter has ‘charger_detect_boot’, the platform boots up as charging mode Kernel sysinit.target basic.target bootmode.target multi-user.target bootmode-charging.service bootmode-graphical.service graphical.target Platform bootup – multi-user.target Setup a multi-user system which is non-graphical support Launching platform infrastructure daemons (such as dbus, power manager, gps manager, telephony daemon, WRT security daemon, media server, systemd-related daemons) Kernel alarm-server.service avsystem.service sysinit.target bluetooth-address.service bluetooth-frwk-service.service basic.target bluetooth.service dbus.service dlog-main.service bootmode.target dlog-radio.service getty.target gps-manager.service multi-user.target media-server.service nfc-manager.service graphical.target power-manager.service pulseaudio.service secure-storage.service sensor-framework.service system-server.service systemd-ask-password-wall.path systemd-logind.service systemd-user-sessions.service telephony.service Platform bootup – graphical.target Setup a graphical environment System user session for app privilege daemons such as Enlightenment (window manager) Special target for middleware & mobile service Kernel ac.service sysinit.target [email protected] [email protected] [email protected] basic.target xorg.target tizen-mobile-session.target bootmode.target xorg.service wrt-preinstall-widgets.service multi-user.target core-efl.target boot-animation.service graphical.target cbhm.service tizen-middleware.target e17.service indicator.service calendar.service osp-app-service.service contacts-service.service quickpanel.service download-provider.service scim.service email.service starter.path msg-service.service xmodmap.service pushd.service xrdb.service sound-server.service Systemd parsing Platform bootup systemd Control is moved from initramfs to systemd of Tizen platform Run hardware init and fs mount, etc services Bootup process run several units (.target) Different target can be run in parallel Many linux distributions adopt systemd as default Red Hat Enterprise Linux, CentOS, Fedora, Arch Linux, openSUSE Do not use daemon control script (/sbin/init, /etc/init.d/*, /etc/rc*.d) /usr/lib/systemd unit files: service, target, socket, device, mount, automount, path, snapshot, swap, timer systemd utilities: systemctl, notify, analyze, cgis, cgtop, logictl, journalctl, nspawn Parsing unit file – example (1/8) /usr/lib/systemd/system target to parse cat sysinit.target Parsing unit file – example (2/8) Website http://www.freedesktop.org/wiki/software/systemd/ systemd download http://www.freedesktop.org/software/systemd/ manpage Parsing unit file – example (3/8) Can search all function and unit, configuration of systemd enter target index Parsing unit file – example (4/8) target unit file Parsing unit file – example (5/8) Description on unit file option Parsing unit file – example (6/8) Parsing unit file – example (7/8) Parsing unit file – example (8/8) • User awareness unit name = “System Initialization” • If emergency is running, wait • Run with local-fs.target, swap.target, sysinit.target.wants • Run after local-fs.target, swap.target, emergency.service, emergency.target • User can control service start and stop Different Sessions [Unit], [Service], [Install], [Socket], [Swap], [Mount], … example; telephony.service [Unit]; general options unit name = Telephony daemon Run after modem.service [Service]; process options Run telephony-daemon as main process [Install]; actual work of unit excute Create telephony.service symlink at multi-user.target.wants References systemd official Site http://www.freedesktop.org/wiki/Software/systemd/ systemd FAQ (written by developer) http://0pointer.de/blog/projects/the-biggest-myths Homework Finish porting Tizen to Odroid-U3 Submit a report about your porting procedure Reference http://nyx.skku.ac.kr/?page_id=201 for troubleshooting Acknowledgement This project is partially sponsored by Tianjin Samsung Electronics Co., Ltd. Special thanks to SKKU Embedded Software Laboratory. This material is based on the lecture provided by them, and the credit goes to the original authors..
Recommended publications
  • Tizen IVI “From Scratch” Customizing, Building and Testing
    Tizen IVI “from scratch” Customizing, building and testing Stéphane Desneux Senior Software Engineer Eurogiciel <[email protected]> Eurogiciel ● Open source development and integration: ● Maintainers in multiple domains on tizen.org ● Embedded systems for real-time multimedia: ▪ Widi/Miracast stack ▪ Wayland/Weston ▪ Webkit2 browser with HW acceleration ● Applications: HTML5/CSS3, jquery, jqmobi, Cordova ● Location : Vannes (Brittany), France 14 2 FOSDEM' Automotive devroom – Tizen “from scratch” : customize, build, test ! Agenda ● Tizen & Tizen:IVI : short introduction ● From source code to target devices ● Customize ● Build ● Flash, Run, Test ! 14 3 FOSDEM' Automotive devroom – Tizen “from scratch” : customize, build, test ! Tizen: a short introduction Definition ● Open source project ● Hosted at the Linux Foundation ● Innovative Web-based platform for multiple devices ● Sponsored by worldwide companies ● Samsung & Intel are two big contributors ● Built on industry standards: ● GNU/Linux kernel, GNU libc ● POSIX ● W3C ● Many upstream Open Source projects 14 5 FOSDEM' Automotive devroom – Tizen “from scratch” : customize, build, test ! Tizen Profiles ● Multiple vertical profiles (derived from Tizen:Generic) ● IVI ● Mobile ● Future: other devices (TV, ...) ● Each profile adds its own enhancements ● Tizen packaging format: RPM 14 6 FOSDEM' Automotive devroom – Tizen “from scratch” : customize, build, test ! From source code … … to target devices 1: Source code GIT Repositories Remote Local Clone source repo Developers
    [Show full text]
  • The Linux Kernel Module Programming Guide
    The Linux Kernel Module Programming Guide Peter Jay Salzman Michael Burian Ori Pomerantz Copyright © 2001 Peter Jay Salzman 2007−05−18 ver 2.6.4 The Linux Kernel Module Programming Guide is a free book; you may reproduce and/or modify it under the terms of the Open Software License, version 1.1. You can obtain a copy of this license at http://opensource.org/licenses/osl.php. This book is distributed in the hope it will be useful, but without any warranty, without even the implied warranty of merchantability or fitness for a particular purpose. The author encourages wide distribution of this book for personal or commercial use, provided the above copyright notice remains intact and the method adheres to the provisions of the Open Software License. In summary, you may copy and distribute this book free of charge or for a profit. No explicit permission is required from the author for reproduction of this book in any medium, physical or electronic. Derivative works and translations of this document must be placed under the Open Software License, and the original copyright notice must remain intact. If you have contributed new material to this book, you must make the material and source code available for your revisions. Please make revisions and updates available directly to the document maintainer, Peter Jay Salzman <[email protected]>. This will allow for the merging of updates and provide consistent revisions to the Linux community. If you publish or distribute this book commercially, donations, royalties, and/or printed copies are greatly appreciated by the author and the Linux Documentation Project (LDP).
    [Show full text]
  • Linux Sound Subsystem Documentation Release 4.13.0-Rc4+
    Linux Sound Subsystem Documentation Release 4.13.0-rc4+ The kernel development community Sep 05, 2017 CONTENTS 1 ALSA Kernel API Documentation 1 1.1 The ALSA Driver API ............................................ 1 1.2 Writing an ALSA Driver ........................................... 89 2 Designs and Implementations 145 2.1 Standard ALSA Control Names ...................................... 145 2.2 ALSA PCM channel-mapping API ..................................... 147 2.3 ALSA Compress-Offload API ........................................ 149 2.4 ALSA PCM Timestamping ......................................... 152 2.5 ALSA Jack Controls ............................................. 155 2.6 Tracepoints in ALSA ............................................ 156 2.7 Proc Files of ALSA Drivers ......................................... 158 2.8 Notes on Power-Saving Mode ....................................... 161 2.9 Notes on Kernel OSS-Emulation ..................................... 161 2.10 OSS Sequencer Emulation on ALSA ................................... 165 3 ALSA SoC Layer 171 3.1 ALSA SoC Layer Overview ......................................... 171 3.2 ASoC Codec Class Driver ......................................... 172 3.3 ASoC Digital Audio Interface (DAI) .................................... 174 3.4 Dynamic Audio Power Management for Portable Devices ...................... 175 3.5 ASoC Platform Driver ............................................ 180 3.6 ASoC Machine Driver ............................................ 181 3.7 Audio Pops
    [Show full text]
  • The GNOME Census: Who Writes GNOME?
    The GNOME Census: Who writes GNOME? Dave Neary & Vanessa David, Neary Consulting © Neary Consulting 2010: Some rights reserved Table of Contents Introduction.........................................................................................3 What is GNOME?.............................................................................3 Project governance...........................................................................3 Why survey GNOME?.......................................................................4 Scope and methodology...................................................................5 Tools and Observations on Data Quality..........................................7 Results and analysis...........................................................................10 GNOME Project size.......................................................................10 The Long Tail..................................................................................11 Effects of commercialisation..........................................................14 Who does the work?.......................................................................15 Who maintains GNOME?................................................................17 Conclusions........................................................................................22 References.........................................................................................24 Appendix 1: Modules included in survey...........................................25 2 Introduction What
    [Show full text]
  • Features Ask Klaus!
    FEATURES Ask Klaus! Klaus Knopper answers your Linux questions Thanks for reading this, Klaus; it really means a lot to me that you take time to help out the Linux community. Mark Mina If I’m not completely mistaken (having no such model for test- ing), the main challenge with this note- AskBy Klaus Knopper Klaus! book really seems to be the graphics Knoppix Install adapter, which is a hybrid Intel + ATI/ Hello, Klaus. I have been using your AMD RadeonHD 6550M. You will most OS version 6.4 as supplied on the likely need a new kernel (at least 2.6.38 DVD with the January 2011 Linux Maga- or 2.6.39) with the Radeon DRM module zine. I like it so much that I would like to and Xorg 1.10 with the xorg-video- install it on the hard drive on one of my radeon driver, which is currently in De- machines. I have looked through the bian/ unstable. This is quite distro-inde- files but cannot find a way to install it. pendent; the most recently released ones Can you please advise? I am not on the will be the best candidates. Internet but hope to be on in the next You may also succeed by switching off couple of months. Best Regards, John one of the graphics chipsets in the BIOS Stirling and explicitly configuring the other in Xorg. The Intel version may be a good A Knoppix harddisk install option candidate. For Knoppix, try to boot with: exists in the Preferences menu with the “0wn” (“zero work needed”) knoppix xmodule=intel utility.
    [Show full text]
  • Pipewire: a Low-Level Multimedia Subsystem
    Proceedings of the 18th Linux Audio Conference (LAC-20), SCRIME, Université de Bordeaux, France, November 25–27, 2020 PIPEWIRE: A LOW-LEVEL MULTIMEDIA SUBSYSTEM Wim Taymans ∗ Principal Software Engineer Red Hat, Spain [email protected] ABSTRACT 2. LINUX AUDIO LANDSCAPE PipeWire is a low-level multimedia library and daemon that facili- Audio support on Linux first appeared with the Open Sound System tates negotiation and low-latency transport of multimedia content be- (OSS) [6] and was until the 2.4 kernel the only audio API available tween applications, filters and devices. It is built using modern Linux on Linux. It was based around the standard Unix open/close/read- infrastructure and has both performance and security as its core de- /write/ioctl system calls. sign guidelines. The goal is to provide services such as JACK and OSS was replaced by the Advanced Linux Sound Architecture PulseAudio on top of this common infrastructure. PipeWire is media (ALSA) [7]from Linux 2.5. ALSA improved on the OSS API and agnostic and supports arbitrary compressed and uncompressed for- included a user space library that abstracted many of the hardware mats. A common audio infrastructure with backwards compatibility details. The ALSA user-space library also includes a plugin infras- that can support Pro Audio and Desktop Audio use cases can poten- tructure that can be used to create new custom devices and plugins. tially unify the currently fractured audio landscape on Linux desk- Unfortunately, the plugin system is quite static and requires editing tops and workstations and give users and developers a much better of configuration files.
    [Show full text]
  • Absolute BSD—The Ultimate Guide to Freebsd Table of Contents Absolute BSD—The Ultimate Guide to Freebsd
    Absolute BSD—The Ultimate Guide to FreeBSD Table of Contents Absolute BSD—The Ultimate Guide to FreeBSD............................................................................1 Dedication..........................................................................................................................................3 Foreword............................................................................................................................................4 Introduction........................................................................................................................................5 What Is FreeBSD?...................................................................................................................5 How Did FreeBSD Get Here?..................................................................................................5 The BSD License: BSD Goes Public.......................................................................................6 The Birth of Modern FreeBSD.................................................................................................6 FreeBSD Development............................................................................................................7 Committers.........................................................................................................................7 Contributors........................................................................................................................8 Users..................................................................................................................................8
    [Show full text]
  • Audio on Linux: End of a Golden Age?
    Audio on Linux: End of a Golden Age? Lars-Peter Clausen – Analog Devices Agenda ● History – Major transitions in software and hardware architecture ● Present – A look at the current situation – Are we in a golden age? ● Future – What major transitions lie ahead of us – How are we going to react to them? Interdependent vs. Modular Interdependent ● No clear boundaries defined between sub- modules ● Different sub-modules are aware of each others internals – Creates dependencies ● Parts can't be upgraded or modified independently of each other Modular ● Partitioning in sub-modules ● Clearly defined functions and interfaces ● Parts can be changed independently of each other – Drop-in replacements ● Constraint by the interface History Humble Beginnings PC Speaker (Beeper) ● Found in all IBM compatible PCs – Present in the first IBM PC 5150 (1981) ● Has only two states – Toggling a specific frequency generates a tone (PWM) ● Magnetic or Piezoelectric plate ● In Linux supported by the input framework Extending Features Soundblaster ● First widespread consumer sound card – Soundblaster 1.0 release in 1989 ● Primarily synthesizer based ● Mono PCM channel ● Became defacto standard for consumer sound cards – Many applications expected a sound blaster interface – Other manufacturers included a Soundblaster compatibility mode in their hardware Audio on Linux Open Sound System (OSS) Open Sound System (OSS) ● Used to be default audio subsystem in v2.4 ● /dev/dsp interface – To playback audio use write() – To capture audio use read() – Some IOCTLs for
    [Show full text]
  • Long Comment Regarding a Proposed Exemption Under 17 U.S.C. 1201 for Software Freedom Conservancy Proposed Class: 20 – Smart T
    Long Comment Regarding a Proposed Exemption Under 17 U.S.C. 1201 For Software Freedom Conservancy Proposed Class: 20 – Smart TVs No multimedia evidence is being provided in connection with this comment Item 1. Commenter Information The Petition submitter is Software Freedom Conservancy (“Conservancy”), a 501(c)(3) not-for-profit organization that helps promote, improve, develop, and defend Free, Libre, and Open Source Software (“FLOSS”)—software developed by volunteer communities and licensed for the benefit of everyone. Conservancy is the nonprofit home for dozens of FLOSS projects representing well over a thousand volunteer contributors. Conservancy's communities maintain some of the most fundamental utilities in computing today, and introduce innovations that will shape how software will be created in the future. Among the projects for which Conservancy provides logistical, administrative, and legal support are BusyBox and Samba, both of which are commonly installed on “smart” or computer- embedded consumer electronics devices. BusyBox provides a number of key system utilities that enable such devices to run applications, interact with files, access network services, and more.1 It is also used by community projects focused on unlocking and improving Samsung-2 and LG- manufactured Smart TVs.3 Samba permits devices to interact with files stored on other networked devices.4 Conservancy also represents the interests of several contributors to the Linux kernel, the core component of the operating system of most Smart TVs. Conservancy may be contacted through its authorized representatives and pro bono counsel at Tor Ekeland, P.C., 195 Plymouth Street, Brooklyn, New York 11201: Aaron Williamson Frederic Jennings (718) 285-9349 (718) 514-2075 [email protected] [email protected] Item 2.
    [Show full text]
  • Tizen Based Remote Controller CAR Using Raspberry Pi2
    #ELC2016 Tizen based remote controller CAR using raspberry pi2 Pintu Kumar ([email protected], [email protected]) Samsung Research India – Bangalore : Tizen Kernel/BSP Team Embedded Linux Conference – 06th April/2016 1 CONTENT #ELC2016 • INTRODUCTION • RASPBERRY PI2 OVERVIEW • TIZEN OVERVIEW • HARDWARE & SOFTWARE REQUIREMENTS • SOFTWARE CUSTOMIZATION • SOFTWARE SETUP & INTERFACING • HARDWARE INTERFACING & CONNECTIONS • ROBOT CONTROL MECHANISM • SOME RESULTS • CONCLUSION • REFERENCES Embedded Linux Conference – 06th April/2016 2 INTRODUCTION #ELC2016 • This talk is about designing a remote controller robot (toy car) using the raspberry pi2 hardware, pi2 Linux Kernel and Tizen OS as platform. • In this presentation, first we will see how to replace and boot Tizen OS on Raspberry Pi using the pre-built Tizen images. Then we will see how to setup Bluetooth, Wi-Fi on Tizen and finally see how to control a robot remotely using Tizen smart phone application. Embedded Linux Conference – 06th April/2016 3 RASPBERRY PI2 - OVERVIEW #ELC2016 1 GB RAM Embedded Linux Conference – 06th April/2016 4 Raspberry PI2 Features #ELC2016 • Broadcom BCM2836 900MHz Quad Core ARM Cortex-A7 CPU • 1GB RAM • 4 USB ports • 40 GPIO pins • Full HDMI port • Ethernet port • Combined 3.5mm audio jack and composite video • Camera interface (CSI) • Display interface (DSI) • Micro SD card slot • Video Core IV 3D graphics core Embedded Linux Conference – 06th April/2016 5 PI2 GPIO Pins #ELC2016 Embedded Linux Conference – 06th April/2016 6 TIZEN OVERVIEW #ELC2016 Embedded Linux Conference – 06th April/2016 7 TIZEN Profiles #ELC2016 Mobile Wearable IVI TV TIZEN Camera PC/Tablet Printer Common Next?? • TIZEN is the OS of everything.
    [Show full text]
  • Daemon Threads
    Daemon threads Your operating system has various threads that provide services to user threads. That’s their sole purpose: to serve user threads. The term originated with the Unix operating system, but most operating systems have them in one form or another, with slightly differing properties. Examples are: • In Unix, crond is job scheduler, running jobs in the background. Line printer daemon lpd manages printer spooling. • In Windows systems, daemons are called Windows services. One such is Prefetch-and-Superfetch, which caches frequently used files and other components to RAM. The DNS Client resolves domain names to IP addresses. • In Java, the garbage collector is a daemon, continuously finding objects that cannot be reached from the Java program and putting the memory they occupy on a “free list” so the memory can be used for some other purpose. We won’t be writing Java programs that use daemon threads. (Look at the next page for a realistic use of a daemon thread.) Nevertheless, a basic understanding of daemons, including where the word came from, is useful. The basic property of a Java daemon thread In Java, suppose your main-program thread is named t. Suppose t creates and starts threads t1, t2, and t3. Suppose also that it has made t3 a daemon (we show how to do this later). Here is the basic difference be- tween t3 and the other threads: When thread t, t1, and t2 die (i.e. complete method run()), daemon thread t3 is killed. Thus, as long as one normal thread is alive, daemon threads stay alive.
    [Show full text]
  • Hardening Linux Processes Extending Grsecurity to Integrate System Call Filters and Namespaces
    Universidad de Los Andes Tesis de Maestr´ıa Hardening Linux Processes Extending Grsecurity to Integrate System Call Filters and Namespaces David Derby Cardona Facultad de Ingenier´ıa Departamento de Ingenier´ıade Sistemas y Computaci´on June 2016 Universidad de Los Andes Tesis de Maestr´ıa Hardening Linux Processes Extending Grsecurity to Integrate System Call Filters and Namespaces David Derby Cardona Asesor: Sandra Rueda Rodr´ıguez Jurados: Rafael G´omezD´ıaz Fabian Molina Molina Facultad de Ingenier´ıa Departamento de Ingenier´ıade Sistemas y Computaci´on June 2016 Abstract The area of Linux sandboxing has seen various developments in recent years with the intro- duction of operating system containers and the ever present need to harden the security of applications. Two of the more prominent technologies that have been used when creating sandboxes are namespaces and system call filters. Whilst these technologies have been ef- fective for creating sandboxes, they are limited in that they require a developer to integrate them into their software. This work proposes to use these two technologies to enforce the Principle of Least Privilege on every process on a system. The solution extends a grsecurity hardened Linux kernel and allows the user to define security policies for each process which permit them to behave as intended. The presented results demonstrate the effectiveness of the extended Linux kernel and its impact on performance. The results provide a basis that may be built upon to deliver a comprehensive solution that would be appealing for use in real world environments. 1 Contents Abstract 1 Index of Figures 4 Index of Tables 5 1 Introduction 1 2 Context and Problem Description 3 2.1 Linux .
    [Show full text]