Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:miw:miw08_ruleruntimep [2008/05/26 18:18] miw |
pl:miw:miw08_ruleruntimep [2019/06/27 15:50] (aktualna) |
====== Opis ====== | ====== Opis ====== |
| __**Projekt zakończony**__ |
| |
Konrad Rybacki, <konrad.rybacki@wp.pl> | Konrad Rybacki, <konrad.rybacki@wp.pl> |
| |
| |
====== Spotkania ====== | ====== Spotkania ====== |
| [[pl:miw:miw08_ruleruntimep:spotkania]] |
| |
===== 08.03.04 ===== | |
* klasy problemow: wymagania sprzetowe, sychnr prologu z otoczeniem, prolog a rt | |
* runtime? linux/prolog | |
| |
| |
* Wybór kompilatora prologa (SWI, GNU), analiza jakości działania obu kompilatorów - pod względem zużycia zasobów systemu, stabilności oraz możliwych mechanizmów komunikacji z innymi składnikami systemu. | |
* Sposób integracji z systemem - np. jako moduł jądra - wysoka wydajność i uproszczona komunikacja między składnikami systemu, duża podatność na awarie, niska portowalność na inne architektury; w przestrzeni użytkownika - większa stabilność kosztem potencjalnie bardziej złożonej komunikacji i mniejszej wydajności, konieczność opracowania rozbudowanej warstwy komunikacyjnej umożliwiającej integrację z systemem | |
* Analiza alternatywnych środowisk uruchomieniowych - porównanie dostępnych platform bazujących na systemie GNU/Linux z innymi dostępnymi, jak np. NetBSD; należy zwrócić uwagę na wymagania sprzętowe, trudności związane z konfiguracją systemu oraz odtwarzaniem tej konfiguracji w nowych warunkach a także jakość dokumentacji i perspektywy rozwoju danej implementacji. Licencje i dostępność. | |
* Rozważenie wykorzystania istniejącego już oprogramowania (D-Bus, PolicyKit, HAL) do realizacji zadań związanych z dostępem do sterowników oraz zarządzaniem zdarzeniami. Ewentualnie wykorzystanie pewnych wzorców dostępnych w wymienionych implementacjach. | |
* Na podstawie powyższych punktów, określenie minimalnych wymagań sprzętowych umożliwiających działanie w czasie rzeczywistym. | |
| |
===== 080318 ===== | |
* wymagania prologu -> SWI/Yap praca na czymś innym niż ix86? ARM? | |
* minimalne środowisko gnu/linux, ew. netbsd? -> spec | |
* emulacja arm, test dystrybucji linux/netbsd arm-owej na [[http://fabrice.bellard.free.fr/qemu/|QEmu]] | |
* **uwaga!** pytanie co daje [[http://ctp.di.fct.unl.pt/~amd/cxprolog/|cxprolog]] i jaki ma footprint, porównując do powyższych? | |
| |
| |
| |
| |
===== 080408 ===== | |
* opis krosskomp | |
* inst linux/bsd arm na wirtualizatorze | |
* testy wydajności prologu http://www.ncc.up.pt/~vsc/Yap/documentation.html#SEC83 | |
* może warto brać pod uwagę jako platformy | |
* [[http://openmoko.org/|OpenMoko.org]] [[http://openmoko.com/|OpenMoko.com]] | |
* [[http://maemo.org|Maemo]] | |
| |
| |
===== 080415 ===== | |
* spis środowisk + ew. ewalucja: OpenMoko, Android -> argumenty | |
* ew. zasadzki w kompilacji prologu na w.w | |
| |
| |
| |
| |
===== 080422 ===== | |
* próby z swi? | |
* bezp. uzycie debiana arm, ew. armel? | |
* http://en.wikipedia.org/wiki/Maemo | |
* http://www.toradex.com/e/colibri_evalboard.php | |
| |
| |
===== 080429 ===== | |
* propozycja generyczna platformy arm, w kier maemo? | |
* minimalne wymagania sprzętowe? | |
* emulator? | |
* http://www.scratchbox.org/ | |
===== 080527 ===== | |
* sprawozdanie: wnioski, obserwacje, różnice pomiędzy platformami ARM na przykładzie 2-3, ew. problemy z przenaszalnością, etc., przyszłe kierunki prac co do mgr.,wymagania swi/yap? co do pamięci | |
| |
====== Projekt ====== | ====== Projekt ====== |
Kompilację przeprowadzono w środowisku: http://www.aurel32.net/info/debian_arm_qemu.php uruchomionym na wirtualizatorze QEMU. Komputer, na którym uruchomiono wirtualizator wyposażony był w procesor Core 2 Duo T5500, 2GB pamięci RAM, system operacyjny FreeBSD. Kompilacja **Yap** zajęła w sumie ok. 40 min. W przypadku **SWI**, proces ten przeciągnął się nieomal do 3 godzin. | Kompilację przeprowadzono w środowisku: http://www.aurel32.net/info/debian_arm_qemu.php uruchomionym na wirtualizatorze QEMU. Komputer, na którym uruchomiono wirtualizator wyposażony był w procesor Core 2 Duo T5500, 2GB pamięci RAM, system operacyjny FreeBSD. Kompilacja **Yap** zajęła w sumie ok. 40 min. W przypadku **SWI**, proces ten przeciągnął się nieomal do 3 godzin. |
| |
==== Zużycie pamięci ==== | |
| |
== Yap == | |
| |
''memory (total) 1966076 bytes | |
program space 1024000 bytes: 938704 in use, 85296 free | |
938704 max | |
stack space 811008 bytes: 468 in use, 810540 free | |
global stack: 124 in use, 708 max | |
local stack: 344 in use, 460 max | |
trail stack 131068 bytes: 8 in use, 131060 free | |
'' | |
| |
| |
| ==== Zużycie pamięci ==== |
| |
| === SWI === |
| |
| {{:pl:miw:mem_swi.png|:pl:miw:mem_swi.png}} |
| |
| Po uruchomieniu (zajmowanej pamięci rzeczywistej): 2968kB. |
| |
| === Yap === |
| |
| {{:pl:miw:mem_yap.png|:pl:miw:mem_yap.png}} |
| |
| Po uruchomieniu (zajmowanej pamięci rzeczywistej): 3328kB. |
| |
| |
| ==== Zużycie czasu procesora ==== |
| |
| Nie udało się dokładnie zbadać zapotrzebowania na czas procesora w przypadku wymienionych kompilatorów, jednak, zauważono, w środowisku wirtualizatora wyraźnie mniejszą responsywność kompilatora SWI. |
| |
| |
| ===== Kierunki rozwoju pracy ===== |
| |
| * Określenie na jakim poziomie ma przebiegać interakcja prologu z pozostałymi składnikami systemu; na tej podstawie wybór właściwego oprogramowania otaczającego. |
| * Wybór platformy lub wykorzystanie uniwersalnych, przenaszalnych rozwiązań. |
| * Stworzenie środowiska ułatwiającego analizę wymagań/działania kompilatorów prologu pod względem wydajności i niezawodności. |
| |
| |
| ==== Na przyszłość ==== |
| Do sprawdzenia: |
| * [[http://www.ubuntu.com/products/mobile]] |
| * [[http://www.moblin.org/index.php]] |
| * [[https://wiki.ubuntu.com/MobileAndEmbedded]] |
| * [[http://www.linuxdevices.com/news/NS9978560959.html]] |
| * [[http://osnews.pl/ubuntu-mid-edition-804-pierwsza-wersja-deweloperska/]] |
| * [[http://www.linuxdevices.com/news/NS9978560959.html]] |
| * [[http://www.osnews.com/story/19906/Nokia_Now_Controls_Symbian;_Empowers_Symbian_Foundation]] |
| * [[http://lwn.net/Articles/287330/]] |
| |
| |