Пер Бринш Хансен: Дания-Америкалық ғалымының өмірбаяны мен еңбектері
Per Brinch Hansen
Пер Бринш Хансен (1938-2007) – даниялық-американдық ғалым, операциялық жүйелер, параллель есептеулер және бағдарламалау саласындағы жұмыстарымен танымал. 💻👨💻
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы 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-кодқа компиляцияланатын интерпретатор және деректерді тіркеу бағдарламаларын жазды. 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 жылдың шілдесінде Бринч Хансен Калифорния технология институтының (Caltech) профессорлық-оқытушылық құрамына компьютер ғылымының доценті ретінде қосылды, онда ол бір мезгілде орындалатын процестер мен мониторлармен бағдарламалау тілін анықтау бойынша жұмыс істей бастады. 1974 жылдың сәуір айында ол Concurrent Pascal туралы техникалық есеп таратты. Кейіннен Бринч Хансен Concurrent Pascal-да үлгілік операциялық жүйелерді жазуды бастады, тілді бағалау мақсатында. 1975 жылдың мамырында ол Concurrent Pascal бағдарламаларын жасауға арналған бір пайдаланушылық операциялық жүйе – Solo-ны аяқтады. Содан кейін ол бастапқы RC 4000 нақты уақыт жоспарлаушысын Concurrent Pascal-да қайта жазды, оны жазуға үш күн, жүйелі түрде сынауға үш сағат машина уақыты кетті. 1978 жылы Бринч Хансен «Бір мезгілде орындалатын бағдарламалар архитектурасы» еңбегі үшін Даниядағы инженерлік және технологиялық ғылымдардағы ең жоғары академиялық дәреже – «Доктор Техника» дәрежесін алған алғашқы компьютер ғалымы болды. Кейін 1978 жылы Бринч Хансен микрокомпьютер желісінде орындалатын процестерді синхрондау үшін қашықтықтан процедура шақыруды ұсына отырып, «Үлестірілген процестер» тілінің тұжырымдамасын жариялады. 1978 жылы L. J. Sevins және Mostek компаниясынан Steve Goings Бринч Хансенді USC-де кездестірді, онда ол төмен құнмен жасалған көппроцессорлық архитектураны сипаттады. Mostek мұндай көппроцессорды іске асыру жобасын бастады, ал Бринч Хансен кеңесші ретінде жұмыс істеді. RC 4000 жобасында болғандай, Edison аппараттық құралдардың формалды сипаттама тілі ретінде де қолданылды. Mostek бастапқы 4 түйінді көппроцессорды іске қосты және Бринч Хансен PDP 11/55 компьютерінде портативті Edison компиляторын жазды, бірақ көп ұзамай United Technologies Mostek компаниясын сатып алып, жобаны тоқтатты. 1982 жылы Бринч Хансен Edison жүйесін IBM жеке компьютеріне (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 жылы ол өзінің веб-сайтында "Программашының өмірі: Компьютер саласының пионері" атты естеліктерін жариялады. 2007 жылдың 31 шілдесінде Бринч Хансен қатерлі ісік диагнозы қойылғаннан кейін көп ұзамай қайтыс болды.
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 Digital Library-де қолжетімді. Бринч Хансен 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.