- Baby Names
- Bryan, Ashley
- Poe, Robert
- Bears
- Muppets
- Marriage
- Large Print
- Music
- Murphy, Chuck
- Children's Books
- Steig, William
- Decision-Making
- Kraus, Robert
- Celtic
- North Cascades
- Native American
- Medicine
- Catherine of Genoa
- General
- Paperback
- Pressure Vessels
- Romance
- One-L
- Silverberg, Robert
- Lightman, Alan
- MS SQL Server
- General
- Biology
- Research
- Yep, Lawrence
- Some of our other sites:
- Books
- Clothing, Shoes and Accessories
- Baby Clothes and Accessories
- Cosmetics, Beauty Products and Fragrances
- Cellphones, Call Plans and Accessories
- Video Games
- DVDs
- Electronics, Gadgets and Computers
- Health and Personal Care
- Home and Garden
- Home DIY
- Jewelry
- Magazines and Newspapers
- Music Downloads
- Musical Instruments
- Office Equipment and Supplies
- Software and Games
- Sporting Goods
- Toys and Games
- Watches
- UK Books
- UK Video Games
- UK Home and Garden
- UK Electronics, Gadgets and Computers
- UK Baby Clothes and Accessories
- UK Software and Games
- UK Sporting Goods
- UK Toys and Games
Books : Computers & Internet : Operating Systems : Linux : Programming
-
The Most Useful Linux Tutorial and Reference Ever, with Hundreds of High-Quality Examples Covering Every Linux Distribution!To be truly productive with Linux, you need to thoroughly master the shells and the command line. Until now, you had to buy two books to gain that mastery: a tutorial on fundamental Linux concepts and techniques, plus a separate reference. Worse, most Linux references offer little more than prettied-up man pages. Now, there's a far better solution. Renowned Linux expert Mark Sobell has brought together comprehensive, insightful guidance on the tools system administrators, developers, and power users need most, and an outstanding day-to-day reference, both in the same book.
This book is 100 percent distribution and release agnostic: You can use it on any Linux system, now and for years to come. What's more, it's packed with hundreds of high-quality examples: better examples than you-ll find in any other Linux guidebook. This is Linux from the ground up: the clearest explanations and most useful knowledge about everything from filesystems to shells, editors to utilities, and programming tools to regular expressions. And when you need instant answers, you-ll constantly turn to Sobell's comprehensive command reference section-organized and tabbed for easy, fast access!
Don't settle for yesterday-s Linux guidebook. Get the one book that meets today's challenges-and tomorrow-s!
A Practical Guide to Linux- Commands, Editors, and Shell Programming is the most useful, most comprehensive Linux tutorial and reference you can find. It's the only book to deliver
- Better, more realistic examples covering tasks you-ll actually need to perform
- Deeper insight, based on Sobell's immense knowledge of every Linux nook and cranny
- More practical explanations of more than eighty core utilities, from aspell to xargs
- Techniques for implementing secure communications using ssh and scp-plus dozens of tips for making your system more secure
- A superior introduction to the Linux programming environment, including make, gcc, gdb, CVS, and much more
- Expert guidance on basic and advanced shell programming using bash and tcsh
- Tips and tricks for customizing the shell and using it interactively from the command line
- Thorough guides to vim and emacs, designed to help you get productive fast and maximize your editing efficiency
- Dozens of exercises to help you practice and gain confidence
- Instructions for using Apt, yum, and BitTorrent for keeping your system up to date automatically
- And much more, including coverage of gawk, sed, find, sort, bzip2, and regular expressions
-
The Best Fully Integrated Study System Available
With hundreds of practice questions and hands-on exercises, RHCE Red Hat Certified Engineer Linux Study Guide, Fifth Edition covers what you need to know--and shows you how to prepare--for this challenging exam.
- 100% complete coverage of all objectives for exam RH302
- Exam Readiness Checklist at the front of the book--you're ready for the exam when all objectives on the list are checked off
- Inside the Exam sections in every chapter highlight key exam topics covered
- Real-world exercises modeled after hands-on exam scenarios
- Two complete lab-based exams simulate the format, tone, topics, and difficulty of the real exam
- Bonus content (available for download) includes installation screen review, basic instructions for using VMware and Xen as testbeds, and paper and pencil versions of the lab exams
Covers all RH302 exam topics, including:
- Hardware installation and configuration
- The boot process
- Linux filesystem administration
- Package management and Kickstart
- User and group administration
- System administration tools
- Kernel services and configuration
- Apache and Squid
- Network file sharing services (NFS, FTP, and Samba)
- Domain Name System (DNS)
- E-mail (servers and clients)
- Extended Internet Services Daemon (xinetd), the Secure package, and DHCP
- The X Window System
- Firewalls, SELinux, and troubleshooting
-
“Probably the most wide ranging and complete Linux device driver book I’ve read.”
--Alan Cox, Linux Guru and Key Kernel Developer
“Very comprehensive and detailed, covering almost every single Linux device driver type.”
--Theodore Ts’o, First Linux Kernel Developer in North America and Chief Platform Strategist of the Linux Foundation
The Most Practical Guide to Writing Linux Device Drivers
Linux now offers an exceptionally robust environment for driver development: with today’s kernels, what once required years of development time can be accomplished in days. In this practical, example-driven book, one of the world’s most experienced Linux driver developers systematically demonstrates how to develop reliable Linux drivers for virtually any device. Essential Linux Device Drivers is for any programmer with a working knowledge of operating systems and C, including programmers who have never written drivers before. Sreekrishnan Venkateswaran focuses on the essentials, bringing together all the concepts and techniques you need, while avoiding topics that only matter in highly specialized situations. Venkateswaran begins by reviewing the Linux 2.6 kernel capabilities that are most relevant to driver developers. He introduces simple device classes; then turns to serial buses such as I2C and SPI; external buses such as PCMCIA, PCI, and USB; video, audio, block, network, and wireless device drivers; user-space drivers; and drivers for embedded Linux–one of today’s fastest growing areas of Linux development. For each, Venkateswaran explains the technology, inspects relevant kernel source files, and walks through developing a complete example.
• Addresses drivers discussed in no other book, including drivers for I2C, video, sound, PCMCIA, and different types of flash memory
• Demystifies essential kernel services and facilities, including kernel threads and helper interfaces
• Teaches polling, asynchronous notification, and I/O control
• Introduces the Inter-Integrated Circuit Protocol for embedded Linux drivers
• Covers multimedia device drivers using the Linux-Video subsystem and Linux-Audio framework
• Shows how Linux implements support for wireless technologies such as Bluetooth, Infrared, WiFi, and cellular networking
• Describes the entire driver development lifecycle, through debugging and maintenance
• Includes reference appendixes covering Linux assembly, BIOS calls, and Seq files
-
In order to thoroughly understand what makes Linux tick and why it works so well on a wide variety of systems, you need to delve deep into the heart of the kernel. The kernel handles all interactions between the CPU and the external world, and determines which programs will share processor time, in what order. It manages limited memory so well that hundreds of processes can share the system efficiently, and expertly organizes data transfers so that the CPU isn't kept waiting any longer than necessary for the relatively slow disks.
The third edition of "Understanding the Linux Kernel" takes you on a guided tour of the most significant data structures, algorithms, and programming tricks used in the kernel. Probing beyond superficial features, the authors offer valuable insights to people who want to know how things really work inside their machine. Important Intel-specific features are discussed. Relevant segments of code are dissected line by line. But the book covers more than just the functioning of the code; it explains the theoretical underpinnings of why Linux does things the way it does.
This edition of the book covers Version 2.6, which has seen significant changes to nearly every kernel subsystem, particularly in the areas of memory management and block devices. The book focuses on the following topics:
Memory management, including file buffering, process swapping, and Direct memory Access (DMA)
The Virtual Filesystem layer and the Second and Third Extended Filesystems
Process creation and scheduling
Signals, interrupts, and the essential interfaces to device drivers
Timing
Synchronization within the kernel
Interprocess Communication (IPC)
Program execution
"Understanding the Linux Kernel" will acquaint you with all the inner workings of Linux, but it's more than just an academic exercise. You'll learn what conditions bring out Linux's best performance, and you'll see how it meets the challenge of providing good system response during process scheduling, file access, and memory management in a wide variety of environments. This book will help you make the most of your Linux system.
-
Comprehensive Real-World Guidance for Every Embedded Developer and Engineer
This book brings together indispensable knowledge for building efficient, high-value, Linux-based embedded products: information that has never been assembled in one place before. Drawing on years of experience as an embedded Linux consultant and field application engineer, Christopher Hallinan offers solutions for the specific technical issues you’re most likely to face, demonstrates how to build an effective embedded Linux environment, and shows how to use it as productively as possible.
Hallinan begins by touring a typical Linux-based embedded system, introducing key concepts and components, and calling attention to differences between Linux and traditional embedded environments. Writing from the embedded developer’s viewpoint, he thoroughly addresses issues ranging from kernel building and initialization to bootloaders, device drivers to file systems.
Hallinan thoroughly covers the increasingly popular BusyBox utilities; presents a step-by-step walkthrough of porting Linux to custom boards; and introduces real-time configuration via CONFIG_RT--one of today’s most exciting developments in embedded Linux. You’ll find especially detailed coverage of using development tools to analyze and debug embedded systems--including the art of kernel debugging.
- Compare leading embedded Linux processors
- Understand the details of the Linux kernel initialization process
- Learn about the special role of bootloaders in embedded Linux systems, with specific emphasis on U-Boot
- Use embedded Linux file systems, including JFFS2--with detailed guidelines for building Flash-resident file system images
- Understand the Memory Technology Devices subsystem for flash (and other) memory devices
- Master gdb, KGDB, and hardware JTAG debugging
- Learn many tips and techniques for debugging within the Linux kernel
- Maximize your productivity in cross-development environments
- Prepare your entire development environment, including TFTP, DHCP, and NFS target servers
- Configure, build, and initialize BusyBox to support your unique requirements
About the Author
Christopher Hallinan, field applications engineer at MontaVista software, has worked for more than 20 years in assignments ranging from engineering and engineering management to marketing and business development. He spent four years as an independent development consultant in the embedded Linux marketplace. His work has appeared in magazines, including Telecommunications Magazine, Fiber Optics Magazine, and Aviation Digest.
-
-
Over the last few years, Linux has grown both as an operating system and a tool for personal and business use. Simultaneously becoming more user friendly and more powerful as a back-end system, Linux has achieved new plateaus: the newer filesystems have solidified, new commands and tools have appeared and become standard, and the desktop--including new desktop environments--have proved to be viable, stable, and readily accessible to even those who don't consider themselves computer gurus.
Whether you're using Linux for personal software projects, for a small office or home office (often termed the SOHO environment), to provide services to a small group of colleagues, or to administer a site responsible for millions of email and web connections each day, you need quick access to information on a wide range of tools. This book covers all aspects of administering and making effective use of Linux systems. Among its topics are booting, package management, and revision control. But foremost in "Linux in a Nutshell" are the utilities and commands that make Linux one of the most powerful and flexible systems available.
Now in its fifth edition, "Linux in a Nutshell" brings users up-to-date with the current state of Linux. Considered by many to be the most complete and authoritative command reference for Linux available, the book covers all substantial user, programming, administration, and networking commands for the most common Linux distributions.
Comprehensive but concise, the fifth edition has been updated to cover new features of major Linux distributions. Configuration information for the rapidly growing commercial network services and community update services isone of the subjects covered for the first time.
But that's just the beginning. The book covers editors, shells, and LILO and GRUB boot options. There's also coverage of Apache, Samba, Postfix, sendmail, CVS, Subversion, Emacs, vi, sed, gawk, and much more. Everything that system administrators, developers, and power users need to know about Linux is referenced here, and they will turn to this book again and again.
-
Beginning Ubuntu Linux, the award–winning and best–selling Ubuntu book for beginners, is now in its third edition, presenting readers with an up–to–the–minute introduction to the world of Linux and the open source community. A detailed overview of Ubuntu’s installation and configuration process encourages you to take the plunge and switch to Linux, and from there you’ll learn how to wield total control over your newly installed operating system. Guided through the most commonly desired tasks such as printer configuration, listening to audio CDs and MP3s, watching movies, performing office and Internet–related tasks, as well as general system maintenance matters, authors Keir Thomas and Jaime Sicam will soon have you using and enjoying Ubuntu Linux and never looking back.
You’ll also find a series of comprehensive tutorials on Linux internals and the command–line prompt—essential for any Linux user—along with special sections on optimization, security, and system maintenance that will broaden your knowledge to professional level.
The complete Ubuntu Linux distribution is included free on the DVD inside the book. Simply insert the DVD and follow the instructions in the book to install Ubuntu Linux!
- The ultimate guide to Ubuntu, the hottest Linux distribution on the planet
- Avoids introductions to esoteric Linux topics that are commonly found in other books and focuses on everyday tasks for everyday users: printer and file sharing configuration, office document management, listening to MP3s, watching movies, and much more
- Includes a DVD containing not only the complete Ubuntu version, but also versions of Ubuntu’s sister projects, including Edubuntu, Kubuntu, and Xubuntu
What you’ll learn
- Use Ubuntu as a daily desktop replacement.
- Complete all manner of office tasks, such as creating Microsoft Office–compatible documents and spreadsheets, using e–mail, and managing contacts.
- Listen to MP3s and CDs, and watch movies using user–friendly Linux desktop applications.
- Configure Ubuntu’s printer– and file–sharing features to share resources seamlessly with other computers on your network.
- Become a proficient user of the Linux command line.
Who is this book for?
Beginning Linux users seeking to explore the popular Ubuntu distribution
About the Apress Beginning Series
The Beginning series from Apress is the right choice to get the information you need to land that crucial entry–level job. These books will teach you a standard and important technology from the ground up because they are explicitly designed to take you from “novice to professional.” You’ll start your journey by seeing what you need to know—but without needless theory and filler. You’ll build your skill set by learning how to put together real–world projects step by step. So whether your goal is your next career challenge or a new learning opportunity, the Beginning series from Apress will take you there—it is your trusted guide through unfamiliar territory!
-
-
Python is an ideal language for solving problems, especially in Linux and Unix networks. With this pragmatic book, administrators can review various tasks that often occur in the management of these systems, and learn how Python can provide a more efficient and less painful way to handle them.
Each chapter in Python for Unix and Linux System Administration presents a particular administrative issue, such as concurrency or data backup, and presents Python solutions through hands-on examples. Once you finish this book, you'll be able to develop your own set of command-line utilities with Python to tackle a wide range of problems. Discover how this language can help you:
- Read text files and extract information
- Run tasks concurrently using the threading and forking options
- Get information from one process to another using network facilities
- Create clickable GUIs to handle large and complex utilities
- Monitor large clusters of machines by interacting with SNMP programmatically
- Master the IPython Interactive Python shell to replace or augment Bash, Korn, or Z-Shell
- Integrate Cloud Computing into your infrastructure, and learn to write a Google App Engine Application
- Solve unique data backup challenges with customized scripts
- Interact with MySQL, SQLite, Oracle, Postgres, Django ORM, and SQLAlchemy
With this book, you'll learn how to package and deploy your Python applications and libraries, and write code that runs equally well on multiple Unix platforms. You'll also learn about several Python-related technologies that will make your life much easier.
-
There's a great deal of excitement surrounding the use of Linux in embedded systems -- for everything from cell phones to car ABS systems and water-filtration plants -- but not a lot of practical information. Building Embedded Linux Systems offers an in-depth, hard-core guide to putting together embedded systems based on Linux.
Updated for the latest version of the Linux kernel, this new edition gives you the basics of building embedded Linux systems, along with the configuration, setup, and use of more than 40 different open source and free software packages in common use. The book also looks at the strengths and weaknesses of using Linux in an embedded system, plus a discussion of licensing issues, and an introduction to real-time, with a discussion of real-time options for Linux.
This indispensable book features arcane and previously undocumented procedures for:- Building your own GNU development toolchain
- Using an efficient embedded development framework
- Selecting, configuring, building, and installing a target-specific kernel
- Creating a complete target root filesystem
- Setting up, manipulating, and using solid-state storage devices
- Installing and configuring a bootloader for the target
- Cross-compiling a slew of utilities and packages
- Debugging your embedded system using a plethora of tools and techniques
- Using the uClibc, BusyBox, U-Boot, OpenSSH, thttpd, tftp, strace, and gdb packages
By presenting how to build the operating system components from pristine sources and how to find more documentation or help, Building Embedded Linux Systems greatly simplifies the task of keeping complete control over your embedded operating system.
-
Linux Kernel Development details the design and implementation of the Linux kernel, presenting the content in a manner that is beneficial to those who wish to write and develop kernel code. This book is for anyone who wants a fun, practical approach to the Linux kernel.
The author, a core kernel developer, shares valuable knowledge andexperience on the very latest Linux kernel.
The book discusses the major subsystems and features of the Linuxkernel, including their design and implementation, their purpose andgoals, and their interfaces. Specific topics covered include: processmanagement, scheduling, time management and timers, system callinterface, memory addressing and management, caching layers, VFS, kernelsynchronization, debugging, and the kernel community.The book covers the new 2.6 Linux kernel, and includes numerous sectionson its new features, such as the new O(1) scheduler, the new I/Oschedulers, the new block layer, and kernel preemption.
This book is an authoritative, practical guide that helps programmersbetter understand the Linux kernel, and to write and develop kernelcode.
-
-
-
-
There's a lot to be said for going back to basics. Not only does this Bible give you a quick refresher on the structure of open-source Linux software, it also shows you how to bypass the hefty graphical user interface on Linux systems and start interacting the fast and efficient waywith command lines and automated scripts. You'll learn how to manage files on the filesystem, start and stop programs, use databases, even do Web programmingwithout a GUIwith this one-stop resource.
-
If you've ever wondered how Linux carries out the complicated tasks assigned to it by the IP protocols -- or if you just want to learn about modern networking through real-life examples -- "Understanding Linux Network Internals" is for you.
Like the popular O'Reilly book, "Understanding the Linux Kernel," this book clearly explains the underlying concepts and teaches you how to follow the actual C code that implements it. Although some background in the TCP/IP protocols is helpful, you can learn a great deal from this text about the protocols themselves and their uses. And if you already have a base knowledge of C, you can use the book's code walkthroughs to figure out exactly what this sophisticated part of the Linux kernel is doing.
Part of the difficulty in understanding networks -- and implementing them -- is that the tasks are broken up and performed at many different times by different pieces of code. One of the strengths of this book is to integrate the pieces and reveal the relationships between far-flung functions and data structures. "Understanding Linux Network Internals" is both a big-picture discussion and a no-nonsense guide to the details of Linux networking. Topics include:
Key problems with networking
Network interface card (NIC) device drivers
System initialization
Layer 2 (link-layer) tasks and implementation
Layer 3 (IPv4) tasks and implementation
Neighbor infrastructure and protocols (ARP)
Bridging
Routing
ICMP
Author Christian Benvenuti, an operating system designer specializing in networking, explains much more than how Linux code works. He shows the purposes of major networking features and the trade-offs involved inchoosing one solution over another. A large number of flowcharts and other diagrams enhance the book's understandability.
-
Ive read lots of good books about Ubuntu and Linux in the past few months. This is the first great book.
— Arsgeek.com review of Beginning Ubuntu Linux, Second Edition
Keir Thomas walks you through the whole Ubuntu experience from beginning to end, comforting you with a calm voice when you might be feeling a bit lost ... He has done a great and thorough job.
— Free Software Magazine review of Beginning Ubuntu Linux, Second Edition
Winner of a Linux Journal Editor's Choice 2006 award (first edition)!
Beginning Ubuntu Linux, Second Edition updates the best-selling and award-winning first edition. Its the perfect guide for those switching to the worlds favorite Linux. The new edition has been thoroughly updated to cover technology introduced in the 6.10 release.
In the 680+ fully illustrated pages, you'll learn how to install Linux, set up your hardware and software, customize the desktop experience, browse the Web and send/receive e-mail, play back audio and video, edit digital images, use the OpenOffice.org office suite, and more.
Additionally, youll discover how to perform vital maintenance tasks, such as securing your computer against hackers, updating online, optimizing your system, installing and managing software, backing up, accessing your computer remotely, scheduling tasks, and more.
A whole third of the book is dedicated to Linux internals, including managing system processes and working at the command line. Two appendixes provide a glossary of Linux terms and an index of commands that can be used to control Ubuntu.
Beginning Ubuntu Linux, Second Edition is a complete, comprehensive, and unbiased guide to getting the most from Ubuntu.
DVD-ROM
Beginning Ubuntu Linux, Second Edition features a unique DVD-ROM companion disk containing the full Ubuntu installation that you can install on your computer. A full installation guide is provided in the book. Also included on the DVD-ROM are the Ubuntu sister projects, such as Kubuntu, Xubuntu, Edubuntu, and others. Both the long-term support and recent 6.10 releases of all projects are provided.
In Detail
Part 1: Introducing the World of Linux
Opening the book are several chapters providing a brief but complete history of Linux. Youll learn about the key figures in the Linux movement and discover why the politics behind free software are so important.
Part 2: Installing Ubuntu
Here youll find a fully illustrated guide to both installing Ubuntu on your computer and initially preparing the computer for Ubuntu. Detailed screenshots guide you through every step. In addition, theres a problem-solving chapter providing solutions for the most common issues.
Part 3: The No-Nonsense Getting Started Guide
The six chapters of Part 3 take you from zero to hero in as little time as possible. Youll learn whats what on the Ubuntu desktop and how to customize Ubuntu to suit your workflow. Youll be introduced to Linux replacements for your favorite Windows programs, and youll be introduced to the Linux file system, so you can start working straightaway.
Part 4: The Shell and Beyond
The five chapters in Part 4 introduce the heart of Linux: the command line. Youll be introduced to the BASH shell, and a full rundown of the Linux filesystem is provided. Youll learn how to work with text files. The closing chapters of this section teach pro-level tricks you can use at the command line to work more efficiently.
Part 5: Multimedia
Here youll learn how to set up Ubuntu to work with common audio and video files that you might have used under Windows or Macintosh. Then youll be introduced to Ubuntus audio and video playback software. Additionally, a complete guide to image editing and digital image management is provided.
Part 6: Office Tasks
The seven chapters in this section provide a comprehensive guide to the OpenOffice.org office suite. Youll learn how to undertake common tasks using the word processor, spreadsheet, presentations package, and database applications. Additionally, a complete guide to using Ubuntus e-mail and personal information manager is provided.
Part 7: Keeping your System Running
The six chapters in this part of the book pick up from Part 4 and expand on various system management/command-line skills. Youll learn how to perform vital maintenance tasks, such as managing users, or installing and removing software. Its in this part of the book that youll really learn your Linux stripes!
-
Master the Linux Tools That Will Make You a More Productive, Effective Programmer
The Linux Programmer's Toolbox helps you tap into the vast collection of open source tools available for GNU/Linux. Author John Fusco systematically describes the most useful tools available on most GNU/Linux distributions using concise examples that you can easily modify to meet your needs.
You'll start by learning the basics of downloading, building, and installing open source projects. You'll then learn how open source tools are distributed, and what to look for to avoid wasting time on projects that aren't ready for you. Next, you'll learn the ins and outs of building your own projects. Fusco also demonstrates what to look for in a text editor, and may even show you a few new tricks in your favorite text editor.
You'll enhance your knowledge of the Linux kernel by learning how it interacts with your software. Fusco walks you through the fundamentals of the Linux kernel with simple, thought-provoking examples that illustrate the principles behind the operating system. Then he shows you how to put this knowledge to use with more advanced tools. He focuses on how to interpret output from tools like sar, vmstat, valgrind, strace, and apply it to your application; how to take advantage of various programming APIs to develop your own tools; and how to write code that monitors itself.
Next, Fusco covers tools that help you enhance the performance of your software. He explains the principles behind today's multicore CPUs and demonstrates how to squeeze the most performance from these systems. Finally, you'll learn tools and techniques to debug your code under any circumstances.
Coverage includes
- Maximizing productivity with editors, revision control tools, source code browsers, and "beautifiers"
- Interpreting the kernel: what your tools are telling you
- Understanding processes–and the tools available for managing them
- Tracing and resolving application bottlenecks with gprof and valgrind
- Streamlining and automating the documentation process
- Rapidly finding help, solutions, and workarounds when you need them
- Optimizing program code with sar, vmstat, iostat, and other tools
- Debugging IPC with shell commands: signals, pipes, sockets, files, and IPC objects
- Using printf, gdb, and other essential debugging tools
Foreword
Preface
Acknowledgments
About the Author
Chapter 1 Downloading and Installing Open Source Tools
Chapter 2 Building from Source
Chapter 3 Finding Help
Chapter 4 Editing and Maintaining Source Files
Chapter 5 What Every Developer Should Know about the Kernel
Chapter 6 Understanding Processes
Chapter 7 Communication between Processes
Chapter 8 Debugging IPC with Shell Commands
Chapter 9 Performance Tuning
Chapter 10 Debugging
Index -
GNU/Linux is the Swiss army knife of operating systems. You’ll find it in the smallest devices (such as an Apple iPod) to the largest most powerful supercomputers (like IBM’s Blue Gene). You’ll also find GNU/Linux running on the most diverse architectures, from the older x86 processors to the latest cell processor that powers the PlayStation 3 console. GNU/Linux Application Programming, Second Edition gets you up and running developing applications on the GNU/Linux operating system, whether you’re interested in creating applications for an iPod or a Blue Gene. This completely updated edition covers all the necessary tools and techniques with many examples illustrating the use of GNU/Linux APIs. Split into fi ve distinct parts, the book covers GNU tools, topics in application development, shells and scripting, debugging and hardening, and introductory topics, including the fundamentals of virtualization. See why thousands of programmers have chosen GNU/Linux Application Programming to teach them how to develop applications on the GNU/Linux operating system!
-
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, managingthe 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.





















