Portability - UNIX, or a variety of UNIX, is available on many
machines. Programs written in standard UNIX and C should run on any of
them with little difficulty.
Multiuser / Multitasking - many programs can share a machines
processing power.
File handling - hierarchical file system with many file handling
routines.
Shell Programming - UNIX provides a powerful command interpreter
that understands over 200 commands and can also run UNIX and
user-defined programs.
Pipe - where the output of one program can be made the input of
another. This can done from command line or within a C program.
UNIX utilities - there over 200 utilities that let you accomplish
many routines without writing new programs. e.g. make, grep, diff, awk,
more ....
System calls - UNIX has about 60 system calls that are at the heart of the operating system or the kernel of UNIX. The calls are
actually written in C. All of them can be accessed from C programs. Basic I/0,
system clock access are examples. The function open() is an example of a
system call.
Library functions - additions to the operating system.