正在加载图片...
954 CONCURRENCY,DISTRIBUTION,CLIENT-SERVER AND THE INTERNET $30.2 Multiprogramming The other main form of concurrency is multiprogramming,which involves a single computer working on several tasks at once. If we consider general-purpose systems(excluding processors that are embedded in an application device,be it a washing machine or an airplane instrument,and single- mindedly repeat a fixed set of operations),computers are almost always multi- programmed,performing operating system tasks in parallel with application tasks.In a strict form of multiprogramming the parallelism is apparent rather than real:at any single time the processing unit is actually working on just one job;but the time to switch between jobs is so short that an outside observer can believe they proceed concurrently.In addition, the processing unit itself may do several things in parallel(as in the advance fetch schemes of many computers,where each clock cycle loads the next instruction at the same time it executes the current one),or may actually be a combination of several processing units, so that multiprogramm ing becomes intertwined with multiprocessing A common application of multiprogramming is time-sharing,allowing a single machine to serve several users at once.But except in the case of very powerful "mainframe"computers this idea is considered much less attractive now than it was when computers were a precious rarity.Today we consider our time to be the more valuable resource,so we want the system to do several things at once just for us.In particular,multi- windowing user interfaces allow several applications to proceed in parallel:in one window we browse the Web,in another we edit a document,in yet another we compile and test some software.All this requires powerful concurrency mechanisms. Providing each computer user with a multi-windowing,multiprogramming interface is the responsibility of the operating system.But increasingly the users of the software we develop want to have concurrency within one application.The reason is always the same: they know that computing power is available by the bountiful,and they do not want to wait idly.So if it takes a while to load incoming messages in an e-mail system,you will want to be able to send an outgoing message while this operation proceeds.With a good Web browser you can access a new site while loading pages from another.In a stock trading system,you may at any single time be accessing market information from several stock exchanges,buying here,selling there,and monitoring a client's portfolio It is this need for intra-application concurrency which has suddenly brought the whole subject of concurrent computing to the forefront of software development and made it of interest far beyond its original constituencies.Meanwhile,all the traditional applications remain as important as ever,with new developments in operating systems,the Internet,local area networks,and scientific computing-where the continual quest for speed demands ever higher levels of multiprocessing.954 CONCURRENCY, DISTRIBUTION, CLIENT-SERVER AND THE INTERNET §30.2 Multiprogramming The other main form of concurrency is multiprogramming, which involves a single computer working on several tasks at once. If we consider general-purpose systems (excluding processors that are embedded in an application device, be it a washing machine or an airplane instrument, and single￾mindedly repeat a fixed set of operations), computers are almost always multi￾programmed, performing operating system tasks in parallel with application tasks. In a strict form of multiprogramming the parallelism is apparent rather than real: at any single time the processing unit is actually working on just one job; but the time to switch between jobs is so short that an outside observer can believe they proceed concurrently. In addition, the processing unit itself may do several things in parallel (as in the advance fetch schemes of many computers, where each clock cycle loads the next instruction at the same time it executes the current one), or may actually be a combination of several processing units, so that multiprogramming becomes intertwined with multiprocessing. A common application of multiprogramming is time-sharing, allowing a single machine to serve several users at once. But except in the case of very powerful “mainframe” computers this idea is considered much less attractive now than it was when computers were a precious rarity. Today we consider our time to be the more valuable resource, so we want the system to do several things at once just for us. In particular, multi￾windowing user interfaces allow several applications to proceed in parallel: in one window we browse the Web, in another we edit a document, in yet another we compile and test some software. All this requires powerful concurrency mechanisms. Providing each computer user with a multi-windowing, multiprogramming interface is the responsibility of the operating system. But increasingly the users of the software we develop want to have concurrency within one application. The reason is always the same: they know that computing power is available by the bountiful, and they do not want to wait idly. So if it takes a while to load incoming messages in an e-mail system, you will want to be able to send an outgoing message while this operation proceeds. With a good Web browser you can access a new site while loading pages from another. In a stock trading system, you may at any single time be accessing market information from several stock exchanges, buying here, selling there, and monitoring a client’s portfolio. It is this need for intra-application concurrency which has suddenly brought the whole subject of concurrent computing to the forefront of software development and made it of interest far beyond its original constituencies. Meanwhile, all the traditional applications remain as important as ever, with new developments in operating systems, the Internet, local area networks, and scientific computing — where the continual quest for speed demands ever higher levels of multiprocessing
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有