Uruchamianie kodu C i Python w przeglądarkach
W zeszłym tygodniu Scott Petersen z Adobe'a pokazał, jak tworzyć łańcuchy narzędziowe pozwalające wykorzystać kod C w opracowywanym projekcie maszyny wirtualnej Tamarin, prowadzonym przez Mozillę. Zaprezentowany kod, który zostanie wkrótce udostępniony na zasadach Open Source, jest nie tylko sam w sobie interesującą technologią, ale również skutki jego stosowania mogą mieć całkiem spory wpływ na Sieć.
W dużym skrócie idea działania łańcuchów Petersena zaczyna się od kompilacji specjalną wersją kompilera GNU C (np. llvm-gcc) kodu C na instrukcje niskiego poziomu maszyny wirtualnej (LLVM – Low Level Virtual Machine). Następnie instrukcje LLVM są konwertowane na wybrany typ maszyny wirtualnej i uruchamiane w ActionScripcie, będącym wariantem ECMAScriptu pochodzącego od JavaScriptu. Na końcu ActionScript jest automatycznie kompilowany do kodu binarnego Tamarin przez Adobe Flasha, który może zostać przekompilowany do natywnego języka maszynowego przez kompilator Tamarin Just-in-Time (JIT).
Przedstawiony łańcuch narzędzi zawiera w sobie wiele innych podsystemów, takich jak własny POSIX, wywołania systemowe API i biblioteki multimedialne C, które umożliwiają dostęp do Flasha. W rezultacie uzyskano możliwość uruchomienia szerokiej gamy istniejącego kodu C we Flashu z rozsądną prędkością. Petersen zademonstrował wersję gry Quake uruchomioną we Flashu oraz emulator konsoli Nintendo bazujący na języku C – obie bez najmniejszego problemu generujące efekty dźwiękowe i odtwarzające muzykę oraz, co ważniejsze, pozwalające na swobodną, płynną rozgrywkę.
Dzięki temu możemy się spodziewać, że kolejna wersja Adobe Flasha i modyfikacje Tamarina pozwolą na uruchomienie sporej liczby starszych gier komercyjnych w przeglądarce internetowej. Jeszcze bardziej imponujące jest jednak to, że możliwe jest uruchomienie ogromnej ilości dostępnego kodu wewnątrz przeglądarki. Petersen przedstawił skompilowane w C wersje Luy, Ruby, Perla i Pythona, które uruchomione zostały w przeglądarce w bezpiecznej, flashowej „piaskownicy”.
Implikacje tych możliwości są szczególnie ważne dla Pythona. Uruchomienie CPythona przez flashową „piaskownicę” w maszynie wirtualnej może rozwiązać wiele obecnych problemów dotyczących bezpieczeństwa, które wynikają z uruchamiania „niezaufanego” kodu w Pythonie.
źródło: Toolness
Polecamy
Reklama
Komentarze
Aby dodać komentarz, musisz podać swój nick, treść komentarza oraz poprawnie przepisać oba słowa z obrazka
(słowa muszą być rozdzielone spacją).
W treści komentarza można używać języka formatowania BBcode.
Popularne
Pobierałeś pirackie pliki? Uważaj! Kontrole antypirackie w domach użytkowników to codzienność
31
Pobieraczek.pl pozwie internautów, którzy nie chcą płacić abonamentu
1455
Debata w sprawie ACTA: internauci spodziewali się chyba czegoś innego
14
Wynalazca WWW przed sądem: walczy tam o wolny dostęp do webowych technologii dla każdego
8
PHP 5.3.9 nie pozwoli hakerom zawiesić serwera. Pozwoli za to przejąć nad nim kontrolę
28
Programowanie w środowisku Android – wprowadzenie do projektowania aplikacji dla urządzeń mobilnych
15
Internet w EU bez Facebooka i Google? Firmy nie mają wyboru: albo się dostosują, albo…
10
MSWiA zamówiło narzędzia do „złamania” Tora i podsłuchiwania internautów. Czy złamało przy tym prawo?
89
[Aktualizacja] Facebook zablokował Demotywatory.pl. W czym zawiniły?
36
FBI zamknęło Megaupload. Anonimowi dali się sprowokować. Teraz ich akcja uzasadni potrzebę SOPA?
17
Pobieraczek.pl pozwie internautów, którzy nie chcą płacić abonamentu
1455
Programowanie w środowisku Android – wprowadzenie do projektowania aplikacji dla urządzeń mobilnych
15
„Donald matole, twój rząd dopadną kibole” – hakerska elita przyłącza się do walki z ACTA
23
Klamka jeszcze nie zapadła. Minister prosi Donalda Tuska, by wstrzymał się z podpisywaniem ACTA
24
Społeczność
slawek22 @WebDev:
Te korporacje i "twórcy" starej daty których tak bronisz nie...
darekp @eimi, a co za różnica między zdobytym pieniędzmi a nie? Spróbuj zdobyć...
Jan "Tablet, na którym można uruchomić prawdziwe Microsoft Office, ładnie...
Maciekkkk Strona nie działa!
WebDev @eimi®
Zdobyte inaczej niż pieniędzmi, czyli jak? Czy mógłbyś to rozwinąć...
eimi @Webdev, a ja jeszcze raz Ci powiem - to co zdobyte inaczej niż pieniędzmi...
sade Powodem dla którego klienci wybierają ten sklep jest ich niewiedza.
- gardius: Dobra hurtownia sportowa (1)
- gardius: Tanie książki gdzie warto kupować? (1)
- Najdmen.pl: PROMOCJA, 500 DOMEN .EU ZA 1 PLN NETTO ! (1)
- VMLine: [Oferta] Serwery VPS Xen-HVM/OpenVZ z darmową administracją (2)
- Marek: Generowanie PDFa (2)
- Marek: problem z menu (2)
- Marek: Własne checkboxy w HTML,CSS (1)
Polecane książki
Praca
Czytaj Webhosting
Chcesz być na bieżąco z naszymi informacjami? Zapisz się na Newsletter.
Zarejestruj domenę
Sprawdź dostępność swojej domeny:
| .pl: | 0 zł | .com: | 19.90 zł | |
|---|---|---|---|---|
| .com.pl: | 0 zł | .eu: | 19.90 zł |








