>An interesting trivial fact is that the Mac prefix means 'son of' very much like the suffix 'ez' at the end in Spanish names (Hernandez, Lopez, etc.). Do you know of any prefix / suffixes that mean the same in other languages?
In Slavic languages, -ov is equal to 's in English (i.e. it's a posessive suffix), so Petrov means Peter's (son, probably, because of the male gender - -ova would be feminine). -ich is usually a diminutive suffix, denoting a smaller version of something (novac - money; novčić - tiny coin) or offspring (orao - eagle, orlić - eagle-ling). So basically all Slavic last names ending in -ov, -ich or an -ovich combination mean either "son of" or "further offspring of".
Usually a guy would build a separate household, and all members thereof would be -ov of him (the Charlie'ses); it often wasn't any official last name, just a nickname of the family. In the next generation they'd get the -ich appended, specially if there was already a whole tribe of them.
At some point there was a state or church which tried to do some sort of census, and these were taken down as last names, and stayed so.