Controller began on UNIX. As the market matured the controller became Windows only. It became a question of resources as the Windows controller was less expensive and the UNIX controller was available (and had to be maintained) on three different versions of UNIX. The market decided and the UNIX controller disappeared.
The recording mechanism uses a Windows specific set of architecture features to facilitate recording. That being said, you can use a man-in-the-middle model to recording UNIX/LINIX/MAINFRAME/MIDRANGE/... apps that use TCP/IP to communicate by using the Windows-based recorder combined with a person operating the LINUX app. See the LoadRunner documentation for information on recording UNIX applications.
The Windows load generator is the most promiscuous of the generator types, supporting all of the protocols. You can use UNIX and LINUX based generators but then you limit yourself to a subset of the total population of protocols.