To shed a little bit more light on it:
The terms OTP ‘Application’ and OTP ‘Process’ had me confused for quite some time when I started out working with Elixir, because they feel very different from operating-system-level applications and processes.
But here is the thing: When running Erlang or Elixir code, the Open Telecom Platform/the BEAM Virtual Machine is the environment the stuff runs in. That this might in turn run on top of another operating system (Which is not always the case – see Nerves or Xen for instance) is not important.
The service your ‘OTP System’ (Which might run as an Operating-System level application) provides might be comprised of one or more OTP applications, which can be started/stopped independently.
OTP processes also work very similar to operating-system-level processes, in the sense that they are scheduled and can pass messages (Although Erlang’s message passing API is a lot cleaner than managing Unix pipes ), but of course they are far more lightweight than OS-processes.