System Programming with C and Unix

Series
Addison-Wesley
Author
Adam Hoover  
Publisher
Pearson
Cover
Softcover
Edition
1
Language
English
Total pages
400
Pub.-date
February 2009
ISBN13
9780136067122
ISBN
0136067123
Related Titles


Product detail

Product Price CHF Available  
9780136067122
System Programming with C and Unix
165.10 approx. 7-9 days

Alternative title

Product Edition Date Price CHF Available
9780131364516
System Programming with C and Unix
1 April 2009 165.10
9780136067122
System Programming with C and Unix
1 February 2009 165.10

Description

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.   

 

Features

  • 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
  • Table of Contents

    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

    Author

    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.