Domain: winntmag.com
Stories and comments across the archive that link to winntmag.com.
Comments · 77
-
Re:Sorry Bill but you're full of shitApparently the message isn't getting through. Here's a repost of a comment I made before:
with the IE api hooks into the kernel
What are you talking about? Internet explorer is a 100% user mode shell environment. It is not, has never been, and never will be integrated into the kernel, or given special hooks or privileges. All of the entry points into the kernel are exported by ntdll.dll. Tell me which of those functions hooks IE into the kernel.
The objects you would need to control to take over the system are kernel objects which IE plays no part in managing.
Since the Win32 server moved into kernel mode (in NT4), it has its own system function table, and none of those functions are a part of IE either.
Show me ONE malware program that can install itself for all users when only a normal user runs it. -
Re:OT Unix - like OS
- The Object Manager provides a single tree for all named objects, including files. Win32 has its own directory in the OM of symbolic links that connect the DOS compatible drive letters to the actual devices. For files, Win32 just sticks \DosDevices\ on the front of the path before handing it to the native (syscall) api. \DosDevices\C: is commonly a symlink to \Device\HarddiskVolume1, equivalent to
/dev/hda1. - The OM can be extended by any kernel mode component by adding a new object type. One thing that an object type can do is be reparsable; extending the namespace into an object as if it were a directory. One of the object types that the IO Manager exports are device objects. Device objects are reparsable and are used to extend the root namespace into filesystems that will return file objects.
- Everything in UNIX that is a file is also a file object in NT, and many more kinds of things are also objects. Browsing through \Device with winobj I see a beep device, null, my cdrom, the gameport, my harddisk partitions, the keyboard, sysaudio, the video device, several protocols (IP, TCP, UDP, NwLnkIpx, NwLnkSpx), the named pipe filesystem (npfs.sys), the mailslot filesystem (msfs.sys), NFS and SMB server and client devices, and tons of other stuff. Each of these are device objects that produce file objects for client processes; objects under the IO Manager's domain. You can use the same read, write and ioctl functions on all of them. Some, like TCP rely heavily on ioctls but you can still use read and write on a socket handle (which is really a file open under \Device\TCP)
- Win32 does not support fork directly (and neither do many popular shared Win32 libaries), but NT itself has no problems with any of those functions. Environment subsystems like SFU use the same syscall interface that Win32 does to make processes and such.
- I don't think that this is really a requirement of UNIX. Yes, it should provide compatibility as needed for the old style permissions but there are UNIXes that use ACLs internally.
- The Object Manager provides a single tree for all named objects, including files. Win32 has its own directory in the OM of symbolic links that connect the DOS compatible drive letters to the actual devices. For files, Win32 just sticks \DosDevices\ on the front of the path before handing it to the native (syscall) api. \DosDevices\C: is commonly a symlink to \Device\HarddiskVolume1, equivalent to
-
Actually, NT is VMS
Not "new technology" at all. VMS is, what, two years younger than the original Bell Labs UNIX? Please.
-
Re:Several frustrating points
The Windows registry on NT is provided by the Configuration Manager, a kernel mode executive subsystem. The CM exports its own type of object, the Key object, which is handled like any other type of kernel object. A registry key consists of an ACL, a set of values, and a set of subkeys arragned in a hierarchy. Each non-volaitle key is backed by a file, known as a registry hive; subkeys can be stored in the same hive as the parent or be mounted from a different one. Hives are opened and locked by the kernel and are journalled to prevent corruption.
/etc uses the filesystem database to store configuration groups directly and different formats for each type of file to store entries. Security is provided for each file.
The registry uses a specialized database that is aware of each line of data; it provides enough metadata to distinguish between strings and integers and binary data, providing a string label for each item. Security is provided for each key.
Although you can arrange keys and values any way you like, key level security usually provides a lot more granularity than file level. The standard config consumer on UNIX has one file for config, even if there are many entries. The standard on Windows is to give each app a base key which can contain as many securable subkeys as needed.
Both are databases. Given the choice between a general purpose format that leaves the details up to each client to re-invent and a specialized database designed specifically for configuration, which one sounds better? Which one is easier to use in a standardized way? -
Re:How is it strange?
buying PowerQuest (Norton Ghost)
Norton bought powerquest recently for Partition Magic, not for PowerQuest DriveImage. They already had a drive imaging product (Norton Ghost) from their purchase of Innovative Software sometime in the late 90s. -
Re:Software company, not bozos
You can log in as many times as you want, remote or local. This has been true since the very first version of NT; NT has always been multi-user. See AT, telnet, any one of the many SSH servers, etc. Oh, you meant GUI sessions? Does UNIX require X to be multi-user?
One of the core kernel subsystems is the Object Manager. It handles all kernel objects accessible from user mode, handles to them and security on them; everything from files to events to mutexes to processes to memory sections. It has existed since the first version of NT and provides object security integrated in the system.
A token object represents a process or thread's security identity and priviliges. TCB components can add whatever privilieges they want to them; elevate them to whatever level. Perhaps you just don't know how. -
Re:You can't play the 'luser' card!
relevant studies universally show this is not true.
Which studies? Links, please. I've yet to see a honest comparison between the design of Linux or UNIX and Windows NT.Time to market was simply not a factor in the design and implementation of Linux
Sure it was. Linus once said (I wish I could find the quote), as advice to people starting open-source projects, to concentrate on getting things done; that the number one reason for dead projects is that the scope got too grandeous-- everything had to be perfect in version 1, which is impractical. Look at the Hurd: there certainly isn't any pressure to finish that, and it isn't. Linux was originally designed to be a free and open alternative to Minix.and security was focused on starting at line 1 of the code for the Linux kernel.
Security may have been a goal from the beginning in Linux, but it wasn't the focus; the focus was creating a free alternative to Minix. UNIX, however, was not designed to be secure. It has had security glued on the top. This happened some time ago, so has had plenty of time to become standard, but it hasn't always been this way.
OTOH, Windows NT was designed to be secure from the beginning. There is a single, extensible, Object Manager for all exported kernel objects (these objects cover many more things than UNIX everything-is-a-file) which validates object security, a single token system for identifying authority, domain and stand-alone configurations, secure desktops, memory protection, etc. Win32, compatible with Win16 which not designed to be secure, does not have quite as much granularity as other subsystems, but is still securable with desktop, window station and job objects. Show me one security problem inherent in the design of the NT kernel and system.
If the core issue is truly about Open Source vs proprietary, then there shouldn't be any problems in ReactOS, an open source clone of Windows NT. NT's design, open implementation.
And what about the extremely proprietary IBM iSeries mainframes; a standard for stability and security.Don't become too attached to M$ operating systems.
I'm not: I also run Linux (Debian mostly, to feed my additcion to apt-get). I'd say that the future is too volaitle to predict; I plan to keep my options open. -
Re:Actually, Windows can be quite stable...
with the IE api hooks into the kernel
What are you talking about? Internet explorer is a 100% user mode shell environment. It is not, has never been, and never will be integrated into the kernel, or given special hooks or privileges. All of the entry points into the kernel are exported by ntdll.dll. Tell me which of those functions hooks IE into the kernel.
The objects you would need to control to take over the system are kernel objects which IE plays no part in managing.
Since the Win32 server moved into kernel mode (in NT4), it has its own system function table, and none of those functions are a part of IE either.
Show me ONE malware program that can install itself for all users when only a normal user runs it. -
Re:Well... not _quite_ right
Technically, in a really literal minded sense, that's correct. Technically, any Win32 component or control can be replaced. In practice, the way that Microsoft has built the system too much depends on the HTML control and Windows Explorer.
You're right. Too much depends on the shell and the shell isn't very secure.For the latter, instead of mounting devices like my Jornada in the file system, they're shown on the desktop but are only there via a plugin for Windows Explorer, so without it I can't browse my Pocket PC.
That was the decision of the Jornada support programmers to create a shell extension instead of an actual filesystem driver. Still, I can see why: the offical filesystem SDK is about $1000 USD (it's mostly one header file and a free version can be had here). Also, writing an NT FSD isn't easy.I can't have a great deal of faith in that design. There's just too much shared state between components of Windows, and too little control over the implementation of security boundaries: every component seems to have its own call gates, with multiple independent implementations of the same security and sanity checks on arguments and objects.
NT is object-oriented. At the heart of object management is the Object Manager. The Object Manager provides a namespace of named objects, manages handles to those objects, including opening and duplication. Kernel mode components can add their own types of objects to the object manager by implementing functions for manipulating them.
The Object Manager is also the only component that handles security checks when a new handle is created (by opening or duplicating) unless the object type overrides the SecurityProcedure: the IO manager object type Device overrides it so it can ask the filesystem to provide an ACL instead of relying on the Object Manager to store every file's ACL.
One system call is NtAccessCheck; this is the defined method to check an ACL against a token and a requested access mask. Microsoft is pretty good about using it or it's win32 equivalent AccessCheck.
Note that this applies only to kernel objects, which comprise almost everything securable in the operating system.
Desktop, window station and job objects are all kernel objects that fall under the Object Manager's domain. None of them supply a custom SeurityProcedure, so they are checked like any other object. -
Re:No OS is 100% secure
The NT kernel's design has all kinds of wonderful possibilities for building a secure OS around. I really wish Microsoft would do it.
So do I. Maybe Reactos?
The Win32 subsystem, however, is inherently insecure. And without the Win32 subsystem, NT is not a complete OS.
Yes, Win32 IS insecure, to a point. Window station, desktop and job objects are securable objects that NT adds that can be used to partition Win32 into sandboxes. They just aren't used much.
Win32, includes not just the GUI but the equivalent of all the UNIX daemons and system services, and large parts of what in UNIX would be kernel modules. Take that out and you're left with less than the UNIX kernel.
Most built in services are written for the Win32 subsystem since the user mode service control manager's interface is part of win32, but several have only superficial dependencies. The SMB client and server come to mind.
I thought that the NT had more, not less things running in kernel mode. Nothing in kernel mode depends on win32, ever. The only thing related to win32 that runs in kernel mode is win32k.sys, the server part of win32. Nothing in the kernel depends on win32, or can even use win32. Moving win32 into kernel mode didn't change that.
What, specifically, in Windows is implemented as a user-mode win32 dependent service that would normally be a kernel module in UNIX?
Also, there is no such thing as THE UNIX kernel. There are UNIX kernels such as Linux or OpenBSD's kernel, but no one 'true' UNIX kernel.
Compared to Linux, the NT kernel and executive services (ntoskrnl.exe) do a couple of things that Linux doesn't: the Configuration Manager AKA the Registry; a database for configuration info, the extensible Object Manager (althought the VFS comes close), and a dedicated local proceduce call facility (you can use pipes under either, but only NT has LPC) If you include all the modules that run in kernel mode (besides win32), there is more: SMB: the client is in mrxsmb.sys and the server is in srv.sys, MUP (mup.sys), CD burning support (as a filesystem), audio processing, the mailslot filesystem (msfs.sys), the named pipe filesystem (npfs.sys), plus all the things you'd expect: filesystems, bus drivers, USB drivers, and network stuff.If you were logged on to an NT workstation as a normal user, first of all, you're more likely to be infected by a virus in the first place because the design of the Win32 subsystem practically invites them in.
Invites? How's that?
Secondly, there's a lot more opportunities for an application to boost security to Administrator or even LOCALSYSTEM: not only is the security model very complex, but you have to have all the rights any application you run is ever going to need.
NT isn't any more vulnerable to privilege escilation than UNIX is. Just because the security model is complex, doesn't mean it is broken. It may be harder to use, but it also provides much granularity (if you use it). For the last part, I don't understand what you are trying to say; how is this different from any other security model? Define a user's permissions so that they can do everything they need to. ACLs can be changed, but you should be able to set them up once.
To top it all off, there's no hard "system call" interface between different security domains.
Sure there is. It's called the Native API. The only way to request services of the kernel is through the system call interrupt, and all those functions are exported by ntdll.dll. Win32k adds an extra function table, though; it exports the services that used to be in us
-
Re:Well... not _quite_ right
How has the architecture changed to make it insecure? Not the implementation, but the design. Be specific.
I think it has gotten MORE secure in design than it was: Active Directory with Kerberos, job objects that enforce quotas, deny-only SIDs, restricted tokens and SIDs, deleted privledges, SAM encryption, NTLMv2, group policies, a replacable GINA, Windows authentication packages (aka SSP)...
David Cutler, the main NT designer, and his staff were working on Mica, but Digital cancelled it and laid them off. Although Microsoft hired most of the VMS/Mica/Prism staff, no source code was actually copied. It's not suprising that the same team would create something very similar. -
Re:Hmmm...
GDI and Win32 can share handles with other processes because the executive Object Manager allows you to add your own types of objects; anyone can do it. It's like Linux's VFS; would you be suprised if user programs could create files, pipes or sockets which could be shared? The difference is that NT will let you create entirely new types of objects, with new properties. The object manager handles the existance of objects and handles to them: what the objects actually do is up to the provider.
The registry is implemented in the Configuration Manager. It is an executive service, one level up from the kernel. It is this low because the device database is implemented using the registry. -
Re:ahem Ballmer flunks patent law
First, the link is http://www.winntmag.com/Article/ArticleID/41480/4
1 480.html (no e in winnt).
Second, who says Cognos sublicensed from Microsoft? Cognos is in the financial reporting business (and has been in it for quite some time). So Cognos probably infringed on the patents (if they were ever valid in the first place) all on their own. -
It can
The OS (as Linux and many others do) can check why the pagefault happened and raise a segfault if it's being loaded at CS:PC and shouldn't be. Note that this is quite do-able even without NX or the like, the reason MS-Windows doesn't do more checking along those lines is because the internal structure is too chaotic (it really has degraded quite a bit since it was VMS 5.0 (AKA MICA) - or at least, spelling-error compatible with it).
NX-style bits and better have existed since at least DECsystem-10 days; their absence from the x86 architecture is mute testimony to its inherent bankruptcy. And I should add in the true spelling/grammar Nazi spirit that discussion of lesser architectural flaws is moot. -
Re:Yet again, MS can destroy the Linux market...
...by doing what Apple did: Build your wimpy OS on top of something strong, like BSD, Linux, or some other flavor of *NIX.
<snicker> Uh, what, something strong like VMS, perhaps?
They've munged it so much that it's taken until now to make an OS that almost doesn't suck, but that doesn't mean the foundation isn't there. -
Re:It's not just Funny
NT was planned as being a microkernel, but isn't.
-
Re:He must have been poorly quoted.Here's some context for the "Linux is paying catch-up" thing. Back in 1999 Russinovich published an article where he compared Linux and NT kernels from the scalability point of view. He pointed out several things that Linux didn't have at the time (async I/O, zero-copy file sends, efficient thread pooling, reentrant kernel).
Today, most of these features have been implemented in Linux (even though AFAIK there's still no equivalent of NT's completion ports). This is what Russinovich means when he says that Linux has been playing catch-up - he doesn't talk about portability, security, etc, he's only looking at one particular side of things.
-
Oh, how snide.The article's tone is particularly amusing -- it's as if both the author and Russinovich himself are patting him on the back for presaging developments like the Linux kernel becoming re-entrant (apparently he bitched about this six years ago). And I do wonder how many people won't even bother to RTFA, instead simply chattering on about surface issues like user interface (which, let's face it, M$ can afford to hire all the HCI experts it can get its hands on, and the Linux community generally must rely on volunteer expertise to develop).
But I'm particularly entertained by the fact that security is the lead-in -- "Security and the way windowing is handled remain two of the diminishing differences between Linux and Windows" -- and then isn't mentioned AT ALL until the very end of the article, with no examples whatsoever, and no indication as to which OS is playing catch-up.
Way to hide your biases, ZDNet.
-
Re:Seeing as they like history......If you can tell me what "The Windows 9x kernel works by sending commands from the GUI, to DOS, then to the kernel and back to DOS, and back to the GUI" is supposed to mean, you are a better man than I. The article seems to be suggesting that Windows NT was released around the same time as Windows 98..? And that it was called "MS-NTet"? (Which happens to be a googlewhack!)
If you're talking about the link between NT and VMS, this or this would be a much better read. If not, then... what the hell are you talking about?
-
Re:Ars' Piece
Windows XP, for example, isn't all that great in this area, and often one process can too easily slow things down. This is even further emphasized when all the processes you're working with are actually the main "explorer.exe" process; eg, you do something in Windows Explorer that blocks (spin up a CD drive) and everything else (the "desktop", task bar, etc) all become unresponsive...
The kernel hasn't slowed down in that case; it's the GUI layer which has slowed down. It hit a bottleneck.
Interestingly, it would appear that Windows has used an O(1) scheduler in Windows NT and up since at least NT 4.0 (which came out in 1996).
It's also interesting to note that it has the same priority-boosting for IO threads that Linux has.
"Windows NT also uses additional priority adjustments based on other events, such as momentarily boosting thread priority when it returns from an I/O call"
Detailed explanation of the NT4.0 scheduler
Easier to read version of the above
Part 1 of a slightly more indepth (but in some places inaccurate)* article
Part 2 of the article
*The article makes it sound like it's O(N) in places; it's not. The scheduler is using a set of priority lists, which are kept in-order at insertion time when a thread exits its context, by the thread inserting itself at the end of the list for its priority. -
Re:Ars' Piece
Windows XP, for example, isn't all that great in this area, and often one process can too easily slow things down. This is even further emphasized when all the processes you're working with are actually the main "explorer.exe" process; eg, you do something in Windows Explorer that blocks (spin up a CD drive) and everything else (the "desktop", task bar, etc) all become unresponsive...
The kernel hasn't slowed down in that case; it's the GUI layer which has slowed down. It hit a bottleneck.
Interestingly, it would appear that Windows has used an O(1) scheduler in Windows NT and up since at least NT 4.0 (which came out in 1996).
It's also interesting to note that it has the same priority-boosting for IO threads that Linux has.
"Windows NT also uses additional priority adjustments based on other events, such as momentarily boosting thread priority when it returns from an I/O call"
Detailed explanation of the NT4.0 scheduler
Easier to read version of the above
Part 1 of a slightly more indepth (but in some places inaccurate)* article
Part 2 of the article
*The article makes it sound like it's O(N) in places; it's not. The scheduler is using a set of priority lists, which are kept in-order at insertion time when a thread exits its context, by the thread inserting itself at the end of the list for its priority. -
Re:SCO just doesn't quit
Actually, they do own a lot of DOS and sued microsoft over it not that long ago...
http://www.winntmag.com/Articles/Index.cfm?Article ID=8045 -
Re:Incident response times
... as shown several times when their updates causes 3rd software to break
...
It's even worse when done by design. Once a scoundrel - always a scoundrel. -
Proof that NT is essentially VMS
what would you have me do? Post the entire source of NT and VMS and then some sort of algorithm (vetted by you?) that proves that the code is different?
What you could do is e.g. post a URL that discusses the VMS vs NT differences, rather than continuing to make flat assertions based on your (anonymous) authority...That's what m_pll did (thanks m_pll!), and isn't this interesting, the Win NT magazine article highlights the zillion ways that NT is based on VMS. Some highlights:
- "[the VMS] kernel and Executive subsystems are clear predecessors to NT's"
- "In developing NT, these designers rewrote VMS in C, cleaning up, tuning, tweaking, and adding some new functionality and capabilities as they went...
Nevertheless, the migration of VMS internals to NT was so thorough that within a few weeks of NT's release, Digital engineers noticed the striking similarities."
- "Those similarities could fill a book. In fact, you can read sections of VAX/VMS Internals and Data Structures (Digital Press) as an accurate description of NT internals simply by translating VMS terms to NT terms."
- "NT's processes are virtually the same as VMS's processes."
- "Microsoft added lightweight user-mode threads support to NT 4.0 in 1996, which it copied from the VMS implementation of threads."
- "NT's I/O Manager is closely based on VMS's I/O Manager. Both OS's I/O Manager support a layered-driver model throughout the device driver stacks for different device types and implements asynchronous packet-based I/O commands, and its device drivers dynamically load and unload."
- "As you can see by comparing Figure 2 and Figure 3, page 117, the Executive subsystems exhibit the most significant resemblance between VMS and NT. But many minor similarities exist in which it is clear that Microsoft derived NT's capabilities from VMS."
- "...Therefore, VMS's security implementation is the predecessor to NT's. Microsoft even included systems tools similar to VMS's in NT, including the Performance Monitor, which is based on MONITOR, the extensible VMS performance monitor. VMS included a utility called BACKUP long before Microsoft developed NT's backup utility."
- "...Rather than suing, Digital cut a deal with Microsoft. In the summer of 1995, Digital announced Affinity for OpenVMS, a program that required Microsoft to help train Digital NT technicians, help promote NT and Open-VMS as two pieces of a three-tiered client/server networking solution, and promise to maintain NT support for the Alpha processor. Microsoft also paid Digital between 65 million and 100 million dollars."So, before I was just asking, not making an assertion. But NOW I will make the assertion: NT is clearly derived from VMS, based on the above facts.
And for this I get slammed by a bunch of anonymous cowards and anonymous supposed NT developers? Give me a break.
All I did before was ask for facts rather than assertions. What I got were some angry but empty words. Rather telling.
-
Re:NT is not VMSgive us some details to illustrate the point at hand
Google for nt+vms. On the first page there is this link:
-
Re:This is a terrible thing, in a way.
Perhaps, just perhaps, we have a different definition of what perfectly means. ... and a microkernel does the job perfectly. :)It certainly makes it easier to protect against buggy software, but I wouldn't say that a microkernel makes it impossible for a buggy program to take out the system, or for a buggy program to be rendered useless by the "right" kind of attack. And of course there's the whole issue of making your microkernel itself defect-free, but that's a whole other issue.
To make any one piece of software reliable, you need to be sure that it, in and of itself, has no major defects. Over-engineering doesn't help. Modularisation, privilege separation, chrooting, etc certainly help if your only concern is ensuring that the system's hard to break into - they don't do a heck of a lot to assure the system's availability. These things - and all the other techniques to help make software systems reliable - do not in and of themselves, or when all combined, make for software which can be considered reliable.
Even Tandem - who were, in their time, reknowned for making reliable computing software and systems, and did "all the right things" - have had their fair share of system-crippling software-induced failures. It doesn't take a security bug to bring down a system into an unusable state, and one software-reliability-related lawsuit can always be used as a precedent in any future software-reliability-related lawsuit.
-
Re:DOS too?
Actually, they did just that when they aquired DR-DOS from Novell a few years back.
see? -
Re:Yup
But back then when Caldera sued M$, we (well most of us, including myself) were on the side of Caldera.
Noone seems to remember the details, you can read one account here. Basically, they were suing because there was explicit code in windows that said that DR-DOS would not work, but DR-DOS was "DOSy" enought to do the job.
Althought, M$ settled for a cool $150mil, I believe (and apparently they did too) that they would have lost in trial. -
Re:Linux is Microsoft's biggest failure...
-
NT and POSIX
During the 80s, the UNIX with the biggest user base was... XENIX (made by none other than Microsoft), which was later sold to SCO, and which was one of the systems used as a basis for the POSIX standard. NT (and, subsequently, W2K and XP) does comply with a big chunk of the POSIX standard (I suspect one of the reasons was to make it easier to port software from Xenix to NT - Microsoft didn't want to lose market share to the other UNIXes). In some ways, though, NT is closer to VMS than to XENIX.
Two old but interesting articles about the evolution of NT:
http://www.winntmag.com/Articles/Index.cfm?IssueID =97&ArticleID=4500
http://www.winntmag.com/Articles/Index.cfm?IssueID =97&ArticleID=449
NTFS has other nice features such as symbolic links, named streams, non-continuous files, etc.. I learned a few tricks a couple of years ago in a newsgroup discussion from a guy working at Microsoft. Some of these features appear to be completely undocumented (or at least the documentation is very well hidden).
RMN
~~~ -
NT and POSIX
During the 80s, the UNIX with the biggest user base was... XENIX (made by none other than Microsoft), which was later sold to SCO, and which was one of the systems used as a basis for the POSIX standard. NT (and, subsequently, W2K and XP) does comply with a big chunk of the POSIX standard (I suspect one of the reasons was to make it easier to port software from Xenix to NT - Microsoft didn't want to lose market share to the other UNIXes). In some ways, though, NT is closer to VMS than to XENIX.
Two old but interesting articles about the evolution of NT:
http://www.winntmag.com/Articles/Index.cfm?IssueID =97&ArticleID=4500
http://www.winntmag.com/Articles/Index.cfm?IssueID =97&ArticleID=449
NTFS has other nice features such as symbolic links, named streams, non-continuous files, etc.. I learned a few tricks a couple of years ago in a newsgroup discussion from a guy working at Microsoft. Some of these features appear to be completely undocumented (or at least the documentation is very well hidden).
RMN
~~~ -
Re:He has a funny idea of "Innovation."NT is NOT "based" on VMS. David Cutler lead the design of both and they are sure to share similarities because of it, but one is not BASED on the other and to say that NT is some "clone" of VMS is flat wrong.
Mark Russinovich's article doesn't seem to agree with you. According to that article they are *very* close. No...not clones but they apparently share a lot of similarities.
-
Speaking of 2-decade-old clones
Quoth Ballmer:Linux itself is a clone of an operating system that is 20-plus years old. That's what it is. That is what you can get today, a clone of a 20-year-old system.
Hmmm... Perhaps he should read this article, wherein the similarities between NT and VMS are brought to light. VMS 1.0 came out in 1977, according to the article.
In summary, glass houses, stones, etc. -
Re:He has a funny idea of "Innovation."
If we're going to use a OS derived from the 1970s, let's at least pick our favourite and be grateful Linus wasn't a VMS fan
:-) -
Re:NT == VAX OS?Right.
One can't deny that NT was "based" on VMS.
In fact I recall reading somehere that MS was initially promoting NT as VMS on the desktop, or something along those lines.
-
NT & VMS
-
Re:Is this a worthwhile project?
Have to disagree. I dislike the NT user interface and to do anything complex with the administration is a nightmare, but the NT architecture itself is fairly solid. The kernel was designed and implemented by a large chunk of Digital's VMS development team based on their experiences writing VMS (the first commercially successful "enterprise level" multitasking OS). This article gives a few details of the features in the original NT 3 kernel and goes into some detail about the similarities between NT and VMS.
-
Re:still built on DOS?
-
Re:Who?
I think that Microsoft did develop NT themselves, but with much help from some of the same guy that did VMS (basic googleing turned up this.
-
Re:This is hardly news...
Yep, but now that is irrevelent. Microsoft has combined their code bases for home and business OS's into XP (or so they claim). The Windows95 track is dead, NT is dead. The hybrid OS that would serve both business server needs and home user gaming needs that was promised to us in MS timelines in 1993 is finally here with XP. Or so they say. Apparently not?
You got that right! :)
The problem is, although Windows 95/98 and Windows NT (as an add-in for NT 3.51, and integral in NT 4) share a similar UI, the Win32 API that each platform supported was markedly different. Windows 9x lacked the security APIs and (for a long time) OpenGL, whilst NT did not have the direct hardware access that Windows 9x could fall back on. Also, the hardware driver architechture was completely different between the two.
This was one of the problems that caused the release of what would become Windows 2000 to be pushed back - the new Windows needed to support the features and idiocyncrasies of both platforms, in order to support the *applications* that were being used on either platform. This was the crucial part - it didn't matter how technically superior the new Windows was, if the customer's existing applications wouldn't run properly then it would sink, and quite possibly take Microsoft with it. (Remember, Windows 2000 was the *only* option at this point, there was no Plan B waiting in the wings).
Some links for your further enlightenment :
Microsoft Windows History
Another potted history of Windows (warning - pop-ups lurking here!)
The official word on the name-change to Windows 2000, from Microsoft PressPass
An article on the historical links between Windows NT and VMS (They're more related than you think!)
'Why Windows NT 5.0 Will Make the World a Better Place', written in September 1997(!) by Jesse Berst for ZDNet Anchordesk. Gives a run-down of the feature list at that time, and also gives a figure of how long NT 5.0 had been in development at that point.
'New Windows could solve age-old puzzle', courtesy of News.com - a write-up of the (in)famous Cairo project, and where it fits into the Windows story.
Food for thought, I thing you'll agree.
-
Re:...if the comments were insightful, that is.You mean VMS right?
No I mean NT.
For details see Windows NT and VMS: The Rest of the Story
-
because!At first they will be expensive, then they will be in the $599 desktops. Why wouldn't you use them?
Could it be for the same reason people who have "high speed internet connections" still place charge by the minute long distance calls instead of using voice over IP, or crawl to a company like Yahoo to be a middleman? Look to Redmond, there you will see the answer. Anti-competitive, greedy stupid shit. Remember the 64 bit Alpha? You would think it would be cheap to make by now, no? Sorry, that might hurt someone's bottom line.
In short, I'd love to use one but I'm not going to get my hopes up.
-
is M$ quiet about anything?MS have been quietly getting ready for 64 bit for at least 2 years; they've been shipping a 64 bit SDK on my MSDN disks for over a year. There are 64 bit NVidia drivers for WinXP-64. What makes you think MS isn't already there?
Spare me the smoke and vapor. Don't you remember the sad story of Mica, errr, NT on Alpha? Loudly proclaimed, quietly killed, that's why I think they are not there. If you consider the number of bugs and holes in 32bit M$ work, you might conclude they never arived anywhere.
In the mean time, you can get Linux and BSD on Alpha and other 64 bit platoforms:
Oh, it hurts so much to remember and think!
-
Moderators on crack!
Uh, sorry, but this is just plain wrong. Microsoft took the code they had from OS/2 and made it into Windows NT.
Uh, sorry, but this is just plain wrong. NT is the product of VMS engineers bringing their talents and experience into a different product.
Ever wonder why the first release of Windows NT was called '3.1'?
No, actually. It was to avoid maturity confusion between NT and Windows 3.1. Releasing Windows NT as 1.0 would have made marketing less effective. Given it had the same UI as Windows 3.1 was another reason.
While your last paragraph is true, it hardly constitutes receiving a score of 5. Moderators need less crack. -
Re:Flamebait indeedHere is your answer..
Linux is closer to UNIS than NT is to VMS, but not much, and not very much at all in the lower levels of the OS..
-
Re:but VMS livesWindows NT and VMS do actually share a common heritage (see here.)
I ran VMS systems for years and it's a lot less friendly the *nix, but it's a hugely stable and coherent OS. In four years of running VAXes I had *two* occassions where the thing crashed unexpectedly, and both times Digital took away the dump tapes for analysis because they treated system crashes seriously.
In the business I work in, we use OpenVMS on Alphas to run our warehouse system. It's a solid, reliable and very dull OS which is exactly what we want.
And for security, OpenVMS is a DoD certified C2 product, with a variant (called SEVMS) which is certified B1. I have a list here which includes current-ish product links.
Look, the VMS vs Unix argument has been raging since 1978 when the VAX-11/780 came out. The fact that both these OSes are decades old means that they're both strong OSes and have a lot of life in them yet.
-
Re:Wait, these aren't verbal attacks...
NT was based on VMS, not Unix. You may be thinking of the TCP/IP stack that was sourced from BSD.
-
Re:What about
NT 4 had time synchronization, but it came front and center with Windows 2000 (which automatically time sync with your domain controller, which itself should be configured to sync with a master authority) because of Kerberos as implemented in Windows 2000 and beyond : Time is one of the parameters, so if Bob's PC is 20 minutes ahead and his kerberos keys are by a different clock, security conflicts will arise (namely, his keys will be refused). Of course, anyone with XP can bring up the clock applet (double clicking on the clock in the system tray) and choose the Internet Time tab that allows them to change the server to a different one if they so desired (or disable it all together).
-
Re:I doubt they'll use this as a stage for FUD..
MS has roots in Linux, just like almost every other software shop that's still alive.
I think you mean Unix, they had their own flavor of Unix once, XENIX. But NT/2000/XP aren't derived from this, they get their Unix like properties via their VMS heritage.
-
Re:Use hard drives...
The software raid [tldp.org] driver in linux makes these large arrays easy with a trivial amount of hardware behind it.
Windows 2000, I might add, has dynamic disks, which allows, in addition to software RAID, resizing partitions on the fly without even a logoff, and other cool stuff, like partition table replication. Partition table corrupted? No problem! Just replicate the database from another dynamic disc in the system [click, click] and you're set!