Andreev D., Lazarova M., Lukanov S. - C++ Programming for Linux Systems: Create robust enterprise software for Linux and Unix-based operating systems / Программирование на C++ для систем Linux [2023, PDF, EPUB, MOBI, ENG]

Ответить на тему
Статистика раздачи
Размер:  14 MB   |    Зарегистрирован:  7 месяцев 1 день   |    Скачан:  1 раз
Сидов:  754  [  0 KB/s  ]   Личеров:  3  [  0 KB/s  ]   Подробная статистика пиров
 
   
 
 
Автор Сообщение

iPhone ®

Пол:

Стаж: 8 лет 10 месяцев

Сообщений: 2152

Создавать темы 27-Сен-2023 14:10

[Цитировать]

C++ Programming for Linux Systems: Create robust enterprise software for Linux and Unix-based operating systems / Программирование на C++ для систем Linux: Создание надежного корпоративного программного обеспечения для операционных систем на базе Linux и Unix
Год издания: 2023
Автор: Andreev D., Lazarova M., Lukanov S. / Андреев Д., Лазарова М., Луканов С.
Издательство: Packt Publishing
ISBN: 978-1-80512-900-4
Язык: Английский
Формат: PDF (Not True), EPUB, MOBI
Качество: Издательский макет или текст (eBook)
Интерактивное оглавление: Да
Количество страниц: 328
Описание: Boost your C++ skills by working through realistic examples and exploring system specifications
Key Features
Master essential skills to build robust Linux systems
Explore hands-on examples to demystify crucial development concepts, upskilling your system programming abilities
Master the art of creating software for Linux systems and supercharge your C++ skills
Purchase of the print or Kindle book includes a free PDF eBook
Book Description
Around 35 million Linux and almost 2 billion Android users rely on C++ for everything from the simplest embedded and IoT devices to cloud services, supercomputing, and space exploration. To help you produce high-quality software, two industry experts have transformed their knowledge and experience into practical examples in system programming with C++ Programming for Linux Systems.
In this book, you’ll explore the latest C++20 features, while working on multiple specific use cases. You’ll get familiar with the coroutines and modern approaches in concurrent and multithreaded programming. You’ll also learn to reshape your thinking when analyzing system behavior in Linux (POSIX) environments. Additionally, you’ll discover advanced discussions and novel solutions for complex challenges, while approaching trivial system operations with a new outlook and learning to choose the best design for your particular case.
You can use this workbook as an introduction to system programming and software design in Linux or any Unix-based environment. You’ll also find it useful as a guideline or a supplement to any C++ book.
By the end of this book, you’ll have gained advanced knowledge and skills for working with Linux or any Unix-based environment.
What you will learn
Use C++20 features to craft elegant, efficient, and modern code for Linux systems
Acquire essential system programming skills with hands-on examples
Develop a deep understanding of Linux programming, from embedded systems to cloud services
Tailor your applications to exploit the strengths and mitigate the weaknesses of different architectures
Merge advanced C++, system programming, Linux insights, and architecture to create exceptional software
Boost your code quality by using system programming techniques to refine and optimize your codebase
Who This Book Is For
This book is for every software developer looking to improve and update their C++ development skills. Both students and professionals will find this book useful as the examples are curated to match any area of expertise and are easily adaptable. At the same time, they don’t lose focus of the system specifics. A basic understanding of operating systems’ interfaces is a must along with experience in software development.
Повысьте свои навыки работы с C++, работая с реалистичными примерами и изучая системные спецификации
Ключевые функции
Овладейте необходимыми навыками для создания надежных систем Linux
Изучите практические примеры, чтобы прояснить важнейшие концепции разработки и развить свои способности в системном программировании
Овладейте искусством создания программного обеспечения для систем Linux и улучшите свои навыки работы с C++
Описание книги
Около 35 миллионов пользователей Linux и почти 2 миллиарда пользователей Android полагаются на C++ во всем - от простейших встраиваемых устройств и устройств Интернета вещей до облачных сервисов, суперкомпьютеров и освоения космоса. Чтобы помочь вам создавать высококачественное программное обеспечение, два отраслевых эксперта воплотили свои знания и опыт в практические примеры системного программирования с помощью C++ Programming for Linux Systems.
В этой книге вы познакомитесь с новейшими возможностями C++20, работая над несколькими конкретными вариантами использования. Вы познакомитесь с сопрограммами и современными подходами в параллельном и многопоточном программировании. Вы также научитесь изменять свое мышление при анализе поведения системы в средах Linux (POSIX). Кроме того, вы познакомитесь с расширенными дискуссиями и новыми решениями для сложных задач, одновременно подходя к тривиальным системным операциям с новым взглядом и учась выбирать наилучший дизайн для вашего конкретного случая.
Вы можете использовать эту книгу в качестве введения в системное программирование и разработку программного обеспечения в Linux или любой другой среде на базе Unix. Вы также найдете её полезной в качестве руководства или дополнения к любой книге по C++.
К концу этой книги вы приобретете передовые знания и навыки для работы с Linux или любой другой средой на базе Unix.
Чему вы научитесь
Использовать возможности C++20 для создания элегантного, эффективного и современного кода для систем Linux
Приобретёте необходимые навыки системного программирования на практических примерах
Развьете глубокое понимание программирования на Linux, от встраиваемых систем до облачных сервисов
Адаптировать свои приложения таким образом, чтобы использовать сильные стороны и смягчать недостатки различных архитектур
Объедините передовые знания C++, системного программирования, Linux insights и архитектуры для создания исключительного программного обеспечения
Повысите качество вашего кода, используя методы системного программирования для уточнения и оптимизации вашей кодовой базы
Для кого предназначена Эта книга
Эта книга предназначена для каждого разработчика программного обеспечения, стремящегося улучшить свои навыки разработки на C++. Как студенты, так и профессионалы найдут эту книгу полезной, поскольку примеры подобраны таким образом, чтобы соответствовать любой области знаний, и их легко адаптировать. В то же время они не упускают из виду специфику системы. Базовое понимание интерфейсов операционных систем является обязательным наряду с опытом разработки программного обеспечения.

Примеры страниц

Оглавление

Preface
Part 1: Securing the Fundamentals
1
Getting Started with Linux Systems and the POSIX
Standard
Technical requirements
Getting familiar with the concept of OSs
Types of OSs
Linux in short
Getting to know the Linux kernel
Introducing the system call interface and system programming
Navigating through files, processes, and threads
File
Process and thread
Types of processes based on their running mode
Running services with init and systemd
Portable Operating System Interface (POSIX)
Summary
2
Learning More about Process Management
Technical requirements
Disassembling process creation
Memory segments
Continuing with process states and some scheduling mechanisms
Scheduling mechanisms
Scheduling at a high level
Scheduling at a low level
Learning more about process creation
Introducing fork()
exec and clone()
Terminating a process
Blocking a calling process
Introducing the system calls for thread manipulation in C++
Joining and detaching threads
Thread termination
Summary
3
Navigating through the Filesystems
Technical requirements
Going through Linux’s filesystem fundamentals
Linux’s FS
Directory structure and partitioning
Linux FS objects
Executing FS operations with C++
IPC through anonymous pipes and named pipes
Anonymous or unnamed pipes
Named pipes
Briefly observing signal handling
Summary
4
Diving Deep into the C++ Object
Technical requirements
Understanding the C++ object model
Declaration versus definition
Scope, storage duration, and lifetimes
The object
The reference
Understanding why initialization matters
Functors and lambdas
Exploring functional objects
Lambda expressions
Summary
5
Handling Errors with C++
Technical requirements
Handling errors from POSIX APIs with C++
Using std::error_code and std::error_condition
From error codes to exceptions
std::system_error
Throw by value, catch by reference
try/catch … finally
Summary
Part 2: Advanced Techniques for System Programming
6
Concurrent System Programming with C++
Technical requirements
What is concurrency?
Threads versus processes
Concurrency with C++
Demystifying race conditions and data races
How do we avoid them?
Practical multithreading
Hello C++ jthread
Canceling threads – is this really possible?
std::stop_source
Sharing data during parallel execution
Barriers and latches
Summary
7
Proceeding with Inter-Process Communication
Technical requirements
Introducing MQs and the pub/sub mechanism
The pub/sub mechanism
Guaranteeing atomic operations through semaphores and mutual
exclusions
Semaphore
Mutual exclusion (mutex)
Using shared memory
Learning about mmap() and shm_open()
Communicating through the network with sockets
Overview of the OSI model
Getting familiar with networking through UDP
Thinking about robustness through TCP
Summary
8
Using Clocks, Timers, and Signals in Linux
Technical requirements
Handling time in Linux
Linux epoch
Using timers in Linux
POSIX timer characteristics
Handling time in C++
Using clocks, timers, and ratios
More about clocks in C++20
Using calendar and time zone capabilities
Working with time zones in C++
Summary
9
Understanding the C++ Memory Model
Technical requirements
Getting to know smart pointers and optionals in C++
Retracing RAII via smart pointers
Doing a lazy initialization in C++
Learning about condition variables, read-write locks, and ranges
in C++
Cooperative cancellation through condition variables
Combining smart pointers, condition variables, and shared
memory
Implementing read-write locks and ranges with C++
Discussing multiprocessor systems – cache locality and cache
friendliness in C++
Considering cache locality through cache-friendly code
A glance at false sharing
Sharing resources larger than a cache line in C++
Revisiting shared resources through the C++ memory model via
spinlock implementation
Introducing the memory_order type in C++
Designing spinlocks for multiprocessor systems in C++
Summary
10
Using Coroutines in C++ for System Programming
Technical requirements
Introducing coroutines
The coroutine facility in C++
Network programming and coroutines in C++
Revisiting the shared memory problem through coroutines in C++
Final thoughts on coroutines and their implementations in C++
Summary
Index
Other Books You May Enjoy
[only-soft.org].t185791.torrent
Торрент: Зарегистрирован   [ 2023-09-27 14:10 ]

5 KB

Статус: проверено
Скачан: 1 раз
Размер: 14 MB
Оценка: 
(Голосов: 0)
Поблагодарили: 0  Спасибо
Andreev D., Lazarova M., Lukanov S. - C++ Programming for Linux Systems: Create robust enterprise software for Linux and Unix-based operating systems / Программирование на C++ для систем Linux [2023, PDF, EPUB, MOBI, ENG] скачать торрент бесплатно и без регистрации
[Профиль] [ЛС]
Показать сообщения:    
Ответить на тему

Текущее время: Сегодня, в 20:05

Часовой пояс: GMT + 4



Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы