"no" is used 1.) to negate an action / verb, or 2.) as its own adjective to a noun.
Ex. 1: "There is no parking along this roadway."
Ex. 2: "No students were absent today."
"non-" is used with another word to form an adjective.
Ex.: "This is a non-smoking restaurant."
The word "restaurant" is a noun. The hyphenated word "non-smoking" forms an adjective describing "restaurant".
"none" is used as a pronoun.
Ex.: "None of the students failed the exam."
Here, "none" is the subject -- a pronoun. The sentence could have been "None finished the exam." The phrase "of the students" is a prepositional phrase modifying "none".
Compare:
"No students failed the exam."
"None of the students failed the exam."
In the first example above, we could NOT have said, "No failed the exam." The word "no" is an adjective to the subject ("students").
In the second example above, we COULD have said, "None failed the exam," because "none" is the subject by itself.