Hot answers tagged

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

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

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....


5

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 ...


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.


4

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 ...


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.


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 ...


2

Answering one of your questions "When did ASCII become a worldwide standard", the answer is: never. The "A" stands for "American". At the time the US adopted ASCII, other countries were adopting their own variants, substituting different characters according to national needs: for example in the UK, "£" was substituted ...


2

I'm going to provide a terrible answer, but include a couple references that might be great for nostalgia. One is NostalgiaNerd on youtube, he provides a British viewpoint of IBM's shift to ASCII (OK they only did it through codepages, not really fully/completely ASCII). The video is strangely titled, nothing about ASCII or EBCDIC in the name: "These ...


2

According to wiki IBM System 360 had byte addressable RAM. Yes. [Considering this and the title "Why did IBM System 360 have byte addressable RAM" it feels as there's a mixup about what addressing and RAM means. See some thoughts about that at the end)] Previously IBM had machine with word addressable memory. No. Only very few. IBM did make all ...


2

Programmers do need to process characters from memory, and characters are generally smaller than the machine word. The architectural possibilities seem to be: Instructions that only read/write words. Programmer must use explicit shift, mask, logical-or to operate on characters. There are special instructions that use a "character address" that ...


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