5 puan yazan GN⁺ 2025-07-18 | 1 yorum | WhatsApp'ta paylaş
  • Tilck, Linux ile ikili uyumlu monolitik bir çekirdek olup eğitim amaçlı ve gömülü sistemler için tasarlanmıştır
  • Minimum kaynak kullanımı hedeflenerek geliştirildiği için gömülü cihazlarda veya kısıtlı ortamlarda kullanışlıdır
  • BusyBox gibi mevcut Linux kullanıcı uygulamalarını olduğu gibi çalıştırabildiğinden ayrı uygulama yazmaya gerek yoktur
  • i686 ve RISC-V64 mimarilerini destekler; gelecekte ARM ve MMU'suz CPU'lara da port edilmesi planlanmaktadır
  • Dosya sistemi, süreç yönetimi, konsol, hata ayıklama gibi çeşitli özellikler içerir ve Vim, Micropython, Lua gibi uygulamaları da çalıştırabilir
  • QEMU ve gerçek cihazda önyükleme desteği vardır; test ve hata ayıklama ortamı da iyi hazırlandığı için yeni başlayanlar da kolayca deneyebilir

Overview

  • Tilck nedir?

    • Tilck, küçük ve basit bir tasarıma sahip, Linux uyumlu eğitsel bir çekirdektir
    • Klasik çekirdeklerde olduğu gibi kendi özel uygulamalarını gerektirmez; bunun yerine musl tabanlı araç zinciriyle derlenmiş Linux programlarını kullanabilir
    • BusyBox, Vim, TinyCC gibi çeşitli uygulamaları çalıştırabilir
    • monolithic yapı sayesinde Linux'ta olduğu gibi tüm işlevleri tek bir çekirdek alanında işler
    • Gerçek donanım üzerinde çalıştırılmasına da önem verilir
  • Gelecek planları

    • Çok düşük gecikme ve tam belirlenimcilik gerektiren gömülü ortamlar için uygundur
    • Embedded Linux ile FreeRTOS/Zephyr arasında bir niş konum hedeflemektedir
    • ARM64, MMU'suz, ağ (UDP/IP) ve depolama (FAT32, ext2) desteği planlanmaktadır
    • Raspberry Pi 3/4 gibi SoC'lerde ağ ve depolama özelliklerini de desteklemek uzun vadeli hedeftir
  • Tilck ne DEĞİLDİR?

    • Tilck, Linux'un yerini almayı hedefleyen bir proje değildir
    • Masaüstü işletim sistemi olmayı hedeflemez (X sunucusu vb. desteklenmez)
    • Tilck, sadelik ve gerçek zamanlılık için özellikleri minimumda tutar
  • Tilck ve Linux karşılaştırması

    • Linux'un karmaşık olmasının nedeni çok işlevli olmasıdır; Tilck ise sadelik, küçüklük ve ultra düşük gecikmeyi seçer
    • Tilck, test altyapısını da kurumsal düzeye yaklaştırmak için çaba gösterir

Features

  • i686 desteği

    • Eski donanımları (8259 PIC, 8254 PIT vb.) ve modern özellikleri (SSE, AVX, ACPI vb.) aynı anda destekler
    • ACPI üzerinden güç olaylarını işleyebilir, pil bilgilerini görebilir
    • Çeşitli x86 ortamlarında (BIOS, UEFI, CSM vb.) test edilmiştir
  • riscv64 desteği

    • Gömülü odaklı bir yapıdır
    • QEMU ve Sipeed licheerv-nano kartını destekler
    • Aygıt bilgileri device tree üzerinden aktarılır; çekirdek kodunda karta bağımlı kod yoktur
    • ns16550 UART, PLIC/INTC kesme denetleyicileri vb. desteklenir
  • Dosya sistemleri

    • ramfs, devfs, sysfs desteklenir
    • FAT16 ve FAT32 salt okunur olarak desteklenir ve bellek eşlemeli kullanılabilir
    • VFS vardır, ancak blok aygıt desteği yoktur (her şey bellekte çalışır)
  • Süreçler ve sinyaller

    • fork, vfork, waitpid, rt_sigaction gibi temel süreç/sinyal işlevlerini destekler
    • Kullanıcı alanında çoklu iş parçacığı desteği yoktur, ancak libmusl gereksinimleri doğrultusunda TLS (set_thread_area) uygulanmıştır
  • I/O

    • read, write yanında readv, writev, select, poll da desteklenir
    • epoll desteklenmez
  • Konsol

    • Linux konsol işlevlerinin %90'ından fazlasını uygular
    • Hem metin hem framebuffer modunu destekler
    • Vim'in Tilck üzerinde kusursuz çalışacağı düzeyde uygulanmıştır
  • Kullanıcı alanı uygulamaları

    • BusyBox, Vim, Micropython, Lua, fbDOOM gibi konsol ve framebuffer uygulamalarını çalıştırabilir

Tilck'i önyükleme

  • Tilck'in önyükleyicisi

    • Tilck, hem BIOS hem UEFI destekleyen bir önyükleyici içerir
    • Video modu, çekirdek seçimi ve komut satırı düzenleme yapılabilir
  • Üçüncü taraf önyükleyiciler

    • Multiboot 1.0 destekleyen önyükleyicilerle (ör. GRUB) Tilck önyüklenebilir
    • GRUB yapılandırma örnekleri de sunulur

Kullanıcı deneyimi hakkında bir not

  • Tilck, acemi geliştiricilerin bile kolayca derleyip test edebilmesi için tasarlanmıştır
  • Bağımlılık kurulum yükü olmadan, kendi araç zinciri derleme betiklerini sunar
  • buildroot'a benzer, ancak çok daha basittir
  • Çeşitli QEMU çalıştırma betikleri de sağlar

1 yorum

 
GN⁺ 2025-07-18
Hacker News görüşleri
  • xv6 gibi eski Unix (1975 sürümü, Lion book'a bakılabilir) ile tam Linux çekirdeği arasında bir orta noktaya denk gelen ilginç bir proje hissi veriyor, LicheeRV Nano adlı 9 dolarlık RISC-V kartta (1.0GHz 64 bit CPU (C906), MMU, FPU, 128 bit vektör birimi, 256MB DDR3) çalıştığını görmek sevindirici, bu kartın performansı orta dönem Pentium III ya da PowerPC G4'e benziyor, aynı SoC'yi kullanan Milk-V Duo 256M veya Duo S, ya da Duo (64MB RAM, 5 dolar gibi modeller) için porta edilmesi de oldukça kolay görünüyor, şu anda ağ, blok aygıtı ve çok çekirdek desteği yok

    • Ağ ve çok çekirdek desteği olmayan bir Linux hayal edebiliyorum ama blok aygıtı bile olmayan bir OS bana yabancı geliyor, sadece karakter aygıtları mı kastediliyor merak ediyorum, FAT sürücüsü o zaman nasıl çalışıyor diye de düşünüyorum
  • Altivec'li G4, multimedya işlerinde SSE2'li PIV ile neredeyse aynı seviyede performans veriyor

  • Birkaç ayda bir, donanım soyutlaması olmadan yalnızca VM'de çalışan yeni bir OS çekirdeği ortaya çıkıyor, Tilck onlardan biri değil, Tilck gerçek bir işletim sistemi, gerçek donanımda çalışıyor, ilk alan zaten doygun ama Tilck uzun zamandır neredeyse boş kalmış bir nişi iyi dolduruyor gibi

  • Tilck'in çok hızlı açılması ve doom'u framebuffer üzerinde çalıştırması etkileyici, https://www.youtube.com/watch?v=Ce1pMlZO_mI bağlantısında görülebilir, geliştiricinin YouTube'da CS adaylarının sorularını doğrudan ve nazikçe yanıtlaması da hoştu

    • Video kısa ve öz, Vim'in çalıştığını da gösteriyor; Linux syscall'larının yalnızca bir kısmıyla Vim gibi büyük bir yazılımı derleyip çalıştırabilmek oldukça etkileyici
  • Tilck'in "eğitim amaçlı" olarak işaretlendiğini gördüm ama sadece bootloader değiştirilse küçük gömülü cihazlarda da işe yarar mı merak ediyorum

  • Tilck'in README dosyası beklenmedik derecede uzun ve eğlenceli, OS geliştiricileri için kesinlikle okunmaya değer

  • Minix ile birlikte eğitim alarak büyümüş benim gibi insanlar için Tilck'in ne kadar yararlı olacağını merak ediyorum

    • Tilck çok küçük ve deterministik bir monokernel, şu anda yaklaşık 100 kadar Linux syscall'ını Linux uyumlu biçimde uyguluyor, eğitim aracı olarak iyi ama uzun vadede Linux uyumlu bir RTOS çekirdeği olmayı hedefliyor, şu an yalnızca musl ile statik linklenmiş binary'leri destekliyor ve açılıp çalışması için yaklaşık 3MB RAM yeterli oluyor, kod tabanı küçük ve basit olduğu için eğitim amaçlarına uygun, nihai hedef ise gömülü sistemlerin gerçek production ortamlarında da kullanılabilmesi
  • Tilck ile ilgili geçmiş HN tartışmalarının bağlantıları paylaşıldı:

  • Tilck ilginç ama çok kullanıcılı destek olmaması üzücü, en azından chmod/chgrp gibi dosya sahibi ve grup değişikliklerini desteklese NFS sunucusu gibi yerlerde de çok daha kullanışlı olabilirdi; geliştiricinin çok kullanıcılı desteği yeniden değerlendirmesini isterdim

    • Tilck'in dosya sistemi uyumluluğu bundan daha büyük bir sorun, açıkçası benim kullanımım için güvenilirliği kanıtlanmış bir platform daha iyi olurdu ve Tilck eğitim odaklı olduğu için bilgi güvenliği ya da veri sağlamlığı açısından uygun değil

    • user:group değerlerini dosya sistemine sadece yazıp çalışma zamanında yalnızca istemcilere hizmet verirken uygulamak da düşünülebilir; örneğin Linux dosya sunucusu root olarak çalışıyorsa kendi kullanıcısını değiştirmeden de izin denetimi ve sahiplik yönetimi yapabilir, ayrıca her oturum için fork edip ilgili istemci kullanıcısına geçerse çekirdek izinleri zorunlu olarak uygulayacağı için dosya izinleri de otomatik çözülür

  • Bu proje gerçekten etkileyici, 3.5 inç disketten NAT güvenlik duvarı için Linux çalıştırılan günleri hatırlatıyor