{"id":477545,"date":"2026-04-27T07:33:05","date_gmt":"2026-04-27T07:33:05","guid":{"rendered":"https:\/\/savepearlharbor.com\/?p=477545"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=477545","title":{"rendered":"OptimaOS: \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 Rust-\u044f\u0434\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0436\u0435\u043b\u0435\u0437\u0435"},"content":{"rendered":"<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0426\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u0430\u044f \u0438\u0434\u0435\u044f: \u043e\u0434\u043d\u043e \u044f\u0434\u0440\u043e, runtime-\u043f\u0440\u043e\u0444\u0438\u043b\u0438<\/p>\n<p>\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0440\u0435\u0448\u0430\u0435\u0442 OptimaOS \u2014 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0447\u0435\u0440\u0435\u0437 \u0444\u043e\u0440\u043a\u0438\u043d\u0433. Android \u2014 \u0444\u043e\u0440\u043a Linux. Embedded-\u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u044b \u2014 \u0444\u043e\u0440\u043a\u0438 \u0441 \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u043c\u0438 \u043f\u0430\u0442\u0447\u0430\u043c\u0438 \u043f\u043e\u0434 \u043a\u0430\u0436\u0434\u044b\u0439 SoC. AI-\u0441\u0442\u0435\u043a\u0438 \u2014 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u0434\u043e\u0432\u044b\u0435 \u0431\u0430\u0437\u044b. \u041a\u0430\u0436\u0434\u044b\u0439 \u0444\u043e\u0440\u043a \u2014 \u044d\u0442\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 security-\u0430\u0443\u0434\u0438\u0442, \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0438 \u0441\u0432\u043e\u0439 \u043d\u0430\u043a\u0430\u043f\u043b\u0438\u0432\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u0440\u0435\u0433\u0440\u0435\u0441\u0441.<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/8e5\/964\/57d\/8e596457d02d1d8bfcc468230bc9162d.jpg\" alt=\"POST UEFI MODE. MM_OK INTR_OK SCHED_OK` \u2014 \u044d\u0442\u043e \u043d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c x86_64, \u043d\u0435 \u0432 QEMU.\" title=\"POST UEFI MODE. MM_OK INTR_OK SCHED_OK` \u2014 \u044d\u0442\u043e \u043d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c x86_64, \u043d\u0435 \u0432 QEMU.\" width=\"4624\" height=\"3472\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/8e5\/964\/57d\/8e596457d02d1d8bfcc468230bc9162d.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/8e5\/964\/57d\/8e596457d02d1d8bfcc468230bc9162d.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>POST UEFI MODE. MM_OK INTR_OK SCHED_OK` \u2014 \u044d\u0442\u043e \u043d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c x86_64, \u043d\u0435 \u0432 QEMU.<\/figcaption><\/div>\n<\/figure>\n<p>\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u0430\u044f \u0441\u0442\u0430\u0432\u043a\u0430: \u043e\u0434\u0438\u043d <code>kernel-core<\/code> binary \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432, \u0430 \u043f\u0440\u043e\u0444\u0438\u043b\u044c\u043d\u044b\u0435 \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u044f \u2014 \u044d\u0442\u043e runtime policy, \u043d\u0435 fork \u043a\u043e\u0434\u043e\u0432\u043e\u0439 \u0431\u0430\u0437\u044b.<\/p>\n<p>\u042d\u0442\u043e \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0432 ADR-0002 \u043a\u0430\u043a <strong>Single Kernel + Runtime Profile Overlays<\/strong>. \u0420\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0436\u0451\u0441\u0442\u043a\u043e\u0435:<\/p>\n<p><strong>\u042f\u0434\u0440\u043e (\u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u044b) \u2014 \u043d\u0435 \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0438 \u0434\u043b\u044f \u043a\u0430\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438:<\/strong><\/p>\n<ul>\n<li>\n<p>Memory manager + MMU page tables (PML4 \u2192 PDPT \u2192 PD \u2192 PT)<\/p>\n<\/li>\n<li>\n<p>Scheduler (\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b, \u043f\u043e\u0442\u043e\u043a\u0438, SMP)<\/p>\n<\/li>\n<li>\n<p>IPC-\u0448\u0438\u043d\u0430 \u0441 \u0442\u0438\u043f\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438 endpoint\u2019\u0430\u043c\u0438<\/p>\n<\/li>\n<li>\n<p>Capability-\u0433\u0440\u0430\u0444 \u0441 \u043a\u0432\u043e\u0442\u0430\u043c\u0438 \u0438 TTL<\/p>\n<\/li>\n<li>\n<p>Syscall ABI (<code>optima_syscall_v0<\/code>)<\/p>\n<\/li>\n<li>\n<p>Page fault handler<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041f\u0440\u043e\u0444\u0438\u043b\u0438 (\u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430) \u2014 \u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f runtime:<\/strong><\/p>\n<ul>\n<li>\n<p>Policy rules: \u0447\u0442\u043e \u043a\u0430\u043a\u043e\u043c\u0443 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0443 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u043e<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a \u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b userspace-\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432<\/p>\n<\/li>\n<li>\n<p>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430 (latency-first \u0434\u043b\u044f <code>home<\/code>, throughput-first \u0434\u043b\u044f <code>server<\/code>)<\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0437\u0440\u0435\u0448\u0451\u043d\u043d\u044b\u0435 syscall-\u043f\u0430\u0442\u0442\u0435\u0440\u043d\u044b<\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435: \u043e\u0434\u0438\u043d \u0431\u0438\u043d\u0430\u0440\u044c \u044f\u0434\u0440\u0430, \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f policy-\u0444\u0430\u0439\u043b, <code>policy-service<\/code> \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442 \u0435\u0433\u043e \u043f\u043e\u0432\u0435\u0440\u0445. \u041f\u0435\u0440\u0435\u0441\u0431\u043e\u0440\u043a\u0438 \u044f\u0434\u0440\u0430 \u043d\u0435\u0442. \u042d\u0442\u043e \u043d\u0435 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e \u2014 \u0447\u0430\u0441\u0442\u044c server-\u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u044e\u0442 kernel semantics, \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e ADR \u0438 \u043f\u0435\u0440\u0435\u0441\u0431\u043e\u0440\u043a\u0438. \u041d\u043e \u044d\u0442\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0439 \u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0438\u0441\u0441.<\/p>\n<h3>\u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u044f\u0434\u0440\u0430<\/h3>\n<p><code>kernel-core<\/code> \u2014 \u043e\u0434\u043d\u0430 Rust workspace crate, ~33K \u0441\u0442\u0440\u043e\u043a. <code>#[forbid(unsafe_code)]<\/code> \u2014 \u043d\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u044f, \u0430 \u0437\u0430\u043f\u0440\u0435\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430. \u0412\u0435\u0441\u044c unsafe \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d \u0432 HAL-\u0441\u043b\u043e\u0435 (<code>hardware\/<\/code><a href=\"http:\/\/mod.rs\" rel=\"noopener noreferrer nofollow\"><code>mod.rs<\/code><\/a>) \u0438 \u044f\u0432\u043d\u043e \u0430\u043d\u043d\u043e\u0442\u0438\u0440\u043e\u0432\u0430\u043d. \u0418\u0442\u043e\u0433\u043e ~600 \u0441\u0442\u0440\u043e\u043a unsafe \u043d\u0430 \u0432\u0441\u0451 \u044f\u0434\u0440\u043e.<\/p>\n<h4>\u041f\u0430\u043c\u044f\u0442\u044c<\/h4>\n<p><a href=\"http:\/\/memory.rs\" rel=\"noopener noreferrer nofollow\"><code>memory.rs<\/code><\/a> \u2014 \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440: mmap\/munmap\/protect \u0441 \u0444\u043b\u0430\u0433\u0430\u043c\u0438 PROT_READ\/WRITE\/EXEC.<\/p>\n<p><a href=\"http:\/\/mm.rs\" rel=\"noopener noreferrer nofollow\"><code>mm.rs<\/code><\/a> \u2014 \u043f\u043e\u043b\u043d\u044b\u0435 x86_64 page tables. \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0430\u044f: PML4 (level 4) \u2192 PDPT \u2192 PD \u2192 PT \u2192 4KB \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430. \u0420\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b <code>PageFlags<\/code>, <code>PageTableEntry<\/code>, <code>PageTable<\/code>, <code>PML4<\/code>, <code>PageTableAllocator<\/code> (512 \u0441\u0442\u0440\u0430\u043d\u0438\u0446) \u0438 <code>VirtualMemoryManager<\/code>. Memory isolation levels \u043f\u043e ADR-0008: Level 1 (Capability IPC) \u2014 \u0433\u043e\u0442\u043e\u0432\u043e, Level 2 (MPU Regions) \u2014 stub, Level 3 (MMU Page Tables) \u2014 \u0433\u043e\u0442\u043e\u0432\u043e.<\/p>\n<p><code>page_<\/code><a href=\"http:\/\/fault.rs\" rel=\"noopener noreferrer nofollow\"><code>fault.rs<\/code><\/a> \u2014 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043d\u044b\u0445 \u043e\u0448\u0438\u0431\u043e\u043a \u0447\u0435\u0440\u0435\u0437 interrupt vector #14. \u0420\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u0442 <code>PageFaultErrorCode<\/code> (P\/W\/U\/RSVD\/ID \u0431\u0438\u0442\u044b), \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0443, \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0451\u043d \u043a runtime IDT.<\/p>\n<p>Demand paging \u0438 Copy-on-Write \u2014 \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0435\u0441\u0442\u044c, \u043f\u043e\u043b\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0432 \u043f\u043b\u0430\u043d\u0430\u0445.<\/p>\n<h4>IPC<\/h4>\n<pre><code>Process A \u2500\u2500send(endpoint_B, data)\u2500\u2500&gt; IpcBus \u2500\u2500enqueue\u2500\u2500&gt; Process B                                         \u2502                                    capability check                                    type check                                    rate limit                                    audit log<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:87px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041a\u0430\u0436\u0434\u044b\u0439 endpoint \u0438\u043c\u0435\u0435\u0442 owner PID \u0438 \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 (<code>VecDeque&lt;Message&gt;<\/code>). \u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043d\u0435\u0441\u0451\u0442 <code>from_pid<\/code>, payload \u0438 \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0445 capabilities \u2014 \u0442\u0430\u043a \u0447\u0442\u043e capabilities \u043c\u043e\u0436\u043d\u043e \u0434\u0435\u043b\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 IPC \u0431\u0435\u0437 \u043e\u0431\u0445\u043e\u0434\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0439.<\/p>\n<p>\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c (QEMU-surrogate): p50 = 900ns, p95 = 1700ns, p99 = 2500ns, throughput = 904k req\/s. \u041f\u043e\u0434 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439 (4 concurrent senders, 64-byte messages) \u043f\u0440\u0438\u0440\u043e\u0441\u0442 \u043b\u0430\u0442\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u0438 \u2014 \u043c\u0435\u043d\u0435\u0435 2x. \u041d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0436\u0435\u043b\u0435\u0437\u0435 \u0446\u0438\u0444\u0440\u044b \u0431\u0443\u0434\u0443\u0442 \u0434\u0440\u0443\u0433\u0438\u043c\u0438, \u0441\u0435\u0439\u0447\u0430\u0441 \u0437\u0430\u043c\u0435\u0440\u044f\u0435\u043c.<\/p>\n<p>\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c IPC \u043d\u0435 \u043e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f:<\/p>\n<ul>\n<li>\n<p>Capability check \u2014 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u0435\u043b\u044c \u043e\u0431\u044f\u0437\u0430\u043d \u0438\u043c\u0435\u0442\u044c \u043f\u0440\u0430\u0432\u043e \u043d\u0430 endpoint<\/p>\n<\/li>\n<li>\n<p>Type check \u2014 \u0442\u0438\u043f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0432\u0435\u0440\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u0442\u0441\u044f<\/p>\n<\/li>\n<li>\n<p>Session-level \u0438 per-method rate limiting<\/p>\n<\/li>\n<li>\n<p>Audit log \u043d\u0430 \u0433\u0440\u0430\u043d\u0438\u0446\u0430\u0445 \u0434\u043e\u0432\u0435\u0440\u0438\u044f<\/p>\n<\/li>\n<\/ul>\n<h4>Capabilities<\/h4>\n<p>Capability \u2014 \u044d\u0442\u043e struct:<\/p>\n<pre><code class=\"rust\">pub struct Capability {    pub id: CapId,    pub owner_pid: u64,    pub resource: Resource,      \/\/ Endpoint(u64) | MemoryRegion(u64) | Process(u64)    pub permission: Permission,  \/\/ read \/ write \/ manage    pub quota: ResourceQuota,    pub created_at: u64,    pub expires_at: Option&lt;u64&gt;, \/\/ TTL \u0434\u043b\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445    pub priority: QuotaPriority,    pub violation_count: u32,}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p><code>ResourceQuota<\/code> \u0437\u0430\u0434\u0430\u0451\u0442 \u043b\u0438\u043c\u0438\u0442\u044b: <code>max_memory_bytes<\/code> (1 GB default), <code>max_ipc_per_second<\/code> (10K\/sec), <code>max_threads<\/code> (256), <code>max_file_handles<\/code> (1024), <code>max_capabilities<\/code> (512).<\/p>\n<p>\u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043f\u0440\u0438 \u043d\u0430\u0440\u0443\u0448\u0435\u043d\u0438\u0438 \u043a\u0432\u043e\u0442\u044b \u2014 \u043d\u0435 crash, \u0430 \u0434\u0435\u0433\u0440\u0430\u0434\u0430\u0446\u0438\u044f \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u0430: High \u2192 Normal \u2192 Low \u2192 Degraded. \u042d\u0442\u043e \u0437\u0430\u0449\u0438\u0442\u0430 \u043e\u0442 DoS \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u044f\u0434\u0440\u0430. \u0412\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 capabilities (<code>create_temporary_capability<\/code> \u0441 TTL) \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0438\u043d\u0432\u0430\u043b\u0438\u0434\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u2014 \u043d\u0435 \u043d\u0443\u0436\u0435\u043d garbage collector \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0439.<\/p>\n<p>API <code>CapabilityManager<\/code>: grant, grant_with_quota, create_temporary_capability, revoke, transfer, inspect, check_quota, check_ipc_rate_limit, degrade_priority, update_quota, is_expired. 23 \u0442\u0435\u0441\u0442\u0430 \u043f\u043e\u043a\u0440\u044b\u0432\u0430\u044e\u0442 \u0432\u0441\u0435 \u0432\u0435\u0442\u043a\u0438, \u0432\u043a\u043b\u044e\u0447\u0430\u044f boundary values \u0438 quota combinations.<\/p>\n<h4>\u041f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a<\/h4>\n<p>Task states: Ready \/ Running \/ Blocked \/ Terminated.<\/p>\n<p>Context switch: \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u2192 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 CR3 \u043d\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430 (\u0435\u0441\u043b\u0438 \u0434\u0440\u0443\u0433\u043e\u0435 \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e) \u2192 TLB flush \u2192 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u2192 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u043d\u043e\u0432\u044b\u0439 \u0441\u0442\u0435\u043a.<\/p>\n<p>SMP \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0447\u0435\u0440\u0435\u0437 <code>SmpManager<\/code> \u0441 <code>PerCpuData<\/code>, <code>CpuInfo<\/code> (family\/model\/stepping\/features) \u0438 IPI (Inter-Processor Interrupts): Halt, Init, Call, Resched.<\/p>\n<p>\u041f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430 \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0444\u0438\u043b\u0435\u043c: <code>home<\/code> \u2192 Interactive (\u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u043c \u0437\u0430\u0434\u0430\u0447\u0430\u043c), <code>server<\/code> \u2192 Throughput (\u043c\u0430\u043a\u0441\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043d\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438). Syscall-\u0443\u0440\u043e\u0432\u0435\u043d\u044c: <code>sys.spawn<\/code>, <code>sys.exit<\/code>, <code>sys.sleep<\/code>, <code>sys.yield<\/code>.<\/p>\n<h3>Boot chain: \u0434\u0432\u0443\u0445\u0441\u043b\u043e\u0439\u043d\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430<\/h3>\n<p>ADR-0003 \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u0435\u0442 \u043c\u043e\u0434\u0435\u043b\u044c <strong>Hybrid Staged Console Integration<\/strong>. \u041d\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 \u2014 \u0443\u0441\u043b\u043e\u0436\u043d\u0435\u043d\u0438\u0435, \u043d\u0430 \u0434\u0435\u043b\u0435 \u2014 \u0447\u0451\u0442\u043a\u043e\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438.<\/p>\n<p><strong>Stage A (UEFI shim):<\/strong> transport + diagnostics. \u041f\u0443\u0431\u043b\u0438\u043a\u0443\u0435\u0442 input-\u0441\u043e\u0431\u044b\u0442\u0438\u044f, \u0440\u0435\u043d\u0434\u0435\u0440\u0438\u0442 output frames \u043e\u0442 runtime. \u041a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u2014 \u043d\u0438\u043a\u0430\u043a\u043e\u0439 \u0431\u0438\u0437\u043d\u0435\u0441-\u043b\u043e\u0433\u0438\u043a\u0438.<\/p>\n<p><strong>Stage B (kernel-core runtime):<\/strong> \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0442\u043e\u0447\u043a\u0430 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434. \u041e\u0434\u0438\u043d parser\/dispatcher \u0434\u043b\u044f host \u0438 device \u043a\u043e\u043d\u0442\u0443\u0440\u043e\u0432.<\/p>\n<p>\u0413\u0440\u0430\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438 \u2014 <code>console_proto=v1<\/code>. Shim \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442 input events \u0432 runtime, \u0440\u0435\u043d\u0434\u0435\u0440\u0438\u0442 output frames. \u041d\u0435\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 \u2014 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0435\u0440\u0435\u0437 \u043d\u043e\u0432\u044b\u0439 major \u0438 ADR.<\/p>\n<p>UEFI-\u043a\u043e\u0434 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 \u043f\u0440\u0438\u0432\u0438\u043b\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 \u0441 \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c \u043a boot services. \u0413\u0440\u0430\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 boot \u0438 runtime \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u044f\u0432\u043d\u043e\u0439 \u0438 \u0432\u0435\u0440\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u043c\u043e\u0439 \u2014 \u0438\u043d\u0430\u0447\u0435 \u0430\u0443\u0434\u0438\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0438\u0430\u043b\u044c\u043d\u043e \u0441\u043b\u043e\u0436\u043d\u0435\u0435. \u0421\u0442\u0440\u043e\u0433\u043e\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u0435\u0440\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u043b\u043e\u0439 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e.<\/p>\n<p>\u0416\u0438\u0437\u043d\u0435\u043d\u043d\u044b\u0439 \u0446\u0438\u043a\u043b: <code>BootInit \u2192 ShimReady \u2192 RuntimeAttach \u2192 Interactive \u2192 Degraded<\/code><\/p>\n<p>Failure policy \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0430: \u043f\u0440\u0438 \u0434\u0435\u0433\u0440\u0430\u0434\u0430\u0446\u0438\u0438 input path \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f bootable \u0432 diagnostics-mode. Runtime state \u043d\u0435 \u043b\u043e\u043c\u0430\u0435\u0442\u0441\u044f \u043e\u0442 transport-level \u043e\u0448\u0438\u0431\u043e\u043a.<\/p>\n<p>BootData ABI v2: \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442\u0441\u044f \u0440\u0435\u0430\u043b\u044c\u043d\u0430\u044f \u043a\u0430\u0440\u0442\u0430 \u043f\u0430\u043c\u044f\u0442\u0438 (region list), \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0430\u0433\u0440\u0435\u0433\u0430\u0442\u044b. Self-check handoff (SELFCHK) + \u043a\u043e\u0434\u044b \u043e\u0448\u0438\u0431\u043e\u043a \u2014 \u0432\u0435\u0440\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u043c\u0435\u0436\u0434\u0443 bootloader \u0438 \u044f\u0434\u0440\u043e\u043c.<\/p>\n<h3>Linux ABI: \u043f\u043e\u044d\u0442\u0430\u043f\u043d\u043e<\/h3>\n<p><code>linux-compat<\/code> \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 \u043c\u0430\u043f\u043f\u0438\u043d\u0433 Linux syscall\u2019\u043e\u0432 \u043d\u0430 <code>optima_syscall_v0<\/code>. \u0417\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 <code>kernel-core<\/code> \u044f\u0432\u043d\u043e \u2014 \u044d\u0442\u043e \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0442\u0430\u043a\u043e\u0435 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435.<\/p>\n<p><strong>L1:<\/strong> <code>clone<\/code>, <code>exit<\/code>, <code>nanosleep<\/code>, <code>mmap<\/code>, <code>munmap<\/code>, <code>sendmsg<\/code>, <code>recvmsg<\/code>, \u0441\u0438\u0433\u043d\u0430\u043b\u044b (\u043c\u0438\u043d\u0438\u043c\u0443\u043c), epoll (\u043c\u0438\u043d\u0438\u043c\u0443\u043c).<\/p>\n<p><strong>L2-A:<\/strong> fd lifecycle (<code>open\/close\/read\/write<\/code>), <code>dup\/dup2<\/code>, <code>poll\/epoll_wait<\/code>.<\/p>\n<p><strong>L2-B:<\/strong> signal masks, pending queue.<\/p>\n<p><strong>L2-C:<\/strong> <code>epoll_ctl(DEL\/MOD)<\/code>, \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u0430\u044f epoll-\u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u0430.<\/p>\n<p>129 \u0442\u0435\u0441\u0442\u043e\u0432, 100% pass. Linux bridge API \u043f\u043e\u043c\u0435\u0447\u0435\u043d \u043a\u0430\u043a <code>draft<\/code> \u2014 \u044d\u0442\u043e \u043d\u0435 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 ABI. \u0421\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e.<\/p>\n<p>\u041a\u0430\u0436\u0434\u044b\u0439 \u043d\u043e\u0432\u044b\u0439 syscall \u2014 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 attack surface. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u044d\u0442\u0430\u043f\u043d\u043e, \u0438 \u043a\u0430\u0436\u0434\u044b\u0439 \u044d\u0442\u0430\u043f \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f compatibility matrix \u0442\u0435\u0441\u0442\u0430\u043c\u0438.<\/p>\n<h3>Userspace-\u0441\u0435\u0440\u0432\u0438\u0441\u044b<\/h3>\n<p>\u0421\u0435\u0440\u0432\u0438\u0441\u044b \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u044f\u0442 \u043e\u0442 <code>kernel-core<\/code> \u043a\u0430\u043a \u043e\u0442 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438. \u041e\u0431\u0449\u0435\u043d\u0438\u0435 \u2014 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0435\u0440\u0435\u0437 typed IPC + capabilities.<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u0421\u0435\u0440\u0432\u0438\u0441<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>policy-service<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442 policy overlays, \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 runtime-\u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c\u0438<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>device-manager<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u043c\u0438, IOMMU \u0434\u043e\u043c\u0435\u043d\u044b<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>filesystem-service<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0424\u0430\u0439\u043b\u043e\u0432\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0432 userspace<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>network-service<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0421\u0435\u0442\u0435\u0432\u043e\u0439 \u0441\u0442\u0435\u043a \u0432 userspace<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>profile-service<\/code><\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0444\u0438\u043b\u044c\u043d\u044b\u043c\u0438 overlays<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0422\u0430\u043a\u0430\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u2014 \u043f\u0440\u044f\u043c\u043e\u0435 \u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0435 \u043c\u0438\u043a\u0440\u043e\u044f\u0434\u0435\u0440\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b. Crash \u0432 <code>filesystem-service<\/code> \u043d\u0435 \u0443\u0440\u043e\u043d\u0438\u0442 \u044f\u0434\u0440\u043e. \u041a\u043e\u043c\u043f\u0440\u043e\u043c\u0435\u0442\u0430\u0446\u0438\u044f <code>network-service<\/code> \u043d\u0435 \u0434\u0430\u0451\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u043a capability-\u0433\u0440\u0430\u0444\u0443.<\/p>\n<p>xHCI USB host controller driver \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 QEMU.<\/p>\n<h3>\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0432 \u044f\u0434\u0440\u0435<\/h3>\n<p>\u0417\u0434\u0435\u0441\u044c \u043d\u0435 \u0441\u043f\u0438\u0441\u043e\u043a \u0444\u0438\u0447, \u0430 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u0438\u043d\u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b.<\/p>\n<p><strong>Capability-\u0433\u0440\u0430\u0444 \u0432\u043c\u0435\u0441\u0442\u043e root.<\/strong> \u0413\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0433\u043e root \u043d\u0435\u0442. \u041a\u0430\u0436\u0434\u043e\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u044f\u0432\u043d\u043e\u0433\u043e capability \u0441 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u043e\u0439 owner PID.<\/p>\n<p><strong>Typed IPC.<\/strong> \u041d\u0435\u043b\u044c\u0437\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u0442\u0438\u043f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u2014 \u044d\u0442\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0432 \u044f\u0434\u0440\u0435, \u043d\u0435 \u0432 userspace.<\/p>\n<p><strong>Quota-based DoS protection.<\/strong> \u041f\u0440\u043e\u0446\u0435\u0441\u0441, \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u044e\u0449\u0438\u0439 \u043b\u0438\u043c\u0438\u0442\u044b, \u0434\u0435\u0433\u0440\u0430\u0434\u0438\u0440\u0443\u0435\u0442 \u043f\u043e \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u0443 \u2014 \u043d\u0435 \u043f\u0430\u0434\u0430\u0435\u0442 \u0438 \u043d\u0435 \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u0443.<\/p>\n<p><strong>Tamper-evident audit log.<\/strong> Hash chain integrity \u0434\u043b\u044f \u0432\u0441\u0435\u0445 security-\u0441\u043e\u0431\u044b\u0442\u0438\u0439: <code>AUTHZ_DENY<\/code>, <code>CAPABILITY_GRANT<\/code>, <code>CAPABILITY_REVOKE<\/code>, <code>IPC_AUTH_FAIL<\/code>, <code>POLICY_BYPASS_ATTEMPT<\/code>, <code>KERNEL_PANIC<\/code>, <code>SERVICE_CRASH_RECOVERY<\/code>.<\/p>\n<p><strong>Crypto-service (stub).<\/strong> \u041a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044f \u0432\u044b\u043d\u0435\u0441\u0435\u043d\u0430 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 userspace-\u0441\u0435\u0440\u0432\u0438\u0441. \u042f\u0434\u0440\u043e \u0437\u043d\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e capabilities. <code>PqcAlgorithm<\/code> enum \u2014 ML-KEM-512\/768\/1024 \u0438 ML-DSA-44\/65\/87. <code>CryptoManager<\/code> \u0441 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0435\u0439 \u043a\u043b\u044e\u0447\u0435\u0439, KEM \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u043c\u0438, \u043f\u043e\u0434\u043f\u0438\u0441\u044f\u043c\u0438, \u0440\u043e\u0442\u0430\u0446\u0438\u0435\u0439, \u043f\u0435\u0440\u0435\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c legacy-\u0444\u0430\u0439\u043b\u043e\u0432. 18 \u0442\u0435\u0441\u0442\u043e\u0432, \u043f\u043e\u043b\u043d\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430. \u0414\u043b\u044f production \u043d\u0443\u0436\u043d\u0430 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 liboqs.<\/p>\n<pre><code class=\"rust\">pub enum PqcAlgorithm {    MlKem512, MlKem768, MlKem1024,  \/\/ NIST Level 1\/3\/5    MlDsa44, MlDsa65, MlDsa87,      \/\/ NIST Level 2\/3\/5}pub struct CryptoManager {    keys: Vec&lt;CryptoKey&gt;,    policy: CryptoPolicy,  \/\/ AllAllowed | PqcOnly | PqcMinimumLevel    stats: CryptoStats,}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b \u044d\u0442\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u0441 ECDSA \u043d\u0430 ML-KEM \u2014 \u044d\u0442\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0434\u043d\u043e\u0433\u043e userspace-\u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a\u0430 \u0431\u0435\u0437 \u043f\u0435\u0440\u0435\u0441\u0431\u043e\u0440\u043a\u0438 \u044f\u0434\u0440\u0430. \u0412 \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u043e\u043c \u044f\u0434\u0440\u0435 \u044d\u0442\u043e \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u044f\u0434\u0440\u0430, lsass, \u0437\u0430\u0449\u0438\u0449\u0451\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u0438 \u0437\u0430\u043c\u0435\u043d\u044b \u043f\u0440\u043e\u0448\u0438\u0432\u043e\u043a.<\/p>\n<h3>\u041b\u0438\u0446\u0435\u043d\u0437\u0438\u044f: GPL-3 + dual licensing<\/h3>\n<p>\u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0432 \u043f\u043b\u0430\u043d\u0435 \u0431\u044b\u043b\u0430 MIT\/Apache. \u0412 \u0438\u0442\u043e\u0433\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u0430 GPL-3 \u043f\u043b\u044e\u0441 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0430\u044f \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044f \u2014 dual licensing.<\/p>\n<p><strong>\u041f\u043e\u0447\u0435\u043c\u0443 GPL-3, \u0430 \u043d\u0435 MIT:<\/strong><\/p>\n<p>Copyleft \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u044f\u0434\u0440\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438\u043d\u0430\u0447\u0435, \u0447\u0435\u043c \u0432 \u043e\u0431\u044b\u0447\u043d\u044b\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u0445. \u0415\u0441\u043b\u0438 \u043a\u0442\u043e-\u0442\u043e \u0431\u0435\u0440\u0451\u0442 <code>kernel-core<\/code>, \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u0442 \u0438 \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442 \u0432 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u2014 GPL-3 \u043e\u0431\u044f\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f. \u0418\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u043e \u0437\u0430\u0449\u0438\u0449\u0430\u0435\u0442 \u043e\u0442 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u0440\u0435\u0448\u0438\u0442\u044c: \u0444\u043e\u0440\u043a \u0431\u0435\u0437 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0432\u043a\u043b\u0430\u0434\u0430. MIT \u043d\u0435 \u0437\u0430\u0449\u0438\u0449\u0430\u0435\u0442 \u2014 \u0432\u0435\u043d\u0434\u043e\u0440 \u0432\u043e\u0437\u044c\u043c\u0451\u0442 \u044f\u0434\u0440\u043e, \u0434\u043e\u0431\u0430\u0432\u0438\u0442 \u0442\u044b\u0441\u044f\u0447\u0443 \u043f\u0430\u0442\u0447\u0435\u0439 \u043f\u043e\u0434 \u0441\u0432\u043e\u0439 SoC \u0438 \u043d\u0430\u0432\u0441\u0435\u0433\u0434\u0430 \u0443\u0439\u0434\u0451\u0442 \u0432 \u0437\u0430\u043a\u0440\u044b\u0442\u0443\u044e \u0432\u0435\u0442\u043a\u0443.<\/p>\n<p>\u0415\u0449\u0451 \u043e\u0434\u043d\u043e \u043e\u0442\u043b\u0438\u0447\u0438\u0435 GPL-3 \u043e\u0442 GPL-2 \u2014 anti-tivoization (Section 3). GPLv2 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044e \u0437\u0430\u043b\u043e\u0447\u0438\u0442\u044c hardware \u0447\u0435\u0440\u0435\u0437 secure boot \u0442\u0430\u043a, \u0447\u0442\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u044f\u0434\u0440\u043e \u043d\u0430 \u0441\u0432\u043e\u0451\u043c \u0436\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435. GPL-3 \u044d\u0442\u043e \u0437\u0430\u043f\u0440\u0435\u0449\u0430\u0435\u0442. \u0414\u043b\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0446\u0435\u043b\u0438\u0442\u0441\u044f \u0432 Edge \u0438 IoT, \u044d\u0442\u043e \u043d\u0435 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u044f.<\/p>\n<p>GPL-3 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u044f\u0432\u043d\u044b\u0439 \u043f\u0430\u0442\u0435\u043d\u0442\u043d\u044b\u0439 \u0433\u0440\u0430\u043d\u0442 \u2014 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u044f \u043a\u043e\u0434, \u0432\u044b \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u044f\u043c \u043f\u0440\u0430\u0432\u0430 \u043d\u0430 \u043f\u0430\u0442\u0435\u043d\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043d\u0430\u0440\u0443\u0448\u0435\u043d\u044b \u044d\u0442\u0438\u043c \u043a\u043e\u0434\u043e\u043c. MIT \u0442\u0430\u043a\u043e\u0439 \u0437\u0430\u0449\u0438\u0442\u044b \u043d\u0435 \u0434\u0430\u0451\u0442.<\/p>\n<p><strong>\u041f\u043e\u0447\u0435\u043c\u0443 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0443\u0436\u043d\u0430 \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0430\u044f \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044f:<\/strong><\/p>\n<p>GPL-3 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u043f\u0443\u0442\u044c \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0445\u043e\u0442\u044f\u0442 \u0432\u0441\u0442\u0440\u043e\u0438\u0442\u044c OptimaOS \u0432 \u043f\u0440\u043e\u043f\u0440\u0438\u0435\u0442\u0430\u0440\u043d\u044b\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u0431\u0435\u0437 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430 \u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f. \u042d\u0442\u043e \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0439 \u0431\u0430\u0440\u044c\u0435\u0440 \u0434\u043b\u044f \u0447\u0430\u0441\u0442\u0438 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u2014 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0432 \u043f\u0440\u043e\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u044b\u0445 \u0438 embedded-\u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f\u0445, \u0433\u0434\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438 \u043d\u0435 \u043f\u0440\u0438\u043d\u044f\u0442\u043e \u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u0442\u044c. Dual licensing \u0440\u0435\u0448\u0430\u0435\u0442 \u044d\u0442\u043e: community \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 GPL-3, \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043f\u043b\u0430\u0442\u044f\u0442 \u0437\u0430 \u043f\u0440\u0430\u0432\u043e \u043d\u0435 \u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f.<\/p>\n<p>\u0421\u0445\u0435\u043c\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f: \u0442\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 Qt, MySQL, MongoDB.<\/p>\n<p><strong>CLA \u0434\u043b\u044f \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u043e\u0440\u043e\u0432:<\/strong><\/p>\n<p>Dual licensing \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0435\u0434\u0438\u043d\u043e\u0433\u043e \u043f\u0440\u0430\u0432\u043e\u043e\u0431\u043b\u0430\u0434\u0430\u0442\u0435\u043b\u044f \u2014 \u0438\u043d\u0430\u0447\u0435 \u043d\u0435\u043b\u044c\u0437\u044f \u0432\u044b\u0434\u0430\u0432\u0430\u0442\u044c \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0443\u044e \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044e \u043d\u0430 \u0447\u0443\u0436\u043e\u0439 \u043a\u043e\u0434. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u0441\u0435 \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u043e\u0440\u044b \u043f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442 CLA (Contributor License Agreement): \u043e\u043d\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442 \u0430\u0432\u0442\u043e\u0440\u0441\u043a\u0438\u0435 \u043f\u0440\u0430\u0432\u0430 \u043d\u0430 \u0441\u0432\u043e\u0439 \u043a\u043e\u0434, \u043d\u043e \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u043f\u0440\u043e\u0435\u043a\u0442\u0443 \u043f\u0440\u0430\u0432\u043e \u043f\u0435\u0440\u0435\u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u043f\u043e\u0434 \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u043e\u0439 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439. \u0411\u0435\u0437 CLA, \u043f\u0440\u0438\u043d\u044f\u0442\u043e\u0433\u043e \u0434\u043e \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0432\u043d\u0435\u0448\u043d\u0435\u0433\u043e \u043f\u0430\u0442\u0447\u0430, dual licensing \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u044e\u0440\u0438\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u043c.<\/p>\n<p>\u042d\u0442\u043e \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0432 <a href=\"http:\/\/CONTRIBUTING.md\" rel=\"noopener noreferrer nofollow\"><code>CONTRIBUTING.md<\/code><\/a> \u0438 <a href=\"http:\/\/README.md\" rel=\"noopener noreferrer nofollow\"><code>README.md<\/code><\/a> \u0434\u043e \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0433\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u044f \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f.<\/p>\n<h3>\u0422\u0435\u043a\u0443\u0449\u0438\u0439 \u0441\u0442\u0430\u0442\u0443\u0441<\/h3>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u041a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0421\u0442\u0430\u0442\u0443\u0441<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Kernel-core (memory + MMU, scheduler, IPC, capability, syscall)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Home \/ Server \u043f\u0440\u043e\u0444\u0438\u043b\u0438<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0413\u043e\u0442\u043e\u0432\u043e<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Linux ABI L1 + L2 (129 \u0442\u0435\u0441\u0442\u043e\u0432)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0413\u043e\u0442\u043e\u0432\u043e<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Page tables x86_64 (PML4\u2192PT, page fault handler)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0420\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">xHCI USB host controller<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u043e\u043b\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f (QEMU)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">UEFI bootloader + BootData v2 ABI<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0413\u043e\u0442\u043e\u0432\u043e<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Boot \u043d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c x86_64<\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Hardware interrupts (PIC\/PIT\/IDT, hardware ticks)<\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Scheduler \u0432 post-UEFI hardware runtime<\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">GUI framework (Desktop, Start Menu, File Browser)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0411\u0430\u0437\u043e\u0432\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Crypto-service (PQC)<\/p>\n<\/td>\n<td>\n<p align=\"left\">Stub, \u043f\u043e\u043b\u043d\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Physical security (IOMMU, MemoryZeroize)<\/p>\n<\/td>\n<td>\n<p align=\"left\">Stub, \u043f\u043e\u043b\u043d\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">On-device smoke harness (task execution)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><strong>847 \u0442\u0435\u0441\u0442\u043e\u0432, 100% pass.<\/strong><\/p>\n<p>P0 performance baseline (QEMU, \u0444\u0435\u0432\u0440\u0430\u043b\u044c 2026):<\/p>\n<ul>\n<li>\n<p>IPC p95 \u2264 25 \u00b5s, context-switch p95 \u2264 35 \u00b5s<\/p>\n<\/li>\n<li>\n<p>Throughput \u2265 30k req\/s, tail p99 \u2264 80 ms<\/p>\n<\/li>\n<\/ul>\n<p>\u0420\u0435\u0430\u043b\u044c\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430 \u0441 \u0436\u0435\u043b\u0435\u0437\u0430 \u2014 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u0442\u043e\u0447\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<h3>\u041f\u043b\u0430\u043d\u044b<\/h3>\n<p><strong>\u0411\u043b\u0438\u0436\u0430\u0439\u0448\u0435\u0435 \u2014 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0439 task execution \u043d\u0430 \u0436\u0435\u043b\u0435\u0437\u0435.<\/strong> Scheduler \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043c\u043e\u0434\u0435\u043b\u044c (TASK1\u2026TASK4, RUN\/RDY\/SLP), \u043d\u043e \u043d\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438. \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0448\u0430\u0433 \u2014 task execution \u0441 IPC \u043c\u0435\u0436\u0434\u0443 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c\u0438 \u043d\u0430 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435. \u042d\u0442\u043e \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442 on-device smoke harness.<\/p>\n<p><strong>\u0414\u0435\u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044f kernel-\u043c\u043e\u0434\u0443\u043b\u0435\u0439.<\/strong> <code>runtime_<\/code><a href=\"http:\/\/scheduler.rs\" rel=\"noopener noreferrer nofollow\"><code>scheduler.rs<\/code><\/a> \u0443\u0436\u0435 \u0432\u044b\u043d\u0435\u0441\u0435\u043d, <code>runtime_<\/code><a href=\"http:\/\/arch.rs\" rel=\"noopener noreferrer nofollow\"><code>arch.rs<\/code><\/a> \u043d\u0430\u0447\u0430\u0442. Hardware bring-up \u043f\u043e\u043a\u0430\u0437\u0430\u043b, \u0433\u0434\u0435 \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u043d\u0435\u0447\u0451\u0442\u043a\u0438\u0435 \u2014 \u044d\u0442\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f.<\/p>\n<p><strong>Linux L2 completion.<\/strong> L2-C \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d, \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0440\u0443\u0431\u0435\u0436 \u2014 <code>signalfd<\/code>\/<code>eventfd<\/code>. \u041f\u043e\u0441\u043b\u0435 \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u2014 Android Binder IPC \u043d\u0430 <code>optima_syscall_v0<\/code> \u0432 backlog.<\/p>\n<p><strong>\u041f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u043a\u043e\u0434\u0430.<\/strong> \u0420\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d: LICENSE (GPL-3.0), README, CONTRIBUTING, SECURITY, CODEOWNERS, .github templates. \u041f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 Git \u2014 \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u043e\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f stable hardware milestone \u0441 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u043c task execution.<\/p>\n<p><strong>\u0414\u0430\u043b\u044c\u0448\u0435 \u2014 Win32 L3.<\/strong> \u042d\u0442\u043e \u0441\u0430\u043c\u044b\u0439 \u0441\u043b\u043e\u0436\u043d\u044b\u0439 \u0441\u043b\u043e\u0439, \u0434\u0430\u043b\u0451\u043a\u0430\u044f \u043f\u0435\u0440\u0441\u043f\u0435\u043a\u0442\u0438\u0432\u0430. \u041d\u043e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0443\u0436\u0435 \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d\u0430 \u043f\u043e\u0434 \u043d\u0435\u0433\u043e.<\/p>\n<p>\u0413\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u0430\u044f \u0446\u0435\u043b\u044c: \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0433\u0438\u043f\u043e\u0442\u0435\u0437\u0443 \u2014 \u043e\u0434\u0438\u043d kernel binary, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u0441 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0444\u0438\u043b\u044f\u043c\u0438 \u043d\u0430 \u0434\u0435\u0441\u043a\u0442\u043e\u043f\u0435, \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0438 Edge-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435 \u0431\u0435\u0437 \u0434\u0435\u0433\u0440\u0430\u0434\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438. Boot chain \u043d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0436\u0435\u043b\u0435\u0437\u0435 \u2014 \u043f\u0435\u0440\u0432\u0430\u044f \u0442\u043e\u0447\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445. \u0420\u0435\u0430\u043b\u044c\u043d\u044b\u0439 task execution \u2014 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f.<\/p>\n<p>\u041a\u043e\u0434 \u043d\u0430 Github \u0432\u044b\u043b\u043e\u0436\u0438\u043b \u2014 <a href=\"https:\/\/github.com\/dev993848\/optimaos\" rel=\"noopener noreferrer nofollow\">https:\/\/github.com\/dev993848\/optimaos<\/a><\/p>\n<p><strong>P.S. <\/strong>\u0421\u0440\u0430\u0437\u0443 \u0433\u043e\u0432\u043e\u0440\u044e \u043a \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0438 \u0441\u0442\u0430\u0442\u044c\u0438, \u043d\u0430\u0440\u0430\u0432\u043d\u0435 \u0441\u043e \u043c\u043d\u043e\u0439, \u043f\u0440\u0438\u043b\u043e\u0436\u0438\u043b\u0438 \u0440\u0443\u043a\u0443 \u0442\u0430\u043a\u0438\u0435 \u0438\u043d\u043e\u0441\u0442\u0440\u0430\u043d\u043d\u044b\u0435 \u043f\u0430\u0440\u0442\u043d\u0435\u0440\u044b \u043a\u0430\u043a Claude \u0438 Codex, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043d\u0430\u0448\u0438 \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u0438\u0435 \u0434\u0440\u0443\u0437\u044c\u044f DeepSeek, Qwen, GLM \u0438 \u0434\u0440\u0443\u0433\u0438\u0435)<\/p>\n<\/div>\n<p>\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/1028378\/\">https:\/\/habr.com\/ru\/articles\/1028378\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0426\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u0430\u044f \u0438\u0434\u0435\u044f: \u043e\u0434\u043d\u043e \u044f\u0434\u0440\u043e, runtime-\u043f\u0440\u043e\u0444\u0438\u043b\u0438\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0440\u0435\u0448\u0430\u0435\u0442 OptimaOS \u2014 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0447\u0435\u0440\u0435\u0437 \u0444\u043e\u0440\u043a\u0438\u043d\u0433. Android \u2014 \u0444\u043e\u0440\u043a Linux. Embedded-\u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u044b \u2014 \u0444\u043e\u0440\u043a\u0438 \u0441 \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u043c\u0438 \u043f\u0430\u0442\u0447\u0430\u043c\u0438 \u043f\u043e\u0434 \u043a\u0430\u0436\u0434\u044b\u0439 SoC. AI-\u0441\u0442\u0435\u043a\u0438 \u2014 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u0434\u043e\u0432\u044b\u0435 \u0431\u0430\u0437\u044b. \u041a\u0430\u0436\u0434\u044b\u0439 \u0444\u043e\u0440\u043a \u2014 \u044d\u0442\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 security-\u0430\u0443\u0434\u0438\u0442, \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0438 \u0441\u0432\u043e\u0439 \u043d\u0430\u043a\u0430\u043f\u043b\u0438\u0432\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u0440\u0435\u0433\u0440\u0435\u0441\u0441.POST UEFI MODE. MM_OK INTR_OK SCHED_OK` \u2014 \u044d\u0442\u043e \u043d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c x86_64, \u043d\u0435 \u0432 QEMU.\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u0430\u044f \u0441\u0442\u0430\u0432\u043a\u0430: \u043e\u0434\u0438\u043d kernel-core binary \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432, \u0430 \u043f\u0440\u043e\u0444\u0438\u043b\u044c\u043d\u044b\u0435 \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u044f \u2014 \u044d\u0442\u043e runtime policy, \u043d\u0435 fork \u043a\u043e\u0434\u043e\u0432\u043e\u0439 \u0431\u0430\u0437\u044b.\u042d\u0442\u043e \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0432 ADR-0002 \u043a\u0430\u043a Single Kernel + Runtime Profile Overlays. \u0420\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0436\u0451\u0441\u0442\u043a\u043e\u0435:\u042f\u0434\u0440\u043e (\u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u044b) \u2014 \u043d\u0435 \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0438 \u0434\u043b\u044f \u043a\u0430\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438:Memory manager + MMU page tables (PML4 \u2192 PDPT \u2192 PD \u2192 PT)Scheduler (\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b, \u043f\u043e\u0442\u043e\u043a\u0438, SMP)IPC-\u0448\u0438\u043d\u0430 \u0441 \u0442\u0438\u043f\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438 endpoint\u2019\u0430\u043c\u0438Capability-\u0433\u0440\u0430\u0444 \u0441 \u043a\u0432\u043e\u0442\u0430\u043c\u0438 \u0438 TTLSyscall ABI (optima_syscall_v0)Page fault handler\u041f\u0440\u043e\u0444\u0438\u043b\u0438 (\u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430) \u2014 \u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f runtime:Policy rules: \u0447\u0442\u043e \u043a\u0430\u043a\u043e\u043c\u0443 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0443 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u043e\u0417\u0430\u043f\u0443\u0441\u043a \u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b userspace-\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430 (latency-first \u0434\u043b\u044f home, throughput-first \u0434\u043b\u044f server)\u0420\u0430\u0437\u0440\u0435\u0448\u0451\u043d\u043d\u044b\u0435 syscall-\u043f\u0430\u0442\u0442\u0435\u0440\u043d\u044b\u041d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435: \u043e\u0434\u0438\u043d \u0431\u0438\u043d\u0430\u0440\u044c \u044f\u0434\u0440\u0430, \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f policy-\u0444\u0430\u0439\u043b, policy-service \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442 \u0435\u0433\u043e \u043f\u043e\u0432\u0435\u0440\u0445. \u041f\u0435\u0440\u0435\u0441\u0431\u043e\u0440\u043a\u0438 \u044f\u0434\u0440\u0430 \u043d\u0435\u0442. \u042d\u0442\u043e \u043d\u0435 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e \u2014 \u0447\u0430\u0441\u0442\u044c server-\u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u044e\u0442 kernel semantics, \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e ADR \u0438 \u043f\u0435\u0440\u0435\u0441\u0431\u043e\u0440\u043a\u0438. \u041d\u043e \u044d\u0442\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0439 \u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0438\u0441\u0441.\u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u044f\u0434\u0440\u0430kernel-core \u2014 \u043e\u0434\u043d\u0430 Rust workspace crate, ~33K \u0441\u0442\u0440\u043e\u043a. #[forbid(unsafe_code)] \u2014 \u043d\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u044f, \u0430 \u0437\u0430\u043f\u0440\u0435\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430. \u0412\u0435\u0441\u044c unsafe \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d \u0432 HAL-\u0441\u043b\u043e\u0435 (hardware\/mod.rs) \u0438 \u044f\u0432\u043d\u043e \u0430\u043d\u043d\u043e\u0442\u0438\u0440\u043e\u0432\u0430\u043d. \u0418\u0442\u043e\u0433\u043e ~600 \u0441\u0442\u0440\u043e\u043a unsafe \u043d\u0430 \u0432\u0441\u0451 \u044f\u0434\u0440\u043e.\u041f\u0430\u043c\u044f\u0442\u044cmemory.rs \u2014 \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440: mmap\/munmap\/protect \u0441 \u0444\u043b\u0430\u0433\u0430\u043c\u0438 PROT_READ\/WRITE\/EXEC.mm.rs \u2014 \u043f\u043e\u043b\u043d\u044b\u0435 x86_64 page tables. \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0430\u044f: PML4 (level 4) \u2192 PDPT \u2192 PD \u2192 PT \u2192 4KB \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430. \u0420\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b PageFlags, PageTableEntry, PageTable, PML4, PageTableAllocator (512 \u0441\u0442\u0440\u0430\u043d\u0438\u0446) \u0438 VirtualMemoryManager. Memory isolation levels \u043f\u043e ADR-0008: Level 1 (Capability IPC) \u2014 \u0433\u043e\u0442\u043e\u0432\u043e, Level 2 (MPU Regions) \u2014 stub, Level 3 (MMU Page Tables) \u2014 \u0433\u043e\u0442\u043e\u0432\u043e.page_fault.rs \u2014 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043d\u044b\u0445 \u043e\u0448\u0438\u0431\u043e\u043a \u0447\u0435\u0440\u0435\u0437 interrupt vector #14. \u0420\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u0442 PageFaultErrorCode (P\/W\/U\/RSVD\/ID \u0431\u0438\u0442\u044b), \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0443, \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0451\u043d \u043a runtime IDT.Demand paging \u0438 Copy-on-Write \u2014 \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0435\u0441\u0442\u044c, \u043f\u043e\u043b\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0432 \u043f\u043b\u0430\u043d\u0430\u0445.IPCProcess A \u2500\u2500send(endpoint_B, data)\u2500\u2500&gt; IpcBus \u2500\u2500enqueue\u2500\u2500&gt; Process B                                         \u2502                                    capability check                                    type check                                    rate limit                                    audit log\u041a\u0430\u0436\u0434\u044b\u0439 endpoint \u0438\u043c\u0435\u0435\u0442 owner PID \u0438 \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 (VecDeque&lt;Message&gt;). \u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043d\u0435\u0441\u0451\u0442 from_pid, payload \u0438 \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0445 capabilities \u2014 \u0442\u0430\u043a \u0447\u0442\u043e capabilities \u043c\u043e\u0436\u043d\u043e \u0434\u0435\u043b\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 IPC \u0431\u0435\u0437 \u043e\u0431\u0445\u043e\u0434\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0439.\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c (QEMU-surrogate): p50 = 900ns, p95 = 1700ns, p99 = 2500ns, throughput = 904k req\/s. \u041f\u043e\u0434 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439 (4 concurrent senders, 64-byte messages) \u043f\u0440\u0438\u0440\u043e\u0441\u0442 \u043b\u0430\u0442\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u0438 \u2014 \u043c\u0435\u043d\u0435\u0435 2x. \u041d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0436\u0435\u043b\u0435\u0437\u0435 \u0446\u0438\u0444\u0440\u044b \u0431\u0443\u0434\u0443\u0442 \u0434\u0440\u0443\u0433\u0438\u043c\u0438, \u0441\u0435\u0439\u0447\u0430\u0441 \u0437\u0430\u043c\u0435\u0440\u044f\u0435\u043c.\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c IPC \u043d\u0435 \u043e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f:Capability check \u2014 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u0435\u043b\u044c \u043e\u0431\u044f\u0437\u0430\u043d \u0438\u043c\u0435\u0442\u044c \u043f\u0440\u0430\u0432\u043e \u043d\u0430 endpointType check \u2014 \u0442\u0438\u043f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0432\u0435\u0440\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u0442\u0441\u044fSession-level \u0438 per-method rate limitingAudit log \u043d\u0430 \u0433\u0440\u0430\u043d\u0438\u0446\u0430\u0445 \u0434\u043e\u0432\u0435\u0440\u0438\u044fCapabilitiesCapability \u2014 \u044d\u0442\u043e struct:pub struct Capability {    pub id: CapId,    pub owner_pid: u64,    pub resource: Resource,      \/\/ Endpoint(u64) | MemoryRegion(u64) | Process(u64)    pub permission: Permission,  \/\/ read \/ write \/ manage    pub quota: ResourceQuota,    pub created_at: u64,    pub expires_at: Option&lt;u64&gt;, \/\/ TTL \u0434\u043b\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445    pub priority: QuotaPriority,    pub violation_count: u32,}ResourceQuota \u0437\u0430\u0434\u0430\u0451\u0442 \u043b\u0438\u043c\u0438\u0442\u044b: max_memory_bytes (1 GB default), max_ipc_per_second (10K\/sec), max_threads (256), max_file_handles (1024), max_capabilities (512).\u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043f\u0440\u0438 \u043d\u0430\u0440\u0443\u0448\u0435\u043d\u0438\u0438 \u043a\u0432\u043e\u0442\u044b \u2014 \u043d\u0435 crash, \u0430 \u0434\u0435\u0433\u0440\u0430\u0434\u0430\u0446\u0438\u044f \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u0430: High \u2192 Normal \u2192 Low \u2192 Degraded. \u042d\u0442\u043e \u0437\u0430\u0449\u0438\u0442\u0430 \u043e\u0442 DoS \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u044f\u0434\u0440\u0430. \u0412\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 capabilities (create_temporary_capability \u0441 TTL) \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0438\u043d\u0432\u0430\u043b\u0438\u0434\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u2014 \u043d\u0435 \u043d\u0443\u0436\u0435\u043d garbage collector \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0439.API CapabilityManager: grant, grant_with_quota, create_temporary_capability, revoke, transfer, inspect, check_quota, check_ipc_rate_limit, degrade_priority, update_quota, is_expired. 23 \u0442\u0435\u0441\u0442\u0430 \u043f\u043e\u043a\u0440\u044b\u0432\u0430\u044e\u0442 \u0432\u0441\u0435 \u0432\u0435\u0442\u043a\u0438, \u0432\u043a\u043b\u044e\u0447\u0430\u044f boundary values \u0438 quota combinations.\u041f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043aTask states: Ready \/ Running \/ Blocked \/ Terminated.Context switch: \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u2192 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 CR3 \u043d\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430 (\u0435\u0441\u043b\u0438 \u0434\u0440\u0443\u0433\u043e\u0435 \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e) \u2192 TLB flush \u2192 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u2192 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u043d\u043e\u0432\u044b\u0439 \u0441\u0442\u0435\u043a.SMP \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0447\u0435\u0440\u0435\u0437 SmpManager \u0441 PerCpuData, CpuInfo (family\/model\/stepping\/features) \u0438 IPI (Inter-Processor Interrupts): Halt, Init, Call, Resched.\u041f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430 \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0444\u0438\u043b\u0435\u043c: home \u2192 Interactive (\u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u043c \u0437\u0430\u0434\u0430\u0447\u0430\u043c), server \u2192 Throughput (\u043c\u0430\u043a\u0441\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043d\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438). Syscall-\u0443\u0440\u043e\u0432\u0435\u043d\u044c: sys.spawn, sys.exit, sys.sleep, sys.yield.Boot chain: \u0434\u0432\u0443\u0445\u0441\u043b\u043e\u0439\u043d\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430ADR-0003 \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u0435\u0442 \u043c\u043e\u0434\u0435\u043b\u044c Hybrid Staged Console Integration. \u041d\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 \u2014 \u0443\u0441\u043b\u043e\u0436\u043d\u0435\u043d\u0438\u0435, \u043d\u0430 \u0434\u0435\u043b\u0435 \u2014 \u0447\u0451\u0442\u043a\u043e\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438.Stage A (UEFI shim): transport + diagnostics. \u041f\u0443\u0431\u043b\u0438\u043a\u0443\u0435\u0442 input-\u0441\u043e\u0431\u044b\u0442\u0438\u044f, \u0440\u0435\u043d\u0434\u0435\u0440\u0438\u0442 output frames \u043e\u0442 runtime. \u041a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u2014 \u043d\u0438\u043a\u0430\u043a\u043e\u0439 \u0431\u0438\u0437\u043d\u0435\u0441-\u043b\u043e\u0433\u0438\u043a\u0438.Stage B (kernel-core runtime): \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0442\u043e\u0447\u043a\u0430 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434. \u041e\u0434\u0438\u043d parser\/dispatcher \u0434\u043b\u044f host \u0438 device \u043a\u043e\u043d\u0442\u0443\u0440\u043e\u0432.\u0413\u0440\u0430\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438 \u2014 console_proto=v1. Shim \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442 input events \u0432 runtime, \u0440\u0435\u043d\u0434\u0435\u0440\u0438\u0442 output frames. \u041d\u0435\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 \u2014 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0435\u0440\u0435\u0437 \u043d\u043e\u0432\u044b\u0439 major \u0438 ADR.UEFI-\u043a\u043e\u0434 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 \u043f\u0440\u0438\u0432\u0438\u043b\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 \u0441 \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c \u043a boot services. \u0413\u0440\u0430\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 boot \u0438 runtime \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u044f\u0432\u043d\u043e\u0439 \u0438 \u0432\u0435\u0440\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u043c\u043e\u0439 \u2014 \u0438\u043d\u0430\u0447\u0435 \u0430\u0443\u0434\u0438\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0438\u0430\u043b\u044c\u043d\u043e \u0441\u043b\u043e\u0436\u043d\u0435\u0435. \u0421\u0442\u0440\u043e\u0433\u043e\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u0435\u0440\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u043b\u043e\u0439 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e.\u0416\u0438\u0437\u043d\u0435\u043d\u043d\u044b\u0439 \u0446\u0438\u043a\u043b: BootInit \u2192 ShimReady \u2192 RuntimeAttach \u2192 Interactive \u2192 DegradedFailure policy \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0430: \u043f\u0440\u0438 \u0434\u0435\u0433\u0440\u0430\u0434\u0430\u0446\u0438\u0438 input path \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f bootable \u0432 diagnostics-mode. Runtime state \u043d\u0435 \u043b\u043e\u043c\u0430\u0435\u0442\u0441\u044f \u043e\u0442 transport-level \u043e\u0448\u0438\u0431\u043e\u043a.BootData ABI v2: \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442\u0441\u044f \u0440\u0435\u0430\u043b\u044c\u043d\u0430\u044f \u043a\u0430\u0440\u0442\u0430 \u043f\u0430\u043c\u044f\u0442\u0438 (region list), \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0430\u0433\u0440\u0435\u0433\u0430\u0442\u044b. Self-check handoff (SELFCHK) + \u043a\u043e\u0434\u044b \u043e\u0448\u0438\u0431\u043e\u043a \u2014 \u0432\u0435\u0440\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u043c\u0435\u0436\u0434\u0443 bootloader \u0438 \u044f\u0434\u0440\u043e\u043c.Linux ABI: \u043f\u043e\u044d\u0442\u0430\u043f\u043d\u043elinux-compat \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 \u043c\u0430\u043f\u043f\u0438\u043d\u0433 Linux syscall\u2019\u043e\u0432 \u043d\u0430 optima_syscall_v0. \u0417\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 kernel-core \u044f\u0432\u043d\u043e \u2014 \u044d\u0442\u043e \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0442\u0430\u043a\u043e\u0435 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435.L1: clone, exit, nanosleep, mmap, munmap, sendmsg, recvmsg, \u0441\u0438\u0433\u043d\u0430\u043b\u044b (\u043c\u0438\u043d\u0438\u043c\u0443\u043c), epoll (\u043c\u0438\u043d\u0438\u043c\u0443\u043c).L2-A: fd lifecycle (open\/close\/read\/write), dup\/dup2, poll\/epoll_wait.L2-B: signal masks, pending queue.L2-C: epoll_ctl(DEL\/MOD), \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u0430\u044f epoll-\u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u0430.129 \u0442\u0435\u0441\u0442\u043e\u0432, 100% pass. Linux bridge API \u043f\u043e\u043c\u0435\u0447\u0435\u043d \u043a\u0430\u043a draft \u2014 \u044d\u0442\u043e \u043d\u0435 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 ABI. \u0421\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e.\u041a\u0430\u0436\u0434\u044b\u0439 \u043d\u043e\u0432\u044b\u0439 syscall \u2014 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 attack surface. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u044d\u0442\u0430\u043f\u043d\u043e, \u0438 \u043a\u0430\u0436\u0434\u044b\u0439 \u044d\u0442\u0430\u043f \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f compatibility matrix \u0442\u0435\u0441\u0442\u0430\u043c\u0438.Userspace-\u0441\u0435\u0440\u0432\u0438\u0441\u044b\u0421\u0435\u0440\u0432\u0438\u0441\u044b \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u044f\u0442 \u043e\u0442 kernel-core \u043a\u0430\u043a \u043e\u0442 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438. \u041e\u0431\u0449\u0435\u043d\u0438\u0435 \u2014 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0435\u0440\u0435\u0437 typed IPC + capabilities.\u0421\u0435\u0440\u0432\u0438\u0441\u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442policy-service\u041f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442 policy overlays, \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 runtime-\u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c\u0438device-manager\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u043c\u0438, IOMMU \u0434\u043e\u043c\u0435\u043d\u044bfilesystem-service\u0424\u0430\u0439\u043b\u043e\u0432\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0432 userspacenetwork-service\u0421\u0435\u0442\u0435\u0432\u043e\u0439 \u0441\u0442\u0435\u043a \u0432 userspaceprofile-service\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0444\u0438\u043b\u044c\u043d\u044b\u043c\u0438 overlays\u0422\u0430\u043a\u0430\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u2014 \u043f\u0440\u044f\u043c\u043e\u0435 \u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0435 \u043c\u0438\u043a\u0440\u043e\u044f\u0434\u0435\u0440\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b. Crash \u0432 filesystem-service \u043d\u0435 \u0443\u0440\u043e\u043d\u0438\u0442 \u044f\u0434\u0440\u043e. \u041a\u043e\u043c\u043f\u0440\u043e\u043c\u0435\u0442\u0430\u0446\u0438\u044f network-service \u043d\u0435 \u0434\u0430\u0451\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u043a capability-\u0433\u0440\u0430\u0444\u0443.xHCI USB host controller driver \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 QEMU.\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0432 \u044f\u0434\u0440\u0435\u0417\u0434\u0435\u0441\u044c \u043d\u0435 \u0441\u043f\u0438\u0441\u043e\u043a \u0444\u0438\u0447, \u0430 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u0438\u043d\u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b.Capability-\u0433\u0440\u0430\u0444 \u0432\u043c\u0435\u0441\u0442\u043e root. \u0413\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0433\u043e root \u043d\u0435\u0442. \u041a\u0430\u0436\u0434\u043e\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u044f\u0432\u043d\u043e\u0433\u043e capability \u0441 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u043e\u0439 owner PID.Typed IPC. \u041d\u0435\u043b\u044c\u0437\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u0442\u0438\u043f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u2014 \u044d\u0442\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0432 \u044f\u0434\u0440\u0435, \u043d\u0435 \u0432 userspace.Quota-based DoS protection. \u041f\u0440\u043e\u0446\u0435\u0441\u0441, \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u044e\u0449\u0438\u0439 \u043b\u0438\u043c\u0438\u0442\u044b, \u0434\u0435\u0433\u0440\u0430\u0434\u0438\u0440\u0443\u0435\u0442 \u043f\u043e \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u0443 \u2014 \u043d\u0435 \u043f\u0430\u0434\u0430\u0435\u0442 \u0438 \u043d\u0435 \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u0443.Tamper-evident audit log. Hash chain integrity \u0434\u043b\u044f \u0432\u0441\u0435\u0445 security-\u0441\u043e\u0431\u044b\u0442\u0438\u0439: AUTHZ_DENY, CAPABILITY_GRANT, CAPABILITY_REVOKE, IPC_AUTH_FAIL, POLICY_BYPASS_ATTEMPT, KERNEL_PANIC, SERVICE_CRASH_RECOVERY.Crypto-service (stub). \u041a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044f \u0432\u044b\u043d\u0435\u0441\u0435\u043d\u0430 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 userspace-\u0441\u0435\u0440\u0432\u0438\u0441. \u042f\u0434\u0440\u043e \u0437\u043d\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e capabilities. PqcAlgorithm enum \u2014 ML-KEM-512\/768\/1024 \u0438 ML-DSA-44\/65\/87. CryptoManager \u0441 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0435\u0439 \u043a\u043b\u044e\u0447\u0435\u0439, KEM \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u043c\u0438, \u043f\u043e\u0434\u043f\u0438\u0441\u044f\u043c\u0438, \u0440\u043e\u0442\u0430\u0446\u0438\u0435\u0439, \u043f\u0435\u0440\u0435\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c legacy-\u0444\u0430\u0439\u043b\u043e\u0432. 18 \u0442\u0435\u0441\u0442\u043e\u0432, \u043f\u043e\u043b\u043d\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430. \u0414\u043b\u044f production \u043d\u0443\u0436\u043d\u0430 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 liboqs.pub enum PqcAlgorithm {    MlKem512, MlKem768, MlKem1024,  \/\/ NIST Level 1\/3\/5    MlDsa44, MlDsa65, MlDsa87,      \/\/ NIST Level 2\/3\/5}pub struct CryptoManager {    keys: Vec&lt;CryptoKey&gt;,    policy: CryptoPolicy,  \/\/ AllAllowed | PqcOnly | PqcMinimumLevel    stats: CryptoStats,}\u041f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b \u044d\u0442\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u0441 ECDSA \u043d\u0430 ML-KEM \u2014 \u044d\u0442\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0434\u043d\u043e\u0433\u043e userspace-\u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a\u0430 \u0431\u0435\u0437 \u043f\u0435\u0440\u0435\u0441\u0431\u043e\u0440\u043a\u0438 \u044f\u0434\u0440\u0430. \u0412 \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u043e\u043c \u044f\u0434\u0440\u0435 \u044d\u0442\u043e \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u044f\u0434\u0440\u0430, lsass, \u0437\u0430\u0449\u0438\u0449\u0451\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u0438 \u0437\u0430\u043c\u0435\u043d\u044b \u043f\u0440\u043e\u0448\u0438\u0432\u043e\u043a.\u041b\u0438\u0446\u0435\u043d\u0437\u0438\u044f: GPL-3 + dual licensing\u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0432 \u043f\u043b\u0430\u043d\u0435 \u0431\u044b\u043b\u0430 MIT\/Apache. \u0412 \u0438\u0442\u043e\u0433\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u0430 GPL-3 \u043f\u043b\u044e\u0441 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0430\u044f \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044f \u2014 dual licensing.\u041f\u043e\u0447\u0435\u043c\u0443 GPL-3, \u0430 \u043d\u0435 MIT:Copyleft \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u044f\u0434\u0440\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438\u043d\u0430\u0447\u0435, \u0447\u0435\u043c \u0432 \u043e\u0431\u044b\u0447\u043d\u044b\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u0445. \u0415\u0441\u043b\u0438 \u043a\u0442\u043e-\u0442\u043e \u0431\u0435\u0440\u0451\u0442 kernel-core, \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u0442 \u0438 \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442 \u0432 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u2014 GPL-3 \u043e\u0431\u044f\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f. \u0418\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u043e \u0437\u0430\u0449\u0438\u0449\u0430\u0435\u0442 \u043e\u0442 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u0440\u0435\u0448\u0438\u0442\u044c: \u0444\u043e\u0440\u043a \u0431\u0435\u0437 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0432\u043a\u043b\u0430\u0434\u0430. MIT \u043d\u0435 \u0437\u0430\u0449\u0438\u0449\u0430\u0435\u0442 \u2014 \u0432\u0435\u043d\u0434\u043e\u0440 \u0432\u043e\u0437\u044c\u043c\u0451\u0442 \u044f\u0434\u0440\u043e, \u0434\u043e\u0431\u0430\u0432\u0438\u0442 \u0442\u044b\u0441\u044f\u0447\u0443 \u043f\u0430\u0442\u0447\u0435\u0439 \u043f\u043e\u0434 \u0441\u0432\u043e\u0439 SoC \u0438 \u043d\u0430\u0432\u0441\u0435\u0433\u0434\u0430 \u0443\u0439\u0434\u0451\u0442 \u0432 \u0437\u0430\u043a\u0440\u044b\u0442\u0443\u044e \u0432\u0435\u0442\u043a\u0443.\u0415\u0449\u0451 \u043e\u0434\u043d\u043e \u043e\u0442\u043b\u0438\u0447\u0438\u0435 GPL-3 \u043e\u0442 GPL-2 \u2014 anti-tivoization (Section 3). GPLv2 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044e \u0437\u0430\u043b\u043e\u0447\u0438\u0442\u044c hardware \u0447\u0435\u0440\u0435\u0437 secure boot \u0442\u0430\u043a, \u0447\u0442\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u044f\u0434\u0440\u043e \u043d\u0430 \u0441\u0432\u043e\u0451\u043c \u0436\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435. GPL-3 \u044d\u0442\u043e \u0437\u0430\u043f\u0440\u0435\u0449\u0430\u0435\u0442. \u0414\u043b\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0446\u0435\u043b\u0438\u0442\u0441\u044f \u0432 Edge \u0438 IoT, \u044d\u0442\u043e \u043d\u0435 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u044f.GPL-3 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u044f\u0432\u043d\u044b\u0439 \u043f\u0430\u0442\u0435\u043d\u0442\u043d\u044b\u0439 \u0433\u0440\u0430\u043d\u0442 \u2014 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u044f \u043a\u043e\u0434, \u0432\u044b \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u044f\u043c \u043f\u0440\u0430\u0432\u0430 \u043d\u0430 \u043f\u0430\u0442\u0435\u043d\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043d\u0430\u0440\u0443\u0448\u0435\u043d\u044b \u044d\u0442\u0438\u043c \u043a\u043e\u0434\u043e\u043c. MIT&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-477545","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/477545","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=477545"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/477545\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=477545"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=477545"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=477545"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}