Time-Sharing/Multitasking Computer

Early Computers

Early computers stored programs and data on punch cards. Most cards contained 80-characters, which is why early terminal programs were typically 80-characters per line. Punch cards are exactly what they sound like, physical cards. Each card is one line of a computer program or one piece of data. As users typed, a machine punched a hole representing a letter or number. Programs were a literal pile of cards, with the data after the program.

Image result for 80 column punch card

For example, if a user wanted to compute the average, median, high, and low figures in a set of data they would write a program on a set of cards telling the computer to analyze the data. Next, they would add the data cards physically on top of the program. The whole stack was then put into a special card reader that read the cards, one after another, then the data. Finally, the computer performed calculations and printed results.

Besides being clunky and loud and wasting a massive number of paper cards this system wasted an enormous amount of expensive computing power. Computers, which cost millions of dollars in the 1960s, sat idly around slowly reading a program. In the meantime, they could not do anything else until the card reading process finished. This problem was especially pronounced in Universities because many students shared one computer. Therefore, students waited in line while, in the meantime, the expensive computer wasn’t doing anything. Students and the computer were both idle.

Time-Sharing

In response, companies and University’s built computers and operating systems that did more than one thing at a time. To get around the card reader issue, these new computers used terminals. While one person was typing a program, using little processing power, another could be running their program, which requires more computing power.

The computer could still only do one thing at a time. However, by switching back and forth between tasks, it appeared to do multiple things at once. Rather than the CPU sitting idle it was almost always humming away doing something, whether waiting for keystrokes, compiling a program, or running a piece of software.

IBM OS/360, Unix, VMS

This new type of operating system, that supported multiple people doing multiple things at once, is called a time-sharing system. IBM released the first modern time-sharing operating system, the IBM OS/360, in 1966. Engineer Fred Brooks was lead engineer and wrote a seminal project management book about building the operating system, The Mythical Man Month.

Other systems soon followed including, notably, Multics and its successor, Unix. Later, DEC’s VMS operating system was also especially good at multitasking. Unix eventually morphed into Linux, powering today’s internet, and BSD, which became the core of Mac OS. Eventually, Microsoft hired away many VMS engineers to create Windows NT.

An evolution of timesharing remains the reason that servers, personal computers, and even phones can do multiple things at once.

Ethernet Networking

Ethernet is a computer networking protocol. Before Ethernet, computers were connected using a hodgepodge of various systems, a digital Tower of Babel.

Background

Bob Metcalfe invented Ethernet at Xerox PARC. However, Xerox failed to commercialize the technology. Metcalfe left and worked on his own Digital (see minicomputers) and Intel to set Ethernet as a networking standard. Eventually, the industry adopted Ethernet as a standard labeling it IEEE 802.3.

Ethernet’s advantage is that it is radically simpler and cheaper than prior “better” methods.

Think of information flowing from one computer to another. Information is broken down into small pieces, called packets, then sent on their way. The receiving computer reassembles the packets. For example, this page is a series of packets. A server broke it into packets then your computer or phone reassembled it.

Other networking methods went to great lengths to avoid the packets from colliding. Ethernet simply allows them to occasionally collide, which means they disappear, then resends when that happens.

Think of Ethernet as an enormous highway with little traffic control where cars, carrying information, sometimes collide and destroy one another. When this happens, the sender simply generates and resents a new packet. This was vastly less complicated and less expensive than trying to avoid collisions.

Ethernet Thrives After Xerox PARC

After Xerox PARC, in 1979, Metcalfe founded 3Com and formulated Metcalfe’s law, that computer networks become exponentially more useful with more nodes.

Metcalfe lost 3Com in a boardroom fight though the company left him extremely wealthy. Xerox made little or no money from Ethernet, but Metcalfe’s 3Com grew into a Fortune 500 company making him extremely wealthy.

Today, Wifi remains a wireless version of Ethernet.

Unix

Unix is a computer operating system. Among other things, it allows a computer to do many things at once. Derivatives of the original Unix include Linux, MacOS, and BSD. You’re reading this right now due to a server running Unix derivative Linux.

Background

Dennis Ritchie and Ken Thompson worked at Bell Labs. Thompson worked on a powerful but extremely complex operating system called Multics, which never entirely worked. Eventually, Bell Labs abandoned Multics but Thompson remained intrigued with the technology.

Thompson started developing a vastly simplified version on his own, using a stray DEC PDP-7. No sooner did he develop basic functionality than he was joined by his friend and collaborator computer scientist Dennis Ritchie. Together, along with others who eventually joined, they finished.

Nobody remembers exactly who coined the name Unix but there was a broad consensus that the new operating system worked great. It was fast, reliable, stable, and relatively easy to program.

Unix Takes Off

Unix use grew organically. As Bell Labs purchased more DEC computers, operators chose to run Unix rather than DEC’s operating system, RT-11.

Version 2 of Unix included the C programming language, enabling the operating system to be more easily ported to various other computers. Because all software runs on an operating system, this enabled cross-platform software development. Specifically, software developers could write to an operating system that ran on a multitude of computers, a concept called system portability. This became vital in later years.

Unix also started an unspoken but very real war between the “hippies” – represented by Ritchie and Thompson – and the suits, represented by Intel, HP, DEC, and most other computer companies. The success of Unix led to the idea that wild-eyed long-haired software engineers, working with little or no planning, could produce something as good or better than their buttoned-down professionally-dressed counterparts.

Image result for thompson ritchie unix
Thompson & Ritchie