IBM System / 360 - History of the failure did not have such

I continue my series of articles about the IBM System / 360 ( first part of the system "as a whole» , vtoraya part about architecture ). Not affected left several interesting topics, and the first of them - is operating the System / 360, especially the historical aspect of their development.

Until the early 60s, "powerful" and "cost" of IBM were incompatible. Transferring programs was difficult, and sometimes quite impossible. It is caused by many reasons, starting with the differences in operating systems, and ending differences periphery. That now seems self-evident - the compatibility of various hardware and software components, then it is not necessary. It was during the development of the System / 360 engineers have decided that this approach greatly increases the cost of development and further support, and decided to standardize the new system, simplifying the porting and maintenance of computer programs.

It was originally planned to supply computers System / 360 with the new operating system with batch processing tasks. Simply put, every program that needs to run, is described as a "package" - the program itself and the input data set. These packets are processed sequentially, depending on priorities and availability of resources. This approach allows to reduce the human involvement in the planning of the mainframe and optimize the load, thus reducing overhead. The operating system was called OS / 360.

The developers of the OS set ourselves an incredibly ambitious goals that are not addressed before. This operating system was to provide support to the "multi-program". On the periphery of the slow execution only one program at a time led to frequent outages, when the system is waiting for some data from an external device. Therefore used an approach similar to modern asynchronous programming. Loaded into memory and the first few programs are executed. If necessary, the long wait, the context of the current program is saved and control passed to the next, which could run until the first data is awaited. The operating system in this case was to keep things under constant control, protecting the downloaded software from the failures of other programs, and controlling access to resources. All this is complicated by the absence of the concept of virtual memory. The operating system was supposed to work on all models of the line, so the configuration ranged from 16 KB of RAM and up to 1 MB, and speed - from a few thousand operations per second, up to half a million. Just the operating system was to meet the needs of all programs, from complex mathematical calculations, almost unused external drives, and finishing with a simple analogy DBMS, which rely completely on the input-output operations.





As you can see, the plans were ambitious but running out time. The hardware part was ready to hit the market, competitors attacked the market segments in which IBM was the most vulnerable, and stable and reliable version of the OS / 360 does not born. In addition, the resulting solution did not want to fit in memory of low-end models. Solomonic decision was made to issue an operating system in a simpler form with the promise of further upgrades.

Were developed several intermediate.

BOS / 360 (Basic OS) - the easiest system for younger models.

TOS / 360 (Tape OS) - a system for modifications with loading from tape.

DOS / 360 (despite the name, had nothing to do with us familiar DOS era x86) - «basic" version for the majority of medium and high-power configurations.

PCP (Primary Control Program) - what nowadays would be called a "beta" full OS / 360 does not support the multi-program.



To the output Series / 360-67 (if you read the first part of the article, you must remember that in this system introduced the concept of virtual memory) planned release of TSS / 360 (Time Sharing System). As the name implies, this version was supposed to maintain a time-sharing mode. Trial versions of this operating system have been given on the test to large corporate clients, but the reviews were negative, and the OS is already "late" given the situation on the market, so the output of TSS / 360 was canceled. By this time it was enough debugged OS CP-67, which are developed at Cambridge Research Center IBM. CP-67 was stable enough that IBM was it to provide customers with true on an "out of warranty" as the OS with support for time-sharing. Further development of this operating system has led to the fact that it was the basis of VM / 370, and then the z / VM.



& Quot;

Issues that IBM faced when developing OS / 360, were so great that gave impetus to the formation of «software engineering», in the form in which we know it. It then became clear that software development and management of this process - a demanding discipline to which you want to apply a scientific approach to obtain a controlled outcome.

Senior Project Manager to develop OS / 360, which was charged with personal responsibility for everything, wrote a book that became virtually the bible for managers of software development (as the author - "all read it, but no it should not"). Yes, talking about Fred Brooks and his book "The Mythical Man-Month».

Of all the principles that Brooks formulated most clearly characterize the essence of the project on the development of OS / 360 the following two.

Adding resources (including human) project does not always lead to a reduction in its timing, often effect may even be reversed. As stated in the book, the development of Algol compiler - always takes half a year, regardless of the number of programmers involved.

The new version of the successful systems are often doomed to failure, as developers will try to implement all the wishes of users. Brooks called it "the effect of the second system».



As you can see, on the one hand the development of the basic version of OS / 360, if not become a complete failure, it is very close to it. On the other hand, IBM succeeded, in spite of this, do the System / 360 successful, and lessons learned in the course of this, became the foundation of modern approaches to software development.

Continued i>

Source: habrahabr.ru/post/222985/

Tags

See also

New and interesting