I've been trying to understand the difference between an NOS and an SDN Controller, because in many sources, this term is used interchangeably. For example: https://arxiv.org/pdf/1406.0440.pdf
But then I go searching for OpenFlow enabled switches and I find that they are running a "Network Operating System," such as PicOS or Cumulus Linux and that they are also compatible with SDN Controllers such as Ryu. This leads me to believe that these are two separate designations. The NOS being housed on the forwarding device's hardware in the data plane and the SDN Controller being housed on a separate, commodity hardware platform with an ethernet connection.
Were these once an interchangeable term but has since become two separate things? Or do PicOS and Ryu do essentially the same thing?