Skip to main content

2021 | Buch

Practical System Programming with C

Pragmatic Example Applications in Linux and Unix-Based Operating Systems

insite
SUCHEN

Über dieses Buch

This book teaches system programming with the latest versions of C through a set of practical examples and problems. It covers the development of a handful of programs, implementing efficient coding examples.

Practical System Programming with C contains three main parts: getting your hands dirty with multithreaded C programming; practical system programming using concepts such as processes, signals, and inter-process communication; and advanced socket-based programming which consists of developing a network application for reliable communication.

You will be introduced to a marvelous ecosystem of system programming with C, from handling basic system utility commands to communicating through socket programming. With the help of socket programming you will be able to build client-server applications in no time.

The “secret sauce” of this book is its curated list of topics and solutions, which fit together through a set of different pragmatic examples; each topic is covered from scratch in an easy-to-learn way. On that journey, you’ll focus on practical implementations and an outline of best practices and potential pitfalls. The book also includes a bonus chapter with a list of advanced topics and directions to grow your skills.

What You Will Learn

Program with operating systems using the latest version of C Work with Linux Carry out multithreading with C Examine the POSIX standardsWork with files, directories, processes, and signals Explore IPC and how to work with it

Who This Book Is For

Programmers who have an exposure to C programming and want to learn system programming. This book will help them to learn about core concepts of operating systems with the help of C programming.

.

Inhaltsverzeichnis

Frontmatter
Chapter 1. Introduction to the Linux Environment
Abstract
Linux is an open source, Unix-like operating system based on the Linux kernel. It was developed by Linus Torvalds in 1991. It is used in personal computers, mainframe computers, supercomputers, Android mobile devices, routers, and embedded systems. Linux is a very lightweight and powerful kernel that effectively communicates with software programs through any kind of hardware.
Sri Manikanta Palakollu
Chapter 2. Multithreading in C
Abstract
Multithreading is a program’s ability to execute multiple threads simultaneously to maximize the utilization of the CPU. Multithreading helps achieve concurrency. Concurrency is parallelly executing multiple threads at the same time. In this chapter, you learn about the following topics with practical coding.
Sri Manikanta Palakollu
Chapter 3. Introduction to POSIX Standards and System-Level APIs
Abstract
POSIX standards help maintain compatibility between operating systems. System-level APIs help to efficiently develop applications very within a short development period. In this chapter, you learn about the following introductory topics.
Sri Manikanta Palakollu
Chapter 4. Files and Directories
Abstract
You have learned about command-line topics in Linux. You were introduced to multithreading and the practical implementation of multithreading in C. You saw API support in C to develop efficient applications. This chapter discusses files and directories. By the end of this chapter, you should have a deep knowledge of the core concepts regarding Linux files, directories, and storage mechanisms. The chapter’s code examples and discussions cover the following topics.
Sri Manikanta Palakollu
Chapter 5. Process and Signals
Abstract
Processes play a major role on an operating system. When you execute a computer program in your system, it is done with a process. Without processes, you aren’t able to do any activity on an OS. In this chapter, you look at processes and how to perform various tasks. You also see various types of processes that can occur during the execution of a program.
Sri Manikanta Palakollu
Chapter 6. Interprocess Communication
Abstract
Interprocess communication (IPC) is a mechanism that is widely used in an operating system to effectively access shared data. This mechanism is very important to the design process of microkernel and nanokernel development. An IPC mechanism is usually seen in a distributed computing environment, but it is also widely used in traditional computing environments. There are two types of IPC mechanisms: synchronous and asynchronous. In this chapter, you learn about the various techniques that achieve IPC. The following topics are covered.
Sri Manikanta Palakollu
Chapter 7. Shared Memory
Abstract
Shared memory is a highly efficient way of sharing data between running processes or programs. It allows two or more unrelated processes to access the logical memory segment. Sharing a common piece of the memory segment is the fastest way that IPC can be achieved. This chapter covers the following topics, which include code samples.
Sri Manikanta Palakollu
Chapter 8. Socket Programming
Abstract
Socket programming is a way of connecting two nodes on a network to communicate with each other. It achieves the IPC over a network. The following topics and code samples are covered in this chapter.
Sri Manikanta Palakollu
Backmatter
Metadaten
Titel
Practical System Programming with C
verfasst von
Sri Manikanta Palakollu
Copyright-Jahr
2021
Verlag
Apress
Electronic ISBN
978-1-4842-6321-1
Print ISBN
978-1-4842-6320-4
DOI
https://doi.org/10.1007/978-1-4842-6321-1

Premium Partner