C++ System Programming Cookbook - Onorato Vaticone

C++ System Programming Cookbook

Practical recipes for Linux system-level programming using the latest C++ features
Buch | Softcover
292 Seiten
2020
Packt Publishing Limited (Verlag)
978-1-83864-655-4 (ISBN)
34,90 inkl. MwSt
Systems programming is about writing software that interacts closely with the underlying OS and other software. The goal of C++ Systems Programming Cookbook is to provide ready to use solutions for the essential aspects of system programming. By the end of the book, you will become adept at developing robust systems applications using C++.
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.

Onorato Vaticone is a software engineer with over 18 years of experience. A C++ expert, he has deep, system-level programming experience. An Agile coach and XP advocate, TDD and Simple Design are his everyday tools. He has worked on real-time systems (defense and energy transmission) with C++. During this time, he learned to write multiplatform code. Early in his career, he realized that a form of agility was needed. He holds an MSc in cloud computing and a BSc in computer engineering and software. He finds learning how things work under the hood to be fascinating!

Table of Contents

Getting Started with System Programming
Revisiting C++
Dealing with Processes and Threads
Deep Dive into Memory Management
Using Mutexes, Semaphores, and Condition Variables
Pipes, First-In First-Out (FIFO), Message Queues, and Shared Memory
Network Programming
Dealing with Console I/O and Files
Dealing with Time Interfaces
Managing Signals
Scheduling

Erscheinungsdatum
Verlagsort Birmingham
Sprache englisch
Maße 75 x 93 mm
Themenwelt Mathematik / Informatik Informatik Betriebssysteme / Server
Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Mathematik / Informatik Informatik Theorie / Studium
ISBN-10 1-83864-655-8 / 1838646558
ISBN-13 978-1-83864-655-4 / 9781838646554
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich