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. Biography Early life and education 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. Regnecentralen After completing a Master of Science degree in electronic engineering in 1963, Brinch Hansen landed a job at Regnecentralen, then a research institution under The Danish Academy of Technical Sciences (Akademiet for de Tekniske Videnskaber), working in the compiler group, led by Peter Naur and Jørn Jensen. There, his first significant project was writing a parser for a COBOL compiler for the Siemens 3003 computer. Subsequently, he wrote a file system to be used during execution of the compiled COBOL programs, later observing: In 1966, Brinch Hansen moved to Henning Isaksson's hardware group at Regnecentralen, by then a company with shareholders. Together with Peter Kraft, he defined the computer architecture and instruction set for Regnecentralen's third computer, the RC 4000, using ALGOL 60 as a hardware description language to produce a formal specification. Inexperienced with multiprogramming, he used a copy of Cooperating Sequential Processes 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. In the summer of 1967, Brinch Hansen