Group 3

46
GROUP 3 GROUP 3 ITE 229 ITE 229 OPERATING SYSTEM OPERATING SYSTEM (Non – Proprietary) (Non – Proprietary) Table 2 and 3 Table 2 and 3 GROUP LEADER: Jeffrey D. Mangguerra GROUP MEMBERS: Valencia Christian B. Remillete Richard Manggis Nasser A. Adofina Richard Dominic A.

description

 

Transcript of Group 3

Page 1: Group 3

GROUP 3GROUP 3

ITE 229ITE 229OPERATING SYSTEMOPERATING SYSTEM

(Non – Proprietary)(Non – Proprietary) Table 2 and 3Table 2 and 3

GROUP LEADER:

Jeffrey D. Mangguerra

GROUP MEMBERS:

Valencia Christian B. Remillete RichardManggis Nasser A. Adofina Richard Dominic A.

Page 2: Group 3

TUNISTUNIS

TUNISTUNIS ( (TToronto oronto UniUniversity versity SSystem) ystem) was a was a Unix-like operating system, , developed at the developed at the University of Toronto in the early in the early 1980s.1980s.TUNIS was a mostly compatible TUNIS was a mostly compatible clone of clone of Unix V7, but with a , but with a completely redesigned completely redesigned kernel, , written in written in Concurrent Euclid. TUNIS . TUNIS targeted the targeted the PDP-11 and and Motorola 6809 and and 68000 architectures architectures

Page 3: Group 3

MINIX MINIX

MINIX (sometimes written as MINIX (sometimes written as MinixMinix) is ) is a small, open source UNIX a small, open source UNIX clone that that was first released in January 1987. It was first released in January 1987. It

is now best known for its role in is now best known for its role in inspiring inspiring Linus Torvalds to develop to develop

Linux. .

Page 4: Group 3

Plan 9 from Bell LabsPlan 9 from Bell Labs

Plan 9 from Bell LabsPlan 9 from Bell Labs is a is a distributed operating system, primarily used for , primarily used for research. It was developed as the research research. It was developed as the research successor to successor to Unix by the Computing Sciences by the Computing Sciences Research Center at Research Center at Bell Labs between the mid- between the mid-1980s and 2002. Plan 9 is most notable for 1980s and 2002. Plan 9 is most notable for representing all system interfaces, including those representing all system interfaces, including those required for networking and the user-interface, required for networking and the user-interface, through the filesystem rather than specialized through the filesystem rather than specialized interfaces. Plan 9 aims to provide users with a interfaces. Plan 9 aims to provide users with a workstation-independent working environment workstation-independent working environment through the use of the through the use of the 9P protocols. Plan 9 protocols. Plan 9 continues to be used and developed in some circles continues to be used and developed in some circles as a research operating system and by hobbyists.as a research operating system and by hobbyists.The name "Plan 9 from Bell Labs" is a reference to The name "Plan 9 from Bell Labs" is a reference to the 1959 cult the 1959 cult science fiction B-movie Plan 9 from Outer Space..

Page 5: Group 3

Plan B Plan B

Plan B is an operating system designed to work in distributed environments Plan B is an operating system designed to work in distributed environments where the set of available resources is different at different points in time. Its where the set of available resources is different at different points in time. Its 4th edition is implemented as a set of user programs to run on top of 4th edition is implemented as a set of user programs to run on top of Plan 9 from Bell Labs. from Bell Labs. It's main design guidelines are: It's main design guidelines are: All resources are perceived as volumes. A volume is a file tree exported to All resources are perceived as volumes. A volume is a file tree exported to the network together with a name and constraints. the network together with a name and constraints. The system operates on both local and remote boxes through the same The system operates on both local and remote boxes through the same protocol. Any implementor of such protocol can be used as part of a Plan B protocol. Any implementor of such protocol can be used as part of a Plan B system. system. Each application has its own name space and can customize it. Customization Each application has its own name space and can customize it. Customization is done by defining names for volumes and specifying the desired order and is done by defining names for volumes and specifying the desired order and constraints to tailor automatic import of network volumes. constraints to tailor automatic import of network volumes. Applications try to avoid connections to resources, by using calls that accept Applications try to avoid connections to resources, by using calls that accept file names instead of file descriptors. file names instead of file descriptors. Volumes can be advertised as they become available to be automatically Volumes can be advertised as they become available to be automatically bound to pre-specified names in the name spaces of applications that care bound to pre-specified names in the name spaces of applications that care about such resources. about such resources.

Page 6: Group 3

The design owes much to The design owes much to Plan 9 and to and to Off++. For a description of the system, . For a description of the system, you may read some of the papers listed you may read some of the papers listed in the in the papers page. You can take a look . You can take a look to a Plan B to a Plan B screenshot and see the code and see the code for an example application, the for an example application, the player we use to listen to music within our we use to listen to music within our smart space shown in the screenshot. smart space shown in the screenshot. The player is similar to one The player is similar to one implemented for a single machine, but implemented for a single machine, but Plan B makes it adapt to device Plan B makes it adapt to device availability and distribute its UI among availability and distribute its UI among available screens. available screens. The manual for the system can be read The manual for the system can be read here. . Some demonstrations for the system Some demonstrations for the system are available in the are available in the LS main page. main page.

Page 7: Group 3

Inferno (operating Inferno (operating system)system)

Page 8: Group 3

Inferno Inferno

InfernoInferno is an is an operating system for for creating and supporting distributed creating and supporting distributed

services. It was based on the services. It was based on the experience of experience of Plan 9 from Bell Labs, , and the further research of Bell Labs and the further research of Bell Labs

into operating systems, languages, on-into operating systems, languages, on-the-fly compilers, graphics, security, the-fly compilers, graphics, security,

networking and portability.networking and portability.

Page 9: Group 3

Design principlesDesign principles

Inferno was first made in 1995 by members of Inferno was first made in 1995 by members of Bell Labs' ' Computer Science Research division to bring ideas of Computer Science Research division to bring ideas of Plan 9 from Bell Labs to a wider range of devices and to a wider range of devices and

networks. Inferno is a networks. Inferno is a distributed operating system based based on three basic principles drawn from Plan 9:on three basic principles drawn from Plan 9:

Resources as files:Resources as files: all all resources are represented as files are represented as files within a within a hierarchical file system

Namespaces:Namespaces: the application view of the network is a the application view of the network is a single, coherent single, coherent namespace that appears as a hierarchical that appears as a hierarchical

file system but may represent physically separated file system but may represent physically separated (locally or remotely) resources (locally or remotely) resources

Standard communication protocol:Standard communication protocol: a standard a standard protocol, called protocol, called Styx, is used to access all resources, both , is used to access all resources, both

local and remote local and remote

Page 10: Group 3

SolarisSolaris is a is a Unix-based -based operating system introduced by introduced by Sun Microsystems in 1992 as the in 1992 as the successor to successor to SunOS..Solaris is known for its Solaris is known for its scalability, especially on , especially on SPARC systems, as well for being the origin for systems, as well for being the origin for many innovative features such as many innovative features such as DTrace and and ZFS..[1][2] Solaris supports SPARC-based and Solaris supports SPARC-based and x86--based based workstations and and servers from Sun and from Sun and other vendors, with efforts underway to port to other vendors, with efforts underway to port to additional platforms.additional platforms.Solaris is certified against the Solaris is certified against the Single Unix Specification. Although it was . Although it was historically developed as historically developed as proprietary software, it , it is supported on systems manufactured by all is supported on systems manufactured by all major server vendors, and the majority of its major server vendors, and the majority of its codebase is now is now open source software via the via the OpenSolaris project. project.

Solaris (operating Solaris (operating system)system)

Page 11: Group 3

SSS-PC Developed at Developed at Tokyo UniversityTokyo University

SSS-PC project team developped the next generation operating SSS-PC project team developped the next generation operating system `system `SSS-PC' (pronounced `three ess pc') Ver. 1.0 which ' (pronounced `three ess pc') Ver. 1.0 which

runs on personal computers (PC). SSS-PC is being developped at runs on personal computers (PC). SSS-PC is being developped at Information Science Laboratory, Ltd. and will be released as its and will be released as its

main product in the future. main product in the future.

SSS-PC is the dependable scalable operating system feturing SSS-PC is the dependable scalable operating system feturing unique new technologies such as Memory Based unique new technologies such as Memory Based

Communication Facility (MBCF) and Information Disclosure Communication Facility (MBCF) and Information Disclosure Mechanism (IDM) in addition to basic kernel functions such as Mechanism (IDM) in addition to basic kernel functions such as

memory protection and multitasking. memory protection and multitasking. SSS-PC has SSS-PC has task migration functionality and a unique scheduling functionality and a unique scheduling system based on system based on Free Marked Mechanism (FMM) and lets users and lets users

perform maintenance jobs such as machine replacement, perform maintenance jobs such as machine replacement, hardware component inspection and dynamic system hardware component inspection and dynamic system

reconfiguration without stopping running applications. The reconfiguration without stopping running applications. The project team is working hard to alpha release SSS-PC by the end project team is working hard to alpha release SSS-PC by the end

of 2003. The project team will reinforce SSS-PC with high of 2003. The project team will reinforce SSS-PC with high dependable features to make it a foundation platform of dependable features to make it a foundation platform of

dependable computing. dependable computing.

Page 12: Group 3

Features of SSS-PCThe features of SSS-PC are explained The features of SSS-PC are explained here. . It contains the following topics.It contains the following topics.Memory-Based Communication Facilities: Memory-Based Communication Facilities: MBCF MBCF Task migration Task migration Free Market Mechanism scheduling: FMM Free Market Mechanism scheduling: FMM Information Disclosure Mechanism: IDM Information Disclosure Mechanism: IDM Linux/UNIX compatible program Linux/UNIX compatible program development environment development environment Distributed Shared Memory: UDSM/ADSM Distributed Shared Memory: UDSM/ADSM Optimizing compiler: RCOP Optimizing compiler: RCOP OS kernel: Micro Core OS kernel: Micro Core Miscellaneous Miscellaneous

Page 13: Group 3

UnixUnix

Unix Unix (officially trademarked as UNIX, (officially trademarked as UNIX, sometimes also written as Unix with sometimes also written as Unix with small caps) is a computer ) is a computer operating system originally developed in 1969 by a group of originally developed in 1969 by a group of AT&T employees at employees at Bell Labs, including , including Ken Thompson, , Dennis Ritchie, , Douglas McIlroy, and , and Joe Ossanna. Today's . Today's Unix systems are split into various Unix systems are split into various branches, developed over time by AT&T as branches, developed over time by AT&T as well as various commercial vendors and well as various commercial vendors and non-profit organizations. organizations.

Page 14: Group 3

XinuXinu

("("XXinu inu IIs s NNot ot UUnix", a nix", a recursive acronym) is ) is a a Unix-like operating system originally originally developed by developed by Douglas Comer for for instructional purposes at instructional purposes at Purdue University in the 1980s. It has been ported to many in the 1980s. It has been ported to many hardware platforms, including the hardware platforms, including the DEC LSI-11 and and VAX systems, systems, Sun-2 and Sun-3 and Sun-3 workstations, workstations, Intel x86, , PowerPC G3 and and MIPS. Xinu has been deployed in several . Xinu has been deployed in several commercial products, and continues to be commercial products, and continues to be used for used for operating system and and networking courses at Universities around the world.courses at Universities around the world.

Page 15: Group 3

Berkeley Software Berkeley Software DistributionDistribution

Berkeley Software Distribution (BSD, sometimes called Berkeley Software Distribution (BSD, sometimes called Berkeley Unix) is the Berkeley Unix) is the Unix operating system derivative derivative developed and distributed by the developed and distributed by the Computer Systems Research Group of the of the University of California, Berkeley, from 1977 to 1995., from 1977 to 1995.Historically, BSD has been considered a branch of UNIX — Historically, BSD has been considered a branch of UNIX — "BSD UNIX", because it shared the initial codebase and design "BSD UNIX", because it shared the initial codebase and design with the original with the original AT&T UNIX operating system. In the 1980s, UNIX operating system. In the 1980s, BSD was widely adopted by vendors of BSD was widely adopted by vendors of workstation-class -class systems in the form of proprietary UNIX variants such as systems in the form of proprietary UNIX variants such as DEC ULTRIX and and Sun Microsystems SunOS. This can be attributed to . This can be attributed to the ease with which it could be licensed, and the familiarity it the ease with which it could be licensed, and the familiarity it found among the founders of many technology companies of found among the founders of many technology companies of this era.this era.Though these commercial BSD derivatives were largely Though these commercial BSD derivatives were largely superseded by the UNIX superseded by the UNIX System V Release 4 and and OSF/1 systems systems in the 1990s (both of which incorporated BSD code), later BSD in the 1990s (both of which incorporated BSD code), later BSD releases provided a basis for several releases provided a basis for several open source development development projects which continue to this day.projects which continue to this day.Today, the term of "BSD" is often non-specifically used to Today, the term of "BSD" is often non-specifically used to refer to any of these BSD descendants, e.g. refer to any of these BSD descendants, e.g. FreeBSD, , NetBSD or or OpenBSD, which together form a branch of the family of , which together form a branch of the family of Unix-like operating systems. operating systems.

Page 16: Group 3

GNUGNU

is a computer is a computer operating system composed entirely composed entirely of of free software. Its name is a . Its name is a recursive acronym for for GNU's Not UnixGNU's Not Unix; it was chosen because its ; it was chosen because its design is design is Unix-like, but differs from Unix by being , but differs from Unix by being free software and containing no free software and containing no Unix code. code.[1] Development of GNU was initiated by Development of GNU was initiated by Richard Stallman and was the original focus of the and was the original focus of the Free Software Foundation (FSF). (FSF).GNU is developed by the GNU is developed by the GNU Project, and , and programs released under the auspices of the programs released under the auspices of the project are called project are called GNU packagesGNU packages or or GNU programsGNU programs. . The system's basic components include the The system's basic components include the GNU Compiler Collection (GCC), the (GCC), the GNU Binary Utilities (binutils), the (binutils), the bash shell, the shell, the GNU C library (glibc), and (glibc), and GNU Core Utilities (coreutils).(coreutils).

Page 17: Group 3

LinuxLinux

LinuxLinux (commonly pronounced IPA: /ˈlɪnəks/ in English; variants (commonly pronounced IPA: /ˈlɪnəks/ in English; variants exist) is a generic term referring to exist) is a generic term referring to Unix-like computer computer operating systems based on the based on the Linux kernel. Their . Their development is one of the most prominent examples of development is one of the most prominent examples of free and open source software collaboration; typically all the collaboration; typically all the underlying underlying source code can be used, freely modified, and can be used, freely modified, and redistributed by anyone under the terms of the redistributed by anyone under the terms of the GNU GPL and and other free licenses.other free licenses.Linux distributions are predominantly known for their use in Linux distributions are predominantly known for their use in servers, although they are installed on a wide variety of , although they are installed on a wide variety of computer computer hardware, ranging from , ranging from embedded devices and and mobile phones to to supercomputers, and their popularity as a , and their popularity as a desktop/laptop operating system has been growing lately due to desktop/laptop operating system has been growing lately due to the rise of the rise of netbooks and the and the Ubuntu distribution of the operating distribution of the operating system.system.The name "Linux" comes from the The name "Linux" comes from the Linux kernel, originally , originally written in 1991 by written in 1991 by Linus Torvalds. The rest of the system, . The rest of the system, including including utilities and and libraries, usually comes from the , usually comes from the GNU operating system announced in 1983 by operating system announced in 1983 by Richard Stallman. The . The GNU contribution is the basis for the alternative name GNU contribution is the basis for the alternative name GNU/LinuxGNU/Linux

Page 18: Group 3

Darwin (operating Darwin (operating system)system)

DarwinDarwin is an open source is an open source POSIX-compliant -compliant computer computer operating system released by released by Apple Inc. in 2000. It is composed of code in 2000. It is composed of code developed by Apple, as well as code developed by Apple, as well as code derived from derived from NEXTSTEP, , FreeBSD, and , and other other free software projects. projects.Darwin forms the core set of components Darwin forms the core set of components upon which upon which Mac OS X and and iPhone OS are are based. It is compatible with the based. It is compatible with the Single UNIX Specification version 3 (SUSv3) version 3 (SUSv3) and and POSIX UNIX applications and utilities UNIX applications and utilities

Page 19: Group 3

Solaris (operating Solaris (operating system)system)

SolarisSolaris is a is a Unix-based -based operating system introduced by introduced by Sun Microsystems in 1992 as the in 1992 as the successor to successor to SunOS..Solaris is known for its Solaris is known for its scalability, especially on , especially on SPARC systems, as well for being the origin for systems, as well for being the origin for many innovative features such as many innovative features such as DTrace and and ZFS..[1][2] Solaris supports SPARC-based and Solaris supports SPARC-based and x86--based based workstations and and servers from Sun and from Sun and other vendors, with efforts underway to port to other vendors, with efforts underway to port to additional platforms.additional platforms.Solaris is certified against the Solaris is certified against the Single Unix Specification. Although it was . Although it was historically developed as historically developed as proprietary software, it is , it is supported on systems manufactured by all major supported on systems manufactured by all major server vendors, and the majority of its server vendors, and the majority of its codebase is is now now open source software via the via the OpenSolaris project project

Page 20: Group 3

Syllable Desktop Syllable Desktop (operating system)(operating system)

SyllableSyllable is a is a free and and open source operating system for for Pentium and and compatible processors. Its purpose is to create an easy-to-use desktop compatible processors. Its purpose is to create an easy-to-use desktop operating system for the home and small office user. It was operating system for the home and small office user. It was forked from the from the stagnant stagnant AtheOS in July 2002. in July 2002.It has a native It has a native web browser ( (ABrowse which is which is WebKit-based), -based), email client (Whisper), media player, (Whisper), media player, IDE, and many more applications., and many more applications.Features according to the official website include:Features according to the official website include:Native Native 64-bit journaled file system, the , the AtheOS File System (usually called (usually called AFSAFS, which is not the same as the , which is not the same as the Andrew File System))C++ oriented oriented APIObject-oriented graphical graphical desktop environment on a native on a native GUI architecture architectureMostly Mostly POSIX compliant compliantSoftware ports, including , including Emacs, , Vim, , Perl, , Python, , Apache and others. and others.GNU toolchain ( (GCC, , Glibc, , Binutils, , Make))Pre-emptive multitasking with with multithreadingSymmetric multiprocessing (multiple (multiple processor) support) supportDevice drivers for most common hardware (video, sound, network chips) for most common hardware (video, sound, network chips)File system drivers for File system drivers for FAT (read/write), (read/write), NTFS (read) and (read) and ext2 (read) (read)REBOL as system as system scripting languageThe latest version is 0.6.5, released on The latest version is 0.6.5, released on January 8, , 2008..

Page 21: Group 3

VSTaVSTa

VSTaVSTa (Valencia's Simple Tasker) was an (Valencia's Simple Tasker) was an operating system with a with a microkernel architecture, architecture, with all with all device drivers and and file systems residing in residing in userspace mode. It is mostly mode. It is mostly POSIX compliant, compliant, except when POSIX compatibility got in the way of except when POSIX compatibility got in the way of extensibility and modularity. It was conceptually extensibility and modularity. It was conceptually inspired by inspired by QNX and and Plan 9. Written by . Written by Andy Valencia, and released under the , and released under the GPL license. Currently the licensing for VSTa is license. Currently the licensing for VSTa is Copyleft..VSTa was originally written to run on VSTa was originally written to run on i386 hardware, but was subsequently ported to several hardware, but was subsequently ported to several different platforms, e.g. 68030 based different platforms, e.g. 68030 based Amigas..VSTa is no longer developed, but its ideas and VSTa is no longer developed, but its ideas and source code are being used in the are being used in the FMI/OS operating system, which continues the cause of operating system, which continues the cause of VSTa.VSTa.

Page 22: Group 3

Research non-Unix-like Research non-Unix-like

Page 23: Group 3

AMOEBAAMOEBA

The Amoeba project is a research The Amoeba project is a research effort aimed at understanding how to effort aimed at understanding how to connect multiple computers in a connect multiple computers in a seamless way [16, 17, 26, 27, 31]. seamless way [16, 17, 26, 27, 31]. The basic idea is to provide the users The basic idea is to provide the users with the illusion of a single powerful with the illusion of a single powerful timesharing system, when, in fact, the timesharing system, when, in fact, the system is implemented on a collection system is implemented on a collection of machines, potentially distributed of machines, potentially distributed among several countries. among several countries.

Page 24: Group 3

CROQUETCROQUETThe The Croquet ProjectCroquet Project is an is an

international effort to promote the effort to promote the continued development of Croquet, a continued development of Croquet, a free software platform and a and a network operating system for developing and for developing and delivering deeply collaborative delivering deeply collaborative multi-user online applications. Croquet . Croquet was specifically designed to enable was specifically designed to enable the creation and low-cost deployment the creation and low-cost deployment of large scale of large scale metaverses..

Page 25: Group 3

House Haskell User's Operating Haskell User's Operating System and Environment, research System and Environment, research

OS written in Haskell and C.OS written in Haskell and C.

HouseHouse is an is an acronym for the for the Haskell User's Haskell User's Operating System and EnvironmentOperating System and Environment. It is an . It is an experimental experimental operating system written in written in Haskell. It . It was written to explore was written to explore system programming in a in a functional programming language..

It includes a It includes a graphical user interface, several , several demos, and its demos, and its network protocol stack provides basic provides basic support for support for Ethernet, , IPv4, , ARP, , DHCP, , ICMP (ping), (ping), UDP, , TFTP, and , and TCP..

Page 26: Group 3

ILIOSILIOS

ILIOSILIOS is an is an acronym of of IInternterLLink ink IInternet nternet OOperating perating SSystem. It is an attempt ystem. It is an attempt to create a to create a router-only -only operating system; ; one specifically oriented towards one specifically oriented towards computer networking purposes, especially purposes, especially routing. It . It supports supports IPv4 routing and is a good routing and is a good educational OS, though it is single tasking educational OS, though it is single tasking and does everything via interrupts.and does everything via interrupts.

It is released under the It is released under the BSD License. . The author of this research OS is Rink The author of this research OS is Rink Springer, who is also responsible for porting Springer, who is also responsible for porting FreeBSD to the to the Xbox

Page 27: Group 3

EROS microkernel, microkernel, capability-basecapability-base

EROSEROS ( (The Extremely Reliable The Extremely Reliable Operating SystemOperating System) is an ) is an operating system developed by The EROS Group, LLC., the developed by The EROS Group, LLC., the Johns Hopkins University, and the , and the University of Pennsylvania. Interesting . Interesting features include automatic data and process features include automatic data and process persistence, some preliminary , some preliminary real-time support, and support, and capability-based security. EROS . EROS is purely a research operating system, and is purely a research operating system, and was never deployed in real world use. As of was never deployed in real world use. As of 2005, development has stopped in favor of 2005, development has stopped in favor of two successor systems, two successor systems, CapROS and and Coyotos

Page 28: Group 3

L4 Second generation Second generation microkernelmicrokernel

L4L4 is a family of second-generation is a family of second-generation microkernels based based on the original designs and implementations by on the original designs and implementations by German computer scientist Jochen Liedtke. Originally implemented in . Originally implemented in highly tuned highly tuned Intel i386-specific -specific assembly language code, the code, the API has seen extensive development in a number of directions, both has seen extensive development in a number of directions, both in achieving a higher grade of in achieving a higher grade of platform independence and also and also in improving in improving security, isolation, and , isolation, and robustness. There have . There have been various re-implementations of the original binary L4 kernel been various re-implementations of the original binary L4 kernel interface (interface (ABI) and its higher level successors, including ) and its higher level successors, including L4Ka::PistachioL4Ka::Pistachio ( (Uni Karlsruhe), ), L4/MIPSL4/MIPS ( (UNSW) and ) and FiascoFiasco ((TU Dresden). For this reason, the name ). For this reason, the name L4L4 has been has been generalized and no longer only refers to Liedtke's original generalized and no longer only refers to Liedtke's original implementation. It now applies to the whole implementation. It now applies to the whole microkernel family family including the L4 including the L4 kernel interface and its different versions. and its different versions.

Page 29: Group 3

Mach (from OS kernel research at (from OS kernel research at Carnegie Mellon University

MachMach is an is an operating system microkernel developed at developed at Carnegie Mellon University to support to support operating system research, primarily distributed and operating system research, primarily distributed and parallel computation. It is one of the earliest parallel computation. It is one of the earliest examples of a microkernel, and still the standard by examples of a microkernel, and still the standard by which similar projects are measured.which similar projects are measured.

Page 30: Group 3

MONADS capability-based OS designed to support the capability-based OS designed to support the MONADS hardware projectsMONADS hardware projects

A Monads-PC ComputerA Monads-PC Computer

A Monads-PC Computer The Monads Project was initiated by Prof. Keedy in 1976 at Monash University in Melbourne, Australia. It became an ongoing "umbrella" project for a variety of related research activities concerned with the design of computer systems, in particular in the areas of computer hardware and architecture, operating systems, distributed systems, and practical software engineering research. It was continued at the Universities of Newcastle (NSW) and of Sydney in Australia, and at the Technical University of Darmstadt and at the Universities of Bremen and of Ulm in Germany. For further details see the history of the project below.The Monads project led to the design of several computer processors, some of which were also built and used in practice. These are described in more detail below under the heading of Monads Computers.

Page 31: Group 3

Self-Paging in the Nemesis Operating SystemSelf-Paging in the Nemesis Operating SystemSteven M. Hand Steven M. Hand University of Cambridge Computer LaboratoryUniversity of Cambridge Computer LaboratoryNew Museums Site, Pembroke St., New Museums Site, Pembroke St., Cambridge CB2 3QG, ENGLANDCambridge CB2 3QG, [email protected]@cl.cam.ac.uk

In contemporary operating systems, In contemporary operating systems, continuous media (CM) applications are sensitive to continuous media (CM) applications are sensitive to the behaviour of other tasks in the system. This is the behaviour of other tasks in the system. This is due to contention in the kernel (or in servers) due to contention in the kernel (or in servers) between these applications. To properly support CM between these applications. To properly support CM tasks, we require ``Quality of Service Firewalling'' tasks, we require ``Quality of Service Firewalling'' between different applications. between different applications.

This paper presents a memory management This paper presents a memory management system supporting Quality of Service (QoS) within system supporting Quality of Service (QoS) within the the NemesisNemesis operating system. It combines operating system. It combines application-level paging techniques with isolation, application-level paging techniques with isolation, exposure and responsibility in a manner we call exposure and responsibility in a manner we call self-self-pagingpaging. This enables rich virtual memory usage . This enables rich virtual memory usage alongside (or even within) continuous media alongside (or even within) continuous media applications. applications.

Page 32: Group 3

Singularity - A research operating system written - A research operating system written mostly in mostly in managed code ( (C#) by ) by Microsoft

SingularitySingularity is an experimental is an experimental operating system being being built by built by Microsoft Research since 2003. It is intended as a highly- since 2003. It is intended as a highly-

dependable OS in which the OS in which the kernel, , device drivers, and , and applications are all written in applications are all written in managed code

Singularity is a microkernel operating system. Unlike most historical microkernels, its components execute in the same address space (process), which contains "software-isolated processes" (SIPs). Each SIP has its own data and code layout, and is independent from other SIPs. These SIPs behave like normal processes, but avoid the cost of task-switches.

Page 33: Group 3

Spring (research OS from Sun Microsystems) (research OS from Sun Microsystems)

SpringSpring was an experimental was an experimental microkernel--based based object oriented operating system developed developed at at Sun Microsystems in the early 1990s. Using in the early 1990s. Using technology substantially similar to concepts technology substantially similar to concepts developed in the developed in the Mach kernel, Spring concentrated , Spring concentrated on providing a richer programming environment on providing a richer programming environment supporting supporting multiple inheritance and other features. and other features. Spring was also more cleanly separated from the Spring was also more cleanly separated from the operating systems it would host, divorcing it from operating systems it would host, divorcing it from its its Unix roots and even allowing several OSes to be roots and even allowing several OSes to be run at the same time. Development faded out in run at the same time. Development faded out in the mid-1990s, but several ideas and some code the mid-1990s, but several ideas and some code from the project was later re-used in the from the project was later re-used in the Java programming language libraries and the libraries and the Solaris operating system..

Page 34: Group 3

V from Stanford, early from Stanford, early 1980s 1980s

The The V operating systemV operating system (sometimes written (sometimes written V-SystemV-System, not to be confused with , not to be confused with System V) is a ) is a microkernel operating system that was developed by that was developed by faculty and students in the Distributed Systems Group faculty and students in the Distributed Systems Group at at Stanford University in the 1980s, led primarily by in the 1980s, led primarily by Prof. Prof. David Cheriton. V was the successor to the . V was the successor to the Thoth and and Verax operating systems that Cheriton had operating systems that Cheriton had worked on previously.worked on previously.

The original V terminology uses "process" for what is now commonly called a "thread", and "team" for what is now commonly called a "process" consisting of multiple threads sharing an address space, but this article will use modern terminology.

Page 35: Group 3

Open Source non-Unix-like Open Source non-Unix-like

Page 36: Group 3

FullPliant (programming language based) (programming language based)

In computer software In computer software programming languages history, Pliant is the first history, Pliant is the first attempt to connect attempt to connect C and and LISP branches. branches.It was written by Hubert Tonneau, first published in 1999, and is released under It was written by Hubert Tonneau, first published in 1999, and is released under GNU General Public License version 2.GNU General Public License version 2.

ObjectiveObjectiveBring raw efficiency and high expressivity at once.Bring raw efficiency and high expressivity at once.

Selected solutionSelected solutionFocus on program encoding as opposed to language features.Focus on program encoding as opposed to language features.

PrinciplesPrinciplesPliant is based on two main main concepts:Pliant is based on two main main concepts:First, the program is successively encoded in four precisely defined models:First, the program is successively encoded in four precisely defined models:

*Source code*Source code*Expressions tree*Expressions tree*Instructions list*Instructions list*Executable*Executable

Then, the three transitions between these four models can freely be changed at Then, the three transitions between these four models can freely be changed at application level because the compiler is application level because the compiler is dynamic and and reflexive..

Page 37: Group 3

FreeDOS (open source DOS variant) (open source DOS variant)

FreeDOSFreeDOS (formerly (formerly Free-DOSFree-DOS and and PD-PD-DOSDOS) is an ) is an operating system for for IBM PC compatible computers. FreeDOS is made computers. FreeDOS is made up of many different, separate programs that act up of many different, separate programs that act as "packages" to the overall FreeDOS Project. As as "packages" to the overall FreeDOS Project. As a member of the a member of the DOS family, it provides mainly family, it provides mainly disk access through its disk access through its kernel, and partial , and partial memory management, but no default , but no default GUI (although (although OpenGEM is listed on the official is listed on the official FreeDOS website). FreeDOS is currently at version FreeDOS website). FreeDOS is currently at version 1.0, released on 1.0, released on September 3, , 2006..

FreeDOS supports vintage hardware IBM PC FreeDOS supports vintage hardware IBM PC as well as modern ones, in addition to as well as modern ones, in addition to embedded computers. Unlike . Unlike MS-DOS, it is , it is composed of composed of free and and open source software, , licensed under the terms of the licensed under the terms of the GNU General Public License (GPL). It does not (GPL). It does not require license fees or royalties and creation of require license fees or royalties and creation of custom distributions is permitted.However, in its custom distributions is permitted.However, in its "util" section it includes also non-free software "util" section it includes also non-free software such as such as 4DOS..

Page 38: Group 3

FreeVMS (open source VMS variant) (open source VMS variant)

FreeVMSFreeVMS is a is a free software clone of clone of VMS computer computer operating system, licensed , licensed under the terms of the under the terms of the GNU General Public License. As of 2008, . As of 2008, the project is in the early stages of the project is in the early stages of development. The latest version is 0.3.11.development. The latest version is 0.3.11.

It consists of a kernel (planned to be It consists of a kernel (planned to be POSIX-compliant[-compliant[citation needed]) and a ]) and a DCL command line interpreter

On the contrary to the traditional target architectures of VMS systems — VAX, Alpha and IA-64 — FreeVMS supports only i386 processors.

Page 39: Group 3

Haiku (open source inspired by (open source inspired by BeOS, under , under development)development)

HaikuHaiku, formerly known as , formerly known as OpenBeOSOpenBeOS [1], is a , is a free and and open source software project dedicated to project dedicated to the re-creation and continuation of the re-creation and continuation of BeOS on on x86 and and PowerPC based computers. based computers.

Page 40: Group 3

DevelopmentDevelopmentHaiku is developed in C++ and provides an object-oriented API. BeOS’s Haiku is developed in C++ and provides an object-oriented API. BeOS’s

modular design has enabled teams of volunteer programmers to work independently modular design has enabled teams of volunteer programmers to work independently on replacements for individual on replacements for individual servers and APIs (collectively known in Haiku as “kits”). and APIs (collectively known in Haiku as “kits”). These teams include:These teams include:

App/InterfaceApp/Interface – develops the Interface, App and Support kits. – develops the Interface, App and Support kits.BFSBFS – develops the – develops the Be File System, which is mostly complete with the resulting , which is mostly complete with the resulting OpenBFSGameGame – develops the Game Kit and its APIs. – develops the Game Kit and its APIs.Input ServerInput Server – the server that handles input devices, such as – the server that handles input devices, such as keyboards and and mice and and how they communicate with other parts of the system.how they communicate with other parts of the system.KernelKernel – develops the – develops the kernel, the core of the operating system., the core of the operating system.MediaMedia – develops the audio server and related APIs. – develops the audio server and related APIs.MIDIMIDI – implements the – implements the MIDI protocol. protocol.NetworkNetwork – writes drivers for network devices and APIs relating to networking. – writes drivers for network devices and APIs relating to networking.OpenGLOpenGL – develops – develops OpenGL support. support.PreferencesPreferences – recreates BeOS’s preferences suite. – recreates BeOS’s preferences suite.PrintingPrinting – works on the print servers and drivers for printers. – works on the print servers and drivers for printers.Screen SaverScreen Saver – implements screen saver functionality. – implements screen saver functionality.StorageStorage – develops the storage server and drivers for required filesystems. – develops the storage server and drivers for required filesystems.TranslationTranslation – recreates the reading/writing/conversion modules for the different file – recreates the reading/writing/conversion modules for the different file formats.formats.A few kits have been deemed feature complete and the rest are in various stages of A few kits have been deemed feature complete and the rest are in various stages of development.development.Haiku’s kernel is a modular Haiku’s kernel is a modular hybrid kernel and a and a fork of NewOS of NewOS [2], a modular kernel , a modular kernel written by former Be Inc. engineer Travis Geiselbrecht. Like the rest of the system it is written by former Be Inc. engineer Travis Geiselbrecht. Like the rest of the system it is currently still under heavy development. Many features have been implemented, currently still under heavy development. Many features have been implemented, including a including a virtual file system (VFS) layer and rudimentary (VFS) layer and rudimentary symmetric multiprocessing (SMP) support.(SMP) support.

Page 41: Group 3

ReactOS ( (free software Windows NT compatible Windows NT compatible OS, in early development since 2001)OS, in early development since 2001)

ReactOSReactOS is a computer is a computer operating system intended to be intended to be binary compatible with with application software and and device drivers made for made for Microsoft Windows NT versions 5.x and up ( versions 5.x and up (Windows 2000 and its successors). It is composed and its successors). It is composed entirely of entirely of free software, by means of a complete , by means of a complete clean room reverse engineering process. process.

Although the project is in the alpha Although the project is in the alpha development stage as of 2009, many Windows as of 2009, many Windows programs already work well. While the ReactOS programs already work well. While the ReactOS kernel has been written from scratch, the has been written from scratch, the userland is based on the is based on the Wine compatibility layer for compatibility layer for Unix-like operating systems..

ReactOS is primarily written in the ReactOS is primarily written in the C programming language, with some elements, , with some elements, such as ReactOS Explorer, written in such as ReactOS Explorer, written in C++. Various . Various components of ReactOS are licensed under the components of ReactOS are licensed under the GNU General Public License, the , the GNU Lesser General Public License and the and the BSD License

Page 42: Group 3

DevelopmentDevelopment

FreeWin95 to ReactOSFreeWin95 to ReactOS

Around 1996 a group of Around 1996 a group of free and open source software developers developers started a project called started a project called FreeWin95FreeWin95, to , to implement a implement a clone of of Windows 95. The project . The project stalled in discussions of the design of the stalled in discussions of the design of the system.system.

At the end of 1997 the project had yet to At the end of 1997 the project had yet to release any software. The project members, led release any software. The project members, led by coordinator Jason Filby, got together to by coordinator Jason Filby, got together to revive the project. The project's target was revive the project. The project's target was changed to Windows NT and the project's name changed to Windows NT and the project's name was changed to was changed to ReactOSReactOS. The ReactOS project . The ReactOS project began in February 1998, started by developing began in February 1998, started by developing the kernel and basic drivers.the kernel and basic drivers.

Page 43: Group 3

ReactOS project coordinator Aleksey Bragin (left) shows ReactOS functionality to ReactOS project coordinator Aleksey Bragin (left) shows ReactOS functionality to Viktor Alksnis..ReactOS's many ReactOS's many APIs and and ABIs are ready for a higher level of development and a basic are ready for a higher level of development and a basic GUI is available. ReactOS features ReactOS Explorer (ROSExplorer), a basic is available. ReactOS features ReactOS Explorer (ROSExplorer), a basic shell similar similar to to Windows Explorer..

0.20.2Alpha Alpha version 0.2.0version 0.2.0 of ReactOS, released in March 2004, is able to run many of ReactOS, released in March 2004, is able to run many Win32 applications, including applications, including Notepad (a basic text editor), (a basic text editor), Regedit (the Registry editor), (the Registry editor), cmd.exe (the command-line interpreter), and several other applications (such as (the command-line interpreter), and several other applications (such as AbiWord) and some older ) and some older games (such as (such as Quake and and Quake II, and the , and the Wine clone of clone of Minesweeper).).Some games like Some games like Unreal Tournament and and Deus Ex are confirmed to work, using are confirmed to work, using software rendering. . OpenGL runs with some minor problems, using the runs with some minor problems, using the nVidia driver or driver or the software implementation the software implementation Mesa 3D. The first Web server (. The first Web server (Tiny Web ServerTiny Web Server))[1] and and VNC client (VNC client (UltraVNC) are reported to work, and ) are reported to work, and OpenOffice.org version 1.x works version 1.x works partly.partly.Version 0.2.2Version 0.2.2, released on April 28, 2004, has basic bugfixes and feature , released on April 28, 2004, has basic bugfixes and feature improvementsimprovementsVersion 0.2.5Version 0.2.5, released on January 5, 2005, has large improvements in networking , released on January 5, 2005, has large improvements in networking and stability.and stability.In version 0.2.8 some elements of In version 0.2.8 some elements of TCP/IP networking work, as well as a larger number networking work, as well as a larger number of applications. Sound and of applications. Sound and USB support is still being worked on ( support is still being worked on (SB16 works partially, works partially, and USB and USB OHCI and and UHCI work is still being undertaken). The USB functionality is derived work is still being undertaken). The USB functionality is derived from the from the Cromwell project. project.Plug-and-play work has also begun, as has the move to support the Plug-and-play work has also begun, as has the move to support the Windows Driver Model. In addition to the . In addition to the Lynx text-based browser, ReactOS can use text-based browser, ReactOS can use DCOM components from DCOM components from Mozilla to browse web pages graphically. to browse web pages graphically.ReactOS 0.2.8 can also detect whether it is running in a ReactOS 0.2.8 can also detect whether it is running in a VMware environment and can environment and can install the install the SVGA driver from the VMware Tools ISO to provide a better level of GUI driver from the VMware Tools ISO to provide a better level of GUI performance. performance. CSRSS has also been totally rewritten, and a "written-from-scratch" has also been totally rewritten, and a "written-from-scratch" implementation of implementation of Winsock 2 is scheduled to arrive very soon. Also present in the 2 is scheduled to arrive very soon. Also present in the trunk are somewhat-working elements of ddraw, dplay, and dplayx.are somewhat-working elements of ddraw, dplay, and dplayx.

Page 44: Group 3

0.30.3ReactOS ReactOS 0.3.00.3.0 Release Candidate 1 Release Candidate 1 was released on June 15, 2006. It is also an alpha build. was released on June 15, 2006. It is also an alpha build. Improved network (TCP/IP) and Plug & Play support are the headline improvements of this Improved network (TCP/IP) and Plug & Play support are the headline improvements of this version. Version version. Version 0.3.0 Release Candidate 20.3.0 Release Candidate 2 was released when the audit reached 94%. It was was released when the audit reached 94%. It was deemed appropriate to release another candidate version at this time because so many bug deemed appropriate to release another candidate version at this time because so many bug fixes had been made during the audit.fixes had been made during the audit.ReactOS 0.3.1ReactOS 0.3.1, released on March 11, 2007, was the first release after the start of a massive , released on March 11, 2007, was the first release after the start of a massive kernel rewrite, which made many parts more compatible to NT 5.2. This release also features kernel rewrite, which made many parts more compatible to NT 5.2. This release also features the addition of a Registry library, which greatly improved the Registry support. An easy tool for the addition of a Registry library, which greatly improved the Registry support. An easy tool for downloading popular free and Shareware applications also debuted in this release.downloading popular free and Shareware applications also debuted in this release.Version 0.3.2Version 0.3.2 had been skipped due to many complex blockers, which could not be fixed in had been skipped due to many complex blockers, which could not be fixed in the scheduled time frame.the scheduled time frame.The release of The release of ReactOS 0.3.3ReactOS 0.3.3 on September 12, 2007 brought more improvements in the on September 12, 2007 brought more improvements in the kernel, bringing many areas closer to NT 5.2. It also brought stability increase in many core kernel, bringing many areas closer to NT 5.2. It also brought stability increase in many core modules, especially win32k.modules, especially win32k.ReactOS 0.3.4ReactOS 0.3.4, released on January 22, 2008, brought a rewrite of registry support, syncing of , released on January 22, 2008, brought a rewrite of registry support, syncing of DLLs with the Wine project, improved plug'n'play support, improvements to user32, Win32k, DLLs with the Wine project, improved plug'n'play support, improvements to user32, Win32k, many core user mode components, shell32, the Control Panel, and the addition of a remote many core user mode components, shell32, the Control Panel, and the addition of a remote desktop client.desktop client.[2]Version 0.3.5Version 0.3.5 was released on June 30, 2008, contains fixes for many old bugs, some having was released on June 30, 2008, contains fixes for many old bugs, some having been present since 0.3 or even earlier and some being regressions introduced in further been present since 0.3 or even earlier and some being regressions introduced in further releases due to rewrites of certain components.releases due to rewrites of certain components.[3]Version 0.3.6Version 0.3.6, released on August 6, 2008, also contains bug fixes in the kernel and a RTL , released on August 6, 2008, also contains bug fixes in the kernel and a RTL heap implementation. Note: Unlike stated in the news entry on the website this release does heap implementation. Note: Unlike stated in the news entry on the website this release does not contain the initial AMD64 support (currently being developed in a separate branch).not contain the initial AMD64 support (currently being developed in a separate branch).[4]Version 0.3.7Version 0.3.7 was released on November 4, 2008; it contains improved support for the x64 was released on November 4, 2008; it contains improved support for the x64 architecture and the start of a real MSVC compiler support. This version also includes many architecture and the start of a real MSVC compiler support. This version also includes many bug fixes and new stacks (like network).bug fixes and new stacks (like network).[5]

0.40.4Version 0.4Version 0.4 is expected to have a 50% compatible Windows NT Kernel, is expected to have a 50% compatible Windows NT Kernel, SMB support, initial support, initial audio support, Winlogon, support for USB input devices, support for the 5 most common audio support, Winlogon, support for USB input devices, support for the 5 most common network cards, and networking improvement.network cards, and networking improvement.

0.50.5Version 0.5Version 0.5 will be marked as will be marked as beta rather than rather than alpha

Page 45: Group 3

osFree (open source OS/2 (open source OS/2 implementation) implementation)

OS/2 is a computer operating system, initially created by Microsoft and IBM, then later developed by IBM exclusively. The name stands for "Operating System/2," because it was introduced as part of the same generation change release as IBM's "Personal System/2 (PS/2)" line of second-generation personal computers. OS/2 is no longer marketed by IBM, and IBM standard support for OS/2 was discontinued on 31 December 2006.[1] Currently, Serenity Systems sells OS/2 under the brand name eComStation.

OS/2 was intended as a protected mode successor of PC-DOS. Notably, basic system calls were modeled after MS-DOS calls; their names even started with "Dos" and it was possible to create "Family Mode" applications: text mode applications that could work on both systems.Because of this heritage, OS/2 is like Windows in many ways, but it also shares similarities with Unix and Xenix.

IBM made a deal with Commodore to license Amiga technology for OS/2 2.0 and above in exchange for the REXX scripting language. This means OS/2 may have code not written by IBM, which can prevent the OS from being open sourced in the future.

Page 46: Group 3