It is not recommend to query against the tables directly, this can lead to table locking issues.
It is recommend that you always query against the views, on top of that I would not use the Installed Software for OS info. I would use the v_GS_OPERATING_SYSTEM for this.
Run the following query against your CM DB with SQL Server Management Studio
select OS.Caption0, OS.OSLanguage0, Count(*) from dbo.v_GS_OPERATING_SYSTEM OS group by OS.Caption0, OS.OSLanguage0 Order by OS.Caption0, OS.OSLanguage0