You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by mt...@apache.org on 2009/12/10 10:26:05 UTC

svn commit: r889153 - /commons/sandbox/runtime/trunk/src/site/xdoc/index.xml

Author: mturk
Date: Thu Dec 10 09:26:03 2009
New Revision: 889153

URL: http://svn.apache.org/viewvc?rev=889153&view=rev
Log:
Update front page

Modified:
    commons/sandbox/runtime/trunk/src/site/xdoc/index.xml

Modified: commons/sandbox/runtime/trunk/src/site/xdoc/index.xml
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/site/xdoc/index.xml?rev=889153&r1=889152&r2=889153&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/site/xdoc/index.xml (original)
+++ commons/sandbox/runtime/trunk/src/site/xdoc/index.xml Thu Dec 10 09:26:03 2009
@@ -30,6 +30,117 @@
 application. On the other hand Java doesn't offer API that
 can fully benefit from the features most modern operating systems provide.
 </p>
+<p>Apache Commons Runtime tries to solve that gap by providing the
+JNI layer and Java API over that layer, allowing application to
+fully utilize operating system features that are missing from the
+main JDK implementation.
+</p>
+<p>Supported operating systems are chosen on the deployment basis
+but any new operating system can be easily added by writing the
+appropriate wrappers.
+</p>
+<p>
+    <table>
+        <tr>
+            <th>Operating System</th>
+            <th>Minimum Supported Version</th>
+            <th>Notes</th>
+        </tr>
+        <tr>
+            <td>Linux</td>
+            <td>Kernel 2.6</td>
+            <td></td>
+        </tr>
+        <tr>
+            <td>Microsoft Windows</td>
+            <td>XP</td>
+            <td></td>
+        </tr>
+        <tr>
+            <td>Sun Solaris</td>
+            <td>10</td>
+            <td>Intel and Sparc</td>
+        </tr>
+        <tr>
+            <td>Hewlett Packard</td>
+            <td>HP-UX 11.23</td>
+            <td></td>
+        </tr>
+    </table>
+</p>
+ <p>Supported Java platform is <b>Java 5</b> although we
+ recommend <b>Java 6</b> to be used.
+ </p>
+<p>Apache Commons Runtime supports the following extensions to
+the existing JDK classes:
+<ul>
+    <li><b>Memory Management</b><br/>
+    Used for managing the memory allocated directly from the operating
+    system.
+    </li>
+    <li><b>Mutex and Semaphore</b><br/>
+    Mutex and Semaphore objects are used for cross process synchronization.
+    </li>
+    <li><b>Shared Memory</b><br/>
+    Full support for named and anonymous shared memory.
+    </li>
+    <li><b>Memory Mapping</b><br/>
+    File memory mapping.
+    </li>
+    <li><b>Signaling</b><br/>
+    Passing signals between processes.
+    </li>
+    <li><b>Daemon</b><br/>
+    Daemon support for running processes as daemons or services.
+    </li>
+    <li><b>Process Management</b><br/>
+    Advanced process creation and management.
+    </li>
+    <li><b>Security</b><br/>
+    Native operating system security management and auditing.
+    </li>
+    <li><b>Asynchronous IO</b><br/>
+    Asynchronous IO for Files, Pipes and Sockets.
+    </li>
+    <li><b>Comprehensive OS Information and Statistics</b><br/>
+    Getting info about operating system memory, files, sockets,
+    CPU utilization and more.
+    </li>
+    <li><b>OpenSSL</b><br/>
+    Using OpenSSL for SSL and TLS networking.
+    </li>
+    <li><b>Platform Specifics</b><br/>
+    Platform specific classes like Windows Registry or SELinux.
+    </li>
+</ul>
+</p>
+
+</section>
+
+<section name="History">
+<p>Apache Commons Runtime originates from two projects; Apache Commons Daemon
+and Tomcat Native, and is meant to be a direct replacement for those two projects.
+</p>
+<p>Commons Daemon lacks the features found in Tomcat Native and vice verse.
+The primary reason for merging those two projects was the need for allowing graceful
+restarts for Java server based applications without restart down time.
+</p>
+<p>That kind of concept is well known inside Apache Httpd project where parent
+process creates the sockets that are passed to the child processes. When restart
+is needed the previous child generation is stopped after the new child is created,
+thus allowing zero down time.
+</p>
+<p>Tomcat Native uses Apache Portable Runtime (APR) for its native layer,
+but since APR is generalization of the operating system it makes certain
+compromises to allow cross platform API.
+</p>
+<p>Apache Commons Runtime uses APR code but without the APR memory pools since
+being embedded inside JVM we already have a full garbage collector and
+object life time management out of the box. APR pools in such environment
+make additional layer which introduces unwanted memory overhead and
+performance degradation, so unlike Tomcat Native, we use direct memory
+allocation for all APR objects.
+</p>
 
 </section>