The magazine of the Melbourne PC User Group
Bill Gates Down Under |
|
|
On 25 October 1988, Bill Gates, Chairman of the Board, Microsoft Corporation addressed members of Melb PC. This is a
close to verbatim transcript of that speech and of the question and answer session that followed.
|
Well, I'll try to speak quickly and say enough controversial things to stimulate questions. The PC industry's very fast moving. It is hard to imagine it only got started about 13 years ago with the introduction of this kit based computer called the Altair. It is based on the 8080 and the kit actually didn't come with memory and so a lot of people who bought the thing didn't know they needed to buy memory to make it run. Most of the users who bought them didn't have any terminals to hook up to them, so the first library of software that I wrote for the thing was based on simply having the lights display nice patterns. It was a big breakthrough when we figured out that just
simply by putting a radio next to the computer it emitted so much noise that an appropriate program could actually play various musical tunes.
But even in those early days it was clear that the pace of semiconductor improvements was going to allow us to have immensely powerful machines at individual prices. In fact when Paul Allen and I started the company in 1975, leaving college we wrote down "that eventually there would be a personal computer on every desk and in every home." It was our goal to provide the software and software standards to help make that happen. Well, from 1975 to 1980 was an era we called
'8-bit microcomputing'. Most of the machines were based on our BASIC and most machines had a limitation of 64 kB of memory. These were machines like the Apple II, the Atari, the Commodore, the Radio Shack TRS 80. All of these were fun machines to work with and significant advances.
But it was in 1981 that we started the current era of personal computing with the introduction of the first 16-bit machine. Actually, when IBM first came to us they had a home PC design in mind and we had to convince them to go at the 16-bit processor and build a graphical capability. This was the very first MS-DOS personal computer. People don't often remember that the time from 1981 to 1985 was one in which every computer manufacturer in the world had their own desktop machine. Only slowly but surely did the phenomenon of the amazing software availability for this most popular brand cause every one of those manufacturers, with the exception of Apple, to discontinue their desktop machine and come out with an MS-DOS compatible machine. This type of phenomenon "where the more software you have the more the machine sells, the more the machine sells the more software you have" is one of these self-reinforcing phenomena that leads to fairly exponential results. The exponential result we have today is over 20 million machines based on this MS-DOS standard.
We work very closely with the hardware manufacturers because of
course the hardware defines the centre of the system. The key to the microprocessor on these DOS based systems has of course been the Intel Corporation. The 8088 processor ran at a fairly slow speed, actually it moved the data on and off the chip 8-bits at a time. But it was capable of addressing 1 million bytes of logical address space. So I partitioned that address space into 384 kB of special purpose memory for video, bank switching, ROM, I/O and incredible biotic things and 640 kB for general purpose RAM. That was a factor of 10 increase over the previous generation and it seemed like it would be adequate for about 10 years. Well, in fact, it was adequate for about 7 years of work. Both the 640 kB and that 384 kB we find today are extremely overcrowded with the needs of PC configurations. In fact that is probably the toughest problem we face in PCs right now.
The [80]286 processor that came out in 1984 offered an increase to 16 MB of addressability and at 2.5 times the speed. But it is really the [80]386, introduced through
Compaq in late 1986 that really shows were we have come with microprocessors. The 386 running at 25 Mhz delivers 6 million instructions per second. So it is a very powerful machine. It can address over 4000 times as much memory as the original 8088, supporting the full 32-bit address base and so it can manage 4 Gigabytes. That's larger of course than the largest IBM mainframe can handle. It is quite a milestone for us. In fact this amount of memory, I say this quite sincerely, will be enough to last us for, I believe, the next 10 years of personal computing. [laughter]
So we won't need to change the memory architecture and that is a very positive thing from the view of a systems software provider. We can focus on providing new power in the system software. For example changing the file system to support things like long names, faster access, extended attributes, even a sort of object orientation to the file structure itself. However, the 386 microprocessor is not the end of the line. The rate of improvement in microprocessor technology will actually be greater over the next five years than it has been over the last five. That means we move up from this 6 MIPS to a microprocessor, at very low cost, that is running at over 60 MIPS. It is interesting now to ask what sort of applications that we will generate that will soak up all this incredible speed and justifying the industry doing anything rather than simply cost-reducing the products we have available today. I think we have some good answers to that. I think those machines will be extremely well utilised.
We also work very closely with the system manufacturers. Our closest partnership is with IBM who has about 28% of the installed base of DOS machines have come from them [?]. We worked with them in terms of promoting the idea of graphics interface. Although the original PC had limited graphics interface, in 1987 we moved up to a VGA level of resolution and having that built into the machines. That is a 640x480 level of resolution which is of course somewhat better than the Mac that runs at
512x342. The VGA also supports a reasonable degree of colour capability, although not identical to the 8-bit per pixel available on the Mac II or the colour depth available through a number of specialised plug-in cards. This improvement in graphics resolution is very important for the dramatic shift toward graphics interface that we think will be taking place.
Our other participation in the hardware market has been through the availability of various peripheral devices. The most popular of these, of course, has been the Microsoft Mouse which we have sold over 1 million units of. When I talk about user interface tonight I'll often talk about
'pointing' at something and 'clicking'. What I mean is using the mouse cursor to select something on the screen and then pressing the mouse button. For those of you who haven't used a mouse I encourage you to because it is really hard to describe verbally what an important addition this is to the man-machine interaction with a personal computer. The trends in hardware are very clear. The 286 is basically standard for office computers today. The 386 will become a standard very rapidly. Over one third of the machines sold in the U.S. during 1989 will be 386 based. In 1990 we expect that to shift to be almost two thirds of the machines. Also,
the graphics resolution will continue to move up, the next step being 1024x768 resolution.
The most visible contribution we have made to the industry is at the level of systems software, specifically the creation of MS-DOS. The efficiency this allows for the software industry is really quite amazing. Software is a fixed development activity and so if you can target a large number of users you can price your software at very low prices. Even if only 1% of that installed base is interested in your program you have 200,000 potential customers. This has led to an extremely competitive software industry. In any category we find typically hundreds of titles available from various software companies. In fact, other than ourselves, no software company has actually had a great deal of success in multiples of these software categories. The pace of competition means that every 18 months we're required to come out with innovative new applications. Of course MS-DOS is not the only thing we have done in this systems software arena.
We have also brought out the Windows graphical interface package that is optional and runs on top of MS-DOS. The Windows environment, first shipped in late 1985, is now gaining critical mass as an applications environment. Already people like Aldus with Pagemaker and Micrographics with their applications and Microsoft with its PC Excel product. But over the next six months a number of wordprocessors, databases, project management packages and new mail packages will be added bringing the Windows environment to the same critical mass you see today in the Macintosh. We think that this means the graphics interface will finally move into the mainstream of all personal computing.
Of course, our most talked about software activity is the creation of the next generation operating system, specifically OS/2. OS/2 has a very ambitious goal, that is, in the same way that the 386 address architecture will serve us for the next decade we built OS/2 to be the foundation operating system to serve us over that same period of time. In order to do that we had to come up with a number of innovative new features not found in other operating systems. The way we have done our dynamic linking, our threads, our scheduling. All those features that promote applications working together go well beyond anything from the past and should promote an applications environment very different than we have today where applications can leverage off each other. Also the fundamental advances of having multi-tasking, protection between applications, access to a larger address space are becoming requirements. In fact if we look at the example of the delays in [Lotus] 1-2-3, which are certainly interesting. One of the things it illustrates is that it is very hard to fit new applications down under DOS. No matter which category we talk about it's clear that at some point innovation in DOS based applications will be difficult to impossible. We will have to look to OS/2 for the new and improved applications that we are interested in, even for users that only want to work with one application at a time. Microsoft shipped over a year ago the OS/2 Software Developer's Kit (SDK). It has a great number of tools available to help people to build their OS/2 applications and those OS/2 applications are starting to ship already. We shipped the Presentation Manager, the graphics interface portion of this tool kit in May of this year and we expect graphical applications to be coming out in the first quarter of 1989.
In fact, in the next week we will actually be shipping an update of OS/2, OS/2 version 1.1. I haven't checked back with the US to see exactly what day, but it is an imminent release. That's the version that has the Presentation Manager built in. When you turn it on you
immediately receive that graphical we predict that in a very short period of user interface. time, perhaps 2 years, PC users won't buy applications that aren't based on this
graphics interface.
OS/2 is an important step forward. By building in the graphical capability and by building this foundation, what we are doing is indicating that personal computing, desktop personal computing, other than Macintosh, has two levels. We think this was the right way to do it. Rather than grow the operating system incrementally, year after year and create a great number of levels within personal computing. The DOS operating system is about
50 kB and even as we continue to do new versions of the DOS operating system, increasing its speed and its [use] we will keep it at about 50 kB. OS/2 on the other hand is over 12 times as large, requiring more than 600 kB for its vital systems functions. This means that you need at least a 2 MB system to work with OS/2. However, we think typical memory configuration will end up being something like 4 MB because that will allow you to run several different applications at the same time. That increase [of] a factor of four in memory is really a key step in allowing people to produce more powerful applications.
Our involvement with the Macintosh is a very interesting thing. It was clear to us in 1981 that over time all these manufacturers would need to accede to the DOS standard and offering machines based on that. However, the 8088 processor was not powerful enough to execute the graphics interface we believed in. Both Apple and Microsoft
benefited from hiring a number of very smart people from Xerox's Palo Alto Research Centre where the prototype machine called the Alto pioneered the idea of the graphical interface. It was very clearly established for anybody who had seen an Alto demo that this was the way computers should work. That is, by modelling the real world on the screen using the
flexibility of that graphic display we could bring the computer to the user rather than the other way around.
So in 1981, after we had completed DOS when Steve Jobs came to us and said "Hey are you interested in building for
this machine?". Even though at that time the specification was an 8-bit computer with 64 kB of memory and an Apple II type diskette, we felt that getting involved in something that from the beginning was designed for graphics interface would make a lot of sense. That led to January 1984, when the Macintosh was introduced, Microsoft was the only company other than Apple shipping applications. In fact our applications had been the successful applications on this machine ever since its introduction.
When I talk about graphics interface of course what I mean is that ability to put up on the screen pictures, charts, graphs, cursors, icons, any sort of text attribute that you want. This
flexibility allows us to display on the screen the actual object that the user is dealing with, thereby eliminating an incredible number of commands. For example, in charting if you want to change a pie slice to be a different colour you point to it and click. Then you get an option sheet that lets you change that colour. There is no command to remember. If you want to change the margin when wordprocessing you point to it, drag it, boom, then immediately the application relays the text. Nothing to remember. In our charting application we have a third of the number of commands, menu commands, that you have to work with as in our previous, what we call character-based type, application.
The graphics interface not only promotes ease of use but also far greater power. By having these option sheets for the various objects they have more possibilities inside them, this charting package is actually more powerful than the one we are comparing it to. So graphics interface is a major step forward. We are continuing to evolve our Macintosh applications. It includes features like direct support for tables. We have had that on our PC wordprocessor and it's been super nice. But in the graphics interface it's even better. We also support in this application the idea of user customisation. Users have such a diverse set of needs that picking particular keyboard or menu assignments is not something we can do in a way that makes sense for all users. So we have to make it very straightforward for them to go in and change these actual assignments.
We are quite committed to making the graphical interface the mainstream. In fact we predict that in a very short period of time, perhaps 2 years, PC users won't buy applications that aren't based on this graphics interface. The graphics interface will be overwhelmingly popular on DOS through the use of Windows, on Macs since it is built in and on OS/2 because it is built in with its Presentation Manager.
Another key benefit that is coming along with graphics interface is something that is really commonsense. That's the idea of a common user interface, one way to open a file, print a file, get help, scroll through a document. It is something we can't have in character mode interface because people won't go back and change their applications. Yet when you talk about multi-tasking, that is, switching from
window to window and running different applications the idea you would have to switch your mode and think "Okay the menus are down here", "Nope, there up there", "Okay the cursor means this or means that" is probably impossible. So we have got to get consistent interface. In fact, we get less than half as many support calls from our Macintosh applications of equivalent power compared to our PC applications. To us this very strongly suggests that the benefits of consistency and the graphics interface are a dramatic drop in our support costs.
When we surveyed the reason for all these calls one of the things we found was that users do not read manuals. [laughter] Now that's fine, there is no reason they should have to. In a consistent interface you simply take the mouse, drag it along the menu bar and immediately see all of the menu commands that will become available. Now this consistent interface is something that we publish in our Windows style guide. It has been incorporated in IBM strategy called Systems Application Architecture. [Shown here we have Excel running on one of these high resolution displays the 1024x768 that I mentioned earlier. At the top you see the name of the application, the second line you see the menu bar, you can see a number of the common elements that all applications will support. For example the left hand menu is always the file menu. On there you will find
'Open', 'Closed', 'Quit', 'Print' as the standard commands. The second menu is always
'Edit' and under that you have the commands for moving data around, 'Cut',
'Copy', 'Paste' and so these menus appear on all applications and are very easy to remember. The scroll bars you see here in this lower sheet window are a vertical scroll bar on the right and a horizontal scroll bar on the bottom.
These are another common element of all applications. Likewise the use of the F1 key to get help is a proprietary operating systems will shrink common element in all of these dramatically over the years to come. graphical applications.
One thing I want to spent a minute taking about is the role of the various operating systems in this world of open computing. The big trend is to move away from proprietary
operating systems. In fact I think it is fair to say that even IBM no longer believes it can establish a new proprietary operating system and that everybody agrees that the world of proprietary operating systems will shrink dramatically over the years to come. The real focus of performance technology has shifted to the semiconductor companies at the same time as the focus of software innovation has shifted to the software industry. This means we need operating systems available on a large number of platforms. The key operating systems for this are DOS, OS/2 and Unix. These operating systems will play vastly different roles however.
The Unix operating system was first commercially licensed for multiple machines by Microsoft and in fact we are by far the leading seller of the Unix operating system. Over a third of these 400,000 installations are Microsoft
Xenix. We believe that Unix has a very important role to play but on machines more powerful than those found on the desk top. The mainstream of desktop machines will be based on the DOS and OS/2 standards. The reason we feel this way is that one of the huge benefits of Unix is also a liability. That is,
Unix runs across any architecture you can name - 370, VAX, all the various RISC architectures, 386, 68000. This means that when we talk about a Unix application and moving it from machine to machine we are not talking about packaged product software that contains diskettes with binary instructions. We are talking about moving software around in source code form. Now, once you move off the desktop this works just great. However, when you want to have computer stores filled up with lots and lots of software options you need the binary standard that is available in platforms like the Macintosh or DOS or OS/2. So we will have a mix of these operating systems, in fact we think that all of these will be very high growth. This chart here, although easily misunderstood, illustrates some predictions about the growth of these various operating systems. You see in 1987 DOS machines with their over 20 million installed base, Macintosh with somewhat under 2 million machines and Unix with its 400,000 machines.
As we move into the future, 1989, 1991 you will see that we predict Unix as a very high growth marketplace. We believe Unix will replace proprietary operating systems at the minicomputer and server level of performance. Also it will start to play a role even on the high end machines we call mainframes. Macintosh is guaranteed to keep growing certainly for the next several years as the benefits of their building their machine around graphics interface continue to accrue to them. As you move out to 1991 it is not as obvious that they'll continue to grow at this rate because it will be necessary for Apple to do something new. Whether it is to find a new Xerox PARC or to come up with something totally new in user interface to sustain this second desktop standard, which is the minority. It's about 10% of the desktop machines in the U.S. versus 90% for DOS. It will require them to do some very innovative work, of course I think they realise that and they'll take on that challenge. The DOS installed base here is the part of the chart that is potentially misleading. What you see is two phenomena that combine to make DOS look like it only grows slightly. We do see it as growing. That is, that low end computers costing well under $1000 they come available with DOS and increase the volume of DOS dramatically at the same time that office computers are moving away from DOS and using OS/2. So OS/2 is growing very dramatically here. Certainly as we reach the end of 1990 the vast majority of office based computers will be utilising the OS/2 operating system.
Let me spend a few minutes talking about networking. Other than graphics interface I would say networking was the most important thing to move personal computing forward and to allow for a generation of applications that can increase our penetrations on desktops dramatically over the next several years. We talk about this being the
'information age' and of course when we say that we don't mean that people are going to read ten times as much or go to ten times as many meetings. What we mean is that in this age where there is so much information on line there will be tools that will let you select exactly the information you are interested in. Of course the primary tool will be your desktop computer using an easy-to-use interface. You should be able
to walk into your office and merely with a few clicks of the mouse look at your sales levels, and if you see something that you don't like zoom in on it by region or salesperson, look at your expense levels, look at any news items that have come in, look at your schedule, look at any mail that has been sent directly to you, look at conversations that have been started on various topics of discussion and follow those through. All of those things should be incredibly easy and very visual. Of course that can be done with a combination of the graphics interface, some networking and the new generation of applications software.
Now when we talk about all this performance that microprocessors will provide people often say "Jeez doesn't that mean there won't be any minicomputers anymore, possibly not even mainframes." Well that's not really true, although the technology for implementing machines of those [terms] in the architecture will change to be largely based on multiple processor type implementations.
There will actually continue to be three distinct types of computers: the computer on the desktop optimised for graphics interface and based on very few binary standards; the departmental server often based on either OS/2 or Unix and using microprocessors and able to provide a wide range of services to something like 40 to SO users sitting on the network; finally at the high end we have the mainframe. This is where these very large, enterprise-wide databases will be stored and these machines will need to be incredibly efficient at calling out the information inside these databases.
PC networking today has been extremely limited - all it has been is fairly simple file sharing. One of the reasons for that is that PC servers were based on either DOS which only allowed you to run one application or proprietary systems that nobody else was building on top of. Well with advent of servers based on OS/2 using the Microsoft LAN Manager which was shipped a few weeks ago by people like Kom we now have a server where the software industry is building a wide range of services on top of it. These range from a wide variety of SQL databases, a wide variety of X100 type mail packages, the file sharing software called LAN Manager
and a great variety of other things - specialised document libraries, specialised scheduling type packages.
A great number of things have been moved to what's called the Client Server Architecture using these general purpose servers. This is an important trend because it really means that networks will open up in terms of what they make available to users. Even things like being tied into old mainframes can be done far better because you simply run a task up on that server machine to do that work. It also means that we don't need to think about putting SNA type communications software down on individual workstations where it is inappropriate for the user to have do the configuration or have the memory space for that type of code. They can simply send a simple request up to their server and that machine which will have far more memory to do the work of sending it out into the wide area network. That machine will include a directory service that allows it to find whatever resources there are in this world network that the user might be interested in. The applications that take advantage of these software foundations that I have talked about will be far different from today's applications. They will be built in a world where they can expect to work with other applications and so you won't see any of this attempt to try put a little bit of this here a
little bit of this there anymore as was the fad around 1984 when we had a wave of all-in-one type high end software. You will see software that is designed to co-operate, you will see software that is designed to work for workgroup computing. Where things like revision marks and annotations and looking up things in document libraries are commonplace. You will see applications where even spreadsheets have the ability to go out and query database tables by transparently using SQL as a common machine-to-machine
language, to go out there and fetch data from a variety of tables. It is really key [?] that all these foundation pieces I talked about be taken advantage of by the software industry and by companies who are building their own applications. However, with the new tools we are providing and needs some very clear directions I am quite confident this will take place.
Thank you. [considerable applause]
Bill Gates Answers your Questions
Q: IBM have come up with a way out of that they've have said that SAA is the way we are going to get you out and you seem to have come up with a way which says OS/2 is going to get us out. My basic concern is that your vision of a PC on every desk, I think, is the wrong vision because it isn't an organisation because organisations don't work that way. They need to communicate, they need to transfer the information from one person to another and PCs have been very bad in doing that. Now it would appear that the way out is multi-tasking, something you haven't mentioned in OS/2, something which everybody seemed to say when OS/2 came out, why aren't the systems multi-user? The way out would appear to be Unix systems which are multi-user when X-Windows appears on them that will act perfectly well in an office environment to communicate information in a way which people don't have to worry about problems of networking. Anyone who has been through networking with
DOS is going to be very concerned about how they go through networking with OS/2. So what is your view of multi-user systems and why isn't OS/2 multi-user? Will OS/3 be?
BG: Okay. You are certainly right they are some people who are confused and that's unfortunate. To your first point, IBM's solution is SAA, Microsoft's solution is OS/2. OS/2 is the window into SAA. OS/2 is IBM's first SAA operating system. OS/2 and Presentation Manager implements SAA SQL, SAA communications, SAA common user
interface. So that's one thing you are talking about there. The thing you are asking about in terms of people communicating with each other, it is not clear to me what you are saying. The word multi-user can mean a bunch of dumb terminals connected up to a machine, that it is time-sharing or it can include multiple users connected on a network doing the type of group productivity applications that I have talked about. In order for those things to be usable we believe that there
should be intelligence on each desktop, that is not a dumb terminal and a reasonable user interface on each one of those things. We call that a PC. [I would call that, by the way, the X-windows display, part of X-windows.] Okay.
So what you are suggesting is that the only thing a PC should do is execute the line and circle calls of X-windows and it shouldn't run local applications anymore? [No, there is a need for PCs -they have a definite use. What I'm saying is that in an organisation PC's are personal computers, they don't work the way the organisation works of trying to communicate within a group.] Well, It's not clear to me what you are saying. Okay. If you want to share files you can certainly share files. All you are saying is that you want to run all the application code up on a single machine. That is, you want to take the microprocessor and want to have all those users, except for executing the X-protocol, you want to have all those users' applications running on that shared Unix machine instead of distributing that work down onto their individual PCs. So you are saying that people should write applications that run essentially on a time-sharing machine that has the one advantage, that it can send X-protocol. Yet the terminals are PCs, so they are just sitting there waiting for that X-protocol. I mean you can do things that way but it is this point that PCs aren't set up to communicate, I talked about the workgroup applications which have all been written for the PC and not been written for X-windows that allow this type of co-operation. Yes, if you don't believe in networking you can buy X terminals - don't buy PCs and go out there and ask people to write group productivity applications that all run on one box so everybody is sitting there in essentially in a time-sharing world. That can be made to work, but to get to this point about OS/2 being multi-user: OS/2 is multi-user, IBM for example announced that all System 30 [System 36] software is available to run under an application they put in OS/2. All that is happening here is that we're not encouraging the old async time-sharing applications to be written.
Believe me OS/2 has the security and the accounting and all that stuff to run async multi-user, you know that old time-sharing stuff. If you didn't want to use PCs, yes you could put those two in the middle and put x terminals out on the end of that. What we are saying is we think the dominant direction for very innovative competitive workgroup applications for the way that organisations work will be the application logic running on the PC, using graphics interface and only going up to get the shared data from the server. So for example you have your appointments or your schedule or your mail sitting up there on a server which can be an OS/2 server, it could be a Unix server. Likewise the workstation can be DOS or OS/2, but I don't see people writing those X-windows applications because this notion of running a bunch of applications all on a shared system really is a misuse of a microprocessor in a world where every individual even just to do that graphics interface needs that microprocessor. It is hard to explain, sorry!
(Ed: It's hard to understand too - AN.)
Q: I'm from Ibis R&D also - Jay was just speaking to you before about our questions with OS/2 and support. Now apparently a bit of confusion has occurred here. There is an IBM OS/2 and a Microsoft SDK (Software Development Kit). Now what we have done is gone out and bought both, we have the SDK which won't run on our PS/2s and we
have the IBM version of OS/2 which does run. Any comments on that?
BG: The SDK runs on PS/2 [on PS/2 sir?]. Yes, I mean I use it myself on the PS/2. It is true that up until like June we hadn't done what is called the A BIOS device driver for the IBM hard disk, [okay] but then we updated it to include the PS/2 drivers. [What version is that?] It's a good question, I don't know off the top of my head. [In Australia?] You must now have the PS/2 device driver, that's the answer [that's right] and if you don't have the PS/2 device drivers then I don't know. (We're talking about beta software here so people should understand that.) I don't know whether the LANMAN data you got will run run on top of the OS/2 you purchased through IBM. I don't know, it is kind of dangerous to two combine things like that. We're talking about beta software. So the best thing is to find out how to get you the PS/2 drivers for the SDK, that's the best thing. Those exist so it is just a matter of tracking them down and making sure that you have gotten them. [track them down, how do we do that? We have been in extensive contact with Microsoft here and they seem unable really to provide much technical support. How do we do it?] You mean the PS/2 drivers, they are going to come on diskette. That's the best way to get them. [Laughter] [Okay we have SDK 1.05, now when we run it actually says Microsoft OS/2 1.1 and then stops. It doesn't go any further than that.] On a PS/2? [On a PS/2] Hey well that's pretty good, [laughter] I'm surprised it gets that far. It's weird it works at all, [laughter] no if you don't have the PS/2 drivers .... Clearly I mean it's interesting [laughter] [What do we do?] We'll get your SDK working on your PS/2s, I can guarantee that. [But can you provide a phone number and a person to contact in the US?] Sure you can call Adrian King in the U.S. [where?] Area code 206 [Yes] 882 8080. [Thank you]
Q: Hello Bill, my name is Joachim (?) I'm an OS/2 developer and just by the way we've OS/2 SDKs working on PS/2 50s, no worries. Further to your technical support question we use OnLine quite extensively and we have got a lot of help from it. But occasionally we would like someone at the end of the line at the end of the phone to talk to because we have often spent a week sending messages backwards and forwards just on a misunderstanding. My real question concerns the difference between 286 and 386 machines. Will OS/2 for 386s diverge from OS/2 for 286s? As a 286 developer can I be guaranteed that my 286 programs will run on 386 machines and their version of OS/2?
BG: The answer is yes. You are guaranteed your 286 programs run on 386 machines. What happens is when we move OS/2 from the 286 to the 386 we take the portion that is the memory management portion and we actually change that portion. So your memory management calls, when you ask for a segment you have the old calls to pass a 16-bit segment size now you have the new calls to pass a 32-bit segment size. So you will see some applications will run out of a single segment, they will take a single linear 32-bit segment and just run strictly out of that. You have total upwards compatibility of OS/2 on the 386. We just have those new memory
management APIs, we do manage memory more efficiently because we use pages. There is one obscure footnote which is - if you are using a lot of segments whose
size is really small, that's unfortunate. If they are like 50 to 100 bytes because in the page memory management we have to allocate 4 k bytes for each one of those segments because we do it on page boundaries. So we do encourage you use segments like 2 kB or greater as opposed to tiny, tiny little segments. Other than that you will see a substantial performance improvement in your application because page memory management has the dynamic statistics we get knowing who's dirty, who's been used and things of that nature. Also our interrupt overhead is a lot less, the way we do the virtual machines is somewhat better. But there is complete upwards compatibility there. The only thing you will find is that you will have to choose is do you want to use those memory management calls and restrict yourself to 386 and that version of OS/2 or do you want to work in the 286 environment. We have decided for all our applications to work in the 286 environment. There are a number of CAD-type companies that are so into 32-bit linear and so much easier for them to port. Their applications will strictly be available only for OS/2 on the 386.
Q: Bill I believe I have the privilege of the last question. It will be a short one. My name is Morris Tobias and I'm with Imagineering. Whether the answer is short is up to you, but the question I'd like to know is whether your DOS product and whether your OS/2 product will fully support EISA?
BG: Okay. EISA is a bus, it's a hardware bus and it is not possible for software to know what hardware bus it is running on. A hardware bus is not a software compatibility issue. We're talking about... I wish there was a good analogy, but I haven't come up with one. This is the technique by which data is moved on and off peripheral cards onto the bus. What you would find if you looked at typical benchmarks today is that the bottlenecks in personal computing are not the bus. The bottlenecks are the processor, the disk and the quality of the software, the last one being dominant. To overload a bus, the AT bus is actually a pretty high speed bus, actually 10 MB per second. Most disk controllers can't even load the bus even when they're running at full speed and most of the time of course you are seeking on a disk controller not actually
transferring data. Whenever you're talking about disks the interesting things are how fast it moves out to the track and then how quickly it comes around. Actual reading of the data takes a small portion of the time. Also do you think of networking cards and how much are they loading down the bus. Well every they get a packet they pass in a few bytes, so maybe they are taking 1% or 2% of the bus. So in typical configurations it is hard to imagine the bus being very heavily loaded, so it doesn't show up in the
benchmarks.
If we think of a very advanced server, running some really hyped-up version of LANMAN or something where you have multiple SCSI controllers plugged into your bus and you have got multiple network connections then we can see a case where, "Hey maybe that bus may really be full" and these advanced buses would provide a performance benefit. The real benefit of these buses might be when you are running co-processors and you want to exchange data across bus with the co-processor. If you really want to do that seriously and do what is called closely coupled microprocessing then these buses aren't any good for that, they're not fast enough for closely coupled. If you want to do loosely coupled, okay having the bus be somewhat faster is a very good thing. We have this close relationship with Compaq and there are a number of peripheral cards they'll will be doing for EISA that involve splitting up the system software to get some degree of parallelism and getting some performance out of it. So there are some benefits there. Now all these manufacturers who have this bus want us to come up with software that takes advantage of it. - Takes advantage of the performance, that is. It is not a compatibility thing and so we're racking our brains trying to say okay what is it going to be. It looks like in the server based area we will be able to come up with configurations that use the loosely coupled processors and give you some real performance benefits for the measurable performance benefits for having these higher speed buses in the case of the server.
In the case of the end-user machine there are maybe some plug-in cards that I'm not thinking of that will be popular and things like that. But I don't think we are going to see dramatic or even substantially measurable performance differences in that end-user workstation. When Compaq made the EISA announcement they really made a few key announcements. They said that as far as they were concerned the bus from a performance point of view was not a big issue today. But they did see situations in the future, like servers and other specialised applications where it makes sense. We were at the EISA announcement - Steve Baumer [?], our Vice-President Systems Software - talking about the fact that we were committed to make sure that things would, to the best they possibly could, take advantage of it. But I don't want to leave anyone with the impression that this split in bus standards is creating an issue of software compatibility. There is no such thing as software that only rums on this bus or software that only runs on this bus. There is a question of software that will run a lot faster given a more modern bus, perhaps high-tech server type software. So the basic answer is that we are very supportive of that kind of stuff. [Applause]
Reprinted from the December 1988 issue of PC Update, the
magazine of Melbourne PC User Group, Australia
|