Vista vs. Fedora Core na laborkach
W ramach zajęć z architektury systemów komputerowych mieliśmy do napisania program w języku C zlinkowany z funkcją napisaną w assemblerze. Pracowaliśmy z Szefową i NetManem na moim kompie, całość powstała zatem w środowisku linuksowym, z wykorzystaniem GCC i Yasma. Mam 64-bitowy procesor i takiż system operacyjny, assembler śmigał jednak bez problemu w trybie 32-bitowym, do czego wystarczyła jedna flaga w Yasmie. Później NetMan przeportował to na Windows XP za pomocą DJGPP, Yasma, a w razie czego również NASM-a. Jego komp jest również 64-bitowy.
Na laborce okazało się, że mamy komputery z Windows Vista, zdaje się, że 64-bitowe. Nie było DJGPP i nie dało się go zainstalować ze względu na politykę bezpieczeństwa (co akurat jest całkiem sensownym działaniem systemu). Do pracy mieliśmy kompilator języka C bcc32, z którym pracowałem, i który, od biedy, nadaje się do użytkowania, oraz microsoftowy assembler ml, który okazał się diametralnie inny od wszystkiego innego (co, rzecz jasna, w ogóle nie dziwi). Dostaliśmy zatem, zupełnie niespodziewanie, supernowoczesne środowisko, na którym nie znalazłem nawet jakiegoś sensownego edytora dla programisty, i które było całkowicie obce dla większości z nas – tylko jednemu zespołowi udało się skompilować i uruchomić program, po odpaleniu magicznego pliku wsadowego (tak, tak, na tym supernowoczesnym systemie zmienne środowiskowe konfigurował plik wsadowy *.bat).
Na szczęście prowadzący pozwolił nam spróbować na Linuksie. Odpaliłem zatem Fedora Core. Nie było Yasma, ale był NASM. GCC też się znalazło. Do dyspozycji był też Emacs. Dobrze, ktoś powie, ale to przecież kwestia instalacji. Tak? A widzieliście płytę instalacyjną Windows, na której byłby jakikolwiek kompilator albo edytor tekstowy (oprócz Notepada, którego bardziej funkcjonalny odpowiednik jest chyba nawet w template’ach do Delphi). A może widzieliście Windowsa, który pozwala dociągnąć to z repo? Ja nie.
Na FC program, rzecz jasna, skompilował się i funkcjonował bez problemów. Musiałem wykonać tylko jedną, arcyskomplikowaną czynność: zmienić w moim Makefile słówko yasm na nasm.
Konkluzja: Vista to ładne i intrygujące demo systemu operacyjnego. Ciekawe, kiedy chłopaki z MS go napiszą i czy uda im się uzyskać zgodność z POSIX. Bo przecież to wstyd, że tyle roboty muszą za nich na razie wykonywać developerzy Cygwina.

sobota, 31 marca 2007 @ 11:13
no z tą Vistą i kompilacją oprogramowania na niej na zajęciach był Straszny kłopot. Może spróbuję na dniach zrobić to u mnie.
Potrzebne jest małe sprostowanie:
Najpierw – ja mam procek AMD 64 bit. ale system to XP 32bit – więc całe środowisko u mnie było 32 bit. Na zajęciach mieliśmy Viste 64bit na procku AMD 64. Ja u siebie mam (o ile dobrze pamiętam) Vistę 32bit, ale zobaczymy czy cokolwiek da radę zrobić.
Co do pliku wsadowego, napisałeś:
po odpaleniu magicznego pliku wsadowego (tak, tak, na tym supernowoczesnym systemie zmienne środowiskowe konfigurował plik wsadowy *.bat). Jakby to powiedzieć? – Ten plik wsadowy zawierał tylko ścieżkę dostępu do kompilatora C (lub Assemblera – już nie pamiętam) – tego co gdzieś tam był zainstalowany (i jakoś nie chciał działać). I nic więcej w tym pliczku nie było. Jego zadanie to tylko ‘zapisać i odpalić’ długi i skomplikowany adres.
A co do środowiska programistycznego, i jakichkolwiek zaawansowanych edytorów to WINDOWS (w standardzie, tuż po instalacji) nie ma w ogóle co się wychylać w stosunku do (WIĘKSZOŚCI) innych systemów, z linuxem na czele
sobota, 31 marca 2007 @ 16:17
Kumam: chodzi o ustawienie zmiennych środowiskowych (tu: ścieżki dostępu zapewne). Nie potrzeba co prawda do tego Perla, ale zawsze gdy widzę bat-y zastanawia mnie, kiedy Windows dorobi się jakiegoś poważniejszego języka skryptowego, nie mówiąc o zestawie konsolowych narzędzi? Jak dotąd jedyną pozytywną zmianą w kwestii konsoli tekstowej było chyba dodanie historii poleceń przewijanej strzałkami, co pozostawię już bez komentarza.
sobota, 27 września 2008 @ 14:09
A co ma wspólnego architektura systemów komputerowych z linkowaniem modułów napisanych w różnych językach ? Przecież technicznie rzecz biorąc jest to podanie odpowiednich opcji do kompilatora i linkera. Nie można wymagać żeby wszędzie były te same kompilatory i linkery.
środa, 1 października 2008 @ 10:33
Nie wiem, co ma wspólnego; widać ma, skoro w ramach przedmiotu to właśnie robiliśmy.
Nie wymagam, by wszędzie były te same kompilatory i linkery, ale by dostarczane były współgrające ze sobą narzędzia i dokumentacja do nich.