一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

WindowsNTisVMSre-implemented?

 daomucun 2008-11-25

OpenVMS + IA-32 ?

facts:

  • in the 1980s, DEC (Digital Equipment Corporation) started the Prism project to develop technology which would eventually succeed VAX
  • Dave Cutler headed a Prism sub-project named Emerald which would attempt to port VMS to an Intel IA-32 platform
  • March 1988, DEC killed Prism (and with it Emerald) so they could build new systems based upon RISC chips from MIPS
  • Summer 1988, Dave Cutler contacts Bill Gates with an offer to build a more crash resistant version of Windows
  • October 1998, Dave becomes a Microsoft employee and is put in charge of developing Windows-NT (new technology) which will run on multiple target platforms (initially: DEC-Alpha, MIPS. Later inclusions: Intel 486, Intel Pentium)
  • in 1992 DEC finished porting VMS from VAX to Alpha and renamed VMS to OpenVMS 6.0
  • Windows-NT 3.51 was popular and the GUI looked like Windows-3.11
  • Windows-NT 4.0 was even better and looked like Windows-95
  • Windows-NT 5.0 was released as Windows-2000 and, at the time, was the most stable OS ever released by Microsoft
  • Windows-2000 and portions of Windows-ME (millennial edition) merged to become Windows-XP (experience)
  • A commercial version with SMP support was released called Windows 2003 Server Edition
  • "VMS + 1 = WNT" makes no more sense than "IBM - 1 = HAL" (see other web trivia regarding "2001: A Space Odyssey")

links:


http://groups.google.com/groups?selm=1997May28.101149.7776%40cmkrnl&output=gplain
From: jeh@ (Jamie Hanrahan, Kernel Mode Systems)
Subject: Re: FX!32, affinity etc.
Date: 1997/05/28
Message-ID: <1997May28.101149.7776@cmkrnl>#1/1
References: <009B44A8.70132C31.4@maxwell.ph.kcl.ac.uk> <338A488D.6FC7@videotron.ca>
Organization: Kernel Mode Systems, San Diego, CA
Newsgroups: comp.os.vms
In article <338A488D.6FC7@videotron.ca>,
jfmezei <"[nospam]jfmezei"@videotron.ca> writes:
> David Cathey (Remove MX to mail) wrote:
>> culmulated into OpenVMS.  The sad thing is Cutler had to capitulate
>> to a Windows assimilation of his theoretically sound base O/S.
>> You'd think he would have taken the tenets of procedure calling
>> standards with him as well.
>
> I think it is quite pretentious of the VMSer to think that Cutler
> had so much design authority over NT and that he would have taken
> his VMS knowledge with him.
Not pretentitious at all.  We're simply aware of facts you apparently
haven't heard about.
From the internals point of view there is utterly no question that NT
is VMS re-implemented.  
> Cutler was told to replace DOS with a real kernel over which Windows
> could run, over which teh windows API could run etc etc.
This is off-topic, but you're incorrect here also.  Originally there
wasn't even going to be a Win32 API - 16-bit Windows had not gotten
all that popular when NT was conceived.  NT was originally to be a
follow-on to OS/2, and a cooperative effort with IBM.  But somewhere
along the way Windows got pretty popular, IBM and MS split the beast,
IBM getting the OS/2 parts and MS keeping the NT parts.
> If you look at the PSION PDA operating system (called EPOC), you'll also
> find many many similarities with VMS. Event Flags, Interprocess
> Mailboxes, shared memory between processes, process priorities, and even
> a utility (SPY) which is the equivalent to SHOW SYS. Its IO system is
> similar to VMS (an equivalent to $ASSIGN with the device name
> determining which driver to use, and $QIO which is more or less
> independant of the device itself.).
That's out at the UI and API level.  We're talking about internal
similarities.
> NT is an WINDOWS operating system with modern operating systems
> services. They were implemented with the Windows API mentality.
> Stop thinking that NT is VMS with WINDOWS above it.
No, not "VMS with Windows above it", but a VMS-derived design with
Windows above it, most certainly.
> NT differs from DOS in that it has real operating system features, but
> the later are not the exclusivity of VMS.
The "real operating system features" you speak of are at the UI and
API level.  They are not the reasons we consider NT to be a
reimplementation of VMS at the internal level.
How about:
The scheduler.  (process scheduler in VMS, thread scheduler in NT)
32 scheduling priorities, divided into the "real-time" (16-31) and
"variable" (0-15) priority ranges.  identical preemption at ready by
higher-priority threads; identical quantum and priority boost
implementations; identical CPU starvation avoidance mechanism to get
out of priority inversion situations; a null thread for each CPU;
etc., etc.
Memory management.  0-7FFFFFFF is per-process, mostly
user-mode-accessible only; 80000000-FFFFFFFF is systemwide, mostly
kernel-accessible only.  Functionally identical implementations of
paging vs. swapping.
I/O.  I could write a book (in fact, I am), but briefly, IRPs are
IRPs, UCBs are "device objects", CRBs are "controller objects", ADPs
are "adapter objects", FDT routines are "dispatch routines",
EXE$QIODRVPKT is IoStartPacket, StartIO routines are StartIO routines,
fork routines are DPC routines, ASTs are APCs... etc., etc., etc.,
etc., etc.
Interrupt handling.  32 levels of interrupts (some simulated but this
is nevertheless the way the code is written).  IPLs on VMS, IRQLs on
NT.  In order:  Passive level, APC (AST) Level, Dispatch (fork) level,
then the IO hardware interrupts, then some "hardware maintenance"
functions like the hardware timer, IPI, power fail notification, and
HIGH_LEVEL to block all interrupts.
Face it, JF, you're wrong.  Worse, you are writing not just in
misunderstanding but in ignorance of the facts.  Please go read
_Showstopper_ and _Inside Windows NT_ (Custer) before opining further
on this subject.
--- Jamie Hanrahan, Kernel Mode Systems, San Diego CA
Internet: jeh@ (JH645)  CompuServe: 74140,2055
drivers, internals, networks, applications, and training for VMS and Windows NT
NT driver FAQ, links, and other information:  http://www./
If you post a reply in news, please don't e-mail it too.

Editor's Notes:

  1. I've added some highlighting to the above newsgroup posting but have not changed anything else
  2. To develop a useful technology and then not use it is almost a crime against humanity. Unlike some others in this news group, I do not see Bill Gates or Microsoft as evil; likewise I do not see Dave Cutler as a traitor. Kudos to all involved.

An excerpt from "Inside Windows NT" by Helen Custer
Copyright (c) 1993 by Microsoft Press


Note: In 2003 this book was out of print but is still available from used Book sellers (my copy came from www.)

FOREWORD (By David N. Cutler)

In 1965, I graduated from college with a B.A. in mathematics, a minor in physics, and an overwhelming desire to be an engineer and to build things. So I took a job with DuPont in Wilmington, Delaware, as a materials testing engineer. After about a year of absolute boredom, I was lent to the mathematics and statistics group assigned to construct a computer simulation model for a new foam-making process that the Scott Paper Company was developing. Working with machines that never did what I meant them to was humiliating, but within six months I was hooked, and what I had shunned coming out of school -- computers -- turned into my life's vocation.

Soon after, I transferred to DuPont's engineering department, where I could program full time. DuPont had a small group that built online computer system applications. My real motivation for joining this group was to get closer to computers, and in fact, I wanted to work on implementing an operating system. While in the group, I had the good fortune to work on several stand-alone real-time systems where the project involved writing the central control program that scheduled the various tasks and monitored system activity as well as writing the actual application code.

It soon became apparent that the only way I was going to get the opportunity to work on implementing a real operating system was to join a company that made computers for a business. And so in 1971 I left DuPont for a job in Maynard, Massachusetts, with Digital Equipment Corporation (DEC). As it turned out, this put me in the operating system business for quite some time to come. Little did I know that I would be fortunate enough to develop several operating systems in my lifetime; developing one is a rare opportunity for anyone.

My first operating system project was to build a real-time system called RSX-11M that ran on Digital's PDP-11 16-bit series of minicomputers. At the time, our goals seemed very ambitious. We were asked to build a multitasking operating system that would run in 32 KB of memory with a hierarchical file system, application swapping, real-time scheduling, and a set of development utilities. The operating system and utilities were to run on the entire line of PDP-11 platforms, from the very small systems up through the PDP-11/70 which had memory-mapping hardware and supported up to 4 MB of memory.

I have many fond memories of how RSX-11M took shape, I had a rubber stamp made that proclaimed "Size Is the Goal" and proceeded to stamp every last bit of correspondence to make sure that all the programmers and project managers understood how important it was to achieve our goals. We also learned the power of conditional assembly (high level language use in operating systems was in its infancy at this time), and whenever someone added a feature, we just made it a system-generation option.

While developing RSX-11M, we spent most of our time engineering solutions to memory problems. Because the system had to run in 32 KB, we generated a memory budget that divided available memory equally between the between the operating system and the utility programs. That left a mere 16 KB for utility programs and led to long hours tuning overlay structures to achieve acceptable performance for many of the RSX-11M system programs.

Although RSX-11M had some very stringent size and performance constraints, of the systems I've worked on it was probably the easiest one to develop. It involved re-implementing an existing system but allowed us the freedom to change and subset the programming interfaces as long as programs could be reassembled or recompiled with minimal source-code changes. RSX-11M was introduced in 1973, 18 months after we started building it. It proved to be very successful and helped make the PDP-11 the most popular 16-bit minicomputer of its time.

The PDP-11 provide better price/performance than mainframes, was affordable at the department level, and along with other popular minicomputers of the same era, led to the first wave of "downsizing" in the computer industry. Downsizing was an attempt to "bring down" mainframe applications to the minicomputer systems. Many of the mainframe programs were larger than the PDP-11 could easily accommodate, and almost immediately Digital was up what Gordon Bell has deemed the single most important reason that computer architectures become obsolete: the lack of enough address bits.

Out of this need, the VAX architecture was born, and it became one of the most popular architectures of the late '70s and remained popular throughout the '80s. The VAX architecture provided 32 bits of virtual address space and eliminated the need to wrestle programs into what into what seemed to be an ever-decreasing amount of virtual address space.

My second opportunity to develop an operating system arrived with the VAX. I was very fortunate to be chosen to lead the operating system effort for the VAX-11 architecture, the result of which was the VMS operating system.

VMS was Digital's second general-purpose time-sharing system, developed specifically for the VAX architecture. Because the VAX architecture had grown out of the tremendous success of the PDP-11, however, this time it was mandatory to provide more than source-level compatibility for applications.

Thus the VAX-11 architecture included a PDP-11 compatibility mode which PDP-11 instructions were executed directly by hardware. At that time, it was inconceivable that a single operating system could support more than "compatibility environment". Although it wasn't the best known of the PDP-11 operating systems (amazingly, Digital had no fewer the 10 PDP-11 operating systems at one time or another!), RSX-11M was chosen as the operating system interface that would be emulated in PDP-11 compatibility mode on the VAX. This decision probably didn't make sense to a number of people outside the company, but RSX-11M had the largest number of application development tools, and had the most general-purpose operating system features, supporting multitasking, and had a file system structure that could be compatibly extended. Ultimately, the VAX-11 systems ran the RSX-11M binaries right off the distribution kit; it allowed RSX-11M volumes to be directly mounted and their files to be accessed and shared between RSX-11M compatibility-mode programs and native VMS programs.

From a technical perspective, the biggest mistake we made in VMS was not writing it in a high level language. At that time, we had a group of very accomplished assembly language programmers, some stringent size constraints, and no complier with the appropriate quality for operating system development. So to ensure that we would ship the system in a marketable time frame, we wrote it in assembly language. Looking back on what happened, it would still be hard to make the decision to write VMS in a high-level language. (Moral: The right thing to do technically isn't always the best thing to do financially.)

Early in the '80s, while minicomputers were busy absorbing mainframe and other new applications, two important technologies were emerging: the personal computer (PC) and workstations. After the VMS project, I spent a few years developing compliers and then led a group that built Digital's first MicroVAX workstation -- the MicroVAX I.

Workstations like the MicroVAX provided individual, high-performance computing for applications such as computer-aided design (CAD), whereas PCs supported business applications aimed at personal productivity, such as spread sheets and word processors -- two very successful early PC products. Although workstations were relatively pricey, personal computers had to be affordable to small businesses.

In order to meet price objectives, the original PCs were built with 8-bit, and later with 16-bit, microprocessors. They were constrained in much the same way RSX-11M had been and required considerable effort on the part of programmers and operating system designers to accommodate their limitations. Hardware resources were so scarce that operating systems existed mainly to handle a few low-level hardware functions and to provide a set of file system libraries. But the personal computer offered something that minicomputers did not -- a market in which independent software developers could sell their programs at a higher volume. As a result, the breadth and variety of applications that run on PCs and exploit their capabilities is truly amazing.

In the mid-'80s, microprocessors gained 32-bit addressing, and workstations were quick to take advantage of this capability. However, because of the very large installed base of personal computers and their applications, it was not easy to simply roll in another computer and then recompile and relink all the application software. End users of PCs simply didn't have the source code for all their programs, and they demanded binary compatibility.

In the summer of 1988, I received and interesting call from Bill Gates at Microsoft. He asked whether I'd like to come over and talk about building a new operating system at Microsoft for personal computers. At the time, I wasn't too interested in working on personal computers, but I thought this would be a good time to meet Bill and discuss what he had in mind. What Bill had to offer was the opportunity to build another operating system, one that was portable and addressed some of the concerns people had about using personal computers to run mission critical applications. Form me, it meant the chance to build another operating system!

Bill finally convinced me that this was an opportunity I couldn't pass up, and in October of 1988, I came to Microsoft and started to build the team that would build the new operating system. I didn't realize it at the time, but this would be the most ambitious operating system project on which I had ever embarked.

Our goals for the system included portability, security, POSIX compliance, compatibility, scalable performance (multi processor support), extensibility, and the ease of internationalization. Of all these goals, by far the one that was hardest to achieve and that had the most profound effect in the structure of the system was compatibility. Hundreds of thousands of PDP-11 systems had been sold, but tens of millions of personal computers were in operation! As if that weren't enough, we needed to compatibly support three separate 16-bit operating environments and add new 32-bit capabilities to free personal computer applications from the same kind of virtual address constraints that had existed for the PDP-11. To top it off, we wanted to support the UNIX standard interface specification called POSIX.

Now almost four years later, we are on the brink of bringing this system, Windows-NT, to market. Helen Custer started work on this book when the operating system design began. As our design has matured, the book has undergone continual change to track the operating system architecture. This has been an arduous task -- keeping up-to-date and writing and rewriting the various chapters of the book as the design evolved. Although it is our design, Helen is the one who has captured the essence of that design and made it understandable to more than just serious operating system implementers. For this, we owe Helen a great debt.

It is impossible to acknowledge all the people who have contributed to the design of Windows NT. I must say that I did not design Windows NT -- I was merely one of the contributors to design the system. As you read this book, you will be introduced to some, but not all, of the other contributors. This has been a team effort and has involved several hundred-person years of effort. Perhaps the most important contribution of all was made by the people who have tested and stressed the system. Without their effort, Windows NT could not have achieved the level of quality that it has achieved.

I hope you enjoy this book about Windows NT as much as we enjoyed designing the system.

Dave Cutler
Director, Windows NT Development


January-2006 Update

This next paragraph came to me last week (Jan-2006) in a personal email from an ex-Intel employee.

<quote>

"Given your interest in VMS you might find this amusing. In the early 1990's we visited Microsoft to try to ensure that their new OS "Windows NT" would be available on IA32. We met with Dave Cutler, and he was adamant that IA32 was doomed and would we please get lost so he could target Alpha and then
whatever 64-bit architecture was certain to replace IA32 by Intel. It was not a polite disagreement; that guy HATED IA32 and wasn't reluctant to transfer his displeasure to IA32's representatives (us). What an ugly business meeting. Smart guy, though."

</quote>

I asked for a clarification on the phrase "IA32" as it pertains to this quote and was told that it refers to both 486 (which was in production in 1990) and Pentium (586 or P5) which was still in development.

{ note: P6 is the core name for Pentium-Pro which was actually somewhat different from Pentium }


 

Back to Home
Neil Rieck
Kitchener - Waterloo - Cambridge, Ontario, Canada.

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    国产又粗又长又大的视频| 日韩精品视频香蕉视频| 国产香蕉国产精品偷在线观看 | 国产老熟女超碰一区二区三区| 精品一区二区三区三级视频| 亚洲视频一级二级三级| 日韩精品毛片视频免费看| 男人把女人操得嗷嗷叫| 精品人妻一区二区三区免费看| 免费人妻精品一区二区三区久久久| 在线观看视频日韩成人| 亚洲精品深夜福利视频| 正在播放国产又粗又长| 日韩精品一区二区一牛| 成人精品一区二区三区综合| 中文字幕精品少妇人妻| 欧美黑人精品一区二区在线| 九九热精品视频免费观看| 一区二区三区精品人妻| 中字幕一区二区三区久久蜜桃 | 一个人的久久精彩视频| 欧美日韩国产成人高潮| 五月婷婷欧美中文字幕| 国产自拍欧美日韩在线观看 | 亚洲精品福利视频你懂的| 日本精品最新字幕视频播放| 一二区不卡不卡在线观看| 麻豆看片麻豆免费视频| 中文字幕禁断介一区二区| 成年女人午夜在线视频 | 欧美二区视频在线观看| 亚洲精品一区三区三区| 免费精品国产日韩热久久| 男女午夜视频在线观看免费| 观看日韩精品在线视频| 激情五月激情婷婷丁香| 精品欧美国产一二三区| 一区二区三区日韩经典| 国产一区二区不卡在线视频| 日韩黄片大全免费在线看| 国产精品福利一级久久|