Solaris had a variety of M:N options in the early-to-mid 90s, including libthread and pthreads, all of which were precursors to GCD as you say.