SMS stands 4 storage management subsystem. it contols datasets allocations on MVS with dataclass storeclass parameters that define DCB
and sometimes space for group of datasets (assciated to dataclass)
Before the advent of SMS, you had to suplly all DCB and volume information in JCL, and no check was made as to the existance of datasets (meaning you could have two datsets residing on different volumes causing troubles in production runs -sometimes) then came the catalog services you could not longer catalog already cataloged datasets
and SMS goes further by relieving the user from supplying DCB (lrecl. blksize, recfm) , volume and space parameters.
hehnce SMS will select itself the volume where you may allocate a datsets
Bsically SMS shields the user from any constraint associated to dataset allocations and definition.
the maintening of SMS and datasets is done generally by production people.
NON - SMS datasets are datasets outside the control of SMS (basically you'd have to supply DCB and volume information. But as catalog services are present, you can't allocate twice a dataset.