Bağımsız ve Rust-native telefon işletim sistemi
Hedef bir Android dağıtımı, AOSP fork'u veya Linux kullanıcı alanı değildir. Kernel, temel servisler, cihaz broker'ları, sistem arayüzü ve uygulama platformu kendi Rust mimarisiyle geliştirilecek.
Hedef Android çalıştırmak veya APK uyumluluğu değildir. Hedef; microkernel, Rust userspace servisleri, cihaz broker'ları, System UI ve native Rust uygulama platformuyla sıfırdan geliştirilen bir telefon işletim sistemidir. Android ve iPhoneOS yalnız ürün kabiliyeti ve ölçek referansı olarak aşağıda tutulur.
“Telefon işletim sistemi” ürün sonucunu tanımlar; uygulanacak framework'ü tanımlamaz. RustOS kendi ABI'sini, servis grafını, güvenlik modelini ve native uygulama platformunu kurar.
Hedef bir Android dağıtımı, AOSP fork'u veya Linux kullanıcı alanı değildir. Kernel, temel servisler, cihaz broker'ları, sistem arayüzü ve uygulama platformu kendi Rust mimarisiyle geliştirilecek.
Uygulamalar APK/ART üzerinde çalışmayacak. İmzalı native paket; sürümlenmiş syscall/IPC ABI'si, servis arayüzleri ve yalnız ihtiyaç duyduğu capability'leri bildiren bir manifest taşıyacak.
Bu sayfadaki Android/iPhoneOS sütunları uyumluluk hedefi veya uygulanacak mimari değildir. Yalnız boot, ekran, telefon, güç, güncelleme ve saha işletimi gibi eksik ürün yüzeylerini görünür kılar.
Roadmap katman sayısına göre değil, dikey kullanıcı akışlarına göre ilerler. Ancak her kodun nereye ait olduğu aşağıdaki sınırlarla sabitlenir.
MMU · scheduler · IRQ · IPC · notification · capability · user-copy
Sınır: EL1 yalnız koruma, zamanlama ve yetki mekanizması taşır; telefon ürün politikası veya cihaz state machine'i taşımaz.
Temel mekanizmalar ve geniş kanıt yüzeyi var; fiziksel Boot-to-UI kabulü açık.
Sabit ABI, W^X, güvenli user-copy, bounded IPC ve tekrarlı fiziksel boot.
initd · serviced · crashd · logd · timed · policyd
Sınır: Boot grafı, servis bağımlılıkları, restart bütçesi ve health state EL0'da tek bir supervisor sözleşmesiyle yönetilir.
IPC/OOM test programları var; birleşik ürün boot grafı ve kalıcı servis yöneticisi henüz yok.
Servis kill sonrası kernel reboot olmadan bounded restart ve dependency recovery.
displayd · inputd · modemd · audiod · powerd · storaged
Sınır: Her MMIO, IRQ ve DMA kaynağının tek userspace sahibi olur; diğer servisler cihaza yalnız typed IPC ile erişir.
Framebuffer capability modeli var; gerçek scanout, touch, modem ve audio ürün yolları açık.
Tek ekran, tek touch, tek modem ve tek codec profilinde fiziksel uçtan uca kanıt.
compositord · shell · lockscreen · phone · messages · settings
Sınır: UI surface ve input focus capability ile devredilir; uygulama doğrudan framebuffer, touch veya modem sahibi olmaz.
Retained surface/scene sözleşmesi var; fiziksel piksel ve input gözlemi henüz yok.
Kilit ekranı → arama/SMS → ayarlar akışı aynı image üzerinde ölçülebilir çalışır.
Rust SDK · app ABI · package manifest · appmgr · signing · update API
Sınır: Paket kimliği, sürüm, servis bağımlılıkları ve capability talepleri imzalı manifestte; grant kararı policyd/appmgr sınırındadır.
EL0 binary ve IPC örnekleri var; kararlı SDK, paket yaşam döngüsü ve uygulama yöneticisi açık.
2–3 native Rust uygulama; install/start/stop/update/rollback ve izin reddi testleri.
Kernel “hangi servis yeniden denensin, hangi ekran açılsın, modem nasıl kayıt olsun?” kararlarını vermez. Kernel yalnız izolasyon, zamanlama, bellek ve capability uygular; ürün davranışını native Rust EL0 servisleri yönetir.
Rust SDK + versioned ABI + signed package + capability manifest + typed IPC. Uygulama yalnız verilen servis ve kaynak haklarını görür.
Aşağıdaki yüzeyler aynı cümlede duramaz. Biri yerelde cloc ile kesindir, biri farklı araçla yaklaşıktır, biri kapalı üründür. Karşılaştırma yalnız açıkça yazılmış paydaya kadar gider.
| Yüzey | Araç | Kod satırı | Dahil | Hariç |
|---|---|---|---|---|
| RustOS runtime | cloc 2.06 | 97.247 | kernel/src + linker.ld + abi + userspace (target hariç) | yorum, boş satır, test, simülasyon, web, kanıt dokümanı |
| Public XNU | cloc 2.06 | 1.360.310 | commit f6217f8; tests/tools/doc hariç kernel ağacı | SpringBoard, daemon'lar, SEP, baseband, cihaz firmware, tam iOS |
| Linux 7.2 | cloc 2.06 | 30.517.355 | upstream linux-7.2 code alanı | Android 17 ACK exact cloc'u; vendor tree; ürün kernelcache |
| AOSP 17 running | tokei / derdilla | ≈113 milyon* | core 13.290.733 + SDK 584.972 + external/kernel 94.029.145 + packages 5.143.854 | device/, prebuilts/, sdk/ (devtools), tests/docs yolları, vendor blob, Google servisleri, resmi SLOC |
94.460 kernel + ABI ve 2.787 userspace. Yorumlar, boş satırlar, testler, simülasyon, web ve kanıt dokümanları bu sayıya dahil değil.
Bu değer ürün build graph'ı değildir. tokei 14.0.0 + aosp-analyzer, test/doc yolu ayıklanmış kod satırını dört dizine böler: core 13.290.733 + SDK (development/developers) 584.972 + external/kernel 94.029.145 + packages 5.143.854 = 113.048.704. device/ ve prebuilts/ sayılmaz. sdk/ dizini bu kovada değil, devtools aşamasındadır.
Aynı cloc 2.06 ile public XNU commit f6217f8, tests/tools/doc hariç 1.360.310 kod satırıdır. Bu yalnız kernel kesitidir; tam iOS paydası değildir.
≈113 milyon, bu dört tokei kovasının toplamıdır (113.048.704). Ürün build graph'ı, ACK cloc'u veya “cihazda derlenen satır” değildir. Aşamaya basın.
art/ · bionic/ · bootable/ · dalvik/ · frameworks/ · hardware/ · libcore/ · libnativehelper/ · system/
Çalışma zamanı çekirdeği: ART, bionic, framework, hardware HAL iskeleti ve system servisleri. Ürün kernelcache veya ACK cloc'u değildir. Klasör başına ayrı tokei yayımlanmamıştır; satırlar dil tablosundan gelir.
| art/ | ayrı tokei yok |
| bionic/ | ayrı tokei yok |
| bootable/ | ayrı tokei yok |
| dalvik/ | ayrı tokei yok |
| frameworks/ | ayrı tokei yok |
| hardware/ | ayrı tokei yok |
| libcore/ | ayrı tokei yok |
| libnativehelper/ | ayrı tokei yok |
| system/ | ayrı tokei yok |
| Aşama toplamı | 13.290.733 |
| Java | 4.096.310 |
| C Header | 3.099.411 |
| C++ | 3.026.188 |
| Kotlin | 932.434 |
| GNU Assembly | 627.959 |
| C++ Header | 480.646 |
| Rust | 358.363 |
| C | 208.186 |
| CIL (SELinux) | 169.425 |
| Protocol Buffers | 89.687 |
| Python | 81.388 |
| Diğer yayımlı diller | 120.736 |
| Toplam | 13.290.733 |
build/ · cts/ · tools/ · pdk/ · platform_testing/ · sdk/ · test/ · toolchain/
Yayımlı tablo: 1.660.856 kod satırı. Running kovaya dahil edilmez.
device/ · prebuilts/
Analyzer yok sayar. Bu snapshot'ta satır sayısı yoktur.
Kaynak: derdilla AOSP 17 blog tabloları + aosp-analyzer analyze.sh sınıflandırması. Tests/docs yolları bu dört kovadan ayıklanır ve 113 milyona girmez; onların tam satırı bu sayfada ayrı toplam olarak uydurulmaz.
AOSP tablosu klasör + dil diye iki ayrı kutu. RustOS tablosu tek ızgarada Klasör · Dosya · Kod · Dil sütunları kullanır. Ölçüm bu ağacın cloc 2.06 çıktısıdır (97.666 satır). S538 kartındaki 97.247 ile karıştırılmaz; kernel o günden beri büyümüştür. Userspace 2.787 aynı kalır.
Donanım, bellek, görev, UI ve DT alt dizinleri. cloc 2.06, yorum/boş hariç. AOSP core klasörleriyle birebir eşleşmez.
| Klasör | Dosya | Kod | Dil |
|---|---|---|---|
| kernel/src/mm/ | 19 | 8.627 | Rust |
| kernel/src/arch/ | 14 | 5.973 | Rust 5.495 · Assembly 478 |
| kernel/src/task/ | 3 | 5.573 | Rust |
| kernel/src/ui/ | 4 | 4.212 | Rust |
| kernel/src/dt/ | 3 | 1.841 | Rust |
| kernel/src/board/ | 4 | 148 | Rust |
| kernel/src/driver/ | 2 | 81 | Rust |
| Aşama toplamı | 49 | 26.455 | Rust 25.977 · Assembly 478 |
26.455 + 68.281 + 143 + 2.787 = 97.666. Test, simülasyon, web ve docs yine dahil değil. AOSP sütunundaki 13.290.733 core ile toplanamaz.
Logaritmik ölçek gerçeği gösterir; doğrusal ölçek yutar. Çubuğa basınca paydayı görürsünüz. Doğrusal modda RustOS neredeyse kaybolur; bu tamamlanmamışlık değil, kütle farkıdır.
56.364 satırlık “S hariç” dilim TCB diye yayımlanamaz.
AOSP sayımı yaklaşık 1.162× büyüktür. Bu kod-kütlesi oranıdır; RustOS'un Android'in %0,0861'i kadar tamamlandığı anlamına gelmez.
Linux referansı yaklaşık 323× büyüktür. Bu exact ACK karşılaştırması değil; aynı araçla ölçülmüş upstream ölçek referansıdır.
Public XNU yaklaşık 14,4× büyüktür. Karşılaştırma yalnız açık kernel kaynak yüzeyidir; tam iPhoneOS karşılaştırması değildir.
Hücreye basın. Renk tamamlanma yüzdesi değil: gözlenmedi, wiring, plan, açık denetim, ürün veya kapalı ürün. RustOS satırı S546 gerçeğidir.
| Akış | RustOS · S899 | Android | iPhoneOS |
|---|---|---|---|
| Kaynak denetimi | |||
| Soğuk boot | |||
| Ekran scanout | |||
| Dokunma / girdi | |||
| Modem / çağrı / SMS | |||
| PCM ses | |||
| Native uygulama platformu | |||
| Güvenli güncelleme | |||
| Saha / günlük kullanım |
physical_scanout_observed=false. 64×40 surface sözleşmesi UI karesi değildir. İlk kare P1 / S547–S553.
Grafik yığını, compositor ve panel yolları ürün kapsamındadır.
SpringBoard ve kompozitör kapalı tam üründür; public XNU bunu ölçmez.
Her ürün iddiası üç katmanda ayrı yayımlanır. Katmana basın.
Focused test, derleme, Code kartı. Yazılımın sözleşme ve kimliğini kanıtlar.
S899 güncel: S1–S574 kartları yayımlı; S569 focused 18/18 kaynak remediation'ını, S570 focused 16/16 frozen candidate'ı, S571 focused 17/17 fiziksel receipt'i, S572 focused 18/18 supported-profile baseline provenance'ını, S573 focused 21/21 repeat-request sınırını ve S574 focused 26/26 fresh immutable freeze kaydını sabitler. S540/S543/S546 üç fiziksel RED olarak değişmez kalır; S571 dar fiziksel UART readiness verdict PASS'tir.
Kaynak testi tek başına cihazın açıldığını veya ekranın yandığını göstermez.
S-kapıları kanıt günlüğüdür; ürün backlog'unun kendisi değildir. Her milestone güç düğmesinden kullanıcı sonucuna kadar tek bir dikey dilimi kapatmalı. Yol haritasını aşağıdaki altı adımla oluşturun ve her fiziksel RED sonrasında aynı yöntemi tekrarlayın.
Her dilim tek gözlenebilir sonuç üretir: örneğin güç ver → kilit ekranı veya SMS al → bildirim göster.
Gerekli kernel mekanizması, cihaz broker'ı, servis ABI'si, UI ve fiziksel test aynı backlog maddesinde görünür.
Source testi + desteklenen profil runtime'ı + immutable fiziksel kanıt üçü tamamlanmadan ürün özelliği PASS olmaz.
Aynı anda en fazla iki dikey dilim; R1 boyunca tek board, tek ekran, tek touch, tek modem ve tek codec.
Yeni EL1 kodu yalnız koruma mekanizması gerekiyorsa eklenir. State machine, retry politikası ve ürün davranışı EL0 servisine gider.
Image hash, donanım kimliği, servis sürümleri, test sonucu ve ham artifact tek kabul kaydında birleşir.
Bunlar satır kotası değil, zaman ve inceleme kapasitesi oranlarıdır. Kritik bir kernel güvenlik bulgusu oranları geçici olarak değiştirebilir.
Supervisor, servisler, compositor, System UI ve native uygulamalar.
RP1/DSI, touch, modem, audio, güç ve depolama.
Yalnız kritik mekanizma, izolasyon, W^X, IPC ve bellek güvenliği.
Otomatik kabul, fiziksel raw, manifest ve dokümantasyon.
Bugün, 1 Eylül 2026 tarihinde S899'dasınız: üç fiziksel RED (S540 AwaitingPreflight, S543 Cpu0ReadinessTimeout ve S546 sessiz pre-BOOT8H askısı) ayrı korunuyor; S547–S568 kaynak-model kapıları, S569 source remediation ve S570 byte-exact candidate freeze kapandı. Ayrı exact operatör token'ıyla yürütülen S571 koşusu 20947 B immutable raw ve BOOT_TO_UI_READY exact-once sonucu ile dar fiziksel UART readiness PASS'tir. Görünür scanout ve fiziksel input gözlenmediği için genel R1 kabulü false kalır. S572 bu kaydı supported-profile runtime baseline'ı olarak doğruladı; yeni cihaz işlemi ve bağımsız tekrar üretmedi. S573 aynı payload için repeat campaign talebini 21/21 PASS ile kapattı. S574 payload'ı yeni evidence yolunda fresh/disjoint inode'larla byte-eş dondurdu; 26/26 focused ve kalıcı board-rpi5 cargo check exit 0 verdi. S575 fiziksel repeat gerçek preflight, transaction tool, compiled capture binary ve ayrı operatör yetkisiyle tamamlandı; immutable raw 20610 B / 96bc5fe9…ff77602 olarak arşivlendi. S576–S707 kalan on dört R2 iş kolunu 132 ayrı kapı, 132 module, 132 focused test ve 132 kanıt belgesiyle fail-closed olarak kaydetti: 132/132 grup ve 1056/1056 PASS. Bu aralık S575 fiziksel repeat PASS'ine tutunur, board-rpi5 kernel'ine linklenmez ve yeni production callsite eklemez. Runtime/fiziksel/operatör/dış kabul gözlemi 0/0/0/0 ve r2_field_acceptance_complete=false'tur. Ekran görüntüsü P1 cihaz kanıtıyla mümkün olur; native Rust uygulama platformu P3 diliminde başlar. Adıma basın; Yapılan iş ve Ulaşılan yer ayrı durur.
S541 CPU1 producer'ını exact G8h stage/CPU doğrulaması sonrasında, IRQ maskeli ve timer arm öncesi ownership-safe production sınıra taşımak.
Focused 19/19, selected 156/156 ve dört AArch64 profil 4/4 source PASS. S543 RED değişmez; runtime/fiziksel gözlem yok.
Kaynak reachability kapandı; fiziksel PASS veya candidate freeze değildir.
Bugün makul hedef “günlük kullanıma hazır telefon” değil; tekrarlanabilir laboratuvar telefon demonstratörüdür. Aşağıdaki eşikler öneridir, mevcut PASS veya yeni S-kapısı değildir.
S540, S543 ve S546 immutable RED kayıtlarını koru. S569 marker zincirini koşmamış runtime ledger'ından ayırdı, S570 yeni candidate'ı dondurdu, ayrı yetkili S571 koşusu fiziksel UART readiness PASS verdi ve S572 bunu R2 supported-profile baseline'ına taşıdı. S573 repeat campaign sınırını tanımladı; S574 fresh immutable freeze kaydını kapattı. S575 fiziksel kapısında bağımsız tekrar ile görünür scanout/input kanıtını ayrı tut.
Önerilen R1 eşiği: aynı paketle 20/20 soğuk boot, marker sırası exact-once, kernel fault=0 ve her koşunun ham kaydı/hash'i.
Bir ekran ve bir touch controller profilini sabitle. Scanout, compositor, input dispatch ve kilit ekranı benzeri tek kontrollü akışı mümkünse EL0 device broker'larla kur; geniş GPU desteğini ertele.
Önerilen R1 eşiği: 60 dakika sürekli redraw/input, bozuk frame=0, kayıp input=0 ve p95 dokunma→görsel tepki <100 ms.
EG25-G gibi tek modemde UART/USB sahipliği, AT/URC state machine, SIM kayıt, SMS, paket veri, gelen/giden çağrı ve PCM ses yolunu birlikte kapat. Modem resetini kernel resetine dönüştürme.
Önerilen R1 eşiği: 10 gelen + 10 giden çağrı, 20 SMS, 30 dakika çift yönlü ses ve zorlanmış modem restart sonrası otomatik yeniden kayıt.
Kararlı bir Rust SDK/ABI, capability manifesti ve imzalı tek paket biçimiyle 2–3 native uygulama kullan. Servis çökmesi, bozuk paket ve güç kesintisi senaryolarında supervisor, A/B update ve rollback sınırını göster.
Önerilen R1 eşiği: uygulama/servis kill sonrası UI ve arama yolu geri gelir; yarıda kesilen update eski veya yeni doğrulanmış slota döner.
Boot, UI, input, modem, ses, update ve recovery kanıtlarını tek sürüm manifestinde birleştir. Her PASS'i aynı image/hash, donanım profili, sıcaklık/güç koşulu ve ham artifact ile bağla.
Önerilen R1 eşiği: en az 8 saat soak, kernel fault=0, bellek kullanımı plato yapıyor, kritik servisler supervised restart ediliyor ve demo baştan sona üç kez tekrarlanıyor.
RustOS, Linux 7.2 ve XNU sayıları aynı cloc 2.06“code” alanıdır. AOSP sayısı farklı araçla yayımlanmış bağımsıztokei analizidir; bu nedenle yaklaşık işaretlidir.
npx cloc kernel/src kernel/linker.ld abi
npx cloc userspace --exclude-dir=target
npx cloc linux-7.2
npx cloc --exclude-dir=tests,tools,doc xnuBu karşılaştırma paneli planlama ve kaynak metodolojisi kaydıdır; yeni S-sırası tüketmez, donanım gözlemi oluşturmaz ve R1 kabul durumunu değiştirmez.