Why are metal oxides basic and non-metals' acidic or neutral

Recently I came across the fact: *Metal oxides basic and non-metals' acidic or neutral.*


Searching for it, partly my query is solved, as I found:


Metal oxides or $\ce{O2-}$ forms $\ce{OH-}$ after hydrolysis in the following reaction so metal oxides are basic in aqeous solutions.
$$\ce{O2- + 2H2O->4OH-}$$


I think this might happen as metal form ionic compunds and non-metals form covalent and some of them may not even react tus neutral.


I've got only a little $5\%$ of the exact reason, therefore I wish if someone could explain the whole process/fact. I considered Arhenius concept.


**Note** My question is partly answered [here](https://chemistry.stackexchange.com/questions/1215/why-does-polonium-form-acidic-oxides), but is not satisfactory.




We have learnt that metallic oxides are basic nature. This is because the oxides of metals like $\ce{MgO}$ or $\ce{CaO}$ or $\ce{Na2O}$ form hydroxides in their aqueous solutions.
For example:
$$\ce{K2O + H2O -> 2KOH}$$
$$\ce{MgO + H2O -> Mg(OH)2}$$


But when non-metallic oxides dissociate into their constituent ions in water, they give $\ce{H+}$ ions in their aqueous solutions forming acids
For example:
$$\ce{CO2 + H2O -> H2CO3}$$
$$\ce{SO3 + H2O -> H2SO4}$$


 3

Metal oxides like $\ce{CaO}$ and $\ce{Na2O}$ react with water and give hydroxides:


$\ce{CaO + H2O <=> Ca(OH)2}$


$\ce{Na2O + H2O <=> 2 NaOH}$


While non-metal oxides like $\ce{CO2}$ and $\ce{SO2}$ react with water and give acids:


$\ce{CO2 + H2O <=> H2CO3 <=> H+ + HCO3-}$


$\ce{SO2 + H2O <=> H2SO3 <=> H+ + HSO3-}$


 0