You are on page 1of 4

Windows on Windows

A 16-bit module within Windows NT that executes Windows 3.1 applications. Also known as WOW or NTV ! "NT Virtual O# !achine$% Windows on Windows runs as an emulated O# subs&stem under NT. When a 3.1 application calls Windows% the calls are con'erted into their NT e(ui'alents and run in 3)-bit nati'e mode. Windows 3.1 applications can crash each other but not NT% thus multiple Windows on Windows sessions can be launched to pre'ent con*lict between two or more 3.1 pro+rams.

Virtual DOS machine (VDM)


Virtual DOS machine "V !$ is the name o* !icroso*t,s technolo+& allowin+ to run !#- O# pro+rams on -ntel ./3.6 or hi+her computers when there is alread& another operatin+ s&stem runnin+ and controllin+ the hardware.

Overview
Virtual O# machines rel& on the 'irtual ./.6 mode o* the -ntel ./3.6 processor% which allows real mode ./.6 so*tware to run in a controlled en'ironment b& catchin+ and *orwardin+ to the normal operatin+ s&stem "as exceptions$ all operations which in'ol'e accessin+ hardware. The operatin+ s&stem can then per*orm an emulation and resume the execution o* the O# so*tware. V !0s +enerall& also implement support *or runnin+ 16- and 3)-bit protected mode so*tware " O# extenders$% which has to con*orm to the 1!- inter*ace. When a O# pro+ram runnin+ inside a V ! needs to access a peripheral% Windows will either allow this directl& "rarel&$% or will present the O# pro+ram with a Virtual e'ice ri'er "Vx in short$ which emulates the hardware usin+ operatin+ s&stem *unctions. A V ! will s&stematicall& ha'e emulations *or the -ntel .)23A interrupt controllers% the .)24 timer chips% the .)35 !A% etc. -n +eneral% the V !s and similar technolo+ies "includin+ products like V!ware$ do not satis*actoril& run man& older O# pro+rams on toda&,s computers. 6mulation is onl& pro'ided *or the most basic peripherals% althou+h Windows 71 added emulation o* the #ound 8laster and other multimedia de'ices. 6mulation o* supported peripherals is incomplete and (uirk&. NT-*amil& 'ersions o* Windows onl& update the real screen a *ew times per second when a O# pro+ram writes to it% and do not emulate hi+her resolution +raphics modes. 8ecause so*tware runs mostl& nati'e% all timing loops will expire prematurel&. This either makes a +ame run much too *ast or causes the so*tware to not e'en notice the emulated hardware peripherals% because it does not wait lon+ enou+h *or an answer. A common solution to these problems is to use a *ull 91: emulator such as the host operatin+ s&stem and it is slower. O#8ox. The disad'anta+e is that it does not allow a totall& transparent inte+ration with

History
V !s appeared with Windows;3.6 ).1 and are present in all subse(uent 3)-bit 'ersions o* Windows. -n the Windows NT *amil&% the& are howe'er rele+ated to runnin+ O# and Windows 3.x pro+rams and no lon+er participate in the implementation o* the Windows A1-. The Windows NT executable which is used to handle a sin+le O# "and Windows 3.x$ en'ironment is called nt'dm.exe. V !s were also used in O#;) )./ and later. <ecent 'ersions o* Windows NT *or 64 bit architectures% includin+ Windows 71 1ro*essional x64 6dition "A! 64$ % Windows 71 64-bit 6dition "-A-64$% Windows #er'er )//3 "x64$ and Windows Vista % no lon+er include the NTV ! and can there*ore no lon+er run !#- O# "or 16-bit Windows$ applications.

NTVDM
The NT Virtual O# !achine "a.k.a WOW% or Windows on Windows$% is a Win16 subs&stem that runs under Windows NT% which allows 16-bit applications to run as i* the& were bein+ executed on a O# machine% with that machine,s multitaskin+ and se+mented memor& model. 8ecause the s&stem is multitasked 16-bit O# and Windows applications cannot crash NT. =owe'er% 16-bit apps within a Win16 subs&stem run the exact same wa& as the& do on a O#;Win 3.x machine> there*ore% 16-bit apps within the subs&stem can crash one another% or the subs&stem. To pre'ent this% &ou can launch multiple WOW subs&stems as lon+ as &our pro+ram does not communicate usin+ shared memor&. Windows NT will not allow NTV ! to execute instructions that tr& to directl& manipulate hardware or memor& locations. As a result% some applications "such as +ames$ ma& not run under Windows NT. O# and Windows 3.x

WINDOWS NT Family
-n April 13.5% !icroso*t and -8! announced a new operatin+ s&stem initiati'e% called !icroso*t Operatin+ #&stem )% or O#;). This was to be the plat*orm to replace O#% and would be *ull& 3)-bit% memor&-protected% preempti'el& multitasked operatin+ s&stem% written *rom the +round up. !icroso*t and -8! worked on the pro?ect ?ointl&% but shortl& a*ter the release o* Windows 3./% the relationship soured% and e'entuall& ended. -8! and !icroso*t each continued to work with the pro?ect independentl&. -8! continued to de'elop O#;) 'ersion ) on its own% as we mentioned earlier. !icroso*t took its initial work on what was to ha'e become O#;) 'ersion 3% and took it in a di**erent direction. -n 13..% a team led b& a'e 9utler% who was the architect o* the <#7-11 and VA7;V!# operatin+ s&stems *or i+ital 6(uipment 9orporation% rechristened the pro?ect Windows NT% and redesi+ned and rewrote the @kernel@ or minioperatin+ s&stem on which Windows NT was to be built.

Version !"
The *irst release o* NT was +i'en 'ersion number 3.1 to match the contemporar& 16-bit 'ersion o* Windows. "!a+aAines o* that era claimed the number was also chosen to make it seem more likel& to be reliable% as an&one knew that a @./@ release o* an&thin+ was bound to be bu++&.$ -ts user inter*ace was 'isuall& that o* Windows 3.1 but the entire s&stem had been written *rom scratch> no !#- O# or Windows 3.1 code was used. Brom a pro+rammin+ standpoint% as we mentioned earlier in our discussion o* Window 3x% a @*lat@ 3)-bit address space *reed applications *rom ha'in+ to mana+e 16-bit memor& se+ment re+isters and their 64C8 boundaries. The Windows Application 1ro+rammin+ -nter*ace "A1-$ was modi*ied to use 3)-bit 'alues in all communication between Windows and applications. This re(uired Windows pro+rammers to make some minor modi*ication to their code in the process o* de'elopin+ applications *or the new en'ironment% but the e**ort re(uired was surprisin+l& small. e'ice dri'ers were completel& redesi+ned% and application pro+rams were totall& isolated *rom each other> it was not possible *or an errant application to man+le in*ormation stored in memor& used b& other applications or b& Windows itsel*. And% internall&% Windows was made much more robust. Bor example% an errant application could be terminated% and all o* the memor&% +raphics% *iles% and other resources it had been usin+ were automaticall& released and made a'ailable *or reuse b& other pro+rams. These were% o* course% not new *eatures *or operatin+ s&stems in +eneral% but it was hu+e impro'ement o'er !#- O# and Windows 3.1. Windows NT could still run !#- O# applications% but !#- O# itsel* was not present at all. A cle'er pro+ram called the Windows NT Virtual O# !achine "NTV !$% usin+ technolo+& !icroso*t licensed *rom -nsi+nia #olutions -nc. that had ori+inall& been created to run !#- O# applications on the !acintosh% pro'ided O# applications a @*ake@ O# en'ironment. NTV ! intercepted the O# application,s attempts to interact with O#% the displa& adapter% and other hardware% and issued Windows NT re(uests to per*orm the desired *unctions. A similar "althou+h less complicated$ mechanism let Windows NT run 16-bit Windows applications without modi*ication. Version 3.1 was released Au+ust% 1333 in two 'ersionsD Workstation% *or use b& an indi'idual% and Ad'anced #er'er% which was basicall& the same operatin+ s&stem but with a di**erent licensin+ scheme that allowed it to be used as a *ile ser'er *or lar+er or+aniAations. Windows NT had taken *i'e &ears to build% *rom the point that a'id 9utler si+ned on until its release. The intent was to build a hi+hl& reliable s&stem b& keepin+ the NT kernel small% and mo'in+ as much code as possible outside o* the kernel so that bu+s and crashes could cause onl& limited dama+e. #tickin+ to this concept has made the No'ell NetWare% :N-7% and Einux operatin+ s&stems exceedin+l& robust% and it mi+ht ha'e done so *or Windows NT as well. =owe'er% this initial 'ersion was unacceptabl& slow% and in subse(uent 'ersions% !icroso*t mo'ed more and more o* the +raphical inter*ace pro+ram code into the kernel. There% it could run *aster% but this brou+ht increased risks that a bu+ in an errant dri'er or Windows module could take Windows down with it.

Windows NT !#
-n April 1334% !icroso*t released Windows NT 3.2% in both Workstation and #er'er 'ersions. This 'ersion showed impro'ed per*ormance and reduced memor& re(uirements. This was the *irst reall& usable 'ersion. Version 3.21 was released in Fune 1332 and included modi*ications to make it able to run applications desi+ned *or Windows 32. Windows NT 3.2 ser'ers could not onl& be licensed to pro'ide shared *ile ser'ice to more than 1/ simultaneous users% but could also act as domain controllers% o**erin+ authentication "password 'eri*ication$ ser'ices *or corporate networks. This meant that user accounts could be mana+ed in one place "the ser'er$ rather than on each indi'idual workstation.

Windows NT $!% Wor&station


8& the time Windows NT 4./ was released in Au+ust 1336% !icroso*t had had time to not onl& si+ni*icantl& impro'e NT,s per*ormance and reliabilit&% but also to incorporate the Windows 32 user inter*ace% includin+ the #tart menu% so the Windows 3.1 pro+ram mana+er was *inall& le*t behind. =owe'er% the most si+ni*icant impro'ement was the addition o* the NTB# *ile s&stem. :p until this time% all 'ersions o* Windows used hard disks *ormatted with the BAT *ile s&stem% which !icroso*t acknowled+es was written in a hurr& with onl& *lopp& disks in mind. -t turned out that BAT-*ormatted disks were (uite 'ulnerable to data loss due to crashes and power outa+es. BAT also pro'ided no means o* restrictin+ access to *iles based on usernames% passwords% or other credentials. !icroso*t had worked with -8! to de'elop the =i+h 1er*ormance Bile #&stem "=1B#$ *or O#;)% and was able to appl& lessons learned there to NTB#. -ts +oals wereD

<eliabilit& 1rotection o* chan+es to director& entries and *ile siAes a+ainst loss due to crashes or power outa+es% b& encapsulatin+ them as @transactions.@ #ecurit& Bine-+rained control o* who is allowed to create% read% modi*&% delete% or mana+e *iles and *olders. An auditin+ s&stem makes it possible to track who has succeeded or *ailed to make chan+es as well. 9apacit& The abilit& to handle terab&tes o* disk capacit&. 6**icienc& 8etter use o* disk space% smaller allocation units% and less -;O needed to read and modi*& disk structures. Eon+ *ilenames The abilit& to store *ilenames up to )22 characters. ata spaces The abilit& to store parallel% separate sets o* data *or a +i'en *ile. This is used% *or example% to accommodate alternati'e *ilenames and extended director& in*ormation used b& di**erent operatin+ s&stems ser'ed b& an NT-based *ile ser'er% or the !acintosh,s data and resource *orks.

Windows NT 4./ Workstation was meant as a hi+hl& reliable operatin+ s&stem *or corporate s&stems% workstations% and ser'ers. Windows NT 4./,s #er'er 'ersion included additional networkin+ ser'ices such as Windows -nternet Namin+ #er'ice "W-N#$% " =91$% omain Name #er'ice " N#$% <emote Access #er'ice "<A#% a dial-up networkin+ ser'ice$% and others. &namic =ost 9on*i+uration 1rotocol

Windows '%%% (ro)essional


Windows )/// was to ha'e been named Windows NT 2./% but at this point !icroso*t had o**iciall& +one berserk with its namin+ schemes. Windows !e was in the works% and !icroso*t would now decide to rearran+e their namin+ schemes *or e'er& successi'e 'ersion o* Windows. <eleased in Bebruar& )/// a*ter man& dela&s% Windows )/// was a si+ni*icant ad'ance in both *unctionalit& and reliabilit&. -t pro'ided man& ad'anta+es o'er Windows NT 4./% ?ust a *ew o* which are listed hereD

BAT3) support "up to 3)G8 per partition$ in addition to NTB# and BAT16 Windows 3. user inter*ace !icroso*t !ana+ement 9onsole "!!9$ *or man& maintenance *unctions "althou+h the split o* *unctions between the 9ontrol 1anel and the 9omputer !ana+ement !!9 tools was somewhat arbitrar& and con*usin+$ #upport *or up to 4G8 o* <A! A uni*ied dri'er model% shared with Windows !e% so that hardware 'endors could suppl& a sin+le dri'er that could be used on either operatin+ s&stem Greatl& impro'ed reliabilit& NTB# impro'ements includin+ reparse points% which +i'e Windows )/// the abilit& to redirect *ile accesses to alternati'e dri'es or ser'ers% a :N-7-like mountable *ile s&stem% and :N-7-like links "multiple director& entries *or a sin+le *ile$ &namic disk support% which permits on-the-*l& partition resiAin+ -mpro'ed setup and so*tware installation*ewer reboots re(uired% and the Windows -nstaller ser'ice makes it easier to correctl& uninstall or repair applications. 1lu+ and 1la& hardware support% multiple monitors% :#8% and BireWire support #a*e mode and <eco'er& 9onsole boot options% to maintain and repair unbootable s&stems Acti'e irector&% an enterprise mana+ement and securit& tool that allows 'er& *ine-+rained dele+ation o* mana+ement and securit& polic& settin+s% automatic application deplo&ment% and other ser'ices A91- power mana+ement includin+ suspend and hibernate modes% to make it possible to use on laptops.

Windows '%%% was released in several licensin* versions+

Windows )/// 1ro*essional% *or indi'idual users. ual-processor s&stems were supported under the 1ro*essional license. Windows )/// 1ro*essional became the desktop operatin+ s&stem o* choice *or business users% lurin+ the last o* the Windows 3.1 holdouts into up+radin+. Windows )/// #er'er% *or *ile ser'er use. :p to *our processors supported on the computer,s motherboard. Windows )/// Ad'anced #er'er% supportin+ up to ei+ht processors in a sin+le s&stem and 64G8 o* <A! "recall that se+ment re+isters are still present in 3)-bit 1rotected !ode. At most 4G8 o* <A! is 'isible to an& one application but i* the motherboard is desi+ned *or it% Windows can ?u++le the se+ment re+isters to +i'e more applications that much <A! without pa+in+$. Windows )/// atacenter #er'er% supportin+ up to 3) processors in a sin+le s&stem% and clusterin+% which links redundant ser'ers to permit continuous operation should one *ail.

#upport *or all o* the earl& <-#9 processors was dropped and Windows )/// was pro'ided onl& in 'ersions *or the standard -ntel x.6 "-A-3)$ architecture.

Windows ,(
<eleased in October )//1% Windows 71 o**iciall& ended the Windows 3x product line and brou+ht Windows NT to the masses% er% to the consumer. With 71% !icroso*t *inall& mana+ed to make the NT product reasonabl& compatible with the pool o* remainin+ O# +ames and applications "it helped that this pool had been dwindlin+ o'er the &ears$. !icroso*t also made it simple enou+h to mana+e% and attracti'e enou+h to appeal to end consumers. -t also didn,t hurt that !icroso*t could *inall& promise and actuall& deli'er a trul& reliable operatin+ s&stem. This in itsel* is remarkable +i'en how much Windows had +rown. The ori+inal 'ersion o* Windows *it on two *lopp& disks. Windows 71 re(uired )G8 o* disk space ?ust to install. The massi'e amount o* code can be seen in the number o* lines o* source code the raw pro+rammin+ text t&ped b& !icroso*t,s pro+rammers estimates o* which are listed in the table belowD

-ines o) .ode in Windows


Version Windows NT Windows 32 Windows NT 4./ Windows 3. Windows )/// Windows 71 Million -ines o) .ode 1/ 12 16 1. 3/ 4/ to 42

This is reall& a sta++erin+ amount o* code% +i'en that it,s estimated that a t&pical pro+rammer can produce about 1// lines o* (ualit& pro+ram code per da&. -* that,s true% Windows 71 is the product o* 1%.// person-&ears o* e**ort "assumin+ those persons +et weekends o**% and two weeks o* 'acation a &ear$. Windows ,( introduced several enhancements over Windows '%%%+

-mpro'ed +raphical desi+n. erided b& some as @cartoon&@ at *irst% it has sort o* +rown on us. #imple Bile #harin+ makes it easier *or consumers and small o**ices to mana+e *ile securit& on a network and on a +i'en computer when NTB# is used. #&stem <estore% which per*orms automatic backups o* s&stem pro+rams% components% and the <e+istr& at re+ular inter'als and be*ore installin+ new applications. Bast :ser #witchin+ makes it possible *or se'eral users to be lo++ed on simultaneousl&% althou+h onl& one person can use the computer at a time. <emote esktop allows a user to 'iew and control a Windows 71 1ro*essional computer o'er the -nternet.

71 was released in two 'ersions in both =ome and 1ro*essional 'ersions. 71 1ro*essional is the e'er&thin+-but-the-kitchen-sink desktop operatin+ s&stem and has a licensin+ allowance *or two processors on the motherboard. 71 =ome 6dition% which permits onl& one processor% had se'eral *eatures that were either restricted or remo'ed. Bor example% #imple Bile #harin+ cannot be disabled> the 1ower :sers mana+ement +roup cannot be used> and Bile 6ncr&ption% O**line Biles% <emote esktop% hostin+ and domain membership are not a'ailable. !icroso*t does not count multi core or h&per threadin+ 91:s as multiple 91:s *or licensin+ purposes. A dual-core 91: with h&per threadin+ looks like 4 91:s to Windows but Windows 71 =ome 6dition will still run on it. Windows 71 #er'ice 1ack ) introduced se'eral additional *eatures and si+ni*icant securit& *ixes. The three most important additions were An impro'ed Windows *irewall% which helps pre'ent dama+e and abuse to the s&stem *rom o'er the -nternet

Windows #ecurit& 9enter% which detects and noti*ies the user o* out-o*-date anti'irus protection and less-than-optimal securit& con*i+urations -mpro'ements to -nternet 6xplorer to pre'ent its bein+ hi?acked b& malicious websites -mpro'ements to Outlook 6xpress *inall&H to pre'ent its automaticall& displa&in+ +raphic and script content% which can noti*& spammers that their email has been read

Windows 71 was not released in ser'er 'ersions. -nstead% !icroso*t released the successor to Windows )/// #er'er with the name Windows #er'er )//3 "remember% we said the&,d +one berserk$. At this point% !icroso*t has decided to call the successor to Windows 71 @Windows Vista.@ +raphics and *ile-searchin+ capabilities. ue in the second hal* o* )//6% Vista promises to o**er +reatl& impro'ed

You might also like