What are considered utilities and applications?

11,948

Solution 1

Strictly speaking, Unix utilities are only a well defined set of commands usable by portable shell scripts and specified by POSIX.

The term is also sometimes loosely used to include non standard CLI only commands still common in Unix and Linux systems, like say less, emacs, perl, zipand a gazillion of others.

Applications are almost anything running in userland that interact with end users. This excludes the kernel and everything tight to it like device drivers. Daemons, system services and utilities might be excluded or not depending on the context.

Here again, POSIX defines what are portable applications, i.e. programs written in ISO C and describe the various levels of conformance they are allowed to follow. Of course, non conforming applications can use whatever programming language and non portable facility they like.

In any case, applications use APIs (Application Programming Interfaces).

"Application" is also one of the terms used to classify and arrange what is stored on disk, along with "Operating System", "Data" and others. For example the OS uses /dev, /usr and /etc, data is stored in /var and unbundled applications /opt .

Solution 2

I think the Wikipedia topic titled: "Utility Software" nails it:

Utility software usually focuses on how the computer infrastructure (including the computer hardware, operating system, application software and data storage) operates. Due to this focus, utilities are often rather technical and targeted at people with an advanced level of computer knowledge - in contrast to application software, which allows users to do things like creating text documents, playing video games, listening to music or viewing websites.

Solution 3

Wikipedia contrasts application software with system software. The latter:

  • Provides a platform for application software by providing access to hardware, etc.

  • Performs system specific tasks -- for example, most common command line utilities. However, many command line programs are really applications (e.g., wget, make, ssh).

Application software could be thought of as anything that could (in theory) run the same way on any operating system. But there is some ambiguity here. For example, is tree an application or a utility? Since the distinction is an abstract one that does not impact use or implementation, it is not vital to categorize everything one way or the other.

Solution 4

Utilities in Unix are meant to function well in command pipelines or scripts. They are not meant to be interacted with to a high degree while performing their tasks.

Applications typically provide a notion of a workspace or project where you can work on a task or file (or multiple such things) interactively, and maybe even save/load that entire project/workspace as a unit. Audacity, for example, lets you save multiple audio clips to a project. LMMS is another example - a "project" in LMMS would contain not only your music data, but samples, instrument settings, etc.

Utilities like cp, ls, or even ones with many options and capabilities like convert or avconv will take a file/directory, and process it, generating a new file, generating other output, or doing something to an existing single file/directory without further input from you. A utility generally takes a file or stdin as input, does something to it, and is then done.

Share:
11,948

Related videos on Youtube

Ron Vince
Author by

Ron Vince

Updated on September 18, 2022

Comments

  • Ron Vince
    Ron Vince over 1 year

    Commands like cp, ls, chmod, pwd etc are referred to as "utilities". I seem unable to define the things are called "applications" instead.

    Let's abandon GUI to make the definition more precise.

    • Lekensteyn
      Lekensteyn about 10 years
      Please do not crosspost questions.
    • Ron Vince
      Ron Vince about 10 years
      This question is related to this question. If it is possible, please answer whether daemons are utilities or application. Daemons are obviously not library routines.
    • Lekensteyn
      Lekensteyn about 10 years
      I was referring to this post on AU. On the SE network, it is frowned upon to post the same questions on different sites. Also, this question has some answers now. If something is still not clear, please comment on it.
    • Ron Vince
      Ron Vince about 10 years
      I think the question is more appropriate to ask here. I did not before there was specific section for Unix. That is why I asked on askubuntu and stackoverflow.
    • Ron Vince
      Ron Vince about 10 years
      As for the answer, it is still kind of blur line. I am still doing literature review.
  • Melab
    Melab over 5 years
    Where does POSIX define what constitutes a "portable application"?
  • jlliagre
    jlliagre over 5 years
    @Melab POSIX uses portable applications as a synonym of conforming applications. What makes an application conforming (i.e. portable) is described in the conformance link I posted. See also pubs.opengroup.org/onlinepubs/9699919799/xrat/…