Tillförde väl inte den förra debatten nåt annat än lite text på engelska
Men annars är väl just HardwareAbstractionLayer både en fördel och en akilleshäl... beroende på hur säkerhetskritiskt systemet är.
Hittade en bra artikel om detta, läs och lär
http://catalog.com/sft/ntvsunix.html
Arguments in favor of Windows NT
Now it's my turn to give you all my reasons as to why an existing UNIX system should be ported over to Windows NT, and why Windows NT is a better operating system than UNIX.No need for a staff 'C' programmer to maintain it - nearly all NT networks that I know of are maintained by people with "user-level" knowledge, albeit good "user-level" knowledge. Usually these people are experts in hardware, and how to set up an operating system properly. Typically they have titles such as "Network Administrator", but you don't need to hire a full-fledged "Computer operator", nor have an on-site "Systems Programmer" to run your NT network. It, well, runs itself.
NT installs 'out of the box' and is supported by all major hardware vendors - NT systems typically have no trouble supporting a large number of individual devices and vendors, and updated device drivers for NT are frequently provided for download over the internet by Microsoft and the individual hardware vendors. NT devices are easily installed, as separate files, just like Windows '9x devices, and Windows 2000 is planned to support Plug & Play, making this process even easier. And, every machine I've ever tried to install NT 4.0 on has worked the first time. And Windows 2000 should make this even better.
Large installed base - like UNIX, there is a large installed base of NT software. Granted, this isn't necessarily an argument that it's BETTER, but it is proof of reliability... like a college degree is proof of potential, not actual ability.
Large number of native applications - there are more Win32 applications than for any other system. Windows '95 saw to that. And NT runs them just a little better.
Built-in pre-emptive multi-threading capability - Win32 on Windows '9x and NT provides the ability for a single application to have multiple "threads of execution" that run at variable priority levels, each with its own stack and private "thread local storage", and execution point. In short, it's like having an application within an application, that shares memory and other resources, yet has some of its own private stuff as well. The use of multiple threads of execution can prevent 'blocking' of the user interface by time-consuming operations, and prevent the need to insert frequent "message loop" calls within a time consuming function, not only simplifying the application's design, but also making it more robust with better overall performance.
NOTE: although Linux may have threading support, the specification for multiple threads under *NIX is not consistently supported, and therefore applications written for multi-threaded operating systems may not run on all *NIX platforms - therefore, *NIX cannot be considered to inherently support multiple threads, unlike Windows NT and '9x.
Backward compatibility with most Windows and MS-DOS software - with some reservations (such as the use of undocumented features, or special hardware interfaces) MS-DOS and Windows 16-bit software runs unmodified on Windows NT 4.0 . Better compatibility is provided by Windows '9x, for which the main design parameters were "backward compatibility". But Windows NT performs well in this area. Very few "legacy" applications will fail to run properly under Windows NT.
High-level language OS KERNEL and device driver model - as with UNIX, NT uses a 'C' language kernel and device driver model (through HAL), to minimize the amount of actual "native code" that needs to be written for a particular machine. With a relative minimum of effort, not unlike UNIX, NT can be "ported" to run on other CPU's, as it has with the DEC Alpha and MIPS CPU's.


