|
|
Books > Computing & IT > Computer hardware & operating systems > Operating systems & graphical user interfaces (GUIs) > General
Get up to speed with the most important concepts in driver
development and focus on common embedded system requirements such
as memory management, interrupt management, and locking mechanisms
Key Features Write feature-rich and customized Linux device drivers
for any character, SPI, and I2C device Develop a deep understanding
of locking primitives, IRQ management, memory management, DMA, and
so on Gain practical experience in the embedded side of Linux using
GPIO, IIO, and input subsystems Book DescriptionLinux is by far the
most-used kernel on embedded systems. Thanks to its subsystems, the
Linux kernel supports almost all of the application fields in the
industrial world. This updated second edition of Linux Device
Driver Development is a comprehensive introduction to the Linux
kernel world and the different subsystems that it is made of, and
will be useful for embedded developers from any discipline. You'll
learn how to configure, tailor, and build the Linux kernel. Filled
with real-world examples, the book covers each of the most-used
subsystems in the embedded domains such as GPIO, direct memory
access, interrupt management, and I2C/SPI device drivers. This book
will show you how Linux abstracts each device from a hardware point
of view and how a device is bound to its driver(s). You'll also see
how interrupts are propagated in the system as the book covers the
interrupt processing mechanisms in-depth and describes every kernel
structure and API involved. This new edition also addresses how not
to write device drivers using user space libraries for GPIO
clients, I2C, and SPI drivers. By the end of this Linux book,
you'll be able to write device drivers for most of the embedded
devices out there. What you will learn Download, configure, build,
and tailor the Linux kernel Describe the hardware using a device
tree Write feature-rich platform drivers and leverage I2C and SPI
buses Get the most out of the new concurrency managed workqueue
infrastructure Understand the Linux kernel timekeeping mechanism
and use time-related APIs Use the regmap framework to factor the
code and make it generic Offload CPU for memory copies using DMA
Interact with the real world using GPIO, IIO, and input subsystems
Who this book is forThis Linux OS book is for embedded system and
embedded Linux enthusiasts/developers who want to get started with
Linux kernel development and leverage its subsystems. Electronic
hackers and hobbyists interested in Linux kernel development as
well as anyone looking to interact with the platform using GPIO,
IIO, and input subsystems will also find this book useful.
Gain practical knowledge of shellcode and leverage it to develop
shellcode for Windows and Linux operating systems, while
understanding the countermeasures in place and how these can be
bypassed Key Features Get up and running with shellcode
fundamentals Develop Shellcode for Windows and Linux Understand the
building blocks of shellcode Book DescriptionShellcoding is a
technique that is executed by many red teams and used in
penetration testing and real-world attacks. Books on shellcode can
be complex, and writing shellcode is perceived as a kind of "dark
art." Offensive Shellcode from Scratch will help you to build a
strong foundation of shellcode knowledge and enable you to use it
with Linux and Windows. This book helps you to explore simple to
more complex examples of shellcode that are used by real advanced
persistent threat (APT) groups. You'll get to grips with the
components of shellcode and understand which tools are used when
building shellcode, along with the automated tools that exist to
create shellcode payloads. As you advance through the chapters,
you'll become well versed in assembly language and its various
components, such as registers, flags, and data types. This
shellcode book also teaches you about the compilers and decoders
that are used when creating shellcode. Finally, the book takes you
through various attacks that entail the use of shellcode in both
Windows and Linux environments. By the end of this shellcode book,
you'll have gained the knowledge needed to understand the workings
of shellcode and build your own exploits by using the concepts
explored. What you will learn Gain a thorough understanding of
shellcode Get to grips with assembly language and its key purpose
in shellcode development Identify key elements of memory registers
Explore debuggers and their use cases Get up and running with
hands-on shellcode creation for both Windows and Linux Exploit
Windows and Linux operating systems using shellcode Assess
countermeasures of Windows and Linux Who this book is forThis book
is for red teamers, penetration testers, and anyone looking to
learn about shellcode and find out how it is used to break into
systems by making use of simple to complex instructions of code in
memory. Basic shellcode knowledge is helpful but not mandatory to
understand the topics covered in this book.
A problem-solution-based guide to help you overcome hurdles
effectively while working with kernel APIs, filesystems, networks,
threads, and process communications Key Features Learn to apply the
latest C++ features (from C++11, 14, 17, and 20) to facilitate
systems programming Create robust and concurrent systems that make
the most of the available hardware resources Delve into C++ inbuilt
libraries and frameworks to design robust systems as per your
business needs Book DescriptionC++ is the preferred language for
system programming due to its efficient low-level computation, data
abstraction, and object-oriented features. System programming is
about designing and writing computer programs that interact closely
with the underlying operating system and allow computer hardware to
interface with the programmer and the user. The C++ System
Programming Cookbook will serve as a reference for developers who
want to have ready-to-use solutions for the essential aspects of
system programming using the latest C++ standards wherever
possible. This C++ book starts out by giving you an overview of
system programming and refreshing your C++ knowledge. Moving ahead,
you will learn how to deal with threads and processes, before going
on to discover recipes for how to manage memory. The concluding
chapters will then help you understand how processes communicate
and how to interact with the console (console I/O). Finally, you
will learn how to deal with time interfaces, signals, and CPU
scheduling. By the end of the book, you will become adept at
developing robust systems applications using C++. What you will
learn Get up to speed with the fundamentals including makefile, man
pages, compilation, and linking and debugging Understand how to
deal with time interfaces, signals, and CPU scheduling Develop your
knowledge of memory management Use processes and threads for
advanced synchronizations (mutexes and condition variables)
Understand interprocess communications (IPC): pipes, FIFOs, message
queues, shared memory, and TCP and UDP Discover how to interact
with the console (console I/O) Who this book is forThis book is for
C++ developers who want to gain practical knowledge of systems
programming. Though no experience of Linux system programming is
assumed, intermediate knowledge of C++ is necessary.
Build complex, observable, and fault-tolerant serverless systems
easily on Microsoft Azure. Key Features Use serverless systems to
help you fulfill complex requirements Develop your knowledge of
Azure Microsoft Serverless Understand concepts with a hands-on
approach and helpful examples Book DescriptionAdvanced Serverless
Architectures with Microsoft Azure redefines your experience of
designing serverless systems. It shows you how to tackle challenges
of varying levels, not just the straightforward ones. You'll be
learning how to deliver features quickly by building systems, which
retain the scalability and benefits of serverless. You'll begin
your journey by learning how to build a simple, completely
serverless application. Then, you'll build a highly scalable
solution using a queue, load messages onto the queue, and read them
asynchronously. To boost your knowledge further, the book also
features durable functions and ways to use them to solve errors in
a complex system. You'll then learn about security by building a
security solution from serverless components. Next, you'll gain an
understanding of observability and ways to leverage application
insights to bring you performance benefits. As you approach the
concluding chapters, you'll explore chaos engineering and the
benefits of resilience, by actively switching off a few of the
functions within a complex system, submitting a request, and
observing the resulting behavior. By the end of this book, you will
have developed the skills you need to build and maintain
increasingly complex systems that match evolving platform
requirements. What you will learn Understand what true serverless
architecture is Study how to extend and scale architectures until
they become 'complex' Implement durable functions in your design
Improve the observability of your serverless architecture Implement
security solutions using serverless services Learn how to
'practise' chaos engineering in production Who this book is
forAdvanced Serverless Architectures with Microsoft Azure is is
ideal if you want to build serverless systems with fewer outages
and high performance using Azure. Familiarity with the C# syntax
and Azure Functions and ARM templates will help you to benefit more
from this book. Prior knowledge of basic front-end development,
HTML JS, and CSS is beneficial but not essential. Some DevOps
knowledge is also beneficial but not essential.
Fast, accurate answers for common Windows Server questions
Serving as a perfect companion to all Windows Server books, this
reference provides you with quick and easily searchable solutions
to day-to-day challenges of Microsoft's newest version of Windows
Server. Using helpful design features such as thumb tabs, tables of
contents, and special heading treatments, this resource boasts a
smooth and seamless approach to finding information. Plus,
quick-reference tables and lists provide additional on-the-spot
answers. Covers such key topics as server roles and functionality,
user and group maintenance, directory management and replication,
and backup and recoveryAddresses automating administrative tasks
and managing server remote accessHelps you with disk management and
storage, folder security, and performance tuningWalks you through
common troubleshooting issues as well as maintaining and
controlling the centralized desktop
"Microsoft Windows Server 2012 Administration Instant Reference"
is a must-have resource for finding quick answers quickly
Master shell basics and Unix tools and discover easy commands to
perform complex tasks with speed Key Features Learn why the Bash
shell is widely used on Linux and iOS Explore advanced shell
concepts, such as pipes and redirection Understand how to use Unix
command-line tools as building blocks for different tasks Book
DescriptionThe most basic interface to a computer-the command
line-remains the most flexible and powerful way of processing data
and performing and automating various day-to-day tasks. Command
Line Fundamentals begins by exploring the basics, and then focuses
on the most common tool, the Bash shell (which is standard on all
Linux and iOS systems). As you make your way through the book,
you'll explore the traditional Unix command-line programs as
implemented by the GNU project. You'll also learn to use
redirection and pipelines to assemble these programs to solve
complex problems. By the end of this book, you'll have explored the
basics of shell scripting, allowing you to easily and quickly
automate tasks. What you will learn Use the Bash shell to run
commands Utilize basic Unix utilities such as cat, tr, sort, and
uniq Explore shell wildcards to manage groups of files Apply useful
keyboard shortcuts in shell Employ redirection and pipes to process
data Write both basic and advanced shell scripts to automate tasks
Who this book is forCommand Line Fundamentals is for programmers
who use GUIs but want to understand how to use the command line to
complete tasks faster.
Over 50 practical recipes that will help you develop and deliver
high-quality and reliable cloud-centric Azure serverless
applications for your organization Key Features Leverage practical
use cases to build a robust serverless environment Enhance Azure
Functions with continuous deployment using Visual Studio Team
Services Deploy and manage cost-effective and highly available
serverless applications using Azure Functions Book
DescriptionMicrosoft provides a solution for easily running small
segments of code in the cloud with Azure Functions. The second
edition of Azure Serverless Computing Cookbook starts with
intermediate-level recipes on serverless computing along with some
use cases demonstrating the benefits and key features of Azure
Functions. You'll explore the core aspects of Azure Functions, such
as the services it provides, how you can develop and write Azure
Functions, and how to monitor and troubleshoot them. As you make
your way through the chapters, you'll get practical recipes on
integrating DevOps with Azure Functions, and providing continuous
integration and continuous deployment with Azure DevOps. This book
also provides hands-on, step-by-step tutorials based on real-world
serverless use cases to guide you through configuring and setting
up your serverless environments with ease. You will also learn how
to build solutions for complex, real-world, workflow-based
scenarios quickly and with minimal code using Durable Functions. In
the concluding chapters, you will ensure enterprise-level security
within your serverless environment. The most common tips and tricks
that you need to be aware of when working with Azure Functions on
production environments will also be covered in this book. By the
end of this book, you will have all the skills required for working
with serverless code architecture, providing continuous delivery to
your users. What you will learn Integrate Azure Functions with
other Azure services Understand cloud application development using
Azure Functions Employ durable functions for developing reliable
and durable serverless applications Use SendGrid and Twilio
services Explore code reusability and refactoring in Azure
Functions Configure serverless applications in a production
environment Who this book is forIf you are a cloud administrator,
architect, or developer who wants to build scalable systems and
deploy serverless applications with Azure Functions, then the Azure
Serverless Computing Cookbook is for you. Hands-on experience with
Microsoft Azure core services is required.
Master the art of developing customized device drivers for your
embedded Linux systems Key Features Stay up to date with the Linux
PCI, ASoC, and V4L2 subsystems and write device drivers for them
Get to grips with the Linux kernel power management infrastructure
Adopt a practical approach to customizing your Linux environment
using best practices Book DescriptionLinux is one of the
fastest-growing operating systems around the world, and in the last
few years, the Linux kernel has evolved significantly to support a
wide variety of embedded devices with its improved subsystems and a
range of new features. With this book, you'll find out how you can
enhance your skills to write custom device drivers for your Linux
operating system. Mastering Linux Device Driver Development
provides complete coverage of kernel topics, including video and
audio frameworks, that usually go unaddressed. You'll work with
some of the most complex and impactful Linux kernel frameworks,
such as PCI, ALSA for SoC, and Video4Linux2, and discover expert
tips and best practices along the way. In addition to this, you'll
understand how to make the most of frameworks such as NVMEM and
Watchdog. Once you've got to grips with Linux kernel helpers,
you'll advance to working with special device types such as
Multi-Function Devices (MFD) followed by video and audio device
drivers. By the end of this book, you'll be able to write
feature-rich device drivers and integrate them with some of the
most complex Linux kernel frameworks, including V4L2 and ALSA for
SoC. What you will learn Explore and adopt Linux kernel helpers for
locking, work deferral, and interrupt management Understand the
Regmap subsystem to manage memory accesses and work with the IRQ
subsystem Get to grips with the PCI subsystem and write reliable
drivers for PCI devices Write full multimedia device drivers using
ALSA SoC and the V4L2 framework Build power-aware device drivers
using the kernel power management framework Find out how to get the
most out of miscellaneous kernel subsystems such as NVMEM and
Watchdog Who this book is forThis book is for embedded developers,
Linux system engineers, and system programmers who want to explore
Linux kernel frameworks and subsystems. C programming skills and a
basic understanding of driver development are necessary to get
started with this book.
|
You may like...
A Duty Of Care
Gerald Seymour
Paperback
R440
R393
Discovery Miles 3 930
|