06-07-2011
614,
110
Join Date: May 2005
Last Activity: 27 June 2016, 2:12 PM EDT
Posts: 614
Thanks Given: 4
Thanked 110 Times in 107 Posts
Unix was designed as a multi-user, multi-tasking operating system. Windows, initially, was not really designed for this.. and still carries some poor design choices even after recognizing the need for handling multiple users and tasks. Windows attempt at handling multiple users was to create the idea of required client OS installations in addition to what they called a server OS installation. And this is still their primary model for handling multiple users. With Unix, there doesn't have to be any distinction of client vs. server, which is useful when you consider the cost of Windows CALs.
Because Unix systems are simply general purpose multi-user, multi-tasking entities, Unix can be made into pretty much anything (there isn't a hard paradigm that is difficult to thwart with Unix... the whole client/server model of Windows can be VERY limiting).
Unix tends to focus on the idea of processes and files as the core. Windows core consists of a set of API's that cover many very specific areas. The flexibility of Unix is in the elegant simplicity of its model. True, you can make a very insecure Unix platform, but unlike Windows, you can also make a very secure platform as well. The Windows core consists of legacy APIs, redundant APIs, deprecated APIs and the ever growing set of new APIs... and since it's an API driven model, there are lots of security issues... arguably, it's not fixable.
There are even more elegant solutions out there than Unix... but just the few good design choices made early on have allowed Unix (and even Linux) to stand the test of time.
Unix can be used to make small footprint appliances (e.g. even mobile phone devices... many of which are Linux based). Windows required a whole DIFFERENT OS and API stack to support small footprint appliances, and indeed, even so, there are many choices even in that space (WinCE, Windows Mobile, etc.)... all different, all unique... and it multiplies the security issues that have to be taken into account.
Unix, simple design, flexible OS, a gazillion possibilities.
Windows, complex design, insecure and risky, limited possibilities (by design).
Just my two cents... I specialize in Unix/Linux + Windows integration...