1

Temat: Atari Basic - Czy była to pierwsza maszyna wirtualna (lub jedna z)

Czy Atari Basic jest maszyną wirtualną?

"tatusiu zobacz, narysowałam tobie takie same coś jak na twojej koszulce" 
https://github.com/willyvmm/mouSTer
jmp $e477

2

Odp: Atari Basic - Czy była to pierwsza maszyna wirtualna (lub jedna z)

Pierwszą tego typu była prawdopodobnie O-code machine: https://en.wikipedia.org/wiki/O-code.

Hitler, Stalin, totalniak, SSman, NKWDzista, kaczor dyktator, za długo byłem w ChRL, wypowiadam się afektywnie.

3

Odp: Atari Basic - Czy była to pierwsza maszyna wirtualna (lub jedna z)

Oj chyba nie...znacznie wcześniej był LISP a właściwie podwaliny LISP: http://www-formal.stanford.edu/jmc/recu … rsive.html

4

Odp: Atari Basic - Czy była to pierwsza maszyna wirtualna (lub jedna z)

willy napisał/a:

Czy Atari Basic jest maszyną wirtualną?

Moim zdaniem nie. A Atari BASIC w szczególności, początki BASIC-a datowane są na 1964 rok. A  nie jest, bo jedną z kluczowych cech maszyny wirtualnej jest całkowite odizolowanie jej środowiska od rzeczywistego komputera (systemu operacyjnego, innego oprogramowania pracującego na maszynie rzeczywistej). Inaczej mówiąc, kontakt z rzeczywistym komputerem następuje tylko za pośrednictwem maszyny wirtualnej i tylko w takim zakresie, na jaki ona pozwala. Atari BASIC daje nieograniczony dostęp do OS i całej struktury komputera rzeczywistego. Można nawet uruchomić procedurę, która, choć zgodna ze składnią BASIC-a, to doprowadzi do jego „uszkodzenia” lub nawet zawiesi komputer rzeczywisty.

Ostatnio edytowany przez Bluki (2015-06-20 19:41:52)

5

Odp: Atari Basic - Czy była to pierwsza maszyna wirtualna (lub jedna z)

Jedną z pierwszych  można by rzec był Windows 3.1... ale wcześniej też można by powiedzieć jakieś próby były.

6

Odp: Atari Basic - Czy była to pierwsza maszyna wirtualna (lub jedna z)

może Logo było pierwszą maszyną virtualną, bo taki sam kod dawał taki sam rezultat na każdej maszynie...  poza tym, nic nie w zasadzie nic sensownego nie robiło, nie mówiąc o jakimkolwiek dostępie do flaków (custom chipów. itp.). A jak nie logo, to dżawa (którą darzę wyjątkową niechęcią).

7

Odp: Atari Basic - Czy była to pierwsza maszyna wirtualna (lub jedna z)

Panowie,

Java, Logo...to parę pokoleń później.....

LISP, Forth, BCPL...to poczatki..

8

Odp: Atari Basic - Czy była to pierwsza maszyna wirtualna (lub jedna z)

Tak. A jeszcze starsza jest algebra arabska. W pewnym sensie język programowania, w użyciu do dziś. Wykonywana przez dowolną osobę, jeśli prawidłowo w niej zaimplementowana - daje te same wyniki :D

9

Odp: Atari Basic - Czy była to pierwsza maszyna wirtualna (lub jedna z)

Idźmy na całość...pismo klinowe...

10

Odp: Atari Basic - Czy była to pierwsza maszyna wirtualna (lub jedna z)

willy napisał/a:

Czy Atari Basic jest maszyną wirtualną?

Wracając do głównego pytania.

Wg mnie jest czymś w rodzaju i to szczególnej, ponieważ basic tłumaczy się do bytecodów (właściwie 1:1 odpowiedników instrukcji basica) podczas analizy wiersza, a następnie można to wykonać jak już jest w pamięci w postaci bytekodów.

"Czymś w rodzaju i to szczególnej" = nie ogólnej, bo język maszyny wirtualnej powinien być bliski asemblerowi i odtworzenie z bytekodów kodu źródłowego nie jest możliwe (tak, wiem, istnieją dekompilery do javy, ale IMHO tak to miało być, aby kraść technologie) a w Atari Basic jest to inna postać kodu, co można zobaczyć poleceniem LIST.

Jeśli by się chciało w tej maszynie wirtualnej odpalić program w LOGO, to trzeba de facto przetłumaczyć by to najpierw na BASIC.

Podobnie zresztą jest na ZX Basic.

11

Odp: Atari Basic - Czy była to pierwsza maszyna wirtualna (lub jedna z)

Atari Basic nieszczególnie, ze względu na np. instrukcje modyfikujące obszary stricte zależne od budowy (POKE), co już było wspomniane powyżej.

Poza tym, praktycznie każdy mikrokomputerowy Basic wprowadzał właściwe dla siebie zmiany, usprawnienia, dodatkowe komendy lub inną składnię/parametry dla już istniejących. Ponadto, choćby głupia obsługa znaków - brak wspólnego trybu, nawet tekstowego, już wszystko rozpieprza.

Istniały natomiast próby pisania programów w "Basicu Uniwersalnym", gdzie wyrzekano się komend czy odwołań do elementów specyficznych dla danego mikrosia. Co prawda na wyjściu tylko tekst i to mocno konsolowy, to jednak można by takie eksperymenty z ośmiobitowym esperanto nazwać prymitywną maszyną wirtualną. Ten sam kod zadziałałby przecie i na komputerach z różnymi wariantami 6502 i na architekturach opartych o Z80.

"Stand rigid for the next battle
Peace means reloading your guns
The love for life is all hatred in disguise
A carnival creation with masks undone
"

12

Odp: Atari Basic - Czy była to pierwsza maszyna wirtualna (lub jedna z)

Mef82:ale który post musisz uściślić :)

13

Odp: Atari Basic - Czy była to pierwsza maszyna wirtualna (lub jedna z)

Wydaje mi się, że o wiele bliżej koncepcji maszyny wirtualnej był system CP/M. Był on co prawda przeznaczony dla Z-80 ale to chyba głównie z tego powodu, że tworzenie wirtualnego procesora i jego emulacja przy ówczesnej mocy obliczeniowej była problematyczna aby to robić z sensowną wydajnością. Poza tym jednak i ogólnymi wymaganiami jak 64KB RAM czy ekran tekstowy, programy pod CP/M nie odwoływał się bezpośrednio do sprzętu, stawiały jedynie minimalne wymagania co do zasobów. Były implementacje na Spectrum, CPC czy C-128 czy nawet ATR-8000 albo LDW 2000. Któryś tam model Mery też pracował pod CP/M.

Ostatnio edytowany przez wieczor (2015-06-21 19:48:37)

The problem is not the problem; the problem is your attitude about the problem

Odp: Atari Basic - Czy była to pierwsza maszyna wirtualna (lub jedna z)

Nie, CP/M to po prostu jeden z pierwszych multiplatformowych systemów operacyjnych.

Atari: FireBee, (Falcon030 CT60e SuperVidel SvEthlana CTPCI), TT, (520ST Pak030 Frak PuPla Panther), (520ST 4MB ST RAM 8MB TT RAM CosmosEx SC1435), (1040STFM UltraSatan SM124), (1040STE 4MB ST RAM 8MB TT RAM CosmosEx NetUSBee SM144 SC1224), 260ST, 520 ST+, (MEGA ST SM125), (65XE Rapidus U1MB VBXE SIDE2 SIO2PC), (Jaguar SkunkBoard), Lynx II, 2x Portfolio

15

Odp: Atari Basic - Czy była to pierwsza maszyna wirtualna (lub jedna z)

CP/M, jak i MSX to są chyba dwie odmiany jednej koncepcji.

16

Odp: Atari Basic - Czy była to pierwsza maszyna wirtualna (lub jedna z)

Adam, wiem, ale wiecej tam wirtualizacji niz w BASICu

The problem is not the problem; the problem is your attitude about the problem

Odp: Atari Basic - Czy była to pierwsza maszyna wirtualna (lub jedna z)

laborant: CP/M to system operacyjny, MSX to platforma

wieczór: nie, bo kod programów CP/Mu jest wykonywany natywnie. Masz abstrakcję I/O, ale to ma każdy system operacyjny, po to one są.

Atari: FireBee, (Falcon030 CT60e SuperVidel SvEthlana CTPCI), TT, (520ST Pak030 Frak PuPla Panther), (520ST 4MB ST RAM 8MB TT RAM CosmosEx SC1435), (1040STFM UltraSatan SM124), (1040STE 4MB ST RAM 8MB TT RAM CosmosEx NetUSBee SM144 SC1224), 260ST, 520 ST+, (MEGA ST SM125), (65XE Rapidus U1MB VBXE SIDE2 SIO2PC), (Jaguar SkunkBoard), Lynx II, 2x Portfolio

18

Odp: Atari Basic - Czy była to pierwsza maszyna wirtualna (lub jedna z)

Tak mi się tylko wydawało, że CP/M miał unifikować różne platformy (ale też narzucał, że sprzętowo mają być typu 8086 i Z80), by móc robić na nich to samo i w ten sam sposób, a MSX narzucał standard platformy (też Z80), by też mogli robić to samo na sprzęcie różnych producentów, ale w sensie całego oprogramowania - no jakby krok dalej niż CP/M. Aczkolwiek rezultat końcowy mógłby być identyczny.

I tu nasuwa mi się konkluzja, że już od zarania dziejów maszyny z motorolami i odmianami 6502 szły w custom chipy i dedykowane OS-y, a z80 i intele w unifikację albo sprzętową, albo systemową. Ale może to tylko złudzenie.

EDIT: No i może jeszcze CP/M miał ambicje profesjonalne, a MSX domowo-edukacyjne.

Ostatnio edytowany przez laborant (2015-06-22 11:16:24)

19

Odp: Atari Basic - Czy była to pierwsza maszyna wirtualna (lub jedna z)

Najwcześniej to chyba IBM

https://en.wikipedia.org/wiki/VM_%28operating_system%29