Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Пер Бринч Хансен (13 ноября 1938 – 31 июля 2007) — датско-американский учёный в области компьютерных наук, известный своими работами в области операционных систем, конкурентного программирования, а также параллельных и распределённых вычислений.
Danish American computer scientist
Per Brinch Hansen (13 November 1938 – 31 July 2007) was a Danish American computer scientist known for his work in operating systems, concurrent programming and parallel and distributed computing.
Ранние годы и образование
Пер Бринч Хансен родился в Фредериксберге, анклаве, окруженном Копенгагеном, Дания. Его отец, Йорген Бринч Хансен, работал инженером-строителем, став ведущим экспертом в области механики почв, а позже занял должность профессора в Техническом университете Дании. Его мать, Элсебет Бринч Хансен (урожденная Ринг), была дочерью датского композитора Олуфа Ринга и работала парикмахером до замужества. Бринч Хансен учился в гимназии Ск. Йоргенса, а затем изучал электротехнику в Техническом университете Дании, где искал область для исследований, которая "еще находилась на этапе первопроходчества", руководствуясь убеждением, что "если предмет уже преподают, вероятно, уже слишком поздно внести фундаментальный вклад". После семинедельной студенческой стажировки в лаборатории IBM в Англии он решил посвятить свою карьеру компьютерам. Изначально сосредоточившись на конструировании компьютеров, прочтение книги о проекте IBM 7030 Stretch, в которой организация компьютера описывалась с точки зрения программиста, переключило его интерес на архитектуру компьютеров. Эдсгер Дейкстра направил его на изучение синхронизации процессов с использованием семафоров, после чего он реализовал специализированный монитор реального времени RC 4000 для управления заводом по производству удобрений. Питер Крафт и Чарльз Симони, который тогда был подростком, написали интерпретатор p-кода и программы для регистрации данных, которые компилировались в p-код. К весне 1969 года была запущена хорошо документированная и надежная версия многопрограммной системы RC 4000.
Per Brinch Hansen was born in Frederiksberg, an enclave surrounded by Copenhagen, Denmark. His father, Jørgen Brinch Hansen, worked as a civil engineer, becoming a leading expert in soil mechanics, and later accepting a professorship at Technical University of Denmark. His mother, Elsebeth Brinch Hansen (née Ring), was the daughter of Danish composer Oluf Ring and worked as a hairdresser before marrying. Brinch Hansen attended Skt. Jørgens Gymnasium and then studied electrical engineering at Technical University of Denmark where he sought an area to pursue that "was still in its pioneering phase" on the belief that "If a subject was being taught, it was probably already too late to make fundamental contributions." After a seven week student internship at IBM's Hursley Laboratory in England, he decided to dedicate his career to computers. Initially focused on computer construction, reading a book on the IBM 7030 Stretch project that described computer organization from a programmer's point of view refocused his interest toward becoming a computer architect. Edsger Dijkstra had sent him to understand process synchronization using semaphores, and then implemented a specialized RC 4000 real time monitor for use in managing a fertilizer plant. Peter Kraft and Charles Simonyi, who was still a teenager, wrote a p code interpreter and data logging task programs that were compiled to p code. By the spring of 1969, a well documented, reliable version of the RC 4000 multiprogramming system was running.
Калифорнийский технологический институт
В июле 1972 года Бринч Хансен присоединился к факультету Калифорнийского технологического института (Кальтек) в качестве доцента компьютерных наук, где он начал работу над определением языка программирования с поддержкой параллельных процессов и мониторов. В апреле 1974 года он распространил технический отчёт о Concurrent Pascal. Впоследствии Бринч Хансен начал разрабатывать модельные операционные системы на Concurrent Pascal для оценки возможностей языка. В мае 1975 года он завершил разработку Solo – однопользовательской операционной системы для разработки программ на Concurrent Pascal. Затем он переписал исходный планировщик реального времени RC 4000 на Concurrent Pascal, потратив три дня на написание и три часа машинного времени на его систематическое тестирование. В 1978 году Бринч Хансен стал первым учёным в области компьютерных наук, удостоенным степени доктора техники – высшего академического звания в области инженерных и технологических наук в Дании – за работу, представленную в книге «Архитектура параллельных программ». Позднее, в 1978 году, Бринч Хансен опубликовал концепцию языка распределённых процессов, предложив использовать удалённые вызовы процедур для синхронизации процессов, работающих в сети микрокомпьютеров. Также в 1978 году Л. Дж. Севинс и Стив Гоингс из компании Mostek посетили Бринча Хансена в USC, где он представил архитектуру недорогого мультипроцессора. Mostek начал проект по реализации такого мультипроцессора, а Бринч Хансен работал консультантом. Как и в проекте RC 4000, Edison также использовался в качестве формального языка спецификаций для аппаратного обеспечения. Mostek создал первоначальный 4-узловой мультипроцессор, а Бринч Хансен написал переносимый компилятор Edison для PDP 11/55, но вскоре после этого United Technologies приобрела Mostek и закрыла проект. В 1982 году Бринч Хансен перенёс систему Edison на IBM Personal Computer (PC), а затем опубликовал свою третью книгу «Программирование персонального компьютера». В 1982 году Бринч Хансен был назначен первым профессором компьютерных наук имени Генри Сальватори в USC. При разработке многомашинной операционной системы для датской компании GN Elmi Бринч Хансен пришёл к выводу о необходимости нового языка, основанного на парадигме передачи сообщений CSP Хоара. Бринч Хансен разработал переносимую реализацию на IBM PC, с программами, переписанными на SuperPascal – полностью реализованном языке публикации, который он создал для параллельных алгоритмов.
In July 1972, Brinch Hansen joined the faculty of the California Institute of Technology (Caltech) as an Associate Professor of computer science, where he began work on defining a programming language with concurrent processes and monitors. In April 1974, he distributed a technical report on Concurrent Pascal. Subsequently, Brinch Hansen began writing model operating systems in Concurrent Pascal, to evaluate the language. In May 1975, he completed Solo, a single user operating system for development of Concurrent Pascal programs. Next, he rewrote the original RC 4000 real time scheduler in Concurrent Pascal, taking three days to write it, and three hours of machine time to systematically test it. In 1978, Brinch Hansen became the first computer scientist awarded the Doctor Technices degree, the highest academic distinction within engineering and technological science in Denmark, for the work documented in The Architecture of Concurrent Programs. Later in 1978, Brinch Hansen published the Distributed Processes language concept, proposing the use of remote procedure calls to synchronize processes running across a microcomputer network. Also in 1978, L. J. Sevins and Steve Goings from Mostek visited Brinch Hansen at USC, where he outlined a low cost multiprocessor architecture. Mostek began a project to implement such a multiprocessor, with Brinch Hansen working as a consultant. As with the RC 4000 project, Edison was also used as a formal specification language for the hardware. Mostek got an initial 4 node multiprocessor working and Brinch Hansen wrote a portable Edison compiler on a PDP 11/55, but shortly after, United Technologies acquired Mostek and cancelled the project. In 1982, Brinch Hansen moved the Edison system to an IBM Personal Computer (PC), and then published his third book, Programming a Personal Computer. In 1982, Brinch Hansen was named the first Henry Salvatori Professor of Computer Science at USC. While designing a multicomputer operating system for Danish company GN Elmi, Brinch Hansen concluded he needed a new language, this time leveraging the message passing paradigm of Hoare's CSP. Brinch Hansen developed a portable implementation on an IBM PC. with programs rewritten in SuperPascal, a fully implemented publication language he created for parallel algorithms.
Последние годы
В последние годы жизни Бринч Хансен опубликовал сборник своих наиболее важных работ под названием «Поиск простоты» (1996), учебник для курса программирования для студентов нетехнических специальностей «Программирование для всех на Java» (1999), ретроспективный обзор эволюции операционных систем «Классические операционные системы: от пакетной обработки до распределенных систем» (2001) и ретроспективный обзор эволюции параллельного программирования «Происхождение параллельного программирования: от семафоров до удаленных вызовов процедур» (2002). В 2004 году он самостоятельно опубликовал мемуары «История программиста: жизнь компьютерного пионера» на своем веб-сайте. 31 июля 2007 года Бринч Хансен скончался вскоре после постановки диагноза – рак в терминальной стадии.
In his later years, Brinch Hansen published a retrospective of his most important papers, The Search for Simplicity (1996), a text for a course in programming for non majors, Programming for Everyone in Java (1999), a retrospective on the evolution of operating systems, Classic Operating Systems: From Batch Processing to Distributed Systems (2001), and a retrospective on the evolution of concurrent programming, The Origin of Concurrent Programming: From Semaphores to Remote Procedure Calls (2002). He self published a 2004 memoir, A Programmer's Story: The Life of a Computer Pioneer, on his website. On July 31, 2007, Brinch Hansen died, shortly after being diagnosed with terminal cancer.
Операционные системы
Многопрограммная система RC 4000 представила концепцию ядра операционной системы, ставшую впоследствии стандартной, и разграничение механизма и политики в проектировании операционных систем. Современные архитектуры микроядер восходят к расширяемой архитектуре ядра RC 4000. Теперь она доступна в цифровой библиотеке ACM. Используя Concurrent Pascal, Бринч Хансен продемонстрировал возможность полной реализации операционных систем на языках высокого уровня, что сокращало трудозатраты на разработку на один-два порядка. Более того, целые операционные системы могли быть опубликованы и поняты целиком. Бринч Хансен сделал именно это в книге "Архитектура параллельных программ", что побудило Роя Мэддукса и Харлана Миллса заявить:
The RC 4000 multiprogramming system introduced the now standard concept of an operating system kernel and the separation of mechanism and policy in operating system design. Modern microkernel architectures trace their roots to the extensible nucleus architecture of the RC 4000. It is now available from the ACM Digital Library. Using Concurrent Pascal, Brinch Hansen demonstrated that it was feasible to fully implement operating systems in high level languages, and that doing so reduced the development effort by one to two orders of magnitude. Furthermore, entire operating systems could be published, and understood in their entirety. Brinch Hansen did precisely that in The Architecture of Concurrent Programs, leading Roy Maddux and Harlan Mills to declare:
Вторая часть книги поистине примечательна. Здесь представлена вся операционная система, и каждая строка программы открыта для изучения. Нет никаких скрытых аспектов, и после изучения столь обширных примеров читатель чувствует, что способен решать подобные задачи и изменять систему по своему усмотрению. Раньше мы никогда не видели операционную систему, представленную в такой детализации и в форме, столь удобной для модификации.
Part two of the book is indeed remarkable. Here, an entire operating system is visible, with every line of program open to scrutiny. There is no hidden mystery, and after studying such extensive examples, the reader feels that he could tackle similar jobs and that he could change the system at will. Never before have we seen an operating system shown in such detail and in a manner so amenable to modification.