Building systems that explore system-level operations for efficient coding in Golang.
Key FeaturesComprehensive coverage of system programming concepts using Go, with application examplesGuidance on essential topics like file operations, process management, and network programmingEnables readers to develop modern, functional applications from scratchBook DescriptionIn this comprehensive guide, we'll navigate the intricate landscape of system programming using the Go programming language. The book caters to software engineers interested in system programming by providing a comprehensive guide. Its design targets readers with fundamental Go language knowledge and some coding experience. It takes readers on an immersive journey through system programming, covering topics such as file operations, process management, IPC, system events, and network programming. Each chapter presents clear explanations, practical examples, and comprehensive explorations of applications.
In the later sections, the book explores performance analysis and optimization, discussing memory management, escape analysis, benchmarking, and CPU and memory profiling. These insights equip readers with the tools to write efficient, high-performance software. By the end of this book, readers will be able to confidently handle system programming tasks using Go, build efficient, reliable applications, and optimize their performance.
What you will learnGain an understanding of the fundamentals of system programming using GoConcepts of Goroutines, channels, data races and managing concurrency in GoManage file operations and Inter-Process CommunicationManage USB drives, bluetooth devices and monitor peripheral events for hardware automationGet introduced to the basics of network programming and its application in GoBecome familiar with implementing logging, tracing, and other telemetry practicesHow to construct distributed cache and approach distributed systems using GoWho this book is forThis book is ideal for software engineers looking to expand their understanding of system programming concepts. Professionals with a foundation in coding seeking more profound knowledge of system-level operations would also greatly benefit. Moreover, individuals interested in advancing their skills in system programming, whether experienced developers or those transitioning to the field, will find this book invaluable.
Table of ContentsWhy Go?Refreshing Concurrency and ParallelismUnderstanding System CallsFile and Directory OperationsWorking with System EventsPipesHardware AutomationMemory ManagementAnalysing PerformanceNetworkingTelemetryDistributing your AppsCapstone Project - Distributed CacheEffective Coding PracticesStay Sharp with System Programming