Carl Sassenrath

Last updated
Carl Sassenrath
Carl-sassenrath-04.jpg
Born1957 (age 6566)
California, U.S.
Alma mater University of California, Davis
Occupation(s) Systems programmer
Programming language designer
Employer(s) Commodore International
Apple Inc.
Hewlett-Packard
Roku, Inc.
Known for AmigaOS, CDTV, REBOL

Carl Sassenrath (born 1957 in California) is an architect of operating systems and computer languages. He brought multitasking to personal computers in 1985 with the creation of the Amiga Computer operating system kernel, [1] and he is the designer of the REBOL computer language, REBOL/IOS collaboration environment, the Safeworlds AltME private messaging system, and other products. Carl is currently a Principal Engineer at Roku, Inc.

Contents

Background

Carl Sassenrath was born in 1957 to Charles and Carolyn Sassenrath in California. His father was a chemical engineer involved in research and development related to petroleum refining, paper production, and air pollution control systems.

In the late 1960s his family relocated from the San Francisco Bay Area to the small town of Eureka, California. From his early childhood Sassenrath was actively involved in electronics, amateur radio, photography, and filmmaking. When he was 13, Sassenrath began working for KEET, a PBS public broadcasting television station. A year later he became a cameraman for KVIQ (American Broadcasting Company affiliate then) and worked his way up to being technical director and director for news, commercials, and local programming.

In 1980 Sassenrath graduated from the University of California, Davis with a B.S. in EECS (electrical engineering and computer science). During his studies he became interested in operating systems, parallel processing, programming languages, and neurophysiology. He was a teaching assistant for graduate computer language courses and a research assistant in neuroscience and behavioral biology. His uncle, Dr. Julius Sassenrath, headed the educational psychology department at UC Davis, and his aunt, Dr. Ethel Sassenrath, was one of the original researchers of THC at the California National Primate Research Center.

Career

Hewlett-Packard

During his final year at the university, Sassenrath joined Hewlett-Packard's Computer Systems Division as a member of the Multi-Programming Executive (MPE) file system design group for HP 3000 computers. His task was to implement a compiler for a new type of control language called Outqueue—a challenge because the language was both descriptive and procedural. A year later, Sassenrath became a member of the MPE-IV OS kernel team and later part of the HPE kernel group.

Carl Sassenrath at South Pole, 1982 Carl-sassenrath-sp-1982.jpg
Carl Sassenrath at South Pole, 1982

While at HP Sassenrath became interested in minimizing the high complexity found in most operating systems of that time and set out to formulate his own concepts of a microkernel-based OS. He proposed them to HP, but found the large company complacent to the "smaller OS" ideas.

In late 1981 and early 1982, Sassenrath took an academic leave to do atmospheric physics research for National Science Foundation at Amundsen–Scott South Pole Station. Upon returning, Sassenrath reached an agreement with HP to pursue independent research into new areas of computing, including graphical user interfaces and remote procedure call methods of distributed computing.

Later in 1982, impressed by the new computing ideas being published from Xerox PARC, Sassenrath formed an HP project to develop the modern style of window-based mouse-driven GUIs. The project, called Probus (for professional business workstation) was created on a prototype Sun Microsystems workstation borrowed from Andy Bechtolsheim while he was at Stanford University. Probus clearly demonstrated the power of graphical user interfaces, and the system also incorporated hyperlinks and early distributed computing concepts.

At HP, Sassenrath was involved with and influenced by a range of HP language projects including Ada, Pascal, Smalltalk, Lisp, Forth, SPL, and a variety of experimental languages.

Amiga

Amiga Team, 1985 (Sassenrath in plaid shirt to right of sign) Amiga-1985.jpg
Amiga Team, 1985 (Sassenrath in plaid shirt to right of sign)

In 1983, Carl Sassenrath joined Amiga Computer, Inc., a small startup company in Silicon Valley. As Manager of Operating Systems he was asked to design a new operating system for the Amiga, an advanced multimedia personal computer system that later became the Amiga.

As a sophisticated computer for its day (Amiga used 28 DMA channels along with multiple coprocessors), Sassenrath decided to create a preemptive multitasking operating system within a microkernel design. This was a novel approach for 1983 when other personal computer operating systems were single tasking such as MS-DOS (1981) and the Macintosh (1984).

The Amiga multitasking kernel was also one of the first to implement a microkernel OS methodology based on a real-time message passing (inter-process communication) core known as Exec (for executive) with dynamically loaded libraries and devices as optional modules around the core.

This design gave the Amiga OS a great extensibility and flexibility within the limited memory capacity of computers in the 1980s. Sassenrath later noted that the design came as a necessity of trying to integrate into ROM dozens of internal libraries and devices including graphics, sound, graphical user interface, floppy disk, file systems, and others. This dynamic modular method also allowed hundreds of additional modules to be added by external developers over the years.

After the release of the Amiga in 1985, Sassenrath left Commodore-Amiga to pursue new programming language design ideas that he had been contemplating since his university days.

Apple Computer

In 1986, Sassenrath was recruited to Apple Computer's Advanced Technology Group (ATG) to invent the next generation of operating systems. He was part of the Aquarius project, a quad-core CPU project (simulated on Apple's own Cray XMP-48) that was intended to become a 3D-based successor to the Macintosh.

During that period, the C++ language had just been introduced, but Sassenrath, along with many other Apple researchers, preferred the more pure OO implementation of the Smalltalk language. Working at ATG with computing legends like Alan Kay, Larry Tesler, Dan Ingalls, Bill Atkinson and others provided Sassenrath with a wealth of resources and knowledge that helped shape his views of computing languages and systems.

Sassenrath Research

In 1988, Sassenrath left Silicon Valley for the mountains of Ukiah valley, 2 hours north of San Francisco. From there he founded multimedia technology companies such as Pantaray, American Multimedia, and VideoStream. He also implemented the Logo programming language for the Amiga, managed the software OS development for CDTV, one of the first CD-ROM TV set-top boxes, and wrote the OS for Viscorp Ed, one of the first Internet TV set-top boxes.

REBOL Technologies

In 1996, after watching the growth and development of programming languages like Java, Perl, and Python, Sassenrath decided to publish his own ideas within the world of computer languages. The result was REBOL, the relative expression-based object language. REBOL is intended to be lightweight, and specifically to support efficient distributed computing.

Sassenrath describes REBOL as a balance between the concepts of context and symbolism, allowing users to create new relationships between symbols and their meanings.[ citation needed ] By doing so, he attempts to merge the concepts of code, data, and metadata. Sassenrath considers REBOL experimental because it provides greater control over context than most other programming languages. Words can be used to form different grammars in different contexts (called dialecting). Sassenrath claims REBOL is the ultimate endpoint for the evolution of markup language methodologies, such as XML.[ citation needed ]

In 1998, Sassenrath founded REBOL Technologies, a company he still runs. The company has released several versions of REBOL and produced additional products such as REBOL/View, REBOL/Command, REBOL/SDK, and REBOL/IOS.

Sassenrath implemented REBOL V3.0 and released it to GitHub on December 12, 2012: https://github.com/rebol/r3.

Roku

Since 2010, Sassenrath has worked at Roku, Inc. in product development. [2]

Personal

Sassenrath lives in Ukiah, California, where he grows grapes and makes wine, and is interested in amateur radio, video production, quantum electrodynamics, and boating. He volunteers with the Television Improvement Association, a community organization that brings free, over-the-air television broadcasts into the Ukiah area.

Other references

Notes

  1. Amiga ROM Kernel Reference Manual: Exec
  2. "LinkedIn profile". LinkedIn.

Related Research Articles

<span class="mw-page-title-main">Computer multitasking</span> Concurrent execution of multiple processes

In computing, multitasking is the concurrent execution of multiple tasks over a certain period of time. New tasks can interrupt already started ones before they finish, instead of waiting for them to end. As a result, a computer executes segments of multiple tasks in an interleaved manner, while the tasks share common processing resources such as central processing units (CPUs) and main memory. Multitasking automatically interrupts the running program, saving its state and loading the saved state of another program and transferring control to it. This "context switch" may be initiated at fixed time intervals, or the running program may be coded to signal to the supervisory software when it can be interrupted.

<span class="mw-page-title-main">Microkernel</span> Kernel that provides fewer services than a traditional kernel

In computer science, a microkernel is the near-minimum amount of software that can provide the mechanisms needed to implement an operating system (OS). These mechanisms include low-level address space management, thread management, and inter-process communication (IPC).

<span class="mw-page-title-main">Operating system</span> Software that manages computer hardware resources

An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.

Rebol is a cross-platform data exchange language and a multi-paradigm dynamic programming language designed by Carl Sassenrath for network communications and distributed computing. It introduces the concept of dialecting: small, optimized, domain-specific languages for code and data, which is also the most notable property of the language according to its designer Carl Sassenrath:

Although it can be used for programming, writing functions, and performing processes, its greatest strength is the ability to easily create domain-specific languages or dialects

The trusted computing base (TCB) of a computer system is the set of all hardware, firmware, and/or software components that are critical to its security, in the sense that bugs or vulnerabilities occurring inside the TCB might jeopardize the security properties of the entire system. By contrast, parts of a computer system that lie outside the TCB must not be able to misbehave in a way that would leak any more privileges than are granted to them in accordance to the system's security policy.

<span class="mw-page-title-main">History of operating systems</span> Aspect of computing history

Computer operating systems (OSes) provide a set of functions needed and used by most application programs on a computer, and the links needed to control and synchronize computer hardware. On the first computers, with no operating system, every program needed the full hardware specification to run correctly and perform standard tasks, and its own drivers for peripheral devices like printers and punched paper card readers. The growing complexity of hardware and application programs eventually made operating systems a necessity for everyday use.

<span class="mw-page-title-main">QNX</span> Real-time operating system (RTOS) software

QNX is a commercial Unix-like real-time operating system, aimed primarily at the embedded systems market. QNX was one of the first commercially successful microkernel operating systems.

L4 is a family of second-generation microkernels, used to implement a variety of types of operating systems (OS), though mostly for Unix-like, Portable Operating System Interface (POSIX) compliant types.

The Internetworking Operating System (IOS) is a family of proprietary network operating systems used on several router and network switch models manufactured by Cisco Systems. The system is a package of routing, switching, internetworking, and telecommunications functions integrated into a multitasking operating system. Although the IOS code base includes a cooperative multitasking kernel, most IOS features have been ported to other kernels, such as Linux and QNX, for use in Cisco products.

ARX was an unreleased Mach-like operating system written in Modula-2+ developed by Acorn Computers Ltd in the Acorn Research Centre (ARC) United Kingdom (UK) and later by Olivetti - which purchased Acorn - for Acorn's new Archimedes personal computers based on the ARM architecture reduced instruction set computer (RISC) central processing unit (CPUs).

In computing, Quark is an operating system kernel used in MorphOS. It is a microkernel designed to run fully virtualized computers, called boxes. As of 2020, only one box is available, the ABox, that lets users run extant AmigaOS software compiled for Motorola 68000 series and PowerPC central processing units (CPUs).

MkLinux is an open-source software computer operating system begun by the Open Software Foundation Research Institute and Apple Computer in February 1996, to port Linux to the PowerPC platform, and Macintosh computers. The name refers to the Linux kernel being adapted to run as a server hosted on the Mach microkernel, version 3.0.

<span class="mw-page-title-main">Jochen Liedtke</span> German computer scientist

Jochen Liedtke was a German computer scientist, noted for his work on microkernel operating systems, especially in creating the L4 microkernel family.

The RC 4000 Multiprogramming System is a discontinued operating system developed for the RC 4000 minicomputer in 1969. For clarity, this article mostly uses the term Monitor.

In computing, preemption is the act of temporarily interrupting an executing task, with the intention of resuming it at a later time. This interrupt is done by an external scheduler with no assistance or cooperation from the task. This preemptive scheduler usually runs in the most privileged protection ring, meaning that interruption and resuming are considered highly secure actions. Such a change in the currently executing task of a processor is known as context switching.

<span class="mw-page-title-main">SymbOS</span>

SYmbiosis Multitasking Based Operating System (SymbOS) is a multitasking operating system for Zilog Z80-based 8-bit computer systems.

Exec is the kernel of AmigaOS. It is a 13 KB multitasking microkernel which enabled pre-emptive multitasking in as little as 256 KB of memory. Exec provided functions for multitasking, memory management, and handling of interrupts and dynamic shared libraries.

<span class="mw-page-title-main">AmigaOS</span> Operating system for Amiga computers

AmigaOS is a family of proprietary native operating systems of the Amiga and AmigaOne personal computers. It was developed first by Commodore International and introduced with the launch of the first Amiga, the Amiga 1000, in 1985. Early versions of AmigaOS required the Motorola 68000 series of 16-bit and 32-bit microprocessors. Later versions were developed by Haage & Partner and then Hyperion Entertainment. A PowerPC microprocessor is required for the most recent release, AmigaOS 4.

<span class="mw-page-title-main">Kernel (operating system)</span> Core of a computer operating system

The kernel is a computer program at the core of a computer's operating system and generally has complete control over everything in the system. It is the portion of the operating system code that is always resident in memory and facilitates interactions between hardware and software components. A full kernel controls all hardware resources via device drivers, arbitrates conflicts between processes concerning such resources, and optimizes the utilization of common resources e.g. CPU & cache usage, file systems, and network sockets. On most systems, the kernel is one of the first programs loaded on startup. It handles the rest of startup as well as memory, peripherals, and input/output (I/O) requests from software, translating them into data-processing instructions for the central processing unit.