C and UNIX

Two Books

Nonfiction, Computers, Programming, Programming Languages, C & C++, C, Operating Systems, Unix
Cover of the book C and UNIX by Ronald J. Leach, AfterMath
View on Amazon View on AbeBooks View on Kobo View on B.Depository View on eBay View on Walmart
Author: Ronald J. Leach ISBN: 9781939142252
Publisher: AfterMath Publication: February 2, 2013
Imprint: Language: English
Author: Ronald J. Leach
ISBN: 9781939142252
Publisher: AfterMath
Publication: February 2, 2013
Imprint:
Language: English

This Volume contains two complete books.

USING C IN SOFTWARE DESIGN, 2E

Originally published in 1993, this book provides a creative approach to learning the C programming language by emphasizing software engineering. This inexpensive book, extensively tested in several academic and professional settings, provides a gentle, but complete, introduction to the C language for a practicing scientist or engineer to be able to write substantial programs to solve scientific programs using C libraries. Extensive program examples are included to illustrate the major concepts of the C programming language. This book also illustrates the way that modern software engineering is typically done, by showing how a major software design and development project can be implemented in the C language.

The first part emphasizes the simpler software engineering aspects of C, allowing the reader to begin writing interesting programs quickly. A software project is introduced early in the book and appears throughout as new features of C are covered. The second part of the book discusses advanced C topics, such as pointers, structures, and the design of larger C programs that extend over several source code files. A brief introduction to C++ is included.

ADVANCED TOPICS IN UNIX, 2E

The first edition, originally published in 1994 by John Wiley, was named an Alternate Main Selection of the Newbridge Book Club. It stayed in print for thirteen years, an eternity in the computing literature. Due to changes in the publishing industry, this edition of the book is only available electronically.

I revised the book because of the increased popularity of several variants of UNIX and what I learned from reviews of the previous published version. Linux is highly popular, especially in the open source community and because the operating system for the Google Android phone is based on it. Fedora (Red Hat), Debian, Ubuntu, and SUSE are other variants. Mach, Solaris, and Apple Darwin are also popular.

In my experience, end users, application programmers, system programmers, and system administrators often have difficulties making programs and utilities work well across different UNIX variants, due to differences in file system organization, different locations of critical configuration files, and important, yet subtle, differences in how system calls operate. There are also issues with different utilities, many of which are either not available on all UNIX versions, or else require a substantial effort to even get them to install properly.

Many second editions dump material from older technologies. I have chosen a different approach, guided by my own research and experience in the efficient development of large, high-quality, software systems over much of the last twenty-five years. A huge percentage of current software applications for UNIX and other operating systems are built using existing software components that are either partially or entirely reused. Older software components necessarily have been built using older technology and are likely to use some of the older system calls as well as newly created calls. You need to understand the differences in different generations of system calls and their behavior if you are redeploying existing software components. That is, after all, the reason for learning system calls if you are an applications programmer. The same holds true for systems-level programming, especially kernel-level programming, since operating systems are rarely written from scratch.

There are 11 chapters: Introduction to UNIX, The User Interface, Input and Output, UNIX File Systems, Introduction to Processes, Memory and Process Management, Introduction to Interprocess Communication, The System V IPC Package, Signals, Sockets, and RPC, IPC Comparison, and Fault-Tolerant UNIX Software.

View on Amazon View on AbeBooks View on Kobo View on B.Depository View on eBay View on Walmart

This Volume contains two complete books.

USING C IN SOFTWARE DESIGN, 2E

Originally published in 1993, this book provides a creative approach to learning the C programming language by emphasizing software engineering. This inexpensive book, extensively tested in several academic and professional settings, provides a gentle, but complete, introduction to the C language for a practicing scientist or engineer to be able to write substantial programs to solve scientific programs using C libraries. Extensive program examples are included to illustrate the major concepts of the C programming language. This book also illustrates the way that modern software engineering is typically done, by showing how a major software design and development project can be implemented in the C language.

The first part emphasizes the simpler software engineering aspects of C, allowing the reader to begin writing interesting programs quickly. A software project is introduced early in the book and appears throughout as new features of C are covered. The second part of the book discusses advanced C topics, such as pointers, structures, and the design of larger C programs that extend over several source code files. A brief introduction to C++ is included.

ADVANCED TOPICS IN UNIX, 2E

The first edition, originally published in 1994 by John Wiley, was named an Alternate Main Selection of the Newbridge Book Club. It stayed in print for thirteen years, an eternity in the computing literature. Due to changes in the publishing industry, this edition of the book is only available electronically.

I revised the book because of the increased popularity of several variants of UNIX and what I learned from reviews of the previous published version. Linux is highly popular, especially in the open source community and because the operating system for the Google Android phone is based on it. Fedora (Red Hat), Debian, Ubuntu, and SUSE are other variants. Mach, Solaris, and Apple Darwin are also popular.

In my experience, end users, application programmers, system programmers, and system administrators often have difficulties making programs and utilities work well across different UNIX variants, due to differences in file system organization, different locations of critical configuration files, and important, yet subtle, differences in how system calls operate. There are also issues with different utilities, many of which are either not available on all UNIX versions, or else require a substantial effort to even get them to install properly.

Many second editions dump material from older technologies. I have chosen a different approach, guided by my own research and experience in the efficient development of large, high-quality, software systems over much of the last twenty-five years. A huge percentage of current software applications for UNIX and other operating systems are built using existing software components that are either partially or entirely reused. Older software components necessarily have been built using older technology and are likely to use some of the older system calls as well as newly created calls. You need to understand the differences in different generations of system calls and their behavior if you are redeploying existing software components. That is, after all, the reason for learning system calls if you are an applications programmer. The same holds true for systems-level programming, especially kernel-level programming, since operating systems are rarely written from scratch.

There are 11 chapters: Introduction to UNIX, The User Interface, Input and Output, UNIX File Systems, Introduction to Processes, Memory and Process Management, Introduction to Interprocess Communication, The System V IPC Package, Signals, Sockets, and RPC, IPC Comparison, and Fault-Tolerant UNIX Software.

More books from AfterMath

Cover of the book Shakespeare's Gardens and Stones by Ronald J. Leach
Cover of the book Perspectives on Etiquette by Ronald J. Leach
Cover of the book Confessions of a Cruise Lecturer by Ronald J. Leach
Cover of the book Baltimore: its History and Its People in Three Volumes by Ronald J. Leach
Cover of the book Black and American Indian Soldiers in the Civil War by Ronald J. Leach
Cover of the book The Humor of Mencken by Ronald J. Leach
Cover of the book A Dictionary of the First, or Oldest, Words in the English Language by Ronald J. Leach
Cover of the book The C, UNIX, and UNIX/Linux Commands Series by Ronald J. Leach
Cover of the book Eat Kids At School by Ronald J. Leach
Cover of the book Advanced Topics In UNIX, Second Edition by Ronald J. Leach
Cover of the book Stories of Inca Treasure by Ronald J. Leach
Cover of the book Many by Poe, Dickinson, Nash, Key, and Other Baltimore Poets by Ronald J. Leach
Cover of the book Women and Sexuality by Ronald J. Leach
Cover of the book The Plot to Assassinate Lincoln and the War on Anarchy by Ronald J. Leach
Cover of the book Troy, The Iliad, The Odyssey, and More by Ronald J. Leach
We use our own "cookies" and third party cookies to improve services and to see statistical information. By using this website, you agree to our Privacy Policy