While this is true wrt the history of FreeBSD/Unix, I'm almost positive that BSD didn't invent it. I'm pretty sure it was picked up from the existing host file that was published by sri-nic.arpa before DNS.

Warner

The CSRG history doesn't seem to have saved the full SCCS history of the hosts manpage, but it must have appeared sometime around the addition of ARP support to 4.1BSD - it's not in the 4.1C sources without ARP, but it is in the sources with it.  That version does indeed mention its origins:

HOSTS(5)                      File Formats Manual                     HOSTS(5)



NAME
       hosts - host name data base

DESCRIPTION
       The  hosts  file  contains information regarding the known hosts on the
       DARPA Internet.  For each host a single line should be present with the
       following information:

       official host name
       Internet address
       aliases

       Items  are  separated by any number of blanks and/or tab characters.  A
       ``#'' indicates the beginning of a comment; characters up to the end of
       the  line  are not interpreted by routines which search the file.  This
       file is normally created from the official host data base maintained at
       the  Network Information Control Center (NIC), though local changes may
       be required to bring it up to date regarding unofficial aliases  and/or
       unknown hosts.

       Network  addresses are specified in the conventional ``.'' notation us-
       ing the inet_addr() routine from the Internet address manipulation  li-
       brary,  inet(3).   Host names may contain any printable character other
       than a field delimiter, newline, or comment character.

FILES
       /etc/hosts

SEE ALSO
       gethostent(3N)

BUGS
       A name server should be used instead of a static file.   A  binary  in-
       dexed file format should be available for fast access.



                                15 January 1983                       HOSTS(5)

-Henry