Windows is MUCH more complex then UNIX!
by Anton Chuvakin
Related link: http://www.securityfocus.com/columnists/252
Finally somebody said it soooo well: "Windows is easily the most complicated of the three operating system families that I'm most familiar with, those being BSD, Linux, and Windows."
I just smile when people say that UNIX is hard and Windows is simple. Recenly I was playing with various security settings in Windows 2000, trying to harden an exposed machine, running file sharing and IIS. Wooow, UNIX hardening is so easy and straightforward by comparison... Just thinking of "local policy objects" makes one's mind dizzy :-)
The article summarizes it nicely: "Windows is horribly complicated."
The so called simplicity of Win32 is due, I think, to how little of the system is exposed to users through shell commands, scripting, etc. This is in contrast to Unix(es) where virtually all of the system is reachable in this way. Also, when most people think of the Win32 API, they think of the GUI layer (user32.dll), plus a smattering of other routines needed to do simple things like accessing the registry and launching programs, etc. The Windows 95 camp of OS's really didn't go a lot deeper than this, however the Windows NT heritage is MUCH deeper. The security model is comprehensive. There are multiple namespaces for global shared objects (ie. Mutexes, Events, Sempahores). In addition to native threads you can find "Fibers" (if a thread is a light-weight process, does that make a fiber a super-light-weight process). And the list goes on and on... You mentioned security, though, and I think that is the deepest and widest pool in Windows. I think the uninitiated could spend months diving to its depths and not find the end....