En M*1 es cierto que el SO reconoce todos los hilos como un solo proceso, pero éstos no se ejecutan secuencialmente, sino que lo harán concurrentemente. Esto es debido al planificador de usuario, que podrá conmutar entre las ejecuciones de hilos a nivel de usuario. Pero sí es cierto que si se bloquea un hilo, lo harán todos los demás debido a que se bloquea el proceso entero, ya que ese proceso es en realidad un solo hilo a nivel de sistema, que es lo que importa a la hora del bloqueo.
En 1*1, el SO no reconoce cada hilo como un proceso diferente, sino que
son un hilo diferente: la unidad de ejecución de la CPU no son procesos, son hilos; lo que decís está bien, pero su justificación no es técnicamente correcta.
En M*N se tiene que la cantidad de hilos reconocidos por el sistema es independiente a los creados a nivel de usuario, y por tanto, podés pensar que hay dos niveles de planificación (y bloqueos): uno a nivel de usuario y otro a nivel de sistema. A efectos prácticos desde el punto de vista de la CPU, lo que importa es lo que reconozca el sistema, y los bloqueos en ese sentido se harán a nivel de hilos de sistema (aunque claro, de la perspectiva del proceso de usuario, se sucederán a un conjunto de hilos a nivel de usuario, y vaya uno a saber cuáles, ya que serán aquellos que el sistema haya considerado para "confeccionar" un hilo a nivel de sistema).
Espero que no haya quedado muy entreverado :P
¡Saludos!