Shouldn't we consider MS Windows to be a Unix-like system?
They have so many common concepts: file, file system, driver, how applications interact with OS, etc.
Of course, there is a big difference between WIn32 API and POSIX, but they still similar enough for "portability" wrappers to exist. I would say, Unix and Windows have more similarities than differences on the conceptual level. They are based on the very same ideas, just implement them differently.
What I think about Unix-like systems (including Windows
) is that they are over-integrated, inherently unsafe, and poorly designed. There worst things are: integration
of the providers of application execution environment into the OS, networking at the OS level, and lack of strictly layered design.
If I wasn't clear enough, here is an example: linking
applications to OS components is very wrong. For safety reasons OS memory space should not be even visible to applications, and of course, applications and OS should not both use same "libraries", same address space, etc.
BTW, using libraries for OS construction is rather questionable idea, as in general it contradicts the concept of the layered design (inner layer provides services to upper layer, in each layer there is no freedom of using whatever you want, only what is already provided by inner layer).
Unix-like systems (including Windows) were born in a peaceful computer world without viruses and cyber-crime. Despite of "heroic" efforts they actually fail to provide adequate security and stability.