System Programming with C and Unix, 1st edition

Published by Pearson (February 13, 2009) © 2010

  • Adam Hoover

eTextbook

$64.99

  • Easy-to-use search and navigation
  • Add notes and highlights
  • Search by keyword or page
$154.66

  • Hardcover, paperback or looseleaf edition
  • Affordable rental option for select titles
  • Free shipping on looseleafs and traditional textbooks

Beginning computing students often finish the introduction to programming course without having had exposure to various system tools, without knowing how to optimize program performance and without understanding how programs interact with the larger computer system. 

Adam Hoover's System Programming with C and Unix introduces students to commonly used system tools (libraries, debuggers, system calls, shells and scripting languages) and then explains how to utilize these tools to optimize program development.  The text also examines lower level data types with an emphasis on memory and understanding how and why different data types are used.   

  • Conceptual approach to C and Unix programming
  • Hands on examples (with operational code)
  • Coverage of system tools, memory management, and scripting languages
  • End-of-chapter questions
  • Instructor Resources include presentation slides and a solutions manual
  • Contents
    Preface ix

    1 Introduction 1
    1.1 What is System Programming? 1
    1.2 The Three Tools 5
    1.3 How to Debug 20
    1.4 Program Development 31
    1.5 Review of C 35
    Questions and Exercises 41

    2 Bits, Bytes, and Data Types 45
    2.1 Bit Models 45
    2.2 Bitwise Operations 57
    2.3 Memory Map 65
    Questions and Exercises 68

    3 Arrays and Strings 73
    3.1 Arrays 74
    3.2 Strings 79
    3.3 String Library Functions 83
    3.4 Command Line Arguments 92
    Questions and Exercises 94

    4 Pointers and Structures 103
    4.1 Pointers 103
    4.2 Using Pointers 108
    4.3 Structures 118
    4.4 Using Structures 121
    Questions and Exercises 127

    5 Input/Output 135
    5.1 Streams 136
    5.2 Buffers 143
    5.3 Pipes 145
    5.4 Files 153
    5.5 Devices 161
    Questions and Exercises 164

    6 ProgramManagement 171
    6.1 Program Building 172
    6.2 Code Organization 185
    6.3 Program Distribution Methods 201
    Questions and Exercises 204

    7 System Calls 213
    7.1 Families of Operations 214
    7.2 Libraries and System Calls 215
    7.3 Process System Calls 217
    7.4 Signal System Calls 229
    7.5 Socket System Calls 236
    Questions and Exercises 251

    8 Libraries 255
    8.1 Using a Library 256
    8.2 Purpose of Libraries 261
    8.3 The C Standard Library 263
    8.4 The Curses Library 265
    8.5 The X Library 275
    8.6 Making a Library 288
    8.7 Library Pitfalls 291
    Questions and Exercises 292

    9 Scripting Languages 299
    9.1 Using Scripting Languages 301
    9.2 Shell Scripting 305
    9.3 Perl 320
    9.4 MATLAB 333
    9.5 Discussion 347
    Questions and Exercises 348

    A ASCII Table 351
    B Common Shell Commands 355
    C System Programs 357
    Index 361
    Adam W. Hoover received a B.S. in Computer Engineering in 1992, a M.S. in Computer Engineering in 1993, and a Ph.D. in Computer Science & Engineering in 1996, all from the University of South Florida. In 1996, he joined the Electrical and Computer Engineering Department at the University of California, San Diego, as an Assistant Project Scientist and Visiting Lecturer. In 1998, he received the department's Honorary Graduate Teaching Award. In 1999, he joined the Electrical and Computer Engineering Department at Clemson University, where he is currently an Associate Professor. Dr. Hoover is an active Member of the Institute for Electrical and Electronics Engineers (IEEE), and co-founder of EyeDx, a company dedicated to preventative screening of children's vision. Dr. Hoover's research interests are in the area of intelligent systems, with an emphasis on tracking, embedded systems, and medical informatics.

    Need help? Get in touch

    Video
    Play
    Privacy and cookies
    By watching, you agree Pearson can share your viewership data for marketing and analytics for one year, revocable by deleting your cookies.

    Pearson eTextbook: What’s on the inside just might surprise you

    They say you can’t judge a book by its cover. It’s the same with your students. Meet each one right where they are with an engaging, interactive, personalized learning experience that goes beyond the textbook to fit any schedule, any budget, and any lifestyle.Â