Embedded Operating Systems: A Practical Approach (Undergraduate Topics in Computer Science)
Alan Holt, Chi-Yu Huang
Format: PDF / Kindle (mobi) / ePub
This practically-oriented textbook/reference provides a clear introduction to the different component parts of an operating system and how these work together.
The easy-to-follow text covers the bootloader, kernel, filesystem, shared libraries, start-up scripts, configuration files and system utilities. The procedure for building each component is described in detail, guiding the reader through the process of creating a fully functional GNU/Linux embedded operating system.
Topics and features:
* Presents a concise overview of the GNU/Linux system, and a detailed review of GNU/Linux filesystems
* Describes how to build an embedded system to run on a virtual machine, and to run natively on an actual processor
* Introduces the concept of the compiler toolchain, demonstrating how to develop a cross toolchain so that programs can be built on a range of different architectures
* Discusses the ARM-based platforms BeagleBone and Raspberry Pi
* Explains how to build OpenWRT firmware images for OMxP Open-mesh devices and the Dragino MS14 series
Ideal for undergraduate and graduate level students studying operating systems, the book will also prove to be highly useful to industry professionals involved in this area.
Operations it could be expanded to support the other file system calls. 18.104.22.168 FIFOs and Unix Domain Sockets FIFOs and Unix domain sockets are similar concepts so we will describe them together in this subsection. FIFOs are sometimes called named pipes because they appear as a file object within the filesystem, and so, must have a name. Unlike “unnamed” pipes, FIFOs exist after the process that created them has been terminated. For example, create a FIFO mypipe with the command-line below:.
The other is for the slave. Create the ptmx device: Create real time clock device: The null device acts as a data sink for write operations and zero returns 0 characters when read. Create null and zero devices: While null and zero are treated as “devices” they do not correspond to actual physical hardware. Create the block devices for the hard disk, which in this case, is a compact flash card: The hda device is the disk itself, while the hda1 and hda2 devices are partitions of the disk.
Available from expansion headers. This chapter is organised into two sections, one for each system. We show how to get started with each system and how to access them. We also take the opportunity to explore the physical computing features they provide. Fig. 7.1Raspberry Pi. Model A (left), model B (right) 7.1 Raspberry Pi The Raspberry Pi is a small form factor desktop PC but is also suited to embedded applications. The board features a Broadcom BCM2835 SoC (system on a chip) with a.
Storage device on the host PC: This USB interface can also be used for IP networking. The difference between the two models is that the BeagleBone Black can support both services simultaneously whereas the original BeagleBone can only support one or other. If we look at the modules on the original BeagleBone, we see the g_mass_storage module is currently loaded: In order to establish networking between the host PC and the original BeagleBone we need to eject the storage device on the host:.
Bootloaders available for booting Linux kernels. A few of the popular ones are described below: LILO The Linux loader (LILO) was the default loader for GNU/Linux distributions in the early years. LILO has been superseded by GRUB as the default bootloader. GNU GRUB Grand unified bootloader is a sophisticated bootloader that is used extensively with GNU/Linux systems. It comes in two flavours, GRUB 1 and GRUB 2. However, there is no longer any development for GRUB 1 and it is being phased out in.