Shell interface to user applications
A human user either uses a Terminal or a specific GUI program such as a web browser to use the functionalities available on a Unix system. Both are referred to as user applications, or just simply applications or programs, that allow the hardware to be used through the shell ring. Memory, CPU, network adapter, and hard drives are typical examples of hardware that are usually used by most Unix programs through the API provided by the shell ring. The API provided is one of the topics that we are going to talk about.
From a developer's perspective, there is not much difference between an application and a program. But from a human user's perspective, an application is a program that has a means such as a Graphical User interface (GUI) or Command-Line Interface (CLI) to interact with the user, but a program is a piece of software running on a machine that has no UI, such as a running service. This book does not distinguish...