Welcome to STUDYtactics.com    
  BOOKS eCONTENT SPECIALTY STORES MY STUDYaides MY ACCOUNT  
New & Used Books
 
Product Detail
Product Information   |  Other Product Information

Product Information
Understanding UNIX/LINUX Programming: Guide to Theory and Practice
Understanding UNIX/LINUX Programming: Guide to Theory and Practice
Author: Molay, Bruce
Edition/Copyright: 2003
ISBN: 0-13-008396-8
Publisher: Prentice Hall, Inc.
Type: Paperback
New Print:  $180.00 Used Print:  $135.00
Other Product Information
Author Bio
Review
Preface
Summary
Table of Contents
 
  Author Bio

Molay, Bruce : Harvard University


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.

 
  Review

"The material covered goes to the right depth to allow students to understand the UNIX operating system to program it. I wish a book of this calibre was available during my graduate studies as it would have helped me tremendously in learning to program the UNIX system."

--Sam R. Thangiah, Slippery Rock University



"This text is one of the most accurate and articulate that I have read. It is easily readable."

--Lawrence B. Wells, Dallas County Community College




Publisher Web Site, December, 2002

 
  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.

 
  Summary

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.

Features

  • Case-study approach to teaching--Each chapter is based on a specific Unix command or programming problem.
    • Enables students to immediately see solutions to specific problems.
  • Standard Unix-specific programs.
    • Allows students to learn how to use the system at the same time they learn how to program it.
  • Copious illustrations--Abstract ideas, structures, and procedures are depicted visually.
    • Reinforces to students fundamental ideas and concepts in an easily understandable manner.
  • Source code to complete programs--Every chapter solves the project(s) presented by developing complete programs.
    • Encourages students to make sense of abstract ideas by showing them concrete examples.
  • Humorous, memorable metaphors.
    • Helps students to retain information with whimsical and unique models.
  • Instructor's CD with extensive pedagogy--Includes lecture outlines, homework projects, blackboard slides, test bank, and solutions to most exercises.
    • Enables instructors to present a complete curriculum, while tailoring the pedagogy to fit their needs.
  • 3D model files.
    • Allows students to explore ideas by enlarging, rotating, and modifying graphics.
  • Web site--With online study guide, link to author's site, homework projects, additional code, and images.
    • Enables students to download programs to further enhance their learning experience.
 
  Table of Contents

1. Unix Systems Programming: The Big Picture.
2. Users, Files, and the Manual: Who Is First.
3. Directories and File Properties: Looking through ls.
4. Focus on File Systems: Writing pwd.
5. Connection Control: Studying stty.
6. Programming for Humans: Terminal Control and Signals.
7. Event-Driven Programming: Writing a Video Game.
8. Processes and Programs: Studying sh.
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?

 

New & Used Books -  eContent -  Specialty Stores -  My STUDYaides -  My Account

Terms of Service & Privacy PolicyContact UsHelp © 1995-2024 STUDYtactics, All Rights Reserved