Hot answers tagged

37

there some particular design theory or constraint that made a 32-bit word size attractive for IBM to migrate to? It all comes down to the most basic data type, addressing constrains and, less important, reuse of existing memory technology. The byte size had to be a multiple of 4, as needed to accommodate BCD numbers without wasting space. So 8 was chosen ...


33

Yes. There were CP/CMS and VM/370 - true multiuser operating systems running on the mainframe with individual users logged in. AFAIK it was mainly used for software developers (to develop IBM mainframe software). I had the pleasure working on VM/370 once. Not what you'd call an ideal development environment. You got storage allocated to you: A certain ...


19

TL;DR: ASCII was never intended for processing, just as an interface standard for data exchange (hence the name American Standard Code for Information Interchange) IBM never switched, it still uses EBCDIC within mainframes and ASCII for communication. IBM was a major proponent for ASCII, but not the sole force, and especially not international. ASCII soared ...


19

IBM started using ASCII before 1970; the 2260 terminal, released in 1964, used the unpublished (but ratified) 1965 version of the ASA X3.4 standard. IBM mainframes still use EBCDIC, so I don’t think their popularity had much bearing on the popularity of ASCII (but other encodings’ popularity influenced IBM mainframes: their instruction set includes ...


19

IBM mainframes are still around (IBM Z). Linux has been available for IBM Z hardware and its predecessor, System/390, for 20 years, and z/OS is itself a certified UNIX through the z/OS UNIX System Services. Which is to say that IBM mainframes have been run in UNIX-like multi-user fashion for two decades by running UNIX. Apart from that, z/OS and its ...


15

Another one to mention is MTS which was first released in 1967, last release in 1988. It was in use at Rensselaer Polytechnic Institute from 1976 to 1999, of which I took part during the early 80s. In 1984 they were running it on Sybil, a dual processor IBM 3081D; slightly before that it ran on Myron, which I think was a 3070 but I'm not sure. There were a ...


11

Why did IBM System /360 have byte addressable RAM, but didn't have 8 bits registers These issues are unrelated. Registers are about addressing, so they need to hold an address word. Byte addressable RAM in turn is needed to handle bytewide data - most notable characters and strings. There is no inherent need that a CPU must have byte sized registers as well....


10

[Please see as well this answer, as it's kind of an extension] Why did IBM 7030 or IBM 360 use byte and word addressing simultaneously Not sure what's with /360 reference here, as it's uses byte addressing (*1). The 7030 in contrast used word and bit addressing. Word addressing of 18 bit when it was about words, and bit addressing in the form of a 24 bit ...


9

But were any of them used like the college-lab VAX, to provide a bunch of people with interactive shell accounts that could run arbitrary code? Absolutely 100%! TL;DR University of Maryland - hundreds of simultaneous users on ASCII terminals emulating 3270 terminals for full interactive usage of email and programming. I was a student at the University of ...


9

Certainly. A place where I worked in the early 1980s had an IBM 4341 system running some species of MVS, with the TSO ('time sharing option') that supported interactive program development. I'm slightly familiar with this, since at the time I was writing a 3277 terminal emulator for VMS, and once it was good enough, the IBM sysprogs switched to that so that ...


8

Thus it was necessary or at least highly beneficial for the operating system to use memory protection to screen the users from each other ... That "memory protection" scheme is typically virtual memory. But were any of them used like the college-lab VAX, to provide a bunch of people with interactive shell accounts that could run arbitrary code? ...


6

There is no downside I can see to storing an 8-bit quantity in a 32-bit register if you already have the 32-bit register. Load/store take the same amount of time. Memory transfers are at least word-sized (maybe larger) anyway. Arithmetic in general is not faster on smaller binary numbers. You'd need more opcodes or addressing modes, potentially consuming ...


6

'Byte' was used before it meant '8 bits' and It was used on machines that had word-addressable memory. The point was for the program to be able to read and write data of less than a word size. The PDP-10, with which I am familiar, had "load byte" and "deposit byte" instructions which could read any part of a word, sized from 0 to 36 bits....


6

The IBM/360 Macro Assembly language was quite powerful, allowing non-trivial compile-time string manipulation. Well, reducing it to "string manipulation" might fall short, as there is no similarity to the usual string manipulation languages. It's a rather full figured imperative programming language. Programs get executed when 'assembled'. It ...


6

Circa 1970, MIT's EE department operated an APL\360 virtual machine under CP/67 on an IBM 360/67. APL\360 was a multiuser dialup system for 360 mainframes, specialized for APL, but virtualizing it meant that the physical mainframe computer was shared with other users, who were mostly using CMS. So, a timeshared timesharing system. IBM's research center in ...


6

One small reason is that you can access memory as a bit array without needing to divide (or do a modulo). Just use the bottom N bits for the byte or word or data cache line position or shift, and the rest of the bits left over as a memory address offset. Which can be done in hardware for free if needed.


5

To add to all this, System/370 with virtual memory was one of the first platforms (perhaps the third) that UNIX was ported to. You can read a paper about that porting done here. IBM would follow it up with an AIX port not long after. It was never a dominant mainframe OS, but a number of customers ran UNIX or UNIX clones on their mainframes starting in the ...


5

In the 70's I used Orvyl and Wylbur extensively on Stanford's 360/67, which Wikipedia says were originally developed in 1967-68. There were golfball terminals all over campus. Keypunched batch jobs were simultaneously being processed via card reader at the computer center.


5

The University of Cambridge (UK) Computing Service acquired a 370 around 1972 at the time I was starting my Ph.D, and operated it as a time-sharing service. Using experience from the Titan operating system, they pretty well rewrote the system (it was unusable out of the box). Particular features I recall were the job scheduler devised by John Larmouth, which ...


5

Worthy of mention is the rise of the microprocessor- notably the 4004 which was designed for mostly numerical operation in calculators. Whether the step to 8 bit architecture was inevitable is open to debate, but once memory ICs started being produced in 8-bit forms, it would be difficult to justify anything other than 16-bit as the next step. Looking at ...


4

Yes To add to the UM students above we had a 7090 in the mid 60s that any student could run their own program on by submitting a punch card deck to the computer center. You picked up the print out and your cards later, often being returned to our own building where you could also have submitted them to be carried to the computer center. Later in the 60s ...


4

Wikipedia has this: https://en.wikipedia.org/wiki/Time-sharing_system_evolution IBM features heavily.


4

In the 1960s, IBM used a crazy variety of character codes. IBM was the king of punched cards, commonly known as "IBM cards", so many codes related to the sparse 12 bit codes used for those. However, even these were not fully standardized: different keypunch models used different character sets! 6-bit BCDIC was designed to easily map to the most ...


3

All I could find on IBM's website was the following quote: One of the earliest systems designed to provide structure and random access to data was the Generalized Information System (GIS), which was developed at TRW by Dick Pick and Don Nelson. Pick further developed this system into a multidimensional DBMS known as the Pick System, which was also an ...


3

Yes, I had a timeshare account on my university's IBM System/360 in the early 1970s where I wrote and debugged programs in APL. The computer center had several dumb terminals that students could use for personal projects. Input was by keyboard and light pen -- no mouse. Printouts could be picked up in the printer room down the hall.


3

TL;DR: The IBM 7030's fixed-point arithmetic model was unusual: binary numbers could have any number of bits from 1-64. Similarly, PL/I's FIXED BINARY data type has a variable number of bits. Coincidence. PL/1 simply uses an abstract, non machine specific way to define the entities it handles - like any good HLL should do. System/360, with its now-...


2

Most large System/360 and System/370 installations were multiuser. I never saw a University whose S/360 or S/370 was not multiuser, and I never worked on a machine larger than a 360/50I that was not multiuser. CP-67, TSO and VM were common, to say nothing of the services running multi-user APL software. As for single threading command interpretation, that ...


2

Lots of good information here but as an ex-MVS sysprog I would like to approach it from a different direction. The MVS/370 operating system (Multiple Virtual Storage on 370 architecture) was an OS that could provide virtual address spaces to a large number of users. Although not directly equivalent think of an address space as being like a Unix process and ...


2

Many answers mention interactive timesharing systems, but, even in a purely batch environment, there would typically be multiple jobs (i.e. processes) loaded into main memory at once and the CPU would switch between them. The reason was efficiency. If you have one job that had to stop and wait for, say, a tape to be mounted, you'd want the CPU to switch to ...


2

There is a group of macros called Concept 14, that was written by an IBM Federal Systems employee named Marvin Kessler. They ran on IFOX00 (the F assembler) and were used as the basis for the HLASMTK SPM. A former co-worker of mine, Paul Scott, provides them in IEBUPDTE format. He also has a scan of the documentation; unfortunately it is missing a page. I ...


Only top voted, non community-wiki answers of a minimum length are eligible