Oto
artykuł, który pojawił się w grudniowym wydaniu magazynu
BYTE z roku 1983. Po przeszukaniu Internetu ze
zdziwieniem stwierdziłem brak odwołań do tego artykułu i bardzo mało materiału
na temat wczesnych wersji systemu
Microsoft Windows. Mogę jedynie spekulować, iż
istnieje pewna konspiracja mająca na celu ukrycie prawdy o wieku Windows.
Wybaczcie złą jakość obrazków, są one skanami z kserokopii drukowanych
fotografii monitora CGA (kto jeszcze pamięta co to
takiego?) wyświetlającego obrazy, które już od samego początku nie były zbyt
piękne.
Microsoft WindowsMyszka z rozsądnymi wymaganiamiAutor: Phil Lemmons |
|
Pulpit i myszka prezentują atrakcyjne koncepcje, lecz komputery Apple Lisa lub IBM PC XT z systemem Visi On przekraczają budżet przeciętnego użytkownika komputerów osobistych. Oba te systemy wymagają twardego dysku i dużych ilości RAM (Random Access Memory - pamięci o dostępie swobodnym). Chociaż myszka sama w sobie stanowi niewielką część tego wydatku, jest ona symbolem podejścia do oprogramowania i słychać było mamrotanie niektórych użytkowników w stylu: "Jakie drogie myszy?" Innym czynnikiem nie pozwalającym myszkom zbytnio się rozmnożyć był brak obiektów, które można by nimi wskazywać (lub innymi słowy brak oprogramowania aplikacyjnego). O ile nie będzie zainstalowanych dużo systemów Lisa i Visi On, wielu twórców oprogramowania nie podejmie prób opracowywania programów dla tych systemów ze względu na duże koszty. Z drugiej strony przyszli nabywcy komputerów osobistych z dużym prawdopodobieństwem nie będą kupować systemów Lisa czy Visi On, aż będzie dostępne więcej oprogramowania. Firmowe oprogramowanie dla komputera Lisa jest wspaniałe, lecz inne programy aplikacyjne dopiero teraz wynurzają się na powierzchnię. Firma Visicorp czyni duże wysiłki, aby przekonać programistów do pisania więcej programów dla Visi On, lecz wymóg posiadania systemu uruchomieniowego pracującego pod kontrolą Unixa jest przeszkodą dla mniejszych firm softwarowych i niezależnych twórców. Wysoki koszt systemu Unix spowodowany jest koniecznością zakupu odpowiedniego sprzętu wymaganego do uruchomienia tego systemu operacyjnego - jeszcze raz mnóstwo pamięci i duży dysk twardy. Powoduje to, iż wciąż gapimy się na wiersze poleceń MS-DOS lub CP/M i mamy nadzieję, że gwałtowny spadek cen pamięci RAM i dysków twardych otworzy drogę do elektronicznych biurek i myszek. Jednakże z wprowadzeniem systemu Microsoft Windows należącego do produktów tej samej firmy, która dostarczyła nam MS-DOS, możemy mieć nadzieję na pokaz z okienkami i myszką startujący z dwóch dyskietek 320KB i przy 192KB RAM. (Oczywiście potrzebne jest więcej pamięci RAM na każdą dodatkową aplikację.) Aby jeszcze bardziej uatrakcyjnić Microsoft Windows dla użytkowników komputerów osobistych, Microsoft obiecuje ustalić cenę Windows "na poziomie składnika systemu operacyjnego" - tj. niską. Ekonomika systemu Microsoft Windows będzie również przemawiać do programistów. Programiści nie potrzebują kupować specjalnego sprzętu do nauki Unixa, aby tworzyć oprogramowanie pracujące pod kontrolą Windows - mogą używać swoich własnych komputerów osobistych IBM. Co więcej programiści mogą skorzystać z możliwości dostosowywania okienek w celu uzyskania firmowego wyglądu aplikacji w środowisku Microsoft Windows tworzonych przez różne firmy softwarowe. Ten sam oświecony pogląd pozwolił firmie Microsoft oprzeć się pokusie zarezerwowania systemu Windows na środowisko dla swoich własnych aplikacji. Microsoft udostępnia Windows licznym firmom softwarowym, łącznie z niektórymi głównymi konkurentami. Microsoft Windows jest instalowalnym sterownikiem urządzeń działającym pod kontrolą systemu operacyjnego MS-DOS 2.0 przy użyciu zwykłych plików MS-DOS. Całkowita kompatybilność z MS-DOS oznacza, iż Windows umożliwi co najmniej uruchomienie dowolnej aplikacji działającej pod MS-DOS. W najgorszym razie Windows przekaże wyświetlanie aplikacji MS-DOS i po jej zakończeniu powróci do właściwego miejsca w Windows. "Powiązania językowe" umożliwią programistom pisanie oprogramowania dla Microsoft Windows w dowolnym języku programowania Microsoft.
Uruchamianie Microsoft WindowsFotografie 1-13 pokazują ciąg operacji w Microsoft Windows. Fotografie na stronach 52-53 (chodzi o strony oryginalnego czasopisma BYTE z 1983, przyp. tłum.) ukazują różne maszyny, których producenci zaadoptowali Microsoft Windows jako środowisko aplikacji. Podczas normalnego używania Microsoft Windows wyświetla jedno lub więcej okien, każde z inną aplikacją. Kursor można przesuwać z jednego okna do innego. Okna można przemieszczać, zmieniać ich rozmiar, przewijać, otrzymywać pomoc kontekstową oraz przesyłać dane pomiędzy oknami. Windows określa najwyższy poziom transferu danych wzajemnie akceptowalny przez dwie aplikacje, z czystym tekstem ASCII (American National Standard Code for Information Interchange) w ostateczności. "Warstwa sterowania sesją" staje się ekwiwalentem pustego pulpitu, gdzie można manipulować plikami. Dostępne polecenia pojawiają się w pobliżu dolnej krawędzi ekranu. Zwykle Microsoft Windows odtwarza pulpit do stanu jego ostatniego użycia. Na zdjęciu 1 startujemy od zera. Aby zobaczyć dostępne programy aplikacji albo używa się myszki do umieszczenia kursora na poleceniu "Run", albo wpisuje się literę "R". Windows wymienia wszystkie programy aplikacji jako polecenia i wystarczy wskazać pożądany program i kliknąć myszką, aby został on uruchomiony. Można również w zamian wpisać odpowiednią literkę. Na fotografii 2 widać uruchomiony BASIC 86 w dużym oknie rozciągającym się na całą szerokość pulpitu. Ponieważ BASIC 86 korzysta z wejścia/wyjścia poprzez procedury MS-DOS, można go uruchomić w okienku. Microsoft nazywa takie oprogramowanie "kooperatywnym". Spód ekranu pokazuje polecenia dostępne w warstwie sterowania sesją. Można użyć tej warstwy do uruchomienia innego programu równolegle z BASIC 86.
Pierwszy krok na drodze do uruchomienia programu pokazany jest na fotografii 3, gdzie kursor wskazuje na "Run". Microsoft Windows wyświetli teraz listę dostępnych programów. Fotografia 4 pokazuje następną wybraną aplikację. W tym przypadku uruchomiony program nie jest "kooperatywny" - tj. nie wykonuje on wszystkiego poprzez wywołania funkcji systemu MS-DOS i czasem wychodzi poza system operacyjny, aby komunikować się bezpośrednio ze sprzętem, np. z pamięcią obrazu. Microsoft Windows nie może uruchomić takiego programu w oknie i musi mu oddać cały ekran. Dlatego na fotografii 4 nie pokazano warstwy sterowania sesją pod wizerunkiem klawiatury pianina.
Fotografia 5 pokazuje przejście z nie kooperatywnego programu do programu "inteligentnego", który może bez problemu funkcjonować w mniejszym oknie i dzielić ekran z innymi programami korzystającymi w pełni z systemu Microsoft Windows. Tym programem jest Microsoft Word. Fotografia 6 pokazuje dwie aplikacje - Word w górnym okienku i Multiplan w dolnym; oba te programy napisano z myślą o pracy w Microsoft Windows. Ponieważ kursor wskazuje jedną z komórek na arkuszu kalkulacyjnym Multiplan, pasek poleceń na spodzie ekranu zawiera polecenia programu Miltiplan. Każde z okien można przesuwać przez uchwycenie myszką paska tytułowego. Każde okno można "powiększyć" przez uchwycenie "ikony powiększania". Chociaż fotografie te ukazują pasek tytułowy na górze okienka a ikonę powiększania na dole po prawej, to twórcy oprogramowania mogą je umieścić w razie potrzeby w innym miejscu.
Na fotografii 7 okno Multiplanu zostało powiększone w celu pokazania większej liczby komórek i więcej danych, a okno Microsoft Word z konieczności zostało pomniejszone.
Fotografia 8 pokazuje zredukowane okna zarówno Multiplanu jak i Microsoft Word. (Od czasu wykonania fotografii 8 Microsoft Windows zostało zaadoptowane do stosowania automatycznego procesu zmiany rozmiarów okienek zwanego "tiling". Zamiast pozwolić oknom się nakładać czy pozostawiać puste obszary pulpitu Microsoft Windows zawsze udostępnia całą przestrzeń na ekranie uruchomionym aplikacjom.)
Fotografia 9 ukazuje program tworzący wykresy, który zajmuje duże okno po prawej stronie ekranu. Ponieważ kursor jest wewnątrz tego okna, pasek poleceń na spodzie ekranu wymienia polecenia związane z wykresem. Zwróćmy uwagę, iż przy powiększeniu okna zawierającego program wykresów wykres liniowy został automatycznie przeskalowany (zobacz na fotografię 10). Microsoft Windows może w razie potrzeby przeskalować grafikę.
Fotografia 11 pokazuje przykładowe menu "pop up" dla programu tworzenia wykresów. Wskazanie kursorem myszki polecenia PEN na pasku poleceń u dołu ekranu spowodowało wyświetlenie rozmiarów piórka i wzorów. Wybór rozmiarów i wzorów dokonywany jest przy pomocy myszki wskazując jeden z kwadratów pokazany na każdej z list, a następnie wskazując prostokąt "OK" (Zobacz na fotografię 12). Tak jak z innymi cechami wyświetlania w Microsoft Windows programiści mogą zaprojektować menu wg swoich własnych gustów.
Fotografia 13 pokazuje wykres wyświetlony zgodnie z wprowadzonymi poleceniami - piórko o rozmiarze 4 na 4 piksele i z szarym cieniowaniem. Możliwości graficzne Microsoft Windows zawdzięczają wiele systemowi grafiki niezależnej od urządzeń wyświetlających opisanemu przez Johna Butlera w żółtym polu tekstowym poniżej pt. "Niezależna od Urządzeń Grafika Wyjściowa dla Microsoft Windows". WnioskiMicrosoft Windows wydaje się oferować godną uwagi otwartość, możliwość konfiguracji i przenośność jak również skromne wymagania i niską cenę. W wyniku graficzny system sterowany myszką i przeznaczony dla ludzi nie posiadających wykształcenia technicznego może w końcu trafić do ich rąk. O ile nie pojawi się niespodziewane wprowadzenie podobnego produktu ze strony innej firmy, Microsoft Windows stanie się pierwszą na dużą skalę próbą systemu graficznego w rękach docelowych użytkowników. Naturalne staje się pytanie, czy zdolność systemu Microsoft Windows do uruchomienia się w ograniczonej pamięci oraz z dyskietek spowoduje zauważalne opóźnienia w działaniu. Nawet Lisa ze swoją megabajtową pamięcią i mikroprocesorem 68000 często prosi użytkownika o zaczekanie. Czy ułatwienia w użyciu są warte czekania? Czy system Microsoft Windows w jakiś sposób rozwiąże pomysłowo problemy tych opóźnień? Odpowiedzi na te pytania ukształtują przyszłość masowego rynku oprogramowania. Otwarte podejście oraz zaprezentowanie systemu Microsoft Windows jako rozszerzenia MS-DOS 2.0 pomoże przyciągnąć hordę programistów niezbędną dla zapewnienia akceptowalnych szybkości wykonywania się programów na komputerze IBM PC. Tak jak wystarczająco duża liczba programistów pracujących wystarczająco długo nad różnymi podejściami sprawiła, iż komputer Apple II dokonuje wyczynów, które kiedyś wydawały się niewiarygodne, tak wystarczająca liczba programistów pracujących wystarczająco długo nad różnymi podejściami sprawi, iż aplikacje będą się wykonywały szybko pod kontrolą Microsoft Windows na zwykłym sprzęcie. Nawet jeśli ten osąd okaże się pomyłką, polityka Microsoft dotycząca otwartości i niskich cen umożliwi dokonanie dokładnego wypróbowania masowego rynku oprogramowania. Dla wielu autorów oprogramowania jak również dla wielu użytkowników będzie to pierwsza szansa wypróbowania podejścia do interfejsu użytkownika, które od kilku lat znajdowało się poza ich zasięgiem. |
Niezależna od Urządzeń Grafika Wyjściowa dla Microsoft WindowsJohn Butler Co umożliwia systemowi Microsoft Windows rysowanie grafiki na różnych urządzeniach - drukarce/ploterze jak również na bitmapowych ekranach - bez zmiany kodu graficznego? Microsoft Windows pracuje z systemem graficznym niezależnym od urządzeń zwanym Graphics Decide Interface lub GDI. Składa się on z procedur graficznych udostępniających interfejs pomiędzy programami chcącymi rysować obrazy a różnymi urządzeniami wyjściowymi. Wywołania graficzne z tych programów nie są specyficzna dla żadnego urządzenia. GDI pośredniczy pomiędzy tymi wywołaniami graficznymi a faktycznymi urządzeniami dostępnymi w systemie. Wywołujący program może być rozszerzeniem systemu operacyjnego, jak Microsoft Windows, lub programem aplikacyjnym napisanym w języku wysokiego poziomu. Projekt systemu graficznego niezależnego od urządzeń, takiego jak GDI, rozpoczyna się od definicji abstrakcyjnego urządzenia. Abstrakcyjne urządzenie jest zbiorem wszystkich funkcji, które ostatecznie będą wykonywane przez rzeczywiste urządzenia graficzne. (Na przykład funkcjami do wykonania przez urządzenia mogłyby być operacje "narysuj koło" lub "zmień styl kreskowania"). Gdy wywołana zostaje funkcja, GDI pobiera parametry funkcji opisane w kategoriach urządzenia abstrakcyjnego i przesyła je do sterownika urządzenia logicznego. Sterownik urządzenia logicznego jest oprogramowaniem, które tłumaczy funkcję urządzenia abstrakcyjnego na ciąg działań specyficznych dla urządzenia rzeczywistego. Działania te (przekazywane przez sterownik urządzenia fizycznego) dają w wyniku pojawienie się grafiki na danym urządzeniu. Abstrakcyjne urządzenie GDIProjekt urządzenia abstrakcyjnego ostatecznie określa rodzaje urządzeń, z którymi system może się porozumiewać oraz oraz w jakim stopniu system będzie niezależny od urządzeń fizycznych.. Aby zdefiniować urządzenie abstrakcyjne dla GDI, Microsoft zastosował polecenia graficzne z bieżącego standardu ANSI-VDI (American National Standards Institute-Video Display Interface) określającego rysowanie na ploterach. Klasa rastrowego bufora ramki dla urządzenia pochodzi z funkcji graficznych zastosowanych w IBM Personal Computer BASIC. Zrzut ekranu oraz dodatkowe funkcje rastrowe udostępniają wydruk zawartości ekranu na papierze oraz zdolność animacji. Abstrakcyjne urządzenie GDI może obsługiwać jako aplikacje dowolną ze zwykłych bibliotek procedur graficznych (na przykład SIGGRAPH/ACM CORE, ISO GKS, Plot-10). Prymitywy GraficzneJęzyk abstrakcyjnego urządzenia składa się z "prymitywów". Prymitywy te są wywołaniami funkcji graficznych dostępnych na najniższym poziomie GDI - poziomie sterownika urządzenia logicznego. Ze względu na wykonywane przez nie operacje opisuje się je następująco:
GDI udostępnia język, który może być wykorzystany przez program aplikacji do tworzenia obrazów. Program aplikacji może tworzyć takie obrazy bez znajomości charakterystyki urządzenia wyjściowego. |
|
|
Tłumaczenie na język polski dla
I LO w Tarnowie zostało wykonane za pisemną zgodą
Nathana Linebacka z oryginalnej witryny internetowej
Graphical User Interfaces |
|