SqueakOS (SqOS, Squeak on Bare Linux)
Dlouhodobý projekt, na kterém se podílí studenti FIT VUT prostřednictvím bakalářských, ročníkových a diplomových projektů. Chcete-li spolupracovat, kontaktujte dr. Janouška. [Projekty]
Žhavé novinky
... vám sdělí Vladimír Janoušek osobně.
Východiska
Squeak je modernizovaný Smalltalk 80 s grafickým prostředím Morphic. Jde o reflektivní systém s vlastnostmi, které se obvykle očekávají od operačního systému.
Design Principles Behind Smalltalk je klasický text, dotýkající se souvislosti Smalltalku a operačního systému.
V současné době sice Squeak běží obvykle uvnitř hostitelských operačních systémů, ale principiálně na nich nijak nezávisí. Řada aplikací Squeaku ve vestavěných systémech běží přímo na holém železe a bez disku. Ale udržovat aktuální bootovatelnou verzi virtuálního stroje Squeaku je obtížné a řada takových projektů z minulosti je již zastaralá a neudržovaná. Důvodem je velmi rychlý vývoj Squeaku a hardwaru. Jako smysluplné se proto jeví volné spojení jádra Linuxu s virtuálním strojem Squeaku, tak, aby bylo možné snadno kdykoliv nahradit libovolnou komponentu aktuální verzí.
SqueakOS (SqOS) - co to je
SqueakOS je minimalistická distribuce Linuxu se Squeakem, nepřesahující 50MB (realistická je i 2MB verze), schopná běhu na bezdiskovém PC (i jinde).
Linux poskytuje kvalitní drivery na používaný hardware plus některé aplikace, pro které dosud nebyla ve Squeaku vytvořena alternativa. Squeak poskytuje konzistentní objektové prostředí (image) s otevřeným GUI a řadou aplikací a vývojových nástrojů. (Mezi existující squeakovské aplikace patří např. e-mail klient, webový prohlížeč, ftp klient, textový editor, filemanager, MPEG-player, terminálový emulátor, VNC klient, VNC server, web server atd.)
Nezanedbatelnou výhodou SqueakOS oproti konvenčním systémům by měla být rychlost zavedení a nastartování systému (squeak je image-based systém a proto jeho start trvá typicky pod 1s; s linuxem je to ovšem poněkud horší, ale start linuxu se squeakem může proběhnout do 10s).
Varianty SqueakOS a přidružené subprojekty
Výše uvedená představa SqueakOS je jen základ, který lze růzými nadstavbami modifikovat. Je možné uvažovat jednouživatelský vícesqueakový systém, multiuživatelský systém, headless systém (bez GUI), různé aplikačně orientované systémy, alternativní jádra (BSD, Hurd, L4, ...). Projekt je ale mnohem obecnější a zahrnuje i
- obecnou tvorbu užitečného software pro Squeak (podpora prezentací ve Squeaku, lokalizace, ...)
- užitečné pluginy pro virtuální stroj Squeaku, propojitelnost s jinými jazyky, ...
- obecnou tvorbu systémového softwaru pro linux a vytváření minimalistických distribucí
To vše může být experimentální platformou pro vědecký výzkum v oblasti objektově orientovaných operačních systémů (bezpečnost objektů na bázi kapabilit, perzistence, migrace objektů, mikrojádra, bezjaderné OS, ...).
Možné aplikace
- bootovatelný samonosný prezentační systém (na CDRW nebo USB flash disku)
- OS pro set-top boxy
- síťové aplikace - proxy server, firewall, grid, OS pro uzly mobilních bezdrátových sítí
- vestavěný systém pro řízení mobilního robota
- desktopový operační systém pro ortodoxní objektově orientované nadšence
- platforma pro Croquet: http://croquetproject.org./index.html
- rámec pro zajímavé studentské projekty, použití ve výuce i ve výzkumu
Některé artefakty
- První pokusy
- Linux-X-Squeak.tar.gz - první pokus (vj) - natvrdo bez autokonfigurace, inspirující mikrolinux.
- ... doplnit ... - Martin Straka ... systém s autokonfigurací
- Squeak Live CD - Pavel Křivánek to vyrobil na bázi Damn Small Linux
- Squeak Desktop - debianovský balík se squeakem, který se tváří jako další alternativa ke KDE a GNOME
- SqOS (Squeak on bare Linux)
- SqOS 0.1 - bootovatelný z vfat partition (disk nebo usb-stick) - vj to připravil jako starter kit pro případnou diplomku nebo projekt
- SqOS 0.2 - iso image bootovatelného CD (115417088) - obsahuje veškerou dokumentaci
Co je potřeba dořešit, případně vylepšit, náměty k zamyšlení
- Obsah bootovatelného média + návod jak ho vyrobit z novějších verzí Linuxu a Squeaku, médium by mělo být čitelné i bez bootování všude, takže to bude isofs (na cd) nebo vfat (na flash disku a na hd), Squeak VM jak pro linux, tak pro windows
- Způsob distribuce, přechod na novější verze, ...
- Zajištění perzistence ramdisku - explicitní uložení na boot médium, na cdrw, na flash, na ftpserver, atd. a automatické načtení při bootování
- Extrémní varianta - Sq VM místo initu, žádný shell, žádný mout, všecho řeší Squeak - přímo volá jádro a přímo pracuje s /proc a /dev (na to asi bude muset být plugin do VM)
- Squeak Desktop: Sada morphů, které implementují např. toolbar s typickými applety, přepínání virtuálních dektopů (projektů), spouštění aplikací, utility pro nastavení sítě, pro dial-up připojení apod. (Návod: Spusťte si Squeak 3.9a, podívejte se na tollbar a zamyslete se, co vam jestě chybí oproti běžným destopům.)
- Užitečné miniaplikace jako např.: http://www.apple.com/macosx/features/dashboard/
Inspirující mikrodistribuce Linuxu
Použitelný software
Skoro všechno je na SqueakMap, včetně CzechKeyboard a iso latin 2 fontů.
Na čem by to také mohlo běžet
Odkazy na související projekty ve světě
Další souvislosti
Související novinky
Informace pro řešitele
Vladimír Janoušek
Link to this Page