Prosze przeczytac wczesniej Technology Brief Letter Jima Collas'a (english).

BoingBallAMIGA



Amiga/Opis Technologii

16 lipca 1999


Wstep

Wizja i celem Amigi jest sprawic by komputery i internet staly sie naturalna czescia zycia, tworzac srodowisko operacyjne dla dzisiejszych i przyszlych urzadzen konsumenckich, ktore umozliwia szeroka game uslug Internetowych. Uzywamy terminu "srodowisko operacyjne" (operating environment) celowo, gdyz ta programowa infrastruktura rozszerza tradycyjny system operacyjny by dostarczyc srodowisko dla nowej klasy przenosnych aplikacji - aplikacji, ktore istnieja w rozleglym (pervasive)[1] sieciowym srodowisku komputerowym oraz przezroczystego dostepu do zasobow Internetu i roznego rodzaju serwisow. W istocie definiujemy nowe, rozproszone po domu srodowisko komputerowe, ktore jest duzo bardziej dostepne niz dzisiejsze komputery osobiste. To srodowisko bedzie wiazac razem komputery osobiste, akcesoria informacyjne (information appliances), set-top box'y, maszyny nastepnej generacji typu multimedia convergence computers, konsole do gier i cala mase innych urzadzen komputerowych, by zdefiniowac nastepna faze w ewolucji (rewolucji!) komputerow.

Amiga rozwija nastepujace produkty:



Technologia - Filozofia i Opis

Dlugoterminowy plan Amigi to kombinacja innowacji i integracji. Integrujemy komponenty nizszych warstw, takie jak procesory nastepnej generacji, systemy operacyjne micro-kernel, biblioteki GUI i graficzne, kosci graficzne/ video/komunikacyjne, kablowe i bezprzewodowe podsystemy sieci domowej oraz oparte na obiektach srodowiska developerskie, po to by skupic nasza uwage na dodaniu unikalnych wlasciwosci do Amiga Operating Environment. Te unikalne wlasciwosci zawieraja: mechanizmy interakcji uzytkownika z komputerem, ktora bedzie duzo latwiejsza i duzo bardziej inteligentna, niz w mechanizmach dzisiejszych komputerow osobistych; model "wirtualnego akcesoria" (virtual appliance), ktory umozliwi aplikacjom programowym do latwej migracji pomiedzy roznymi konfigutracjami sprzetowymi; obsluge przezroczystej sieci i dojscie do Internetu; a takze architekture niskowarstwowa AmigaObject, ktora wprowadza w zycie wszystkie powyzsze wlasciwosci.

Ten krotki opis technologii powstal, by dostarczyc bardzo ogolnego pojecia o kierunku rozwoju i wyborze technologii, jaki dokonala Amiga i bedzie uzupelniany o bardziej szczegolowa dokumentacje, kiedy nowa Amiga zostanie wprowadzana na rynek. W tym dokumencie chcemy strescic:



AmigaObjects™ i Amiga Operating Environment

AmigaObjects™ sa fundamentem, na ktorym opiera sie budowa wszystkich uslug Amiga Operating Environment. AmigaObject dostarcza poteznych klockow do budowania, ktore umozliwia developerom blyskawiczne tworzenie imponujacych i poteznych aplikacji dla Amigi. Ponadto AmigaObjects umozliwiaja integracje szerokiej gamy roznych technologii "pod jednym dachem". AmigaObjects moga sie dowolnie przemieszczac poprzez siec lub uzywac zasobow sieci. Architektura AmigaObject poprzez wykorzystanie tej elastycznosci otwiera swiat nowej klasie "sieciowych" aplikacji, gdzie nie ma jasnego podzialu pomiedzy urzadzeniem, a siecia.

Wybralismy Jave (™ Sun Microsystems) jako nasz podstawowy jezyk programowania dla przenosnych aplikacji bazowanych na AmigaObjects (oczywiscie C i C++ bedzie takze obslugiwane dla natywnych aplikacji MCC). Dzieki technologiom Javy, takim jak kJava, pJava, Java2, czy Java Enterprise Edition technologia AmigaObject moze byc stosowana w urzadzeniach od tak malych jak reczne komputery, az do wielkich serwerow. To naprawde rewolucyjny krok w technologii komputerowej; krok, ktory (jak wierzymy) zmieni oblicze komputerow.

Technologia AmigaObject sluzy jako fundament dla wszystkich obiektow w Amiga Operating Environment. Moc i elastycznosc AmigaObject sa naturalnie rozszerzane na wszystkie obiekty w srodowisku, dajac wszystkim obiektom w systemie przezroczystosc sieciowa i mozliwosc rozprzestrzeniania sie poprzez siec.

Jak wspomnielismy wyzej, AmigaObjects bedzie takze integrowac inne technologie w swoim szkielecie. Glownie uzywamy takich technologii tam, gdzie jest to mozliwe. Przykladami moga byc Java, Jini, OpenGL i kilka codec'ow audio i video. To umozliwia Amidze skoncentrowac swoje sily inzynieryjne na AmigaObjects i Operating Environment, nie tracac czasu na tworzenie technologii, ktore juz istnieja.


Amiga MCC Operating System

Jestesmy przekonani, ze nowoczesne systemy operacyjne sa tylko jednym ze skladnikow nowego wieku komputerow. Tradycyjny OS nie jest juz dluzej wartosciowa propozycja. Jest nia dzisiaj calkowite srodowisko dostarczajace inteligentnej mocy i przezroczystych uslug dla koncowego uzytkownika. Poniewaz akcesoria informacyjne - czesc Amiga Operating Environment, sa przenosne i beda portowane przez Amige i ich partnerow OEM do roznych systemow operacyjnych, muselismy podjac decyzje co do podstawowego OS'u dla Amigi MCC.

Jest wiele bardzo interesujacych OS'ow na rynku i trzeba jasno powiedziec, ze rozpatrywalismy i ocenialismy je wszystkie przez ostatni rok. Poczawszy od tradycyjnych systemow RTOS, jak Wind River i QNX, poprzez BeOS od Be Systems i JavaOS Sun'a - zbudowanego na Chorus'ie, az po Linux'a. Jak zapowiadalismy, pracowalismy przez kilka miesiecy z QNX Software Systems, probujac zadaptowac QNX RTOS (realtime os) do wymogow multimedia convergance computer nastepnej generacji. W tym samym czasie pracowalismy takze, z kluczowymi czlonkami spolecznosci Linux'owej, by ocenic wszystkie za i przeciw Linux'owi. Koncentrowalismy sie na produkcie, ktory mial odniesc sukces rynkowy i stalo sie dla nas jasne, ze wiekszosc naszych partnerow od technologii i dostawcow oprogramowania naciskalo nas by skupic sie na Linux'ie, jako OS kernel. Poniewaz bylismy pod wrazeniem kilku elementow QNX'a (a takze BeOS'a i Chorus'a dla przykladu) poczulismy, ze bedzie trudno dla tych systemow operacyjnych otrzymac wsparcie szerokiego rynku, potrzebne dla odniesienia sukcesu w nadchodzacych latach.

Linux, przez ostatnie lata stal sie bardzo popularny, jako otwarta alternatywa dla Windows na rynku. Przez ostatni rok, uzycie Linux'a powiekszylo sie wiecej niz trzykrotnie (zauwazyli go wielkie firmy, a inne zaczely adaptowac Linux'a jako podstawe ich OS'u). Rosnace poparcie dla Linux'a od szerokiej gamy dostawcow oprogramowania i rosnacy rozwoj oraz dostepnosc Linux'owych sterownikow do urzadzen bezposrednio od producentow sprzetu, czyni go wlasciwym wyborem. Kiedy przeportowalismy nasze srodowisko operacyjne i architekture AmigaObject na Linux'a, odkrylismy znaczaca przewage osiagow w jadrze Linux'a, patrzac na takie elementy jak obsluga rozproszonych obiektow. I co wazne - Linux jest prawdopodobnie najbardziej stablinym systemem operacyjnym dostepnym na rynku.

Z tych wszystkich powodow, zdecydowalismy zbudowac platforme Amigi MCC nastepnej generacji na bazie Linux'a. Jestesmy swiadomi, ze istnieja pewne trudnosci, ktore trzeba przezwyciezyc, lecz takie same byly z innymi systamami, ktore rozpatrywalismy. Na przyklad, byly problemy z wydajnoscia TCP/IP, ktore sa w trakcie rozwiazywania, a takze zagadnienia zwiazane z wymaganiami dyskowymi i pamieciowymi. Jak wie kazdy, kto mial stycznosc z Linux'em, caly system jest raczej duzy. Jednak my, budujac nasz fundament OS, przebudowywujemy Linux'a by spelnial nasze wymagania i jest teraz pewne, ze wymagania dyskowe i pamieciowe sa calkiem rozsadne (Linux zaczal pojawiac sie w szerokiej gamie urzadzen typu akcesoria informacyjne, jest nawet werja Linux'a dla Palm Pilot'a !). Jest ponadto kilka innych zagadnien, ktore podejmujemy - tak jak w oryginalnej Amidze, mocno wiazemy jadro OS ze specjalizowana, wysoko wydajna architektura sprzetowa, ktora rozwiaze wiele problemow jakie my oraz spolecznosc Amigowa mamy z istniejacymi implementacjami Linux'a. Sila stojaca za Linux'em i zasoby ludzi na calym swiecie, ktore potrafia rozwiazywac rozne problemy, daja nam dowod na to, ze dokonalismy wlasciwego wyboru.


Filozofia Grafiki, Multimediow i GUI

Strategia w dziedzinie grafiki to (miedzy innymi) umowy z firmami , ktore produkuja najlepsze komponenty graficzne na rynku. Amiga zwieksza wysilki tych firm, by dostarczyc amigowym klientom najlepsze produkty. Na przyklad - Amiga wspolpracuje z ATI by zaimplementowac w MCC technologie renderingu 3D nastepnej generacji (patrz: Architektura Sprzetu).

Swiatowa akceptacja i szybki rozwoj OpenGL sprawiaja, ze jest to dobry wybor, 3D API do wykonywania renderingu sprzetowego. Dodatkowo, najnowsze wydania Javy 2 rozszerzaja mozliwosci manipulacji scenami 3D, zaawansowanym obrazowaniem i ogolna koordynacja mediow. AmigaObjects sa rozwijane, by dac uzytkownikom niezalezna sprzetowo kontrole nad roznymi mediami poprzez Java objects, ktore z kolei, dokonuja dostepu do akceleratora graficznego poprzez OpenGL, tam gdzie to mozliwe i pozadane. Wazne jest, by zrozumiec to, ze kiedy mowimy o dostepie AmigaObject lub Java do sprzetowo przyspieszonych API takich jak OpenGL, to nacisk jest polozony na to, by sie upewnic, ze software wyzszej warstwy nie "ma zielonego pojecia" kiedy odwoluje sie do sprzetu niskowarstwowego. Tak jak w oryginalnej Amidze to polaczenie integracji software'u i hardware'u decyduje o ogolnej wydajnosci systemu.

Strategia w dziedzinie multimediow jest zasadniczo analogiczna do tej dla grafiki. Sprzetowy system cyfrowych multimediow ma byc enginem grafiki 3D, dekoderem DVD, zawierajacym MPEG 2 i AC-3 digital surround sound, lub bezprzewodowy Internet. By dokonac tego niskowarstwowy sprzet musi byc wystarczajaco potezny, by moc naraz nagrywac i odgrywac klipy audio/wideo. Zeby to osiagnac Amiga prowadzi rozmowy z najlepszymi wytworcami sprzetu w dziedzinie tych technologii. AmigaObjects sa rozwijane by dac developerom niezalezna sprzetowo kontrole poprzez Jave. Oparte na Javie AmigaObjects dostarcza sposobow na dostep do odpowiednich warstw specjalnego sprzetowego wspomagania i akceleracji. W przypadkach, gdzie nie ma szeroko zaakceptowanego API (jak OpenGL) Amiga i partnerzy napisza wiele z tych sposobow w natywnym kodzie, jesli to bedzie potrzebne. Tak jak w 3D, polaczenie integracji oprogramowania i sprzetu dostarczy oszalamiajacej obslugi dla potoku medialnego.

Information Appliance - czesc Amiga Operating Environment, ktora bedzie goscic na szerokiej gamie urzadzen, majacych rozna funkconalnosc. Bylo by glupie probowac projektowac jeden interfejs dla urzadzenia o wielkosci palm z malym, dotykowym i czarnobialym ekranem i wglednie wolnym bezkablowym polaczeniem sieciowym; set-top box'a z pilotem i wyswietlaczem na TV; oraz tradycyjnego, multimedialnego biorkowego komputera z pelna klawiatura, myszka, monitorem wysokiej rozdzielczosci i bezprzewodowa siecia - jest watpliwe, ze jakikolwiek pojedynczy design moglby spelnic wymagania uzytkownikow wszystkich tych urzadzen. Zamiast tego implementujemy srodowisko, dzieki ktoremu stanie sie jasny sens polegania na interakcji pomiedzy urzadzeniami. Zminimalizujemy takze trud, jaki developerzy musza wlozyc tworzac wirtualne akcesoria, zdolne do uruchamiania sie na szerokiej gamie produktow.

Jesli chodzi o srodowisko okienkowe na Amidze MCC, uzyjemy kombinacji technologii Linux'a i Javy. Najnizsza warstwa (zarzadzanie bitami na ekranie) bedzie najnowszy Linux'owy system okienkoey X Windows. Wiekszosc uzytkownikow i developerow nigdy nie odczuje X Windows bezposrednio (w odroznieniu od starszych UNIX'owych systemow). Jednak uzycie X Windows pozwoli dzialac na MCC nie tylko nowym aplikacjom, lecz takze standartowym Linuxowym programom. Za X Windows przemawia takze wciaz rosnaca liczba menadzerow okien (window menagers), ktore beda dostepne dla MCC, a developerzy piszacy w Javie, beda mieli dostep do przenosnych klas Java Swing GUI, ktore ukryja wewnetrzne skomplikowanie okienkowe pod nowoczesnym modelem programowym. W koncu, bedzie dostep do wygodnych przestrzeni pracy dla koncowego uzytkownika, miedzy innymi nowego Amiga Workbench'a, ktory jest projektowany przez Amige. Istnieje juz wiele interesujacych srodowisk typu desktop (blat) dla Linux'a i naszym zamiarem jest by dolaczyc Amiga workbench do ruchu otwartego kodu zrodlowego oraz zachecac kreatywne spolecznosci Amigi i Linux'a do modyfikowania, ulepszania i generalnie bycia kreatywnym, jesli chodzi o srodowisko desktop nastepnej generacji (uwazamy, ze jedna z wad Windows i Macintosh jest "zamknieta" natura ich srodowisk desktop.)


Rozlegla Siec

Najblizsza przyszlosc przyniesie duzo szybsze serwisy Internetowe do domow, poprzez modemy kablowe, xDLS i inne nowe technologie. Rynek standaryzuje technologie dla domowej sieci, dajac konsumentom mozliwosc przylaczania produktow poprzez dom uzywajac standardowych przewodowych i bezprzewodowych cyfrowych opcji duzej predkosci.

Amigowe produkty beda obslugiwac te standarty i laczyc sie ze soba, osiagajac caly dom, poprzez nasza rozproszona technologie obiektowa. Integrujemy w Amiga Operating Environment pojawiajace sie standarty, jak HomePNA przez Broadcom/Epigram, uzywajac standardowych linii telefinicznych w domach Ameryki Polnocnej. Kilka inicjatyw jest takze prowadzonych w Europie i Azji i bedziemy je nadal obserwowac. Badamy takze technologie dla cyfrowych bezprzewodowych sieci dla domowego srodowiska. Dla wiekszosci regionow swiata standardem bedzie 2.4Ghz dla cyfrowej bezprzewodowej sieci, takiej jak firmy Proxim, ktora bedzimy obslugiwac, kiedy zostanie zaadoptowana przez rynek. Z nowa technologia obiektowa Amigi i integracja tych standartow, dom przemieni sie w "komputer" z szybkim polaczeniem do Internet'u.

Jako ze fundamentem wszystkich obiektowych uslug bedzie AmigaObjects, Amiga Operating Environment bedzie obslugiwac przetwarzanie rozproszone, siec naturalnie stanie sie rozlegla. Nie bedzie roznicy miedzy urzadzeniami (np. twardymi dyskami), ktore znajduja sie na lokalnym elemencie komputerowym, a urzadzeniami znajdujacymi sie gdzies w sieci. Jini™ Sun Microsystems wychodzi na przeciw tym problemom z architektora, ktora umozliwia natychmiastowe przylaczenie urzadzen do sieci, np. twardych dyskow, drukarek, skanerow, kamer itp. Zastosujemy technologie Jini w urzadzeniach, gdzie sprawuje sie swietnie oraz dostarczymy kompletnych rozwiazan AmigaObject w uslugach nie obslugiwanych efektywnie przez Jini. Dostarczymy wiecej szczegolow na temat uslug rozleglej sieci w pozniejszym czasie.

Aktualny wybor sposobu przesylania danych jest nieistotny dla oprogramowania i aplikacji. Planujemy wspierac najbardziej popularne standardy sieciowe, jak Etherner, modem, HomePNA, HomeRF, IEEE 1394 i inne cyfrowe sieci duzej predkosci. Jedynym powaznym zagadnieniem jest przepustowosc: nizsza przepustowosc polaczenia kladzie limit na jakosc uslug, ktore moga byc oferowane. Jak mozecie sie dowiedziec z sekcji sprzetowej, aktywnie pracujemy nad dostarczeniem do naszego bazowego systemu sieci o wysokiej przepustowosci, dzieki czemu umozliwimy powstanie nowej generacji seciowych aplikacji i produktow.


Software Block Diagram

Software Block Diagram


Architektura Sprzetu Amigi MCC

Amiga MCC jest projektowana by obslugiwac mulitmedia najwyzszej jakosci, zostawiajac PC daleko w tyle. MCC bedzie miec DVD, wosoko wydajne 3D, oparta na Ethernecie siec domowa, cyfrowe i tradycyjne analogowe video i audio oraz porty USB dla dodatkowych urzadzen cyfrowych. Bedzie miec miejsce na przynajmniej 2 twarde dyski, 2 sloty PCI, 7 portow USB i specjalne miejsce dla entuzjastow opcji typu Zip czy Jazz.

USB (Universal Serial Bus) przezywa obecnie rozkwit. USB jest cyfrowym interfejsem zdolnym porozumiewac sie w obie strony, ktory pracuje z predkoscia do 10Mb/s. To pozwala kontrolerom do gier byc interaktywnym i dawac takie mozliwosci, jak np. to, ze jadac samochodem, kierownica bedzie sama wracala. Pozwoli takze na przylaczanie i rozpoznawanie takich uradzen jak klawiatury, drukarki, skanery, kamery, kontrolery do gier, pamieci masowe, itp. Standart USB obsluguje do 127 urzadzen na jednym porcie. Z tego powodu nie zamierzamy imlementowac zwyklych portow szeregowych, rownoleglych, PS/2 czy analogowych game portow. Sa dostepne konwertery dla starych portow (np. z USB na rownolegly) dla Waszych starszych urzadzen, ktorych nie chcecie sie pozbywac przez jakis czas. Sa nawet prowadzone wysilki by nastepna wersja USB pracowala z predkoscia do 100Mb/s.

Wyglad MCC zostal zaprojektowany przez Pentagram - firme design'owa, ktora jest jedna z najlepszych na swiecie w swej branzy. Kilka szkicow (z 12, ktore rozpatrywalismy) zostalo wczesniej pokazane, a design finalny zostanie przedstawiony na zblizajacych sie targach World of Amiga i AmiWest.

Amiga MCC bedzie na poczatku wydana w dwoch wersjach: zintegrowanym systemie komputerowym z atrakcyjnym wygladem i osobnym monitorem, jako opcja; oraz w formacie standardowej plyty ATX dla sprzedawcow sestemow, developerow i entuzjastow, ktorzy chca dostepu do funkcjonalnosci MCC w innych konfiguracjach i z wieksza rozszerzalnoscia.

Wybralismy bardzo ekscytujacy CPU (procesor) dla MCC, ktory jest sercem dla podsystemu liczacego nastepnej generacji. Podsystem CPU bedzie dawal wiecej niz tylko tradycyjne uslugi centralnego przetwarzania - wybierajac Linux'a i Jave jako nasze dwa fundamentalne klocki programowe, potrzebujemy podsystem CPU, ktory moglby byc bardzo dopasowany do bazy programowej Linux/Java, ale takze uruchamiac aplikacje klasycznej Amigi. Jestesmy nadal ograniczeni umowami kontraktowymi i nie mozemy przyblizyc informacji o procesorze. Jednak uwazamy, ze wybranie tej technologii da duza przewage i unikalne wlasciwosci Amidze.

Jak wczesniej wspomnialem, MCC bedzie zawieral wysoko wydajny podsystem grafiki 3D, wsparcie dla integracji potoku medialnego i obsluge przyszlych standardow domowej sieci, ktora stanie sie rozlegla w ciagu nastepnych dwoch lat. Ponizej znajduje sie czesciowa lista cech (features) archtektury sprzetu MCC, nad ktorymi pracujemy.

Podsystem Przetwarzajacy:

Podsystem Graficzny: Audio / Video: Opcje Komunikacyjne (w opracowniu): Pamiec Masowa: Wewnetrzne zlacza rozszerzen: I/O: Uwaga: Pelna programowa obsluga tych i innych cech w niedlugim czasie.


Narzedzia Developerskie i Aplikacje

Pracujemy z kilkoma glownymi dostawcami narzedzi developerskich i aplikacji, by upewnic sie, ze dla Amiga OE i Amiga MCC istnieja znakomite narzedzia i aplikacje. Jedna z glownych przyczyn wybrania Linuxa, jako wewnetrzny system operacyjny, jest ogromny rozwoj Linux'owych narzedzi i aplikacji. Wiele z nich bedzie dostepnych dla Amigi MCC. Podobnie, wybor Javy dla Amiga OE byl czesciowo podyktowany faktem, ze jest juz kilka bardzo poteznych srodowisk developerskich Java dla Linux'a, a trwaja prace nad nastepnymi. Amiga MCC szybko stanie sie jednym z najlepiej sprzedawanych, bazowanych na Linux'ie systemow na rynku i jest priorytetem dla Amigi i jej partnerow by te narzedzia byly dostepne dla MCC.

Oczywiscie nie mamy prawa zdradzac planow innych firm. Kiedy zblizymy sie do premiery Amiga OE i Amiga MCC, firmy tworzace aplikacje i narzedzia dla nowych Amig same oglosza swoje plany wydawnicze dla Amigi.


Podsumowanie

Uwazamy, ze Amiga Operating Environment bedzie podstawa dla szerokiej gamy komputerowych urzadzen nastepnej generacji. Amiga MCC jako fundament ustali standart dla maszyn typu multimedia convergance computer w pojawiajacym sie domowym srodowisku komputerowym.

Ten opis w zaden sposob nie dokumentuje wszystkiego co sie dzieje w Amidze. Rozwijamy w tej chwili kilka ekscytujacych produktow, ktore chcemy przyblizyc spolecznosci tak szybko jak nasi partnerzy nam pozwola. Decyzje, ktore podejmujemy sa skoncentrowane na przyszlosci, nie tracimy jednak kontaktu z tym co sie dzieje dzisiaj i bylo wczoraj. Mamy nadziej, ze ten opis dal wam pojecie o kierunku naszych dzialan.


Copyright by AMIGA

Tlumaczenie: PMazi^PLQ Wielkie dzieki dla: Fei (ex Yoyo) !! Pozdrowienia dla Amiga Kielce Meeting

[1] Pervasive - mialem klopoty z wybraniem odpowiedniego tlumaczenia dla tego angielskiego slowa. Angielskie slowo PERVADE znaczy rozszerzac, ale takze przenikac. Wlosi przetlumaczyli ten termin zgodnie z pierwszym znaczeniam jako "rozlegle sieciowanie", ale wg. Niemcow siec jest przenikalna, "przechodzalna" ;D Zdecydowalem sie jednak na "rozlegla", gdyz tak (IMO) wynika z tekstu Jima'a.