I felt tempted to write about this question because quite often, there are people claiming that DOS is not an OS. The reasoning typically goes that a "real" OS has virtual memory and paging, and DOS doesn't have that, so its not an OS. People end up being confused because "OS" is right there in its name.
If you do expect a factual analysis whether DOS was an operating system or not, you will get disappointed now. Unfortunately, this is not a factual question at all, and thus there is no "correct" answer because we don't really know what are necessary properties to make up an OS.
But isn't there a definition for operating systems?
That doesn't matter for two reasons. At first, the definitions dont determine how we use the concept, we use the concept in a way and then a influential person makes up a definition to put the current view into words. Worse, this is part of the problem, in the 80ies they had different definitions of operating systems then we would have today.
Second, rarely anyone even consults those definitions. We make up language as we use it to express ourselves, and we get away with it as long as communication is successful, that the recipient is understanding what we intended to express.
Back in the 80ies when MS-DOS was the new stuff, DOS was, by all means, an operating systems. Like, how else would you operate your brand new IBM PC without an operating system? With the development of more complicated chipsets, software started to make use of new features. With the 80286 came memory protection and virtual memory, with the 80386 we got paging. At first they got hacked back in into DOS via EMS and XMS, but later fully protected-mode operating systems popped up to make use of the new feature. After the millenium, everything was on protected mode. With those kind of operating systems becoming dominant, the concept people had about operating systems changed - the new features werent seen as optional, they were assumed to be given and universal. And this resulted in the concept changing - what were optional or extended features in the 80ies were now an substantial part of the thing itself. And being such, the concept of operating systems changed to include these.
This is, in fact, a very good example of linguistic relativism, with the concept being different in different times.
Unfortunately, quite some people suck at dealing with linguistic relativism. So you gotta find out what their concepts of things are and work around it.