Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Book Overview & Buying Practical Systems Programming in Go
  • Table Of Contents Toc
Practical Systems Programming in Go

Practical Systems Programming in Go

By : Mihalis Tsoukalos
close
close
Practical Systems Programming in Go

Practical Systems Programming in Go

By: Mihalis Tsoukalos

Overview of this book

Go has become a leading language for Systems Programming thanks to its simplicity, strong concurrency model, and excellent performance. Practical Systems Programming in Go shows how to use Go beyond application development by building software that interacts with the operating system, networks, and data at scale. The book starts with a focused introduction to Go, covering the language features and standard packages most relevant to systems programming, including those handling concurrency, interfaces, testing, and runtime internals. It then moves into essential system-level topics such as file handling and I/O, UNIX signals, file systems, structured data formats, databases, and TCP/IP networking. Readers build practical command-line tools, web services, and network clients and servers along the way. In the final section, the book explores advanced applications, including writing an interpreter for a small programming language, processing time series data, building data-mining tools, and creating efficient indexes for UNIX file systems. By the end, readers will be able to design and implement robust systems software in Go for real-world environments.
Table of Contents (21 chapters)
close
close
Lock Free Chapter
1
Part 1: A quick introduction to Go
6
Part 2: Systems Programming Essentials
12
Part 3: Applications
20
Index

6

UNIX Signals and File Systems

At the heart of every UNIX system lies a balance between structure and interruption. File systems embody order: they organize data into hierarchies, enforce permissions, and preserve information over time. Signals, by contrast, introduce disruption. A signal is an asynchronous notification sent by the operating system to a process to indicate that an event has occurred — for example, when a user presses Ctrl + C (SIGINT) or when the system requests termination (SIGTERM). Programs must be prepared to handle such events gracefully, even when they arrive unexpectedly. In this chapter, we begin by exploring how Go allows us to intercept and handle UNIX signals so that our programs can respond cleanly — printing progress information, releasing resources, or shutting down safely instead of terminating abruptly. From there, we shift our attention to file systems and the tools we can build to interact with them. You will implement utilities ranging...

CONTINUE READING
83
Tech Concepts
36
Programming languages
73
Tech Tools
Icon Unlimited access to the largest independent learning library in tech of over 8,000 expert-authored tech books and videos.
Icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Icon 50+ new titles added per month and exclusive early access to books as they are being written.
Practical Systems Programming in Go
notes
bookmark Notes and Bookmarks search Search in title playlist Add to playlist download Download options font-size Font size

Change the font size

margin-width Margin width

Change margin width

day-mode Day/Sepia/Night Modes

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Confirmation

Modal Close icon
claim successful

Buy this book with your credits?

Modal Close icon
Are you sure you want to buy this book with one of your credits?
Close
YES, BUY

Submit Your Feedback

Modal Close icon
Modal Close icon
Modal Close icon