Research and Development References

Operating Systems

 * Microsoft Singularity
 * "Singularity is a research project focused on the construction of dependable systems through innovation in the areas of systems, languages, and tools."


 * MINIX 3
 * "MINIX 3 is a free, open-source, operating system designed to be highly reliable, flexible, and secure. It is based on a tiny microkernel running in kernel mode with the rest of the operating system running as a collection of isolated, protected, processes in user mode."


 * L4
 * "Originally, L4 is the name of a second-generation µ-kernel (microkernel) designed and implemented by Jochen Liedtke, running on i486 and Pentium CPUs.
 * However, there are now numerous implementations of the L4 API (application programming interface) on several hardware architectures. That's why, on this website we usually refer to the ``L4 µ-kernel interface (see below). When we refer to Jochen's original implementation, we say ``L4/x86."


 * U-Boot
 * "Das U-Boot (Universal Bootloader) is an open source, primary boot loader used in embedded devices. It is available for a number of different computer architectures, including PPC, ARM, MIPS, AVR32, x86, 68k, Nios, and MicroBlaze."


 * Embedded Linux
 * "The purpose of this wiki is to preserve and present information about the development and use of Linux in embedded systems as well as open source projects and tools for general embedded development. "This wiki is suited for those who are learning about Principles of Computer Organization, Computer Architecture, and Operating System


 * https://www.riscosopen.org/content/ RISC OS
 * "RISC OS is a series of graphical user interface-based computer operating systems (OSes) designed for ARM architecture systems. It takes its name from the RISC (Reduced Instruction Set Computing) architecture supported. The OS was originally developed by Acorn Computers for use with their 1987 range of Archimedes personal computers using the Acorn RISC Machine processors. It comprises a command-line interface and desktop environment with a windowing system.
 * From 1988 to 1998, the OS was bundled with nearly every ARM-based Acorn computer model, including the Archimedes range, RiscPC, NewsPad and A7000. A version of the OS (called NCOS) was used in Oracle's Network Computer and compatible systems. After the breakup of Acorn in 1998, development of the OS was forked and separately continued by several companies, including RISCOS Ltd, Pace Micro Technology and Castle Technology. Since 1998 it has been bundled with a number of ARM-based desktop computers such as the Iyonix and A9home. As of 2012, the OS remains forked and is independently developed by RISCOS Ltd and the RISC OS Open community.
 * Most recent stable versions run on the ARMv3/ARMv4 RiscPC (or under emulation via VirtualAcorn or RPCEmu), the ARMv5 Iyonix and ARMv7 Cortex-A8 processors (such as that used in the BeagleBoard and Touch Book). In 2011, a port for the Cortex-A9 PandaBoard was announced and a development version for the Raspberry Pi was seen in public."


 * Others ...

Java/.NET/C#

 * Java Community Process
 * "Welcome to jcp.org, home of the Java Community ProcessSM (JCPSM) Program. The JCP is the mechanism for developing standard technical specifications for Java technology. Anyone can register for the site and participate in reviewing and providing feedback for the Java Specification Requests (JSRs), and anyone can sign up to become a JCP Member and then participate on the Expert Group of a JSR or even submit their own JSR Proposals."


 * Apache Harmony - Open Source Java SE.
 * "Apache Harmony software is a modular Java runtime with class libraries and associated tools.
 * We aim to support wide range of different platforms. The main criteria for whether a particular platform is supported or not is the involvement of people in running tests on regular basis, reporting build status, finding and fixing bugs for that platform, and so on. We have a list of platforms we are actively maintaining at the moment."


 * DiSL
 * "DiSL is a domain-specific language for Java bytecode instrumentation developed in cooperation between University of Lugano, Charles University in Prague and Shanghai Jiao Tong University.
 * DiSL is inspired by AOP, but in contrast to mainstream AOP languages, it features an open join point model where any region of bytecodes can be selected as a join point (i.e., code location to be instrumented). DiSL reconciles high-level language constructs resulting in concise instrumentations, high expressiveness, and efficiency of the inserted instrumentation code. Thanks to the pointcut/advice model adopted by DiSL, instrumentations are similarly compact as aspects written in AspectJ. However, in contrast to AspectJ, DiSL does not restrict the code locations that can be instrumented, and the code generated by DiSL avoids expensive operations (such as object allocations that are not visible to the programmer). Furthermore, DiSL supports instrumentations with complete bytecode coverage out-of-the-box and avoids structural modifications of classes that would be visible through reflection and could break the instrumented code."


 * Shared Source CLI
 * "The Common Language Infrastructure (CLI) is the ECMA standard that describes the core of the .NET Framework world. The Shared Source CLI is a compressed archive of the source code to a working implementation of the ECMA CLI and the ECMA C# language specification."


 * OSGi
 * "The OSGi framework (OSGi being an acronym for "Open Services Gateway initiative") is a module system and service platform for the Java programming language that implements a complete and dynamic component model, something that as of 2012 does not exist in standalone Java/VM environments. Applications or components (coming in the form of bundles for deployment) can be remotely installed, started, stopped, updated, and uninstalled without requiring a reboot; management of Java packages/classes is specified in great detail. Application life cycle management (start, stop, install, etc.) is done via APIs that allow for remote downloading of management policies. The service registry allows bundles to detect the addition of new services, or the removal of services, and adapt accordingly.
 * The OSGi specifications have moved beyond the original focus of service gateways, and are now used in applications ranging from mobile phones to the open source Eclipse IDE. Other application areas include automobiles, industrial automation, building automation, PDAs, grid computing, entertainment, fleet management and application servers.
 * reference implementation: http://felix.apache.org/site/index.html"

JavaScript

 * V8 JavaScript Engine
 * "V8 is Google's open source JavaScript engine.
 * V8 is written in C++ and is used in Google Chrome, the open source browser from Google.
 * V8 implements ECMAScript as specified in ECMA-262, 5th edition, and runs on Windows (XP or newer), Mac OS X (10.5 or newer), and Linux systems that use IA-32, x64, or ARM processors.
 * V8 can run standalone, or can be embedded into any C++ application."


 * TypeScript
 * "TypeScript is a language for application-scale JavaScript development.TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. Any browser. Any host. Any OS. Open Source."

COM

 * Microsoft COM
 * "XPCOM is a platform-independent, distributed, object-oriented system for creating binary software components that can interact. COM is the foundation technology for Microsoft's OLE (compound documents) and ActiveX (Internet-enabled components) technologies."


 * Mozilla XPCOM
 * XPCOM is a cross platform component object model, similar to Microsoft COM. It has multiple language bindings, allowing XPCOM components to be used and implemented in JavaScript, Java, and Python in addition to C++. Interfaces in XPCOM are defined in a dialect of IDL called XPIDL.
 * XPCOM itself provides a set of core components and classes, e.g. file and memory management, threads, basic data structures (strings, arrays, variants), etc. The majority of XPCOM components are not part of this core set and are provided by other parts of the platform (e.g. Gecko or Necko) or by an application or even by an extension.

Android

 * Android Git Repository
 * Android Source
 * "Android is an open-source software stack for a wide range of mobile devices and a corresponding open-source project led by Google. Here you can find the information and source code you need to learn more about the Android platform. From there you can create custom variants of the Android software stack, port devices and accessories to the Android platform, and ensure your devices are compatible with the Android compatibility definition. "


 * Native Client
 * "Native Client is an open-source technology for running native compiled code in the browser, with the goal of maintaining the OS portability and safety that people expect from web apps. Native Client expands web programming beyond JavaScript, enabling developers to enhance their web applications using their preferred language."


 * Android x86
 * "This is a project to port Android open source project to x86 platform, formerly known as "patch hosting for android x86 support". The original plan is to host different patches for android x86 support from open source community. A few months after we created the project, we found out that we could do much more than just hosting patches. So we decide to create our code base to provide support on different x86 platforms, and set up a git server to host it."

WebOS

 * Palm/HP webOS
 * "Open webOS is the next generation of web-centric platforms built to run on a wide range of form factors. The Open webOS Project is a key part of the ecosystem of our company, along with the webOS cloud services product offerings and the Enyo Open Source Project."


 * WebKit
 * "WebKit is an open source web browser engine. WebKit is also the name of the Mac OS X system framework version of the engine that's used by Safari, Dashboard, Mail, and many other OS X applications. WebKit's HTML and JavaScript code began as a branch of the KHTML and KJS libraries from KDE."

Misc
Jiong's book about Linux kernel (clk011c-2.0.1.pdf) is available for downloaded there.
 * Old Linux / Jiong Zhao (Tongji University).
 * 谷奥

Home