CP/M has no tree shaped file system. MS-DOS borrows from Unix as much as from CP/M. For instance the ".." directory being parent (in spite of there being no such directory entry), navigated by a "cd" command, and command pipelines separated by | (in spite of there being no multitasking; all done via temporary files under the hood).
Later versions of MS-DOS had a "Xenix" API, inspired and named after Microsoft's Unix flavor.
The term "BIOS" comes from CP/M, referring to the low-level hardware-abstraction layer of CP/M (Basic Input/Output System), the machine-dependent part.
IBM PC family machines put the BIOS into the machine rather than OS image, allowing machine-language programs to take it for granted that they can invoke BIOS routines.
Not that it was that much of an important feature at that time either. With the 360KB size of 5.25" drives, there were only so many files you could put in a disk. Support for hard drives was also introduced later, with version 2.0 and if I remember correctly, support for 3.5" 720KB drives came only with MSDOS 3.20.
The fact that devices like CON exist (virtually) in every dir is also a consequence of this.