Each UNIX implementation sets limits on various system features and resources, and provides—or chooses not to provide—options defined in various standards. Examples include the following:
How many files can a process hold open at one time?
Does the system support realtime signals?
What is the largest value that can be stored in a variable of type int?
How big an argument list can a program have?
What is the maximum length of a pathname?
While we could hard-code assumed limits and options into an application, this reduces portability, since limits and options may vary:
Across UNIX implementations: Although limits and options may be fixed on an individual implementation, they can vary from one UNIX implementation to ...