1 березня — день народження персонального комп'ютера. Xerox Alto

Кількість слів «перший» у статті зашкалює.

Перша програма «Hello, World», перша гра MUD, перший шутер, перший deathmatch, перший графічний інтерфейс, перший «робочий стіл», перша Ethernet, перша трехкнопочная миша, перша кулькова миша, перша оптична миша, перший повносторінкового монітор (full-page-sized monitor), перша багатокористувацька гра… перший персональний комп'ютер.

Рік 1973
У місті Palo Alto, в легендарній R&D лабораторії компанії Xerox — PARC (Palo Alto Research Center Incorporated), 1-го березня був реліз машини, яку згодом назвуть першим у світі персональним комп'ютером (не домашнім комп'ютером, а для індивідуального користування).

Alto був дослідним прототипом, а не комерційним продуктом. Передбачалося, що Alto стане серійно виробленої машиною, але вона так і не була поставлена на потік. Тим не менш, в цілому було вироблено кілька тисяч Alto, велика частина яких використовувалася в самому Xerox PARC і різних університетах.

Вартість однієї машини Alto оцінюється від 12 000 до 40 000 доларів.

Через шість років після релізу Alto, його побачить Джобс і запозичить відкриє світу купу нових фішок.

За створення комп'ютера команда (Текер КейБатлер Тейлор) у 2004 році отримала Премію Чарльза Старка Дрейпера, а Чак Текер отримав в 2009 році ще й премію Тюрінга.

У жовтні 2014 були відкриті вихідні коди Xerox Alto в Computer History Museum.

Спробуємо заглянути під капот і познайомимося з розробниками.

Розробка комп'ютера почалася в 1972 році з документа («Why Alto?»), написаного Батлером Лэмпсоном (який був натхненний концепцією Дугласа Энгельбарта oN-Line System (NLS). Дизайном займався Чак Текер.

Батлер Лемпсон
«Кожна комп'ютерна проблема вирішується ще одним рівнем абстракції»
У 1960-х роках Лемпсон брав участь в проекті GENIE в Берклі, в ході якого була розроблена система розподілу часу Berkeley Timesharing System для комп'ютера SDS 940 компанії Scientific Data Systems.

У 1970-х Лемпсон став одним із засновників лабораторії Xerox PARC, де брав участь у розробці Alto, а так само в розробці технологій лазерного друку, мереж Ethernet, обробки тексту в режимі WYSIWYG, two-phase commit protocols (2PC), Bravo, першою високошвидкісної локальної мережі (LAN), розробив кілька значущих мов програмування, наприклад, Euclid.

У 80-х роках Лемпсон пішов у Digital Equipment Corporation. Зараз він працює в дослідницькому відділі Майкрософт, де займається питаннями безпеки і боротьби з піратством. Викладає в Массачусетському технологічному інституті.

Меморандум Лэпсона «Why Alto?»

XEROX Inter-Office MemorandumTo CSL Date December 19, 1972
From Butler Lampson Location Palo Alto

Subject Why Alto Organization PARC

1. Introduction

This memo discusses the reasons for making a substantial number (10-30) of copies of the personal computer called Alto which has been designed by Chuck Thacker and others. The original motivation for this machine was provided by Alan Kay, who needs about 15-20 'interim Dynabooks' Systems for his education research. Alto has a much broader range of applications than this origin might suggest, however. I will begin by outlining its characteristics, and then go on to consider some of the many exciting uses to which Alto can be put. It turns out that there is some interaction with almost every CSL research program.

2. Characteristics

An Alto system consists of
48-64K 16-bit words of memory (plus parity and perhaps error correction).

A 10 megabyte Diablo disk which transfers one word every 7 us, rotates in 25 ms, and has a track to track seek of 8 ms, and worst-case seek of 70 ms.

A 901 line TV monitor whose display surface is almost exactly the size of this page. It is oriented vertically, and is designed to be driven from a bit map in the memory. It takes 32K of memory to fill the display area with a square (825x620) raster. These dots are about 1.4 mils square. It is possible to reduce their width to about 1 mil, which gives an 825x860 raster and 44.3 K of memory. The square raster can display 8000 5x7 characters with descenders or 2500 beautiful proportionally-spaced characters.

An undecoded keyboard which allows the processor to determine exactly when each key is depressed or released, and a mouse or other pointing device.

A processor which executes Nova instructions at about 1.5 us/instruction, and can be extended with extra instructions suitable for interpreting Lisp, Bcpl, MPS, or whatever.

A high-bandwidth (10 MHz) communication interface whose details are not yet specified.

Optionally, a fixed-font character generator similar to the one designed and built by Doug Clark. This would save a lot of memory and would permit higher quality characters than can be done with a square raster, but adds no basically new capability. It should about cost $500.

Optionally, a Diablo printer, XGP, or other hardcopy device.

A table about 45" wide and 25" to deep house the machine and mount the display and keyboard.

Most important, a cost of about $lO.5K, which can be reduced to $9.7 K by the use of a 2.5 megabyte disk. The cost is about equally split among disk, memory, and everything else. We have spent about twice as much on Maxc per 1974 CSL member.

The system is capable of doing almost any computation which a PDP-10 can do. For most problems it can deliver better performance to the user than a time-shared 10, even if the latter is lightly loaded (obvious exception: lots of floating-point computation). Furthermore, we have under development Lisp, Bcpl, and MPS systems which can run on a Nova and therefore, with slight modification, on Alto. Since most of our own future software work is expected to be done in one of these languages, most of it should be able to run on Alto.

The next paragraph shows that there should be plenty of computing power. Both Lisp and MPS will have some kind of hardware-assisted mapping, as that virtual memory size will not be a problem; a similar arrangement for Bcpl seems feasible, but has not been investigated.

A 64K Alto has as many Lisp cells as 32K of PDP-l0 memory. BBN claims to run Lisp users with an average 25K working set and a 30 ms page fault interval. Forty-two disk tracks hold 256K Lisp cells, and the average access time to a record on one of those tracks is about 32 ms, compared for 17 ms for the 10's drum. Hence, if execution speed on Alto is half the 10 speed or less, paging will cost no more than on the 10 for Lisp programs. It is highly plausible that we can get a Lisp system on an Alto with a few specialized instructions which can deliver half the performance of a Tenex Lisp running in a 32K swap space. Comparable results can be expected for other languages.

3. Applications

All the applications considered here depend on two facts which summarize the contents of the last section:

Alto is more than a powerful VTS terminal connected to Tenex;

Alto is cheap enough that we can buy one for each member of CSL, if that should prove desirable.

a) Distributed computing. We can very easily put in an Aloha-like point-to-point packet network between Alto's, using a coax as the ether (or with a microwave repeater on a hill for home terminals). We can then do a large variety of experiments with dozens of machines. It is easy to try experiments which depend on the independence of the participants as well as those which use specialized components which must cooperate to accomplish anything. In particular, we can set up systems in which each user has his own files and communications is done solely for the interchange of sharable information, and thus shed some light on the long-standing controversy about the merits of this scheme as against centralized files.

b) Office systems. We can run peter's Lisp-based NLS-competitor or the xNLS system. The computational overkill of Alto will allow us to concentrate on the capabilities of the system rather than on optimizing its performance. Information gained from this approach should complement that obtained from the multi-user xNLS experiments. It may also be possible to run on these Alto and thus escape from Nova dependency; this possibility requires further investigation.

c) Personal computing. If our theories about the utility of cheap, powerful personal computers are correct, we should be able to demonstrate them convincingly on Alto. If they are wrong, we can find out why. We should, for example, be able to satisfy heavy Lisp users such as Warren and Peter with an Alto. This would also take a big computing load away from Maxc. It should also be quite easy to simulate the hardware configuration of other proposed personal computers (e.g., different memory hierarchies) and thus to validate those designs. This is important because more compact machines will require a much larger investment in engineering development and more precise optimization of the memory system.

d) Graphics. Alto is an excellent vehicle for Bob Flegal's graphics work, and will make the fruits of that work available to a wide community. It can't do Dick Shoup's stuff.

4. Competition

Alto competes with some other things we or SSL are doing. I think this is a good thing, since it encourages the proponents of both approaches to excel. Specifically;

a) VTS can do higher quality characters, has intensity control and blinking, costs half to two-thirds as much if you only want a terminal, and can take advantage of the video switch. It can't do graphics and may suffer from the queueing problems of shared-resource systems (controlling the Nova and communications are shared). And, of course, it is only as good as the computer which uses it.

b) Maxc can compute, and for applications which use existing software, need large working sets, or do lots of multiplications, it will be better. Also, it is known to be good for Lisp, etc., while the suitability of Alto for such large systems remains unproven.

c) Novas which don't have complex interfaces to other hardware (e.g., Toy, XGP) can be replaced by Altos. Those which do, like the Maxc Nova or, probably, the VTS Nova, are secure.

d) The implications of Alto for the local network are unclear.

e) Imlacs are wiped out.


Чарльз Текер
Разом з Батлером Лэмпсоном та іншими випускниками заснував компанію Berkeley Computer Corporation, в якій займався розробкою комп'ютерної електроніки. Однак компанія не мала комерційного успіху і Текер влаштувався в дослідницький центр Xerox PARC.

Протягом 1970-х і 80-х він став одним з розробників протоколу Ethernet, а також вніс великий внесок у створення першого лазерного принтера. У 1983 році Текер заснував дослідний центр компанії Digital Equipment Corporation (DEC Systems Research Center), а в 1997 році брав участь у створенні лабораторії Microsoft Research в Кембриджі. Після повернення в США, Текер розробляв апаратне забезпечення для планшетного комп'ютера Microsoft Tablet PC, грунтуючись на своєму досвіді роботи над Dynabook в Xerox PARC.

Інтерв'ю англійською

Боб Тейлор

«The Internet is not about technology; it's about communication. The Internet connects people who have shared interests, ideas and needs, regardless of geography.»

Був директором ARPA'sInformation Processing Techniques Office з 1965 по 1969, засновник і керівник Xerox PARC's Computer Science Laboratory from з 1970 по 1983, засновник і керівник Digital Equipment Corporation's Systems Research Center до 1996 року.

Алан Кей

Автор концепції ООП («Я придумав термін «об'єктно-орієнтований», і ось що я вам скажу, я не мав на увазі С++.») і ноутбука.
До речі, Кей сказав свою знамениту фразу «Найкращий спосіб передбачити майбутнє – винайти його» 1971 Dennis Gabor (Нобелівський лауреат, творець голографії) — у 63-м. Inventing the Future (1963): «The future cannot be predicted, but futures can be invented.» (Розслідування з цього приводу тут.)

Ролик на TED
Alan Kay: «A powerful idea ideas about»

Xerox Alto


Мануал по залізу (PDF)

Xerox Alto мав 128 КБ оперативної пам'яті (вартістю $4000), розширюваної до 512 КБ, жорсткий диск зі змінним картриджем на 2,5 МБ.



Для виведення графічної інформації використовувався монохромний монітор 606x808 pixels виконаний в нетрадиційній портретній орієнтації.


Чіп: багатокристальні секційний мікропроцесорне арифметико-логічний пристрій (bit-slice arithmetic logic unit) на базі Texas Instruments' 74181 chip з підтримкою мікрокоду (до 16 параллелбных завдань з фіксованими пріоритетами). 5.8 MHz CPU


64-key keyboard

Всі миші, що використовувалися з Alto, були трикнопковими. Перша миша була механічною, з двома колесами, поставлених перпендикулярно один одному. Незабаром ця модель була замінена на мишу з кулькою, винайдена Біллом Інглішем. Пізніше, з'явилася оптична миша, спочатку використала білий світ, а потім — інфрачервоне випромінювання. Кнопки на перших мишках були розташовані один над одним, а не поруч один з одним, як це прийнято зараз.

Ідеї Энгельбарта реалізовані в реальному світі — миша і акордова клавіатура:




Мережева плата




Програмне забезпечення

Перші програми для Alto були написані на мові програмування BCPL (на BCPL, до речі, були написані перша програма «Hello world» і перша MUD), потім використовувався мова Mesa, який не отримав широкого розповсюдження за стінами PARC, але вплинув на деякі пізніші мови, наприклад, Modula. На клавіатурі Alto відсутня клавіша підкреслення, яка була пристосована для символу лівої стрілки, який використовувався в мові Mesa в якості оператора присвоювання. Ця особливість клавіатури Alto могла бути причиною появи стилю іменування ідентифікаторів CamelCase. Іншою особливістю Alto була можливість для користувача програмувати безпосередньо мікрокод процесора.

Незважаючи на порівняно невеликий обсяг оперативної пам'яті, для Xerox Alto були розроблені і використовувалися програми з графічними меню, піктограмами та іншими елементами, що стали звичними лише з появою операційних систем Mac OS і Microsoft Windows.

  • Bravo and Gypsy — перші WYSIWYG текстові процесори
  • Laurel and Hardy — мережеві E-mail клієнти
  • Markup and Draw — графічні редактори (bitmap editors)
  • Neptune — файловий менеджер
  • FTP і утиліти для чату
  • Games — Chess, Pinball, Othello and a Alto Trek game by Gene Ball
  • Sil — векторний графічний редактор для інтегральних мікросхем і друкованих плат
  • Officetalk експериментальна forms-processing система
  • Мови програмування — BCPL, LISP, Smalltalk, Mesa, and Poplar

Кілька картинок/зображень софтаimage







ще скріншоти програмimage
Display from the keyboard-test program:
The Alto keyboard has a separate signal line for each key and can thus tell when any number of keys are being pressed simultaneously. In the display, the black keys are being held down. The small square above the keyboard represents the mouse (see photo 4); one mouse key is also pressed.

Display of the Alto Executive, with an example of star and question-mark notation.

NetExecutive (similar to the Alto Executive, but it allows access to resources on the Ethernet.

Typical Mesa program being edited by Bravo; note the different typefonts used in the program listing.

Directory from the Neptune directory editor. The file names in black have been selected for further operations such as printing or erasure. The cursor is displayed as a cross in a circle.

Bravo's ability to change fonts (there are hundreds of fonts for the Alto, from Death to Elvish Runes; the central paragraph in this display has been changed to Greek). The document in the bottom window has been to converted to the form shown in the top window.

Points are placed with the cursor, and curves and lines are filled in by the program.

Lines may be «painted» with a variety of «brushstrokes» (the cursor has changed to a small paintbrush).

Texture is given to the lines; dotted lines are created with the scissors cursor.

Picture may be mathematically manipulated; a figure new may be created by reversing, tilting, or stretching a copy of the original.

The eye represents the persona of an opponent. Any Alto on the net can join or leave the game at any time.

The Star game:
Flippers are actuated by the two shift keys; an Alto port can be connected to a speaker to provide bells and buzzer sounds.

The multiplayer Trek program:
This game is played entirely under mouse control. The lower portion of the screen shows a short-range sensor scan; above is the long-range display, and navigation and weapons controls.

Cedar environment on the Alto

Famous «rainbow» screen on an Alto


Alto Trek — перша багатокористувацька гра
Ви керуєте зоряним кораблем однієї з трьох рас: Земляне Клінгонів або Ромулане

Мануал по грі

Перший deathmatch, перший вид від першої особи».

а так же:
  • Astro-roids
  • Chess
  • Galaxians
  • Mazewar
  • Missile Command
  • Rinky Dink (Clint parker's pinball program)
  • Space War









Ось для чого потрібні компи

Не встиг подивитися, але думаю що буде корисно:
2001 рік. The Xerox Alto: A Personal Retrospective

«Не сумнівайтеся в тому, що невелика група мислячих і цілеспрямованих людей може змінити світ. Насправді лише вони і роблять ці зміни.» Маргарет Мід
По-моєму, це дуже круто бути свідком (і тим більше учасником) створення нових і цікавих речей. Мені пощастило бути поряд з групою молодих і зухвалих людей, які створювали «Циферблат» (перше антикафе), хоч не ІТ-продукт, але все ж дуже драйвово і здорово. Я трохи спілкувався з розробниками Cybiko, у них купа цікавих історій. Із задоволенням подивився серіал «Halt and Catch Fire». Хто знає посилання на корисні матеріали, поділіться, а якщо самі брали участь у створенні нового — пишіть в коменти, буду вдячний.

Разом з компанією Edison стартуємо весняний марафон публікацій.

Я постараюся докопатися до першоджерел IT-технологій, розібратися, як мислили і які концепції були в головах у першопрохідців, про що вони мріяли, яким бачили світ майбутнього. Для чого замислювалися «комп'ютер», «мережа», «гіпертекст», «підсилювачі інтелекту», «система колективного вирішення задач», який сенс вони вкладали в ці поняття, якими інструментами хотіли добитися результату.

Сподіваюся, що ці матеріали стануть натхненням для тих, хто задається питанням, як перейти «від Нуля до Одиниці» (створити щось, чого раніше і в помині не було). Хочеться, щоб IT та «програмування» перестали бути просто «кодингом заради бабла», і нагадати, що вони задумувалися як важіль, щоб змінити методи ведення війни освіта, спосіб спільної діяльності, мислення і комунікації, як спроба вирішити світові проблеми і відповісти на виклики, що постали перед людством. Як-то так.

0 березня. Сеймур Пейперт
1 березня. Xerox Alto

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.