-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Dae Sanghwi
committed
Nov 23, 2024
1 parent
5bf4af2
commit 7576f31
Showing
14 changed files
with
1,795 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
<!-- Documentation Navigation --> | ||
<nav class="docs-nav"> | ||
<div class="docs-nav-section"> | ||
<h3>Seokjin AI</h3> | ||
<ul> | ||
<li><a href="/docs/seokjin-ai/api-optimization.html">API Optimization</a></li> | ||
<li><a href="/docs/seokjin-ai/model-fine-tuning.html">Model Fine-tuning</a></li> | ||
<li><a href="/docs/seokjin-ai/computer-vision.html">Computer Vision</a></li> | ||
</ul> | ||
</div> | ||
|
||
<div class="docs-nav-section"> | ||
<h3>AetherOS</h3> | ||
<ul> | ||
<li><a href="/docs/aetheros/architecture.html">System Architecture</a></li> | ||
<li><a href="/docs/aetheros/kernel.html">Kernel Design</a></li> | ||
<li><a href="/docs/aetheros/security.html">Security Model</a></li> | ||
</ul> | ||
</div> | ||
|
||
<div class="docs-nav-section"> | ||
<h3>Seoggi</h3> | ||
<ul> | ||
<li><a href="/docs/seoggi/language-guide.html">Language Guide</a></li> | ||
<li><a href="/docs/seoggi/memory-model.html">Memory Model</a></li> | ||
<li><a href="/docs/seoggi/concurrency.html">Concurrency</a></li> | ||
<li><a href="/docs/seoggi/tooling.html">Development Tools</a></li> | ||
</ul> | ||
</div> | ||
</nav> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,209 @@ | ||
/* Documentation Styles */ | ||
:root { | ||
--docs-sidebar-width: 280px; | ||
--docs-content-max-width: 900px; | ||
--docs-header-height: 60px; | ||
--docs-spacing: 2rem; | ||
--docs-code-bg: #1e1e1e; | ||
--docs-code-color: #d4d4d4; | ||
--docs-border-color: #e0e0e0; | ||
--docs-link-color: #ff0080; | ||
--docs-link-hover-color: #6600b3; | ||
} | ||
|
||
/* Layout */ | ||
.docs-content { | ||
display: flex; | ||
max-width: var(--docs-content-max-width); | ||
margin: 0 auto; | ||
padding: var(--docs-spacing); | ||
gap: var(--docs-spacing); | ||
} | ||
|
||
/* Navigation */ | ||
.docs-nav { | ||
width: var(--docs-sidebar-width); | ||
position: sticky; | ||
top: var(--docs-header-height); | ||
height: calc(100vh - var(--docs-header-height)); | ||
overflow-y: auto; | ||
padding-right: var(--docs-spacing); | ||
border-right: 1px solid var(--docs-border-color); | ||
} | ||
|
||
.docs-nav-section { | ||
margin-bottom: var(--docs-spacing); | ||
} | ||
|
||
.docs-nav-section h3 { | ||
font-size: 1.2rem; | ||
margin-bottom: 1rem; | ||
color: var(--docs-link-color); | ||
} | ||
|
||
.docs-nav ul { | ||
list-style: none; | ||
padding: 0; | ||
margin: 0; | ||
} | ||
|
||
.docs-nav li { | ||
margin-bottom: 0.5rem; | ||
} | ||
|
||
.docs-nav a { | ||
color: inherit; | ||
text-decoration: none; | ||
display: block; | ||
padding: 0.5rem; | ||
border-radius: 4px; | ||
transition: background-color 0.2s; | ||
} | ||
|
||
.docs-nav a:hover { | ||
background-color: rgba(255, 0, 128, 0.1); | ||
color: var(--docs-link-hover-color); | ||
} | ||
|
||
/* Article */ | ||
.docs-article { | ||
flex: 1; | ||
min-width: 0; | ||
} | ||
|
||
.docs-header { | ||
margin-bottom: var(--docs-spacing); | ||
padding-bottom: var(--docs-spacing); | ||
border-bottom: 1px solid var(--docs-border-color); | ||
} | ||
|
||
.docs-header h1 { | ||
font-size: 2.5rem; | ||
margin: 0 0 1rem; | ||
color: var(--docs-link-color); | ||
} | ||
|
||
.docs-metadata { | ||
display: flex; | ||
gap: 1rem; | ||
color: #666; | ||
font-size: 0.9rem; | ||
} | ||
|
||
/* Sections */ | ||
.docs-article section { | ||
margin-bottom: var(--docs-spacing); | ||
} | ||
|
||
.docs-article h2 { | ||
font-size: 1.8rem; | ||
margin: 2rem 0 1rem; | ||
color: var(--docs-link-color); | ||
} | ||
|
||
.docs-article h3 { | ||
font-size: 1.4rem; | ||
margin: 1.5rem 0 1rem; | ||
} | ||
|
||
/* Code Blocks */ | ||
.docs-article pre { | ||
background-color: var(--docs-code-bg); | ||
color: var(--docs-code-color); | ||
padding: 1.5rem; | ||
border-radius: 8px; | ||
overflow-x: auto; | ||
margin: 1rem 0; | ||
} | ||
|
||
.docs-article code { | ||
font-family: 'Fira Code', monospace; | ||
font-size: 0.9rem; | ||
line-height: 1.5; | ||
} | ||
|
||
/* Best Practices Cards */ | ||
.best-practices { | ||
display: grid; | ||
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); | ||
gap: 1.5rem; | ||
margin: 2rem 0; | ||
} | ||
|
||
.practice-card { | ||
background: #fff; | ||
border: 1px solid var(--docs-border-color); | ||
border-radius: 8px; | ||
padding: 1.5rem; | ||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); | ||
} | ||
|
||
.practice-card h3 { | ||
color: var(--docs-link-color); | ||
margin-top: 0; | ||
} | ||
|
||
.practice-card ul { | ||
padding-left: 1.5rem; | ||
margin: 1rem 0; | ||
} | ||
|
||
.practice-card li { | ||
margin-bottom: 0.5rem; | ||
} | ||
|
||
/* Responsive Design */ | ||
@media (max-width: 1024px) { | ||
.docs-content { | ||
flex-direction: column; | ||
} | ||
|
||
.docs-nav { | ||
width: 100%; | ||
position: static; | ||
height: auto; | ||
border-right: none; | ||
border-bottom: 1px solid var(--docs-border-color); | ||
padding-bottom: var(--docs-spacing); | ||
margin-bottom: var(--docs-spacing); | ||
} | ||
} | ||
|
||
@media (max-width: 768px) { | ||
:root { | ||
--docs-spacing: 1rem; | ||
} | ||
|
||
.docs-header h1 { | ||
font-size: 2rem; | ||
} | ||
|
||
.docs-article h2 { | ||
font-size: 1.5rem; | ||
} | ||
|
||
.docs-article h3 { | ||
font-size: 1.2rem; | ||
} | ||
} | ||
|
||
/* Dark Mode */ | ||
@media (prefers-color-scheme: dark) { | ||
:root { | ||
--docs-border-color: #2a2a2a; | ||
--docs-code-bg: #000; | ||
} | ||
|
||
body { | ||
background-color: #121212; | ||
color: #e0e0e0; | ||
} | ||
|
||
.practice-card { | ||
background: #1a1a1a; | ||
} | ||
|
||
.docs-nav a:hover { | ||
background-color: rgba(255, 0, 128, 0.2); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,123 @@ | ||
<!DOCTYPE html> | ||
<html lang="en"> | ||
<head> | ||
<meta charset="UTF-8"> | ||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||
<meta name="description" content="AetherOS System Architecture Documentation"> | ||
<meta name="keywords" content="AetherOS, operating system, architecture, kernel"> | ||
<title>AetherOS System Architecture | YeonSphere</title> | ||
<link rel="stylesheet" href="/css/main.css"> | ||
<link rel="stylesheet" href="/css/docs.css"> | ||
<link rel="stylesheet" href="/css/prism.css"> | ||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons+Round" rel="stylesheet"> | ||
</head> | ||
<body> | ||
<div id="header"></div> | ||
|
||
<main class="docs-content"> | ||
{% include docs-nav.html %} | ||
|
||
<article class="docs-article"> | ||
<header class="docs-header"> | ||
<h1>AetherOS System Architecture</h1> | ||
<div class="docs-metadata"> | ||
<span class="docs-date">Last updated: December 30, 2023</span> | ||
<span class="docs-author">YeonSphere Team</span> | ||
</div> | ||
</header> | ||
|
||
<section id="overview"> | ||
<h2>System Overview</h2> | ||
<p>AetherOS is designed with a microkernel architecture, emphasizing modularity, security, and performance. The system is built using Rust to ensure memory safety and prevent common system-level vulnerabilities.</p> | ||
|
||
<h3>Core Components</h3> | ||
<ul> | ||
<li>Microkernel: Handles basic process management and IPC</li> | ||
<li>Device Drivers: Run in user space for improved stability</li> | ||
<li>Security Monitor: Manages system security policies</li> | ||
<li>Resource Manager: Handles system resource allocation</li> | ||
</ul> | ||
</section> | ||
|
||
<section id="kernel"> | ||
<h2>Kernel Design</h2> | ||
<pre><code class="language-rust"> | ||
// Core kernel initialization | ||
#[no_mangle] | ||
pub extern "C" fn kernel_main() -> ! { | ||
// Initialize essential kernel components | ||
memory::init(); | ||
interrupts::init(); | ||
scheduler::init(); | ||
|
||
// Start system services | ||
services::start_essential_services(); | ||
|
||
// Enter main kernel loop | ||
loop { | ||
scheduler::schedule_next_task(); | ||
} | ||
} | ||
</code></pre> | ||
</section> | ||
|
||
<section id="memory"> | ||
<h2>Memory Management</h2> | ||
<h3>Virtual Memory System</h3> | ||
<pre><code class="language-rust"> | ||
pub struct PageTable { | ||
entries: [PageTableEntry; 512], | ||
flags: PTFlags, | ||
} | ||
|
||
impl PageTable { | ||
pub fn map(&mut self, vaddr: VirtAddr, paddr: PhysAddr, flags: PTFlags) -> Result<(), MapError> { | ||
// Implement page mapping logic | ||
} | ||
} | ||
</code></pre> | ||
</section> | ||
|
||
<section id="processes"> | ||
<h2>Process Management</h2> | ||
<h3>Process Scheduler</h3> | ||
<pre><code class="language-rust"> | ||
pub struct Process { | ||
id: ProcessId, | ||
state: ProcessState, | ||
context: Context, | ||
memory_space: MemorySpace, | ||
} | ||
|
||
impl Scheduler { | ||
pub fn schedule(&mut self) -> Option<&Process> { | ||
// Implement process scheduling logic | ||
} | ||
} | ||
</code></pre> | ||
</section> | ||
|
||
<section id="ipc"> | ||
<h2>Inter-Process Communication</h2> | ||
<h3>Message Passing System</h3> | ||
<pre><code class="language-rust"> | ||
pub struct Message { | ||
sender: ProcessId, | ||
receiver: ProcessId, | ||
data: MessageData, | ||
} | ||
|
||
impl MessageQueue { | ||
pub fn send(&mut self, msg: Message) -> Result<(), SendError> { | ||
// Implement message sending logic | ||
} | ||
} | ||
</code></pre> | ||
</section> | ||
</article> | ||
</main> | ||
|
||
<script src="/js/header.js"></script> | ||
<script src="/js/prism.js"></script> | ||
</body> | ||
</html> |
Oops, something went wrong.