Add project logo to README

This commit is contained in:
Tate, Hongliang Tian 2023-12-28 04:37:40 +08:00
parent d044be4e49
commit 5b274d6cbe
2 changed files with 134 additions and 3 deletions

View File

@ -1,8 +1,16 @@
# Asterinas
<p align="center">
<img src="docs/src/images/logo_en.svg" alt="asterinas-logo" width="620"><br>
A safe, fast, and general-purpose OS kernel written in Rust and compatible with Linux
</p>
Asterinas is a _secure_, _fast_, and _general-purpose_ OS kernel, written in Rust and providing Linux-compatible ABI.
## Introducing Asterinas
Asterinas is designed and implemented with an emphasis on security, rendering it highly attractive for usage scenarios where Linux ABI is indispensable, but Linux itself is deemed insecure given its sheer size of TCB and its nature of being memory unsafe. An instance of such usage is employing Asterinas as the guest OS for VM TEEs (e.g., [AMD SEV](https://www.amd.com/en/developer/sev.html) and [Intel TDX](https://www.intel.com/content/www/us/en/developer/articles/technical/intel-trust-domain-extensions.html)).
Asterinas is aimed to be a drop-in replacement of Linux but more _memory safe_ and _developer friendly_.
1. Asterinas is more memory safe than Linux as it is written in pure [Rust](https://www.rust-lang.org/) and constraints the scope of unsafe Rust to a well-defined and minimal Trusted Computing Base (TCB). This is what we call the [framekernel]() architecture.
2. Asterinas is more developer friendly than Linux as it allows the kernel developers to use a more productive programming language (Rust), leverage a purpose-built toolkit ([OSDK]()), and enjoy the flexibility of either releasing their kernel modules as open source or keeping them as proprietary (thanks to [MPL](LICENSE-MPL)).
Thanks to its high assurance of memory safety, Asterinas is highly attractive for usage scenarios where Linux ABI is indispensable, but Linux itself is deemed insecure given its sheer size of TCB and its nature of being memory unsafe. An instance of such usage is employing Asterinas as the guest OS for VM TEEs (e.g., [AMD SEV](https://www.amd.com/en/developer/sev.html) and [Intel TDX](https://www.intel.com/content/www/us/en/developer/articles/technical/intel-trust-domain-extensions.html)).
## What's unique about Asterinas

123
docs/src/images/logo_en.svg Normal file
View File

@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 430.96 112.17" style="enable-background:new 0 0 430.96 112.17;" xml:space="preserve">
<style type="text/css">
.st0{fill:#565656;}
.st1{fill:none;stroke:#A0A0A0;stroke-width:0.5;stroke-miterlimit:10;}
.st2{fill:none;stroke:#A0A0A0;stroke-width:0.5024;stroke-miterlimit:10;}
.st3{fill:none;stroke:#A0A0A0;stroke-width:0.5023;stroke-miterlimit:10;}
.st4{fill:none;stroke:#9A9A9B;stroke-width:0.538;stroke-miterlimit:10;stroke-dasharray:4.3039;}
.st5{fill:none;stroke:#9A9A9B;stroke-width:0.5;stroke-miterlimit:10;stroke-dasharray:4;}
.st6{fill:#FFFFFF;}
.st7{fill:none;stroke:#9A9A9B;stroke-width:0.5986;stroke-miterlimit:10;stroke-dasharray:4.7886;}
.st8{fill:none;stroke:#9A9A9B;stroke-width:0.5376;stroke-miterlimit:10;stroke-dasharray:4.3009;}
.st9{fill:none;stroke:#9A9A9B;stroke-width:0.539;stroke-miterlimit:10;stroke-dasharray:4.3118;}
.st10{fill:none;stroke:#9A9A9B;stroke-width:0.573;stroke-miterlimit:10;stroke-dasharray:5.2627;}
.st11{fill:none;stroke:#9A9A9B;stroke-width:0.5508;stroke-miterlimit:10;stroke-dasharray:4.406;}
.st12{fill:none;stroke:#9A9A9B;stroke-width:0.5219;stroke-miterlimit:10;stroke-dasharray:4.1751;}
.st13{fill:none;stroke:#9A9A9B;stroke-width:0.6115;stroke-miterlimit:10;stroke-dasharray:4.8922;}
.st14{fill:none;stroke:#9A9A9B;stroke-width:0.513;stroke-miterlimit:10;stroke-dasharray:4.104;}
.st15{fill:none;stroke:#9A9A9B;stroke-width:0.5068;stroke-miterlimit:10;stroke-dasharray:4.0544;}
.st16{fill:url(#SVGID_1_);}
.st17{fill:url(#SVGID_2_);}
.st18{fill:url(#SVGID_3_);}
.st19{fill:url(#SVGID_4_);}
.st20{fill:url(#SVGID_5_);}
.st21{fill:url(#SVGID_6_);}
.st22{fill:url(#SVGID_7_);}
.st23{fill:url(#SVGID_8_);}
.st24{fill:url(#SVGID_9_);}
.st25{fill:url(#SVGID_10_);}
.st26{fill:url(#SVGID_11_);}
.st27{fill:url(#SVGID_12_);}
.st28{fill:url(#SVGID_13_);}
.st29{fill:url(#SVGID_14_);}
.st30{fill:url(#SVGID_15_);}
.st31{fill:url(#SVGID_16_);}
.st32{fill:url(#SVGID_17_);}
.st33{fill:url(#SVGID_18_);}
.st34{fill:url(#SVGID_19_);}
.st35{fill:url(#SVGID_20_);}
.st36{fill:url(#SVGID_21_);}
.st37{fill:url(#SVGID_22_);}
.st38{fill:url(#SVGID_23_);}
.st39{fill:url(#SVGID_24_);}
.st40{fill:url(#SVGID_25_);}
.st41{fill:url(#SVGID_26_);}
.st42{fill:url(#SVGID_27_);}
.st43{fill:url(#SVGID_28_);}
.st44{fill:url(#SVGID_29_);}
.st45{fill:url(#SVGID_30_);}
.st46{fill:url(#SVGID_31_);}
.st47{fill:url(#SVGID_32_);}
.st48{fill:url(#SVGID_33_);}
.st49{fill:url(#SVGID_34_);}
.st50{fill:url(#SVGID_35_);}
.st51{fill:url(#SVGID_36_);}
.st52{fill:url(#SVGID_37_);}
.st53{fill:url(#SVGID_38_);}
.st54{fill:url(#SVGID_39_);}
.st55{fill:url(#SVGID_40_);}
.st56{fill:url(#SVGID_41_);}
.st57{fill:url(#SVGID_42_);}
.st58{fill:url(#SVGID_43_);}
.st59{fill:url(#SVGID_44_);}
.st60{fill:url(#SVGID_45_);}
</style>
<g>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="100.2239" y1="62.8811" x2="429.1722" y2="62.8811">
<stop offset="0" style="stop-color:#176BFF"/>
<stop offset="1" style="stop-color:#00F7FF"/>
</linearGradient>
<path class="st16" d="M182.98,86.41c-0.34,1.93-0.37,3.76-0.07,5.46c0.29,1.69,0.86,3.16,1.7,4.39c0.84,1.23,1.9,2.22,3.16,2.95
c0.44,0.26,0.91,0.44,1.4,0.58h53.69l6.3-35.49l0.33-0.37c3.27-3.68,7.7-4.43,12.57-4.46c1.13-0.01,2.1,0.11,3.16,0.36l1.95-11.2
c-0.88,0-1.84,0.01-2.89,0.01c-3.79,0.02-8.09-0.65-11.36,2.77l-2.05,2.43l0.91-5.21l-11.05,0.05l-7.02,40.15l-36.69,0.17
c-1.15,0.01-2.08-0.5-2.77-1.5c-0.69-1-0.91-2.24-0.66-3.67l0.62-3.51l26.95-0.13c1.08-0.01,2.18-0.29,3.29-0.85
c1.11-0.56,2.16-1.32,3.1-2.26c0.95-0.94,1.77-2.03,2.45-3.24c0.68-1.2,1.14-2.47,1.37-3.76l2.02-11.38
c0.23-1.28,0.22-2.54-0.03-3.72c-0.25-1.19-0.68-2.25-1.28-3.16c-0.6-0.91-1.36-1.65-2.26-2.19c-0.89-0.54-1.89-0.81-2.96-0.81
l-26.17,0.12c-1.61,0.01-3.18,0.35-4.64,1.01c-1.47,0.66-2.81,1.59-3.98,2.78c-1.18,1.19-2.19,2.61-3.03,4.24
c-0.83,1.62-1.43,3.42-1.77,5.35L182.98,86.41z M197.13,63.71c0.17-0.96,0.62-1.82,1.35-2.54c0.73-0.72,1.5-1.09,2.31-1.09
l19.77-0.09c0.67,0,1.19,0.26,1.54,0.79c0.35,0.53,0.45,1.2,0.31,2l-0.59,3.36c-0.14,0.77-0.46,1.42-0.96,1.91
c-0.5,0.5-1.08,0.75-1.73,0.75l-22.92,0.11L197.13,63.71z M280.98,99.69l8.96-51.25l33.75-0.16c1.59-0.01,3.02,0.36,4.24,1.09
c1.22,0.73,2.22,1.72,2.97,2.94c0.75,1.22,1.26,2.7,1.5,4.39c0.24,1.69,0.15,3.52-0.27,5.44l-6.56,37.34l-10.18,0.05l6-34.8
c0.32-1.43,0.16-2.66-0.45-3.66c-0.62-1-1.51-1.51-2.65-1.5l-20.15,0.09l-6.99,39.98L280.98,99.69z M286.1,38.17l-11.49,0.05
l2.31-12.19l11.32-0.05L286.1,38.17z M263.92,99.78l8.98-51.26l11.16-0.05l-8.98,51.32H263.92z M420.42,73.36
c-1.56-1.58-3.94-2.78-7.29-3.68l-7.18-1.93c-3.29-0.87-4.55-1.45-5.03-1.8c-0.83-0.56-1.09-1.3-0.87-2.47
c0.28-1.48,1.06-2.61,2.37-3.46c1.34-0.87,3.77-0.99,5.98-1l18.87-0.09l1.9-11.14l-19.09,0.09c-5.75,0.03-10.47,1.55-14.04,4.52
c-3.61,3.01-5.88,6.83-6.75,11.38c-0.98,5.14-0.02,9,2.86,11.47c1.63,1.42,4.63,2.67,9.17,3.81l4.43,1.1
c2.45,0.6,4.17,1.33,5.18,2.01c0.51,0.35,0.99,1.35,0.68,2.44c-0.37,1.28-1.29,3.3-9,3.33l-23.26,0.11c0.2-0.7,0.38-1.41,0.51-2.15
l4.28-24.11c0.34-1.93,0.37-3.76,0.07-5.46c-0.29-1.69-0.86-3.16-1.7-4.39c-0.84-1.23-1.9-2.22-3.16-2.95
c-1.26-0.73-2.71-0.9-4.31-0.89l-40.7,0.19c0.13,0.19,0.25,0.38,0.37,0.57c1.17,1.9,1.95,4.15,2.31,6.68
c0.18,1.24,0.24,2.52,0.18,3.82l32.91-0.15c1.15-0.01,2.08,0.5,2.77,1.5c0.69,1,0.91,2.24,0.66,3.67l-0.62,3.51l-26.95,0.13
c-1.08,0.01-2.18,0.29-3.29,0.85c-1.11,0.56-2.16,1.32-3.1,2.26c-0.95,0.94-1.77,2.03-2.45,3.24c-0.68,1.2-1.14,2.47-1.37,3.76
l-2.02,11.38c-0.23,1.28-0.22,2.54,0.03,3.72c0.25,1.19,0.68,2.25,1.28,3.16c0.6,0.91,1.36,1.65,2.26,2.19
c0.89,0.54,1.89,0.81,2.96,0.81l25.83-0.12l35.94-0.17l1.1-0.01l0-0.01c4.8-0.08,9.06-0.52,12.56-3.31
c3.84-3.06,6.23-6.96,7.12-11.6C423.72,79.52,422.91,75.88,420.42,73.36z M369.99,84.51c-0.17,0.96-0.62,1.82-1.35,2.54
c-0.67,0.67-1.39,1.02-2.13,1.07l-0.1,0l0,0.01c-0.03,0-0.06,0.01-0.09,0.01l-19.77,0.09c-0.67,0-1.19-0.26-1.54-0.79
c-0.35-0.53-0.45-1.2-0.31-2l0.59-3.36c0.14-0.77,0.46-1.42,0.96-1.91c0.5-0.5,1.08-0.75,1.73-0.75l22.92-0.11L369.99,84.51z
M169.03,79.19l9.42-0.04l-1.65,9.33c-0.29,1.64-0.82,3.19-1.58,4.62c-0.76,1.43-1.7,2.72-2.78,3.82c-1.08,1.1-2.29,1.96-3.59,2.58
c-0.23,0.11-0.47,0.2-0.7,0.29h-19.12c-0.13-0.06-0.27-0.11-0.4-0.19c-1.07-0.59-1.97-1.44-2.67-2.51
c-0.71-1.07-1.19-2.33-1.44-3.74c-0.25-1.41-0.23-2.95,0.06-4.58l5.02-28.54l-4.14,0.02l-20,0.09c-2.2,0.01-4.63,0.14-5.98,1
c-1.32,0.85-2.09,1.98-2.37,3.46c-0.23,1.17,0.03,1.91,0.87,2.47c0.49,0.34,1.74,0.92,5.03,1.8l7.18,1.93
c3.35,0.9,5.74,2.1,7.29,3.68c2.49,2.52,3.29,6.17,2.4,10.84c-0.89,4.64-3.28,8.55-7.12,11.6c-1.75,1.4-3.69,2.2-5.8,2.67h-26.74
l1.74-10.44l17.7-0.08c7.71-0.04,8.63-2.06,9-3.33c0.32-1.09-0.16-2.1-0.68-2.44c-1.01-0.68-2.73-1.41-5.18-2.01l-4.43-1.1
c-4.54-1.14-7.54-2.39-9.17-3.81c-2.88-2.47-3.84-6.33-2.86-11.47c0.87-4.55,3.14-8.37,6.75-11.38c3.57-2.97,8.3-4.49,14.04-4.52
l24.43-0.11l1.88-10.75l10-0.05l-1.93,10.85l28.31-0.1c-3.38,2.74-5.79,6.62-6.67,11.06l-23.59,0.08l-4.42,25.12
c-0.2,1.16-0.04,2.14,0.48,2.93c0.52,0.8,1.28,1.2,2.25,1.19l6-0.03c0.94,0,1.81-0.39,2.58-1.16c0.77-0.76,1.26-1.72,1.46-2.85
L169.03,79.19z"/>
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="2.5122" y1="51.3927" x2="111.0561" y2="51.3927">
<stop offset="0.3045" style="stop-color:#1937FF"/>
<stop offset="1" style="stop-color:#00F7FF"/>
</linearGradient>
<path class="st17" d="M111.06,49.04H89.07c0.81-16.67,1.62-33.52,2.21-45.74H78.94L45.79,49.04H2.51l0.71,0.16
c32.09,5.91,59.54,24.19,76.67,49.43l0.59,0.85l6.18-0.01c0.45-9.23,1.14-24.3,1.89-39.63h14.18
C104.57,55.57,107.45,51.87,111.06,49.04z M75.49,75.4c-4.33-6.08-9.87-11.36-16.29-15.56h17.2L75.49,75.4z M77.03,49.04H60.66
l17.85-25.07L77.03,49.04z"/>
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="3.6234" y1="87.8701" x2="45.7431" y2="87.8701">
<stop offset="0.3045" style="stop-color:#1937FF"/>
<stop offset="1" style="stop-color:#00C3FF"/>
</linearGradient>
<path class="st18" d="M3.62,109.91l42.12-37.42c-3.3-2.62-6.92-4.87-10.78-6.67L3.62,109.91z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.3 KiB