Linux System Programming: Talking Directly to the Kernel and C Library
暫譯: Linux 系統程式設計:直接與內核和 C 函式庫對話

Robert Love

  • 出版商: O'Reilly
  • 出版日期: 2007-09-28
  • 售價: $1,900
  • 貴賓價: 9.5$1,805
  • 語言: 英文
  • 頁數: 392
  • 裝訂: Paperback
  • ISBN: 0596009585
  • ISBN-13: 9780596009588
  • 相關分類: C 程式語言Linux
  • 已過版

買這商品的人也買了...

商品描述

Description

This book is about writing software that makes the most effective use of the system you're running on -- code that interfaces directly with the kernel and core system libraries, including the shell, text editor, compiler, debugger, core utilities, and system daemons. The majority of both Unix and Linux code is still written at the system level, and Linux System Programming focuses on everything above the kernel, where applications such as Apache, bash, cp, vim, Emacs, gcc, gdb, glibc, ls, mv, and X exist.

Written primarily for engineers looking to program (better) at the low level, this book is an ideal teaching tool for any programmer. Even with the trend toward high-level development, either through web software (such as PHP) or managed code (C#), someone still has to write the PHP interpreter and the C# virtual machine. Linux System Programming gives you an understanding of core internals that makes for better code, no matter where it appears in the stack. Debugging high-level code often requires you to understand the system calls and kernel behavior of your operating system, too.

Key topics include:
  • An overview of Linux, the kernel, the C library, and the C compiler
  • Reading from and writing to files, along with other basic file I/O operations, including how the Linux kernel implements and manages file I/O
  • Buffer size management, including the Standard I/O library
  • Advanced I/O interfaces, memory mappings, and optimization techniques
  • The family of system calls for basic process management
  • Advanced process management, including real-time processes
  • File and directories-creating, moving, copying, deleting, and managing them
  • Memory management -- interfaces for allocating memory, managing the memory you have, and optimizing your memory access
  • Signals and their role on a Unix system, plus basic and advanced signal interfaces
  • Time, sleeping, and clock management, starting with the basics and continuing through POSIX clocks and high resolution timers
With Linux System Programming, you will be able to take an in-depth look at Linux from both a theoretical and an applied perspective as you cover a wide range of programming topics.

商品描述(中文翻譯)

**描述**

這本書是關於編寫能夠最有效利用您所運行系統的軟體——直接與核心和核心系統庫介面的程式碼,包括 shell、文字編輯器、編譯器、除錯器、核心工具和系統守護進程。大多數 Unix 和 Linux 的程式碼仍然是在系統層級上編寫的,而《Linux 系統程式設計》專注於內核之上的所有內容,這裡存在著像 Apache、bash、cp、vim、Emacs、gcc、gdb、glibc、ls、mv 和 X 等應用程式。

這本書主要是為尋求在低層次上(更好地)編程的工程師而寫的,是任何程式設計師的理想教學工具。即使在向高層次開發的趨勢下,無論是通過網頁軟體(如 PHP)還是管理代碼(C#),仍然需要有人編寫 PHP 解譯器和 C# 虛擬機。《Linux 系統程式設計》讓您理解核心內部結構,這有助於編寫更好的程式碼,無論它出現在堆疊的哪個位置。除錯高層次程式碼通常也需要您理解操作系統的系統呼叫和內核行為。

主要主題包括:
- Linux、內核、C 標準庫和 C 編譯器的概述
- 從文件讀取和寫入,以及其他基本的文件 I/O 操作,包括 Linux 內核如何實現和管理文件 I/O
- 緩衝區大小管理,包括標準 I/O 庫
- 進階 I/O 介面、記憶體映射和優化技術
- 基本進程管理的系統呼叫系列
- 進階進程管理,包括即時進程
- 文件和目錄的創建、移動、複製、刪除和管理
- 記憶體管理——分配記憶體的介面、管理您擁有的記憶體以及優化記憶體訪問
- 信號及其在 Unix 系統中的角色,以及基本和進階信號介面
- 時間、睡眠和時鐘管理,從基礎開始,持續到 POSIX 時鐘和高解析度計時器

透過《Linux 系統程式設計》,您將能夠從理論和應用的角度深入了解 Linux,涵蓋廣泛的程式設計主題。