Ebook Size: 3.7 MB
Download : Advanced Linux Programming
GNU/Linux
has taken the world of computers by storm. At one time, personal
computer users were forced to choose among proprietary operating
environments and applications. Users had no way of fixing or
improving these programs, could not look “under the hood,” and
were often forced to accept restrictive licenses. GNU/Linux and other
open source systems have changed that—now PC users, administrators,
and developers can choose a free operating environment complete with
tools, applications, and full source code.
A
great deal of the success of GNU/Linux is owed to its open source
nature. Because the source code for programs is publicly available,
everyone can take part in development, whether by fixing a small bug
or by developing and distributing a complete major application.This
opportunity has enticed thousands of capable developers worldwide to
contribute new components and improvements to GNU/Linux, to the point
that modern GNU/Linux systems rival the features of any proprietary
system, and distributions include thousands of programs and
applications spanning many CD-ROMs or DVDs.
The
success of GNU/Linux has also validated much of the UNIX philosophy.
Many of the application programming interfaces (APIs) introduced in
AT&T and BSD UNIX variants survive in Linux and form the
foundation on which programs are built.The UNIX philosophy of many
small command line-oriented programs working together is the
organizational principle that makes GNU/Linux so powerful. Even when
these programs are wrapped in easy-to-use graphical user interfaces,
the underlying commands are still available for power users and
automated scripts. A powerful GNU/Linux application harnesses the
power of these APIs and commands in its inner workings. GNU/Linux’s
APIs provide access to sophisticated features such as interprocess
communication, multithreading, and high-performance networking. And
many problems can be solved simply by assembling existing commands
and programs using simple scripts.
This
book is intended for three types of readers:
You
might be a developer already experienced with programming for the
GNU/Linux system, and you want to learn about some of its advanced
features and capabilities.You might be interested in writing more
sophisticated programs with features such as multiprocessing,
multithreading, interprocess communication, and interaction with
hardware devices.You might want to improve your programs by making
them run faster, more reliably, and more securely, or by designing
them to interact better with the rest of the GNU/Linux system.
1.
GNU is a recursive acronym: It stands for “GNU’s Not UNIX.”
You
might be a developer experienced with another UNIX-like system
who’s interested in developing GNU/Linux software, too.You might
already be familiar with standard APIs such as those in the POSIX
specification.To develop GNU/Linux software, you need to know the
peculiarities of the system, its limitations, additional
capabilities, and conventions. You might be a developer making the
transition from a non-UNIX environment, such as Microsoft’s Win32
platform.You might already be familiar with the general principles of
writing good software, but you need to know the specific techniques
that GNU/Linux programs use to interact with the system and with each
other. And you want to make sure your programs fit naturally into the
GNU/Linux system and behave as users expect them to.
You
might be a developer experienced with another UNIX-like system who’s
interested in developing GNU/Linux software, too.You might already be
familiar with standard APIs such as those in the POSIX
specification.To develop GNU/Linux software, you need to know the
peculiarities of the system, its limitations, additional
capabilities, and conventions. You might be a developer making the
transition from a non-UNIX environment, such as Microsoft’s Win32
platform.You might already be familiar with the general principles of
writing good software, but you need to know the specific techniques
that GNU/Linux programs use to interact with the system and with each
other. And you want to make sure your programs fit naturally into the
GNU/Linux system and behave as users expect them to.
No comments:
Post a Comment
What do you think about this book?