Tell me how much MS code in Windows that is due to differences between PCs made by IBM, HP, Dell or other box makers. They all use Intel CPU, ATI or nVidia GPU, etc.
I don't know where you get your hundreds of thousands components from, but the device drivers are all written by the device makers themselves not MS.
There are approximately what 100 video chipsets that Windows supports, another 100 printer, 50 sound chipsets, etc...
Do you see where I am going here? Sure there are big players, but the smaller chipsets are also supported. Even my old Neomagic 128ZX in my laptop from 1997 is supported in WindowsXP.
In the Apple world, you have maybe what 20 video chipsets supported, and that is being generous. (And this is not a dig to Apple, but a fact.)
Additionally you are forgetting peripherals like tape backups in addition to core level components like mainboard chipsets, CPUs (yes there are differences in Windows code for different CPUs - MMX, etc), PCI bus controllers, USB controllers, etc etc...
Just in mainboard chipsets there are over easily over 100 supported chipsets in Windows that manage everything from PCI, USB, Firewire, SCSI, IDE, etc and support to every basic part of the system like the AGP interface drivers.
And they all have to work and work in a stable environment.
Windows 2003 Server recognizes and installs the appropriate chipset drivers for mainboards in our servers that are running eight year old mainboards without a hitch.
Now do you start to see where this becomes an astronomical amount of hardware to support?
With the driver model of the NT architecture, I agree, it is easier than on most OSes because of the way drivers are layered, but still there is a high level of testing to ensure stability as drivers have access to a lower level of the OS.
As for your comment about the vendors providing the drivers, this is only partially true.
Microsoft pushes the vendors to provide drivers, but often has been the case that Microsoft has ended up lending its own development to drivers because the vendor is reluctant to support the new OSes.
Take the move from Win3.1 to Win95 driver model, and the NT driver model, and then again to the WDM driver model that is used in Win2k and even the extension in the driver model for WinXP in supporting more consumer level devices.
Vendors were VERY reluctant to provide NT drivers for their hardware, which forced Microsoft to provide the driver level support themselves for most hardware back in 1996 when NT4.0 was released.
When the shift to the WDM model and the newer model of it in Win2k and WinXP, again manufacturers were content with the drivers for Win98 for their hardware, and especially their legacy devices, they had no interest in providing a new driver model for. Microsoft again was put in the role of writing the drivers with the manufacturer support or lending support to the manufacturers to write the drivers.
How do I know this, been a part of this process personally, watched it happen. Driver after driver after driver. (And no I do not work for Microsoft)
Out of the box the 'Microsoft' supplied drivers that are certified are at least 80% written or co-written by Microsoft, not just the vendors.
Even if your argument that the vendors are solely responsible for the drivers was true you are also forgetting that Microsoft still has to test the drivers and ensure that they are stable and work with the other drivers in the system.
There is a dizzying amount of driver support and compatibility in WindowsXP. In addition, even for legacy NT4.0 drivers that vendors would not let Microsoft update the drivers or there wasn't enough of a market call to do so, there is compatibility checks in WindowsXP that will allow the driver to load and run, but yet jump in when the driver is incorrectly doing something it shouldn't do.
This is part of the legacy driver compatibility layer, just as there are dynamic b
O.K., can anyone here tell me why Microsoft is spending an order of magnatude more $$'s to develop Windows than Apple is spending on developing OS X? It can't be testing because the Apple products appear so much more refined.
Maybe because Apple only has to support Apple hardware and Microsoft has to support literally hundreds of thousands of hardware components, which results in an infinite amount of hardware configurations.
Additionally, Windows 2003 Server is truly a top notch server and also provides an extensive level of enterprise support that is not in the Mac OSX Server.
Just the same reason that there are so many people in the Linux development world; there is a ton of hardware to support.
There is a thing called Mac OS X Server, you Windows idiot.
BTW nice language...
Yes there is a Server version of Mac OS X, that has been available since even before OSX was available on the desktop.
However, it does not have many of the tools that are expected in a modern server to accommodate enterprise level deployment. (i.e. robust Directory Services, Security, etc)
Additionally, we don't see it winning many performance awards. It may be a Server product, but it is not geared for the same markets as Windows 2003 Server, and many other vendor *nix Server OSes like from Sun and IBM.
Yes Mac OSX Server is a nice product, but it isn't even in the same league as the other guys...
Give them a few years... (Like the few years it took to bring a non-cooperative multitasking OS to the desktop. So in about nine years, it will be great!):)
Sorry for the satire, I truly do think Apple has done some really great things and I don't want them to stop. Whatever development inroads they make will just push other OSes to do better as well.
Moving the backup packets to a larger size is hardly a bug. It may create inconvenience until a patch for XP and Win2k is available, but a bug? Get real...
I can see the next big bug headline "Windows 2003 Server can't use Windows 3.1 printer drivers, causing mass panic in the streets!" Geesh....
That's the point! Bugs are much more likely to be found in an open system such as Linux because of the nature of Open source development - all people using the software can reporting / fixing bugs, not just the limited few inside a company.
Not quite true... Microsoft has one of the best and most advanced external beta cycles of any software company; a model that most software companies today mimic. Been beta testing since 1992 for them and they are very open to feedback and thousands upon thousands of testers and tech centers like our pound their software outside of their labs to weed out straggling bugs they have missed.
As for Open Source being more bug free or secure, I still disagree. When someone that is smarter than the developer that put the piece of code together can see it, they can also see how to compromise it.
So bugs, yeah it probably helps, but security no.
Coming from the security field, the fewer eyes that see the source code, the more secure the code is just by the nature of not everyone having access to see its faults and exploit them.
Besides the fact that as far as I can tell Windows 2003 offers very few benefits over the finally acceptably stable Windows 2000
Actually there are numerous differences. For starters Windows2003 is using the evolved WindowsXP code base.
For the other hundred differences, I shall just refer you to the Microsoft Web Site. www.microsoft.com/server:)
Our tech team was in the beta program for Windows 2003 Server (actually all NTs since 1992), and there is a significant difference between Windows 2003 Server and Windows 2000.
Just like there is quite a bit of difference between Win2k Professional and WindowsXP Professional, but most people don't see or know about these differences unless they use WindowsXP or look at the architectural differences and new technologies it offers.
(Like I have said a hundred times, even if you hate Microsoft, at least look at what they are doing so you are educated on the matter. Don't make yourself a fool by saying well Windows 2003 Server won't do this and Linux will - when in fact WindowsNT was doing it back in 1993.
It is also in your best interest to see what they are doing so you know where to leverage what they are succeeding at and what they are failing at for your own development benefits.)
I run the following system: Pentium III @ 1ghz 256MB RAM GeForce2 MX RedHat 8, upgraded to the 2.4.21-pre5-ac2 kernel KDE 3.0.3-8 RedHat
And I almost never have problems with KDE
Key words 'almost never'...
How about a 200mhz 80mb Laptop running Windows 2000 since Beta 1 back in fall of 1997 up to currently running WindowsXP.
And to this day it has only crashed once, when the user popped the IDE Hard Drive out accidentally while the system was running.
However, with a nice journalled file system, putting back in the hard drive and just turning it back on was all that was needed(no integrity check:) )
People can debate stability and who's OS is better and runs the best all day here. Neither WindowsNT/XP or any *nix is perfect, PERIOD.
So give up the my OS is the best and never will crash and runs faster stuff. This just won't be true across the vast array of hardware these OSes run on and the devices they support. THERE IS NO SUCH THING, SORRY.
And BTW, the story about the little 200mhz laptop is 100% true. It was my personal test system for years (low end test system for the past few years) and it has yet to see a BSOD or lockup, except when (admittedly) 'I' accidentally popped out the Hard Drive while it was doing some serious number crunching.
It also is used far more than an average person's PC. I still use it as a development test platform for software speed analysis, since it is now on the low end of the spectrum.
And it is still a cute notebook that runs well, is great for Music, Video, and Audio books and at one time I loved more than any other computer. *tear in eye*:)
The last time I heard this advice was from a Jr. Tech at one of my companies, and it took only five minutes to show him why this was never necessary. (And I am talking about Win 3.0/Win 3.1 days even.)
With modern OSes, simply cleaning out startup items and removing crap software is basically all that ever needs to be done.
Even if someone thinks they need to do a 'refresh' of their OS, just doing an upgrade over their existing installation (Win2k and WinXP are especially good at this) will clean out 99.9% of any crap that has been added to the system. And this doesn't lose any settings or files.
It would have been smarter if the article would have told users where to find the startup items, how to do an upgrade over their current OS, how to remove crap software, or even a techie article that explains where to look for extraneous services and remove/disable them. Even giving them tools to clean their system would be a better article than this. And I am not an advocate for most system 'cleaning tools'.
Who gets these journalistic jobs and why are editors stupid enough to print them?
That wont do it I had 4 gigs of stuff and it seems 300 megs were left, after many attempts at cleaning it properly The only way I could get rid of all the files was by mounting the windows partition under linux and removing all the files from there...
Just log in as a different user or as the administrator. If you are using a Win98 system then drop to a command prompt at boot and remove the folders. Why in the hell would you ever need to mount the volume under Linux to Remove the folders? Having trouble figuring how people could arrive at this.
If you are using WinNT,2K,XP, just log in as a different user and rmdir/s "temporary internet files" in your profile or local settings folder.
BTW, Reinstalling an OS every year is just about the stupid thing I have heard in years.
The last time I did a 'clean' install was after the completion of a beta where it WAS necessary to remove the beta files for sure. And even this didn't entail wiping the hard drive, just doing a clean install of the OS.
Apparently some people think that their computer is still running Windows 3.1. Geesh
Basically cleaning out the startup items or removing crap software is all that anyone should have to do whether their OS is Win95,WinXP/NT or Linux.
Even on my main testing system, I have NEVER reinstalled the OS, and I do tons of beta testing on it with some really crappy software sometimes (Corel Betas are my favorite for crap installs). But reinstall the OS, I don't think so.
This article is more than ridiculous. Especially considering the market that it is directed at - basic users. They will lose their settings, and tons of files the have forgotten to back up.
Seems you have no clue about the VM architecture:-)
This is really not worth the time to debate; just watch how JAVA plays out my friend.
Just as an example, look at the stability within a single java VM instance and its interaction with the applet. The current VM model has no protection or design mechanism to restrain the applet now, let alone if multiple applets are let loose in the same VM.
Applets can already hang the VM they are residing in; how do you think this will NOT affect other applets running in the same VM if it is moved to a multiple model.
Look at the Win16 VM on the early NT platform, they ran in a shared VM as well, and since they also didn't have the protection mechanisms, one Win16 application could bring down the whole Win16 VM.
This is why NT implemented separate processes (or an option for) Win16 applications so that they would get their own VM to protect them from other errant Win16 applications.
This was moving the model forward; however, it appears that Sun is moving everyone backwards.
Again it kills me that people here are the ones that are so for their 'own' control of enriching and optimizing their OSes and software development, and JAVA is just the opposite of this. You have no control over Java's implementation or performance.
I for the life of me can't think of anything they promised except a write once run anywhere thing. I would say that they have 'mostly' achieved that goal. I run Java stuff on NetWare, Windows, Linux, Solaris, AIX and various phones and palm/pocket pc systems
For the most part I do agree with you; however the statement above is stretching reality just a bit. The write once, run anywhere simply is not as ready for prime time as people want to make it sound. Because, it simply doesn't always run everywhere, and on some platforms the performance is atrocious.
Additionally, Sun promised a more robust environment, and even with the upcoming announcements in place, it still won't be there.
I would rather commit to a real language that can easily port and run on 99.9% of the OSes out there, than put any more resources in to JAVA. As screwed up as Microsoft can be, C# which is actually an 'open' standard that Microsoft 'doesn't have the final say on' is a better place to look for JAVA like development, even if the apps have to be implemented in.NET web services or ported to the requesting OS. As arrogant as Microsoft can be, at least they were willing to give away C# technology and concepts to a standards body so anyone, anywhere could use it.
Sun is so determined to be the God of JAVA, their arrogance will kill it. They would have been better off to let it become a standard by opening it up as well. A lot of posts here are so afraid of putting all their eggs in Microsoft's basket, but yet with JAVA, Sun is the only basket. If Sun moves in another direction, JAVA developers are at their mercy and will be until the end of time. At least with C#, now that it is an open standard, even if Microsoft abandons it or screws up their version of it, we can choose from other vendors like Borland for development and not be dependant on one company.
As for the VB code utilizing the GUI API calls of Windows, yes it does, but if it was put on any other GUI OS, it would use the GUI API calls of the OS just the same. There still would not be the overhead that there is with JAVA.
Sun is trying to reinvent too much to achieve their cross platform compatibility, when in fact they could be leveraging what IS consistent among the modern OSes and off loading a lot of what JAVA is now doing itself. This is major waste of CPU and memory when it is normally sitting upon an OS that provides basic GUI features that can be called. And if the underlying GUI doesn't support the calls, then and only then implement them.
If you really take a look at JAVA, they (Sun) are trying to build an OS foundation for a development language, instead of making a development language that would universally sit on 99% of all OSes. This is completely backwards and if you look at JAVA down the long road, the intent is to virtually kill ALL OSes and move the world to JAVA.
JAVA is so against the Open Source movement and freedom of OSes that everyone here seems to support, it shocks me to see developers pushing the open movement and yet also being JAVA advocates.
Everyone just has to look a bit in the future to see that if Sun truly does achieve their goals, all OSes and the variety of architectures and competition in OSes will be lost. Write for JAVA now and you are really writing for a JAVA OS model. This is totally against what the open source community stands for, and ironically, is also totally against what even Microsoft stands for.
I will not make Sun the next software God that I have to bow to for crumbs. Just like everyone now is running around trying to get crumbs to get their JAVA creations to run right on even three of basic main OSes (OSX, Linux, and Windows), and even getting it to run on just these three is still a challenge.
I once believed in what JAVA promised, but after watching where they have tried to take it, I totally disagree with their ideology, JAVA is not the answer anyone is really looking for if they look at the big picture.
Once this is done, then it would be possible to have ONE JVM running on the system for all Java applications. The JVM could launch at startup and then even the inital load times would be greatly reduced. I believe that this is the way Apple is handling Java (Can't confirm it though).
So, when this issue is resolved, running Java on a machine could mean only giving up a maximum amount of 16MB of RAM for the JVM and the rest for the application. To be honest that is what most Java programs are doing today
After more than 10 years of getting computer users to OSes that separate and protect applications and processes, now we are going back to the old monolithic model, so that one bad JAVA app can compromise all other JAVA apps within the JVM.
Give me a break guys... This is not the direction a platform or programming model should be pushing developers just because Sun cannot get performance to a reasonable level.
Heck even look at VB and its runtime engine, it even consumes less memory and runs as an isolated process. (And VB has tons of stuff in it that weighs it down considerably.)
Come on Sun, give us what you promised six years ago. Quit wasting time suing companies and actually put some work into development.
No wonder that even the Server developers at Sun have been complaining about JAVA and its performance on their own OSes.
Then nVidia brough our their TNT cards which did 32-bit colour... nice.
Actually just for the record, the ATI Rage 128 came out in December of 1998 and was widely available by January of 1999, which was officially the first 32bit color card that offered 32bit color performance with very little difference in frames rates between 16bit and 32bit modes. It also was the fastest card of the time.
The TNT2 (which is the first version that had 32bit color support) didn't come out for a few months after that.
ATI was the original 32bit Color Card that made the CEO of 3DFX look really silly when he was saying that it would not be possible to do 32bit Color at high speed and that 3DFX had no plans of ever supporting more than 16bit color in games.
ATI set the threshold at the time and it really put a dent in the confidence of 3DFX if their future at the time had no plans to do what ATI was about to do, and do quite well.
And No, I do not want to get into an NVidia vs ATI debate. I own cards from both manufacturers and at different times in the last years, they both have had better products than the other.
However now, it looks like the ATI 9700 Pro and 9800 Pro are a bit a head of what NVidia is offering. Not only in raw performance, but in video quality. (Hence I reference reviews of Video Quality and Performance from Tom's Hardware)
ATI's Trueform technology looks like it is finally becoming an asset when it was nice in previous Radeon cards, the performance that NVidia was offering easily overcompensated the difference.
Last year NVidia had the best GPU, this year it looks like ATI is ahead. But then again, I could be wrong as things progress.
It's pretty silly paying through the nose for an expensive new graphics card when the only thing you can "play" are the tech demos.
It is amazing how quick it goes from being able to just have impressive demos to actually run some pretty amazing numbers when needed. For example, the Geforce440 Go in one of my laptops, really shines when I want to run a game at 1600x1200 (the LCD's native resolution).
Not many previous GPU chipsets could hold respectable frame rates at that resolution. So even when the Geforce3 and Geforce 4 first came out, there wasn't much new, but the extra performance they offer definitely pays off now in my laptop.
So yeah, you are for the most part right. I have paid as much as 399 for a video card, and 299 for a sound card when they were released and I didn't get the opportunity to use the extra features of either until cheaper versions of the same cards were already available. Always wait a few months if you are cost conscious.
not having floppy drives, and cdrom drives set to nonboot in the bios is just fending off the less capable, because the more capable would bring their own hardware more probably anyways.
err.. well, maybe it's just philosophical way of looking at it.. since if i had 'enough'(nobody ever has) money i would just treat every network as possibly compromised.
This is true to a certain degree. All you can do is reduce the risk of compromise. However, with tough policies of access, secure workstations, and server side policies like IPSEC, there is very little chance of someone gaining access or causing harm to a system.
Unless they hire a super cyber geek (like most of us:) ) the system will be protected from malicious employees, accidental viruses, etc.
There is no such thing as complete security. Even when we worked with the Pentagon using handprint recognition access identification in the early 90s, there still was a percent of risk that could never be eliminated.
With my previous articles, I definitely was not advocating not updating systems, even if they are internal or isolated. However there are circumstances (as in the case I mentioned) that security was more important than allowing even a System Administrator to bring down a set of servers to apply patches.
(This was a very special set of circumstances that prevented the servers from being updated or coming offline for the security systems they controlled as well.)
in one case, it would have been trivially easy for anyone willing to take the risk to walk in (in the right uniform, available from stores) and sit on a computer, boot it from a floppy or a cd and get on with anything. or go the other way and open the needed door with necessary force. or just leave sufficient amount of cd's with the right stuff on autorun around.
This is why it is essential to have a strong security policy and by this I mean that the workstations are setup for security as well. Locked Cases, no floppies, CDROM set to non-bootable in the bios, etc. This would prevent them from doing anything to the network even if they had semi unsecured access to the workstation.
As with the network cables, then IPSEC, IP Validation, etc is necessary to prevent another node(workstation) from tapping into the network infrastructure and accessing the network to launch an attack.
anyways, you got a job what are doing on having useless debates on slashdot??
Well I surely hope that everyone else here isn't unemployed. LOL Actually, I enjoy the debates here and what I get from them.
In my experince except for a very few specific situations Linux is *much* faster than Windows.
In my experince Windows crashes more and has more problema than anything else I've used.
I hear this, but usually this is coming from people with Win95,Win98,WinME and not Windows2k or WindowsXP.
If your experience is from Win9x then you need to take a deeper look at Win2k,WinXP. If you experience is TRULY from WindowsXP then you are definitively in a minority. WindowsXP just does not have the security or stability problems that the Win9X line of OSes do.
Win9x OSes were not bad for what they were, but they are NOT in the same class as a *nix or NT based OS. They were designed to evolve users and legacy software, and they had no security or protection mechanisms.
I admittedly am a bit of geek as well, but I got into the NT movement from the beginning, mainly because there were not any quality *nixes available on the Intel platform at the time. And Solaris when it finally arrived for Intel was such a disappointment.
After studying the creation of NT and watching its evolution, I have witnessed that MS did do something right with the core of NT and it does extend as theorized it would to meet the needs of whatever comes in computing.
I don't doubt that you have had Windows horror stories; I have seen some as well. But I also try to keep an open mind and have found a lot of pluses in the NT line of Windows.
With the modern WindowsNT OSes, I have found that there is nothing they cannot do that another OS can. In contrast, I often find myself when at the console of another OS shaking my head when something that is so easy in Windows is either complex or the other OS is not even capable of doing it.
NTFS being journalled from the beginning is just a small example, I get so tired of 'integrity checks', it reminds me too much of Windows98 and the old DOS days. (Yes I know there are now journalling FS options out there for a few *nix variants.)
Another common example, I could just choke Linux vendors when I have to manually edit the XF86Config file because the user changed the video settings to something that the system didn't have specified in XF86Config file. And the Linux vendor 'Settings Manager' let the user do it.
This is just something that doesn't happen in Windows and is so foreign to average PC users. Even the original Windows NT 3.1 made users test the video settings before it would allow them to be committed to the system.
so you can forget about intranet & other semi-internal intrusions fully?....
like, i'm fearing a bit of our countrys military(not usa) network because it runs on a 'special' (not that much special) version of a properiaty os that had it's support dropped, and while it is physically cut from the internet it's not a big deal to get access at the network(rather easy).
Actually, my example comes directly from a Law Enforcement Division of the US Government.
And with the proper security policies, there was restricted access to the server, as well as secure workstations with no way to add an exploitive application/worm to a system or the network. Additionally there was no way to patch into the network to try to breach the Server.
So yes, it was a very secure system that was never compromised. Even after moving the server to the Internet, and applying appropriate security patches in 1999 and 2000, the server was NEVER compromised.
This server, and the division that it served, are one of our security team's brass rings. WindowsNT 4.0 did its job and did it well, making our security team look very good when really Microsoft should have gotten 99% of the credit.
As to your concern, if there is easy access to the network of any system, then it is no longer considered to be isolated and then there is a big problem.
Security policies are the #1 way to prevent and stop hacking and malicious access to any system. Keep restricted access to hardware and any networking hardware that it ties in to or have strong IPSEC policies on the server if network hardware cannot be fully secured.
If you have the capacity to address these issues of security policies to your government's military, then do so - it would be a concern to me as well.
Even if you choose to skip most of this post, at least check out the last few paragraphs
Assuming that your answer is speed/stability/security then why in the real world does NT do so poorly in all of those areas?
Hate to kill Santa Claus, but this is for the most part a myth that anti-Microsoft people like to tell around campfires.
#1) Security - Microsoft had fewer security related alerts last year than Linux, or any other OS.
Do me a favor, check out the security alerts on a common Linux vendor site, like debian.org, you will see more *nix specific security alerts in a month than you will find coming from Microsoft in a year for the NT product line.
And also remember that there are a lot of angry anti-Microsoft people out here that work to find security holes in NT(Win2k/WinXP implied) to exploit.
So as far as security, the NT OS has a much better track record in its 11 years of existence than Linux or most any other *nix out there.
#2) Speed... NT has proven to be faster than most Unix variants and even Linux in almost every test. It was well known in the Linux world back in 1996/1997 that NT was a faster Server and desktop OS, something Linux was striving to catch up to. (Do a net search; there are many references to this, written by Linux developers.)
And with Windows 2003, the speed margin is widening considerably.
Linux servers can be tuned (recompile kernel, set web hit anticipation, etc) to be a fast server, but out of the box, NT will always win.
Why and how does this relate to what I wrote in the previous post? Because the way the kernel is made in NT, it doesn't have to be recompiled for optimum performance. This is just a piece of the beauty of its HAL and driver implementation model.
As for on the desktop, the XWindow layered model provides for less performance in the GUI than WindowsNT. For goodness sake, XWindows is a Windowed Network Protocol, not something that should be the basis of a desktop OS Windowing system.
There is no way XWindows with KDE or any other manager layered on top of it will ever be as fast the native GUI in the WIN32 subsystem.
Don't get me wrong, Linux and other variants do a damn good job of getting the most performance out of XWindows, but it will hard to match NT's native GUI.
Look at Apple, even they chose to not implement the XWindow environment and instead created their own window manager for features and performance. Also look for what MS is doing with Longhorn, it has the potential to make a serious strive in the GUI abilities of WindowsNT that will leapfrog what everyone else is doing on the desktop. And I don't just mean its abilities to float pretty windows around - go read about it.
#3) Stability... If you timeline NT and compare it to almost any *nix available at that time it was available, its stability was on par if not above what top vendors like Sun and other companies were producing.
Look at WindowsXP or even Win2k and compare it to any current OS on the market. If you have used WindowsXP, you will know that unless there is a serious hardware failure or very badly written (uncertified) driver installed, the OS simply does not crash. Period. (Working in a developer capacity on both WindowsXP and several *nix variants, I can attest to the extra stability XP offers - and I wish that stablity was there on the *nix front as well.)
With XP's ability to dynamically fix calls made by poorly written software, it has an edge on the *nix world. In other OSes the application would just simply be terminated, in WindowsXP, often the app is compensated for and allowed to run without letting it hurt the system or affect other applications or processes. And of course like other OSes, the last resort is to terminate the app, but still not causing harm to function of the OS or other applications.
WindowsXP also has the ability to mark and track DLL requirements of software applications so that conflicting libraries wil
Ok, so are you needing a tutor or just want someone to look up the information for you?
How about this for basic differences...
Windows NT is a variation of a microkernel design that makes use of the client/server model. NT is roughly divided into two parts, NT executive, the kernel portion of the operating system based on a layered design, and a set of "protected subsystem" servers that run in user mode. These servers each provide an operating system environment to user applications.
The advantages of such a design include the ability to upgrade OS environments separately from the operating system itself, the ease of adding new environments, increased security and reliability, and selective porting of environments.
Hence NT can layer OS environments on top of the NT executive. This is NOT something *nix is designed to do. That is also why you find that with NT, Microsoft or third parties (OpenNT) can add their own subsystems that reside on top of the NT executive kernel; thereby, supporting any OS in a native mode and not through an emulation, but yet still having the basic NT architecture underneath the residing OS subsystem.
Second Point... WindowsNT was designed as an object oriented OS with token passing.
Just one example of why this is important is that NT, with its object design, views processes, threads and other resources as objects, and the entire security model of NT is based on the notion of object security.
Because many parts of NT are based on a client/server model, with objects moving from place to place, it is more efficient and reliable to attach security and permissions information (access control lists) to the objects themselves, rather than rely on a single centralized security scheme.
*NIX on the other hand, relies for the most part on the kernel for security enforcement among system components, and almost all internal interaction is through the kernel.
So assuming you can spell, do you understand a couple of the architectural differences and features of the NT architecture that are not and will never be a part of the basic concepts of the *nix OSes just by the nature of their design and definition?
Um, unless they are not connected to the internet and have a very orchestrated internal security procedure. People forget that NT4 had a C2 level certification for security with the option of applying for a higher class, something that Linux has yet to acheive.
People also forget that back in 1996 not every server was connected to the net.
Well, my SunOS 4.1.2 machine from i believe 1993 or even earlier, has been running reliably ever since, not a single crash.. not a single os reinstall, downtime caused by moving house and power failures. Windows 95 is surely newer than SunOS 4.1.2, but nowhere near as stable
Windows NT3.1,3.5,& 4.0 are also newer, and you know what, they don't crash either.
Quit comparing a DOS extended OS like Windows9x to *nix. It is like comparing Mac System 9 to *nix or even Mac OSX itself. Mac System 9 is a lot newer than any of these and you know what, it crashes quite easily as well.
These are 'different' class operating systems. A true OS that has true isolated processes and an isolated core/kernel is much different from than an OS like Mac System 9 or even Win9x that has a 16bit Mutext thrown into the mix that does sit on a DOS boot loader.
At least keep the OS fight in the same class. WindowsNT was built to be and has ALWAYS been a very stable OS because it has ALWAYS had isolated applications and a protected kernel.
Yes I agree. Now comparing XP to Unix from say 1987 would prehaps be fair to XP.
Clever...
I'm sure Dave Cutler or another UNIX guru from the late 80s would agree with you, oh wait, he was one of the OS architects of NT that designed it to be something better than UNIX.
Glad he was at least knowledgeable to realize the shortcomings of the UNIX architecture to reject it when MS set out to build the next generation OS architecture.
There are so many features of the NT core (even the original 1992 3.1 version) that have yet to be implemented in most *nix variants(like Linux or BSD) it would make a fun debate, but with the spelling errors and nature of your post, I don't think you are someone that would add much to such a debate.
Just another troll that has no clue about OS architecture (argh MS Bad, everything else good, fire bad, argh), nice to see the Slashdot posts haven't improved any...
Microsoft has made an extremely stable OS, it's called Windows 2000, as long as you use MS certified drivers the OS should never crash
I agree with this, but in actual ways of handling stability, WindowsXP does a better job, and is a much better OS for stability than Windows 2000.
For example the way WindowsXP handles several things, DLLs in memory, OS protection (above what Win2k does), and the ability to actively catch bad software calls and correct them without failing the application that made the bad call.
There are numerous enhancements in WindowsXP that give it an edge on stability of Win2K.
Drivers are also an area where the architecture of WindowsXP is slightly different from Win2k, and the ability of a poor driver causing system instability is reduced significantly as well. This goes back to the OSes ability to catch bad calls in real-time that is not as evolved in Win2k.
Everyone that is interested in what some of the mechanisms in WindowsXP that enhance stability (and the new Windows 2003 server) should check out Microsoft's site.
In fact, even if you hate MS, you should check them out. It might give some Open Source developers some good ideas in improving on their favorite OS. You might also find some ideas on moving to a model (like in XP) that has an OS software protection level beyond just isolating memory and processes from each other as has been the old staple in creating a stable OS.
Why is it that people are always using Windows98/ME that was basically written in 1997 and 1999 and then compare it to their *nix installations that are the current versions and running the latest *nix patches?
If people want to compare MS and Windows to their *nux, at least use WindowsXP as the base line.
It would be just as silly to compare WindowsXP to a 1997 version of any *nix out there.
Or if you are going to use an 'old' MS OS, at least base it on WindowsNT4.0 which is at least in the same class line as *nix. Our clients have had high usage NT4.0 installations run for years without failures.
Windows9x is a grand extension of the DOS architecture, NT on the other hand is just a completely different ball game by design.
Tell me how much MS code in Windows that is due to differences between PCs made by IBM, HP, Dell or other box makers. They all use Intel CPU, ATI or nVidia GPU, etc.
I don't know where you get your hundreds of thousands components from, but the device drivers are all written by the device makers themselves not MS.
There are approximately what 100 video chipsets that Windows supports, another 100 printer, 50 sound chipsets, etc...
Do you see where I am going here? Sure there are big players, but the smaller chipsets are also supported. Even my old Neomagic 128ZX in my laptop from 1997 is supported in WindowsXP.
In the Apple world, you have maybe what 20 video chipsets supported, and that is being generous. (And this is not a dig to Apple, but a fact.)
Additionally you are forgetting peripherals like tape backups in addition to core level components like mainboard chipsets, CPUs (yes there are differences in Windows code for different CPUs - MMX, etc), PCI bus controllers, USB controllers, etc etc...
Just in mainboard chipsets there are over easily over 100 supported chipsets in Windows that manage everything from PCI, USB, Firewire, SCSI, IDE, etc and support to every basic part of the system like the AGP interface drivers.
And they all have to work and work in a stable environment.
Windows 2003 Server recognizes and installs the appropriate chipset drivers for mainboards in our servers that are running eight year old mainboards without a hitch.
Now do you start to see where this becomes an astronomical amount of hardware to support?
With the driver model of the NT architecture, I agree, it is easier than on most OSes because of the way drivers are layered, but still there is a high level of testing to ensure stability as drivers have access to a lower level of the OS.
As for your comment about the vendors providing the drivers, this is only partially true.
Microsoft pushes the vendors to provide drivers, but often has been the case that Microsoft has ended up lending its own development to drivers because the vendor is reluctant to support the new OSes.
Take the move from Win3.1 to Win95 driver model, and the NT driver model, and then again to the WDM driver model that is used in Win2k and even the extension in the driver model for WinXP in supporting more consumer level devices.
Vendors were VERY reluctant to provide NT drivers for their hardware, which forced Microsoft to provide the driver level support themselves for most hardware back in 1996 when NT4.0 was released.
When the shift to the WDM model and the newer model of it in Win2k and WinXP, again manufacturers were content with the drivers for Win98 for their hardware, and especially their legacy devices, they had no interest in providing a new driver model for. Microsoft again was put in the role of writing the drivers with the manufacturer support or lending support to the manufacturers to write the drivers.
How do I know this, been a part of this process personally, watched it happen. Driver after driver after driver. (And no I do not work for Microsoft)
Out of the box the 'Microsoft' supplied drivers that are certified are at least 80% written or co-written by Microsoft, not just the vendors.
Even if your argument that the vendors are solely responsible for the drivers was true you are also forgetting that Microsoft still has to test the drivers and ensure that they are stable and work with the other drivers in the system.
There is a dizzying amount of driver support and compatibility in WindowsXP. In addition, even for legacy NT4.0 drivers that vendors would not let Microsoft update the drivers or there wasn't enough of a market call to do so, there is compatibility checks in WindowsXP that will allow the driver to load and run, but yet jump in when the driver is incorrectly doing something it shouldn't do.
This is part of the legacy driver compatibility layer, just as there are dynamic b
O.K., can anyone here tell me why Microsoft is spending an order of magnatude more $$'s to develop Windows than Apple is spending on developing OS X? It can't be testing because the Apple products appear so much more refined.
Maybe because Apple only has to support Apple hardware and Microsoft has to support literally hundreds of thousands of hardware components, which results in an infinite amount of hardware configurations.
Additionally, Windows 2003 Server is truly a top notch server and also provides an extensive level of enterprise support that is not in the Mac OSX Server.
Just the same reason that there are so many people in the Linux development world; there is a ton of hardware to support.
There is a thing called Mac OS X Server, you Windows idiot.
:)
BTW nice language...
Yes there is a Server version of Mac OS X, that has been available since even before OSX was available on the desktop.
However, it does not have many of the tools that are expected in a modern server to accommodate enterprise level deployment. (i.e. robust Directory Services, Security, etc)
Additionally, we don't see it winning many performance awards. It may be a Server product, but it is not geared for the same markets as Windows 2003 Server, and many other vendor *nix Server OSes like from Sun and IBM.
Yes Mac OSX Server is a nice product, but it isn't even in the same league as the other guys...
Give them a few years... (Like the few years it took to bring a non-cooperative multitasking OS to the desktop. So in about nine years, it will be great!)
Sorry for the satire, I truly do think Apple has done some really great things and I don't want them to stop. Whatever development inroads they make will just push other OSes to do better as well.
And after all that:
Backup Glitch in Windows Server 2003
All that money, all that process...
Moving the backup packets to a larger size is hardly a bug. It may create inconvenience until a patch for XP and Win2k is available, but a bug? Get real...
I can see the next big bug headline "Windows 2003 Server can't use Windows 3.1 printer drivers, causing mass panic in the streets!" Geesh....
That's the point! Bugs are much more likely to be found in an open system such as Linux because of the nature of Open source development - all people using the software can reporting / fixing bugs, not just the limited few inside a company.
Not quite true... Microsoft has one of the best and most advanced external beta cycles of any software company; a model that most software companies today mimic. Been beta testing since 1992 for them and they are very open to feedback and thousands upon thousands of testers and tech centers like our pound their software outside of their labs to weed out straggling bugs they have missed.
As for Open Source being more bug free or secure, I still disagree. When someone that is smarter than the developer that put the piece of code together can see it, they can also see how to compromise it.
So bugs, yeah it probably helps, but security no.
Coming from the security field, the fewer eyes that see the source code, the more secure the code is just by the nature of not everyone having access to see its faults and exploit them.
Besides the fact that as far as I can tell Windows 2003 offers very few benefits over the finally acceptably stable Windows 2000
:)
Actually there are numerous differences. For starters Windows2003 is using the evolved WindowsXP code base.
For the other hundred differences, I shall just refer you to the Microsoft Web Site. www.microsoft.com/server
Our tech team was in the beta program for Windows 2003 Server (actually all NTs since 1992), and there is a significant difference between Windows 2003 Server and Windows 2000.
Just like there is quite a bit of difference between Win2k Professional and WindowsXP Professional, but most people don't see or know about these differences unless they use WindowsXP or look at the architectural differences and new technologies it offers.
(Like I have said a hundred times, even if you hate Microsoft, at least look at what they are doing so you are educated on the matter. Don't make yourself a fool by saying well Windows 2003 Server won't do this and Linux will - when in fact WindowsNT was doing it back in 1993.
It is also in your best interest to see what they are doing so you know where to leverage what they are succeeding at and what they are failing at for your own development benefits.)
Know thy enemy and the tool's of thy enemy...
I run the following system:
:) )
:)
Pentium III @ 1ghz
256MB RAM
GeForce2 MX
RedHat 8, upgraded to the 2.4.21-pre5-ac2 kernel
KDE 3.0.3-8 RedHat
And I almost never have problems with KDE
Key words 'almost never'...
How about a 200mhz 80mb Laptop running Windows 2000 since Beta 1 back in fall of 1997 up to currently running WindowsXP.
And to this day it has only crashed once, when the user popped the IDE Hard Drive out accidentally while the system was running.
However, with a nice journalled file system, putting back in the hard drive and just turning it back on was all that was needed(no integrity check
People can debate stability and who's OS is better and runs the best all day here. Neither WindowsNT/XP or any *nix is perfect, PERIOD.
So give up the my OS is the best and never will crash and runs faster stuff. This just won't be true across the vast array of hardware these OSes run on and the devices they support. THERE IS NO SUCH THING, SORRY.
And BTW, the story about the little 200mhz laptop is 100% true. It was my personal test system for years (low end test system for the past few years) and it has yet to see a BSOD or lockup, except when (admittedly) 'I' accidentally popped out the Hard Drive while it was doing some serious number crunching.
It also is used far more than an average person's PC. I still use it as a development test platform for software speed analysis, since it is now on the low end of the spectrum.
And it is still a cute notebook that runs well, is great for Music, Video, and Audio books and at one time I loved more than any other computer. *tear in eye*
The last time I heard this advice was from a Jr. Tech at one of my companies, and it took only five minutes to show him why this was never necessary. (And I am talking about Win 3.0/Win 3.1 days even.)
With modern OSes, simply cleaning out startup items and removing crap software is basically all that ever needs to be done.
Even if someone thinks they need to do a 'refresh' of their OS, just doing an upgrade over their existing installation (Win2k and WinXP are especially good at this) will clean out 99.9% of any crap that has been added to the system. And this doesn't lose any settings or files.
It would have been smarter if the article would have told users where to find the startup items, how to do an upgrade over their current OS, how to remove crap software, or even a techie article that explains where to look for extraneous services and remove/disable them. Even giving them tools to clean their system would be a better article than this. And I am not an advocate for most system 'cleaning tools'.
Who gets these journalistic jobs and why are editors stupid enough to print them?
TheNetAvenger
That wont do it I had 4 gigs of stuff and it seems 300 megs were left, after many attempts at cleaning it properly The only way I could get rid of all the files was by mounting the windows partition under linux and removing all the files from there...
/s "temporary internet files" in your profile or local settings folder.
Just log in as a different user or as the administrator. If you are using a Win98 system then drop to a command prompt at boot and remove the folders. Why in the hell would you ever need to mount the volume under Linux to Remove the folders? Having trouble figuring how people could arrive at this.
If you are using WinNT,2K,XP, just log in as a different user and rmdir
BTW, Reinstalling an OS every year is just about the stupid thing I have heard in years.
The last time I did a 'clean' install was after the completion of a beta where it WAS necessary to remove the beta files for sure. And even this didn't entail wiping the hard drive, just doing a clean install of the OS.
Apparently some people think that their computer is still running Windows 3.1. Geesh
Basically cleaning out the startup items or removing crap software is all that anyone should have to do whether their OS is Win95,WinXP/NT or Linux.
Even on my main testing system, I have NEVER reinstalled the OS, and I do tons of beta testing on it with some really crappy software sometimes (Corel Betas are my favorite for crap installs). But reinstall the OS, I don't think so.
This article is more than ridiculous. Especially considering the market that it is directed at - basic users. They will lose their settings, and tons of files the have forgotten to back up.
Silly Silly...
Seems you have no clue about the VM architecture :-)
This is really not worth the time to debate; just watch how JAVA plays out my friend.
Just as an example, look at the stability within a single java VM instance and its interaction with the applet. The current VM model has no protection or design mechanism to restrain the applet now, let alone if multiple applets are let loose in the same VM.
Applets can already hang the VM they are residing in; how do you think this will NOT affect other applets running in the same VM if it is moved to a multiple model.
Look at the Win16 VM on the early NT platform, they ran in a shared VM as well, and since they also didn't have the protection mechanisms, one Win16 application could bring down the whole Win16 VM.
This is why NT implemented separate processes (or an option for) Win16 applications so that they would get their own VM to protect them from other errant Win16 applications.
This was moving the model forward; however, it appears that Sun is moving everyone backwards.
Again it kills me that people here are the ones that are so for their 'own' control of enriching and optimizing their OSes and software development, and JAVA is just the opposite of this. You have no control over Java's implementation or performance.
Can you say, "Slave to Sun out loud?"
TheNetAvenger
I for the life of me can't think of anything they promised except a write once run anywhere thing. I would say that they have 'mostly' achieved that goal. I run Java stuff on NetWare, Windows, Linux, Solaris, AIX and various phones and palm/pocket pc systems
.NET web services or ported to the requesting OS. As arrogant as Microsoft can be, at least they were willing to give away C# technology and concepts to a standards body so anyone, anywhere could use it.
For the most part I do agree with you; however the statement above is stretching reality just a bit. The write once, run anywhere simply is not as ready for prime time as people want to make it sound. Because, it simply doesn't always run everywhere, and on some platforms the performance is atrocious.
Additionally, Sun promised a more robust environment, and even with the upcoming announcements in place, it still won't be there.
I would rather commit to a real language that can easily port and run on 99.9% of the OSes out there, than put any more resources in to JAVA. As screwed up as Microsoft can be, C# which is actually an 'open' standard that Microsoft 'doesn't have the final say on' is a better place to look for JAVA like development, even if the apps have to be implemented in
Sun is so determined to be the God of JAVA, their arrogance will kill it. They would have been better off to let it become a standard by opening it up as well. A lot of posts here are so afraid of putting all their eggs in Microsoft's basket, but yet with JAVA, Sun is the only basket. If Sun moves in another direction, JAVA developers are at their mercy and will be until the end of time. At least with C#, now that it is an open standard, even if Microsoft abandons it or screws up their version of it, we can choose from other vendors like Borland for development and not be dependant on one company.
As for the VB code utilizing the GUI API calls of Windows, yes it does, but if it was put on any other GUI OS, it would use the GUI API calls of the OS just the same. There still would not be the overhead that there is with JAVA.
Sun is trying to reinvent too much to achieve their cross platform compatibility, when in fact they could be leveraging what IS consistent among the modern OSes and off loading a lot of what JAVA is now doing itself. This is major waste of CPU and memory when it is normally sitting upon an OS that provides basic GUI features that can be called. And if the underlying GUI doesn't support the calls, then and only then implement them.
If you really take a look at JAVA, they (Sun) are trying to build an OS foundation for a development language, instead of making a development language that would universally sit on 99% of all OSes. This is completely backwards and if you look at JAVA down the long road, the intent is to virtually kill ALL OSes and move the world to JAVA.
JAVA is so against the Open Source movement and freedom of OSes that everyone here seems to support, it shocks me to see developers pushing the open movement and yet also being JAVA advocates.
Everyone just has to look a bit in the future to see that if Sun truly does achieve their goals, all OSes and the variety of architectures and competition in OSes will be lost. Write for JAVA now and you are really writing for a JAVA OS model. This is totally against what the open source community stands for, and ironically, is also totally against what even Microsoft stands for.
I will not make Sun the next software God that I have to bow to for crumbs. Just like everyone now is running around trying to get crumbs to get their JAVA creations to run right on even three of basic main OSes (OSX, Linux, and Windows), and even getting it to run on just these three is still a challenge.
I once believed in what JAVA promised, but after watching where they have tried to take it, I totally disagree with their ideology, JAVA is not the answer anyone is really looking for if they look at the big picture.
Once this is done, then it would be possible to have ONE JVM running on the system for all Java applications. The JVM could launch at startup and then even the inital load times would be greatly reduced. I believe that this is the way Apple is handling Java (Can't confirm it though).
So, when this issue is resolved, running Java on a machine could mean only giving up a maximum amount of 16MB of RAM for the JVM and the rest for the application. To be honest that is what most Java programs are doing today
After more than 10 years of getting computer users to OSes that separate and protect applications and processes, now we are going back to the old monolithic model, so that one bad JAVA app can compromise all other JAVA apps within the JVM.
Give me a break guys... This is not the direction a platform or programming model should be pushing developers just because Sun cannot get performance to a reasonable level.
Heck even look at VB and its runtime engine, it even consumes less memory and runs as an isolated process. (And VB has tons of stuff in it that weighs it down considerably.)
Come on Sun, give us what you promised six years ago. Quit wasting time suing companies and actually put some work into development.
No wonder that even the Server developers at Sun have been complaining about JAVA and its performance on their own OSes.
Then nVidia brough our their TNT cards which did 32-bit colour... nice.
Actually just for the record, the ATI Rage 128 came out in December of 1998 and was widely available by January of 1999, which was officially the first 32bit color card that offered 32bit color performance with very little difference in frames rates between 16bit and 32bit modes. It also was the fastest card of the time.
The TNT2 (which is the first version that had 32bit color support) didn't come out for a few months after that.
ATI was the original 32bit Color Card that made the CEO of 3DFX look really silly when he was saying that it would not be possible to do 32bit Color at high speed and that 3DFX had no plans of ever supporting more than 16bit color in games.
ATI set the threshold at the time and it really put a dent in the confidence of 3DFX if their future at the time had no plans to do what ATI was about to do, and do quite well.
And No, I do not want to get into an NVidia vs ATI debate. I own cards from both manufacturers and at different times in the last years, they both have had better products than the other.
However now, it looks like the ATI 9700 Pro and 9800 Pro are a bit a head of what NVidia is offering. Not only in raw performance, but in video quality. (Hence I reference reviews of Video Quality and Performance from Tom's Hardware)
ATI's Trueform technology looks like it is finally becoming an asset when it was nice in previous Radeon cards, the performance that NVidia was offering easily overcompensated the difference.
Last year NVidia had the best GPU, this year it looks like ATI is ahead. But then again, I could be wrong as things progress.
It's pretty silly paying through the nose for an expensive new graphics card when the only thing you can "play" are the tech demos.
It is amazing how quick it goes from being able to just have impressive demos to actually run some pretty amazing numbers when needed. For example, the Geforce440 Go in one of my laptops, really shines when I want to run a game at 1600x1200 (the LCD's native resolution).
Not many previous GPU chipsets could hold respectable frame rates at that resolution. So even when the Geforce3 and Geforce 4 first came out, there wasn't much new, but the extra performance they offer definitely pays off now in my laptop.
So yeah, you are for the most part right. I have paid as much as 399 for a video card, and 299 for a sound card when they were released and I didn't get the opportunity to use the extra features of either until cheaper versions of the same cards were already available. Always wait a few months if you are cost conscious.
not having floppy drives, and cdrom drives set to nonboot in the bios is just fending off the less capable, because the more capable would bring their own hardware more probably anyways.
:) ) the system will be protected from malicious employees, accidental viruses, etc.
err.. well, maybe it's just philosophical way of looking at it.. since if i had 'enough'(nobody ever has) money i would just treat every network as possibly compromised.
This is true to a certain degree. All you can do is reduce the risk of compromise. However, with tough policies of access, secure workstations, and server side policies like IPSEC, there is very little chance of someone gaining access or causing harm to a system.
Unless they hire a super cyber geek (like most of us
There is no such thing as complete security. Even when we worked with the Pentagon using handprint recognition access identification in the early 90s, there still was a percent of risk that could never be eliminated.
With my previous articles, I definitely was not advocating not updating systems, even if they are internal or isolated. However there are circumstances (as in the case I mentioned) that security was more important than allowing even a System Administrator to bring down a set of servers to apply patches.
(This was a very special set of circumstances that prevented the servers from being updated or coming offline for the security systems they controlled as well.)
in one case, it would have been trivially easy for anyone willing to take the risk to walk in (in the right uniform, available from stores) and sit on a computer, boot it from a floppy or a cd and get on with anything. or go the other way and open the needed door with necessary force. or just leave sufficient amount of cd's with the right stuff on autorun around.
This is why it is essential to have a strong security policy and by this I mean that the workstations are setup for security as well. Locked Cases, no floppies, CDROM set to non-bootable in the bios, etc. This would prevent them from doing anything to the network even if they had semi unsecured access to the workstation.
As with the network cables, then IPSEC, IP Validation, etc is necessary to prevent another node(workstation) from tapping into the network infrastructure and accessing the network to launch an attack.
anyways, you got a job what are doing on having useless debates on slashdot??
Well I surely hope that everyone else here isn't unemployed. LOL Actually, I enjoy the debates here and what I get from them.
Take Care,
TheNetAvenger
In my experince except for a very few specific situations Linux is *much* faster than Windows.
In my experince Windows crashes more and has more problema than anything else I've used.
I hear this, but usually this is coming from people with Win95,Win98,WinME and not Windows2k or WindowsXP.
If your experience is from Win9x then you need to take a deeper look at Win2k,WinXP. If you experience is TRULY from WindowsXP then you are definitively in a minority. WindowsXP just does not have the security or stability problems that the Win9X line of OSes do.
Win9x OSes were not bad for what they were, but they are NOT in the same class as a *nix or NT based OS. They were designed to evolve users and legacy software, and they had no security or protection mechanisms.
I admittedly am a bit of geek as well, but I got into the NT movement from the beginning, mainly because there were not any quality *nixes available on the Intel platform at the time. And Solaris when it finally arrived for Intel was such a disappointment.
After studying the creation of NT and watching its evolution, I have witnessed that MS did do something right with the core of NT and it does extend as theorized it would to meet the needs of whatever comes in computing.
I don't doubt that you have had Windows horror stories; I have seen some as well. But I also try to keep an open mind and have found a lot of pluses in the NT line of Windows.
With the modern WindowsNT OSes, I have found that there is nothing they cannot do that another OS can. In contrast, I often find myself when at the console of another OS shaking my head when something that is so easy in Windows is either complex or the other OS is not even capable of doing it.
NTFS being journalled from the beginning is just a small example, I get so tired of 'integrity checks', it reminds me too much of Windows98 and the old DOS days. (Yes I know there are now journalling FS options out there for a few *nix variants.)
Another common example, I could just choke Linux vendors when I have to manually edit the XF86Config file because the user changed the video settings to something that the system didn't have specified in XF86Config file. And the Linux vendor 'Settings Manager' let the user do it.
This is just something that doesn't happen in Windows and is so foreign to average PC users. Even the original Windows NT 3.1 made users test the video settings before it would allow them to be committed to the system.
Thanks for the debate - take care,
TheNetAvenger
so you can forget about intranet & other semi-internal intrusions fully? ....
like, i'm fearing a bit of our countrys military(not usa) network because it runs on a 'special' (not that much special) version of a properiaty os that had it's support dropped, and while it is physically cut from the internet it's not a big deal to get access at the network(rather easy).
Actually, my example comes directly from a Law Enforcement Division of the US Government.
And with the proper security policies, there was restricted access to the server, as well as secure workstations with no way to add an exploitive application/worm to a system or the network. Additionally there was no way to patch into the network to try to breach the Server.
So yes, it was a very secure system that was never compromised. Even after moving the server to the Internet, and applying appropriate security patches in 1999 and 2000, the server was NEVER compromised.
This server, and the division that it served, are one of our security team's brass rings. WindowsNT 4.0 did its job and did it well, making our security team look very good when really Microsoft should have gotten 99% of the credit.
As to your concern, if there is easy access to the network of any system, then it is no longer considered to be isolated and then there is a big problem.
Security policies are the #1 way to prevent and stop hacking and malicious access to any system. Keep restricted access to hardware and any networking hardware that it ties in to or have strong IPSEC policies on the server if network hardware cannot be fully secured.
If you have the capacity to address these issues of security policies to your government's military, then do so - it would be a concern to me as well.
Take care,
TheNetAvenger
Yes, linux has not gotten C2 certification, but windows NT was only able to do it without a network card.
Umm... A requirement of C2 certification is that the machine is isolated from a network.
It wasn't that they were not able to get C2 with a network card, but to even apply to be C2 compliant, it had to NOT have a network card.
Go read about C2 security certification, you will see that NO OS can or will ever get C2 certification when networked.
Even if you choose to skip most of this post, at least check out the last few paragraphs
Assuming that your answer is speed/stability/security then why in the real world does NT do so poorly in all of those areas?
Hate to kill Santa Claus, but this is for the most part a myth that anti-Microsoft people like to tell around campfires.
#1) Security - Microsoft had fewer security related alerts last year than Linux, or any other OS.
Do me a favor, check out the security alerts on a common Linux vendor site, like debian.org, you will see more *nix specific security alerts in a month than you will find coming from Microsoft in a year for the NT product line.
And also remember that there are a lot of angry anti-Microsoft people out here that work to find security holes in NT(Win2k/WinXP implied) to exploit.
So as far as security, the NT OS has a much better track record in its 11 years of existence than Linux or most any other *nix out there.
#2) Speed... NT has proven to be faster than most Unix variants and even Linux in almost every test. It was well known in the Linux world back in 1996/1997 that NT was a faster Server and desktop OS, something Linux was striving to catch up to. (Do a net search; there are many references to this, written by Linux developers.)
And with Windows 2003, the speed margin is widening considerably.
Linux servers can be tuned (recompile kernel, set web hit anticipation, etc) to be a fast server, but out of the box, NT will always win.
Why and how does this relate to what I wrote in the previous post? Because the way the kernel is made in NT, it doesn't have to be recompiled for optimum performance. This is just a piece of the beauty of its HAL and driver implementation model.
As for on the desktop, the XWindow layered model provides for less performance in the GUI than WindowsNT. For goodness sake, XWindows is a Windowed Network Protocol, not something that should be the basis of a desktop OS Windowing system.
There is no way XWindows with KDE or any other manager layered on top of it will ever be as fast the native GUI in the WIN32 subsystem.
Don't get me wrong, Linux and other variants do a damn good job of getting the most performance out of XWindows, but it will hard to match NT's native GUI.
Look at Apple, even they chose to not implement the XWindow environment and instead created their own window manager for features and performance. Also look for what MS is doing with Longhorn, it has the potential to make a serious strive in the GUI abilities of WindowsNT that will leapfrog what everyone else is doing on the desktop. And I don't just mean its abilities to float pretty windows around - go read about it.
#3) Stability... If you timeline NT and compare it to almost any *nix available at that time it was available, its stability was on par if not above what top vendors like Sun and other companies were producing.
Look at WindowsXP or even Win2k and compare it to any current OS on the market. If you have used WindowsXP, you will know that unless there is a serious hardware failure or very badly written (uncertified) driver installed, the OS simply does not crash. Period. (Working in a developer capacity on both WindowsXP and several *nix variants, I can attest to the extra stability XP offers - and I wish that stablity was there on the *nix front as well.)
With XP's ability to dynamically fix calls made by poorly written software, it has an edge on the *nix world. In other OSes the application would just simply be terminated, in WindowsXP, often the app is compensated for and allowed to run without letting it hurt the system or affect other applications or processes. And of course like other OSes, the last resort is to terminate the app, but still not causing harm to function of the OS or other applications.
WindowsXP also has the ability to mark and track DLL requirements of software applications so that conflicting libraries wil
I can spell so back up your claims. :)
Ok, so are you needing a tutor or just want someone to look up the information for you?
How about this for basic differences...
Windows NT is a variation of a microkernel design that makes use of the client/server model. NT is roughly divided into two parts, NT executive, the kernel portion of the operating system based on a layered design, and a set of "protected subsystem" servers that run in user mode. These servers each provide an operating system environment to user applications.
The advantages of such a design include the ability to upgrade OS environments separately from the operating system itself, the ease of adding new environments, increased security and reliability, and selective porting of environments.
Hence NT can layer OS environments on top of the NT executive. This is NOT something *nix is designed to do. That is also why you find that with NT, Microsoft or third parties (OpenNT) can add their own subsystems that reside on top of the NT executive kernel; thereby, supporting any OS in a native mode and not through an emulation, but yet still having the basic NT architecture underneath the residing OS subsystem.
Second Point...
WindowsNT was designed as an object oriented OS with token passing.
Just one example of why this is important is that NT, with its object design, views processes, threads and other resources as objects, and the entire security model of NT is based on the notion of object security.
Because many parts of NT are based on a client/server model, with objects moving from place to place, it is more efficient and reliable to attach security and permissions information (access control lists) to the objects themselves, rather than rely on a single centralized security scheme.
*NIX on the other hand, relies for the most part on the kernel for security enforcement among system components, and almost all internal interaction is through the kernel.
So assuming you can spell, do you understand a couple of the architectural differences and features of the NT architecture that are not and will never be a part of the basic concepts of the *nix OSes just by the nature of their design and definition?
nt4.0 installations run for years????
must be a hacker heaven!
Um, unless they are not connected to the internet and have a very orchestrated internal security procedure. People forget that NT4 had a C2 level certification for security with the option of applying for a higher class, something that Linux has yet to acheive.
People also forget that back in 1996 not every server was connected to the net.
Geesh...
Well, my SunOS 4.1.2 machine from i believe 1993 or even earlier, has been running reliably ever since, not a single crash.. not a single os reinstall, downtime caused by moving house and power failures.
Windows 95 is surely newer than SunOS 4.1.2, but nowhere near as stable
Windows NT3.1,3.5,& 4.0 are also newer, and you know what, they don't crash either.
Quit comparing a DOS extended OS like Windows9x to *nix. It is like comparing Mac System 9 to *nix or even Mac OSX itself. Mac System 9 is a lot newer than any of these and you know what, it crashes quite easily as well.
These are 'different' class operating systems. A true OS that has true isolated processes and an isolated core/kernel is much different from than an OS like Mac System 9 or even Win9x that has a 16bit Mutext thrown into the mix that does sit on a DOS boot loader.
At least keep the OS fight in the same class. WindowsNT was built to be and has ALWAYS been a very stable OS because it has ALWAYS had isolated applications and a protected kernel.
Yes I agree. Now comparing XP to Unix from say 1987 would prehaps be fair to XP.
Clever...
I'm sure Dave Cutler or another UNIX guru from the late 80s would agree with you, oh wait, he was one of the OS architects of NT that designed it to be something better than UNIX.
Glad he was at least knowledgeable to realize the shortcomings of the UNIX architecture to reject it when MS set out to build the next generation OS architecture.
There are so many features of the NT core (even the original 1992 3.1 version) that have yet to be implemented in most *nix variants(like Linux or BSD) it would make a fun debate, but with the spelling errors and nature of your post, I don't think you are someone that would add much to such a debate.
Just another troll that has no clue about OS architecture (argh MS Bad, everything else good, fire bad, argh), nice to see the Slashdot posts haven't improved any...
Geesh
Microsoft has made an extremely stable OS, it's called Windows 2000, as long as you use MS certified drivers the OS should never crash
I agree with this, but in actual ways of handling stability, WindowsXP does a better job, and is a much better OS for stability than Windows 2000.
For example the way WindowsXP handles several things, DLLs in memory, OS protection (above what Win2k does), and the ability to actively catch bad software calls and correct them without failing the application that made the bad call.
There are numerous enhancements in WindowsXP that give it an edge on stability of Win2K.
Drivers are also an area where the architecture of WindowsXP is slightly different from Win2k, and the ability of a poor driver causing system instability is reduced significantly as well. This goes back to the OSes ability to catch bad calls in real-time that is not as evolved in Win2k.
Everyone that is interested in what some of the mechanisms in WindowsXP that enhance stability (and the new Windows 2003 server) should check out Microsoft's site.
In fact, even if you hate MS, you should check them out. It might give some Open Source developers some good ideas in improving on their favorite OS. You might also find some ideas on moving to a model (like in XP) that has an OS software protection level beyond just isolating memory and processes from each other as has been the old staple in creating a stable OS.
Why is it that people are always using Windows98/ME that was basically written in 1997 and 1999 and then compare it to their *nix installations that are the current versions and running the latest *nix patches?
If people want to compare MS and Windows to their *nux, at least use WindowsXP as the base line.
It would be just as silly to compare WindowsXP to a 1997 version of any *nix out there.
Or if you are going to use an 'old' MS OS, at least base it on WindowsNT4.0 which is at least in the same class line as *nix. Our clients have had high usage NT4.0 installations run for years without failures.
Windows9x is a grand extension of the DOS architecture, NT on the other hand is just a completely different ball game by design.