Understanding UNIX/LINUX Programming: A Guide to Theory and Practice / Edition 1

Understanding UNIX/LINUX Programming: A Guide to Theory and Practice / Edition 1

by Bruce Molay
ISBN-10:
0130083968
ISBN-13:
9780130083968
Pub. Date:
11/25/2002
Publisher:
Pearson Education
ISBN-10:
0130083968
ISBN-13:
9780130083968
Pub. Date:
11/25/2002
Publisher:
Pearson Education
Understanding UNIX/LINUX Programming: A Guide to Theory and Practice / Edition 1

Understanding UNIX/LINUX Programming: A Guide to Theory and Practice / Edition 1

by Bruce Molay
$179.99 Current price is , Original price is $179.99. You
$104.35 
  • SHIP THIS ITEM
    Not Eligible for Free Shipping
  • PICK UP IN STORE
    Check Availability at Nearby Stores
$79.01 
  • SHIP THIS ITEM

    Temporarily Out of Stock Online

    Please check back later for updated availability.

    • Condition: Good
    Note: Access code and/or supplemental material are not guaranteed to be included with used textbook.

Overview

For courses in Unix Systems Programming, Unix System Administration, and as a supplemental text for courses in Advanced Networks and Systems Programming.

This readable and comprehensive text clearly explains Unix programming and structure by addressing the solid fundamentals of Unix and providing different solutions to problems. All ideas and principles are introduced in the context of a practical problem, and excellent use is made of illustrations and listings in the text. Projects are solved by the development of complete programs, which are clearly commented on and integrated with explanations in the text.


Product Details

ISBN-13: 9780130083968
Publisher: Pearson Education
Publication date: 11/25/2002
Edition description: New Edition
Pages: 552
Product dimensions: 6.90(w) x 9.10(h) x 1.30(d)

About the Author

Bruce Molay, an award-winning teacher at Harvard and an independent software developer for over two decades, has combined his two passions of masterly teaching and Unix programming in this book.

Read an Excerpt

EXPLAINING UNIX

I wrote this book to explain how Unix works and to show you how to write system programs for Unix. Unix, still evolving after 30 years, has grown more complex, but it has not gotten more complicated. Its fundamental structure and design principles still apply. By understanding the structure, principles, and history, you will be able to read, enhance, and add to the vast accumulated literature of Unix programs. You also will have a lot of fun.

To make the ideas really clear, I present them in many forms: pictures, analogies, pseudocode, real code, experiments, exercises, and anecdotes. These explanations evolve from actual, useful problems and projects.

WHO IS PREPARED FOR THIS BOOK?

You must know how to program in C. If you know C++, you should be able to follow the code and adapt quickly. You have to know about arrays, structs, pointers, and linked lists and be able to understand, and write, code that uses these.

You need not have used Unix, nor do you need to know about the internals of an operating system. In each chapter, we start with the user-level features of Unix. The question, "What does that do?" at the user level leads inevitably to the system-level question, "How does it work?"

You need to have access to a Unix system and a sense of adventure.

WHAT'S IN IT FOR ME?

This book explains the components of a Unix system, what they do, the theory of how they work, and how to program using those components. You will also see how all these components fit together to form a coherent, intelligible operating system.

This book is based on a course, Unix Systems Programming, which I have taught at the Harvard Extension School since 1990. Students have described, on course evaluations and by e-mail years later, what the course gave them. One student said the course gave him "the keys to the kingdom." He understood Unix at the user, programming, and theory levels well enough to feel he could go anywhere and make sense of most problems. A physician in the course liked the case-study approach, comparing it to the way medical interns learn by working real problems.

Another student, one who went on to be a project leader at the Open Software Foundation, said the course taught him the ideas and skills he needed for that job.

FOR WHICH VERSION OF UNIX IS THIS WRITTEN?

Almost all of them, including GNU/Linux. The focus of the book is the structure and skills that form the basis of all versions of Unix, not the specific variations, from one dialect to the next. Once you understand the main ideas, those details are easy to pick up.

Table of Contents

  • 1. Unix Systems Programming: The Big Picture.
  • 2. Users, Files, and the Manual: Who Is First.
  • 3. Directories and File Properties
  • 4. Focus on File Systems
  • 5. Connection Control
  • 6. Programming for Humans: Terminal Control and Signals.
  • 7. Event-Driven Programming: Writing a Video Game.
  • 8. Processes and Programs
  • 9. A Programmable Shell: Shell Variables and the Environment.
  • 10. I/O Redirection and Pipes.
  • 11. Connecting to Processes Near and Far: Servers and Sockets.
  • 12. Connections and Protocols: Writing a Web Server.
  • 13. Programming with Datagrams: A License Server.
  • 14. Threads: Concurrent Functions.
  • 15. IPC Roundup: Can We Talk?

Preface

EXPLAINING UNIX

I wrote this book to explain how Unix works and to show you how to write system programs for Unix. Unix, still evolving after 30 years, has grown more complex, but it has not gotten more complicated. Its fundamental structure and design principles still apply. By understanding the structure, principles, and history, you will be able to read, enhance, and add to the vast accumulated literature of Unix programs. You also will have a lot of fun.

To make the ideas really clear, I present them in many forms: pictures, analogies, pseudocode, real code, experiments, exercises, and anecdotes. These explanations evolve from actual, useful problems and projects.

WHO IS PREPARED FOR THIS BOOK?

You must know how to program in C. If you know C++, you should be able to follow the code and adapt quickly. You have to know about arrays, structs, pointers, and linked lists and be able to understand, and write, code that uses these.

You need not have used Unix, nor do you need to know about the internals of an operating system. In each chapter, we start with the user-level features of Unix. The question, 'What does that do?' at the user level leads inevitably to the system-level question, 'How does it work?'

You need to have access to a Unix system and a sense of adventure.

WHAT'S IN IT FOR ME?

This book explains the components of a Unix system, what they do, the theory of how they work, and how to program using those components. You will also see how all these components fit together to form a coherent, intelligible operating system.

This book is based on a course, Unix Systems Programming, which I have taught at the Harvard Extension School since 1990. Students have described, on course evaluations and by e-mail years later, what the course gave them. One student said the course gave him 'the keys to the kingdom.' He understood Unix at the user, programming, and theory levels well enough to feel he could go anywhere and make sense of most problems. A physician in the course liked the case-study approach, comparing it to the way medical interns learn by working real problems.

Another student, one who went on to be a project leader at the Open Software Foundation, said the course taught him the ideas and skills he needed for that job.

FOR WHICH VERSION OF UNIX IS THIS WRITTEN?

Almost all of them, including GNU/Linux. The focus of the book is the structure and skills that form the basis of all versions of Unix, not the specific variations, from one dialect to the next. Once you understand the main ideas, those details are easy to pick up.

From the B&N Reads Blog

Customer Reviews