Chicago - uniwersalny 16/32-bitowy system operacyjny 28

Chicago może z pełną szybkością dostarczać jednemu zadaniu niezbędnych danych, odczytując jednocześnie dysk CD-ROM, obsługując żądania zgłaszane przez kartę sieciową i drukując plik na drukarce. Co ważne z trybu pracy wielozadaniowej mogą w pełni korzystać wszystkie aplikacje starszego typu.

Jak wiadomo aplikacje systemu Windows 3.1 zdane są na pracę sterowników w DOS-ie (pracujących w trybie rzeczywistym). Ich pracą steruje BIOS zainstalowany na płycie głównej komputera, co w dość skuteczny sposób niweczy wszystkie korzyści, które niesie ze sobą praca w środowisku wielozadaniowym z wywłaszczeniem. Chicago znosi te niedogodności i oferuje użytkownikowi efektywny, w pełni 32-bitowy tryb pracy.

Wspomaganie aplikacji DOS-u

Dzięki sterownikom uruchamianym w trybie pracy chronionej obszar konwencjonalnej pamięci RAM jest w pełni dostępny dla aplikacji systemu DOS. Ponieważ niektóre aplikacje DOS-u nie mogły pracować pod systemem Windows, twórcy systemu Chicago wprowadzili nowy tryb pracy - "single DOS application mode". Pozwala on uruchamiać najbardziej nawet wymagające i agresywne aplikacje systemu DOS, tworząc specjalne środowisko pracy, w którym świetnie czują się wszystkie aplikacje DOS-u, które pracują w trybie rzeczywistym.

Jedną ze szczególnie cennych opcji oferowanych przez to środowisko jest możliwość bezpiecznego i łatwego kończenia pracy aplikacji, bez wstępnego jej zamykania. Kolejne bardzo przydatne rozwiązanie to skalowalne w dynamiczny sposób fonty TrueType. Pozwalają one "rozciągać" okienka systemu DOS. Tak więc Chicago tworzy aplikacjom systemu DOS niemalże cieplarniane warunki pracy.

Odzyskiwanie pamięci

Wielu użytkowników zna zapewne komunikaty "low memory" lub "out of memory" wyświetlane przez Windows 3.1. Są one generowane przez obiekty czy zasoby tworzone dynamicznie przez moduły GDI lub User. Gdy moduły te tworzą okna, opcje menu, okienka dialogowe czy przyciski, to obiekty te zajmują określone przestrzenie adresowe. Są to tzw. "sterty lokalne". Tryb adresowania 16-bitowego powoduje, że sterta taka nie może zajmować więcej niż 64 K. Ograniczenie to było bardzo uciążliwe w systemie Windows wersji 3.0, dlatego twórcy wersji 3.1 "pozwolili" pojedynczym obiektom graficznym zajmować kilka stert. Nie rozwiązało to jednak podstawowego problemu związanego ze zwalnianiem pamięci przez te obiekty, co prowadziło do zawieszania się systemu.

Chicago próbuje rozwiązać tę kwestię stosując szereg kompromisów. Gdy 32-bitowa aplikacja systemu Windows kończy pracę, Chicago rozpoznaje ją i natychmiast zwraca systemowi wszystkie zasoby wykorzystywane przez tę aplikacje. Niestety aplikacje 16-bitowe nie mogą być kontrolowane w ten sam sposób. Twórcy aplikacji 16-bitowych korzystają bowiem z właściwemu systemowi Windows 3.x fenomenowi zwanemu popularnie "pośmiertnym śladem obiektów". Wieloaplikacyjne zadanie tworzy często wiele obiektów systemowych, które przekazywane są innym aplikacjom lub bibliotece DLL. Obiekty te pozostają w pamięci systemu do zakończenia pracy zadania. I chociaż Chicago odróżnia takie "pośmiertne" obiekty od zwykłych, to usunięcie ich z systemu zawiesza aplikacje, które wspomagały pracę zakończonego już zadania (a mogą świadczyć usługi innym, pracującym w systemie zadaniom, które ulegną też w tym momencie zawieszeniu).

Chicago sięga jednak po innego rodzaju rozwiązanie. Śledzi on uruchamiane aplikacje, przyporządkowane im numery wersji systemu Windows i tworzone przez nie obiekty. Po stwierdzeniu faktu, że w systemie nie ma już aplikacji systemu Windows 3.1 (czy starszych) Chicago usuwa z pamięci wszystkie "pośmiertne" obiekty. I jeśli nawet okaże się, że z usług jednego z obiektów korzystała jednak jakaś aplikacja, to wystarczy wtedy zamknąć tylko ją, aby system

powrócił do normalnego stanu.

Podsumowanie

Jeśli porównamy Chicago z innymi systemami operacyjnymi firmy Microsoft to okaże się, że były to właściwie proste systemy do ładowania i uruchamiania programów. Chicago oferuje bowiem użytkownikowi wiele usług, które czynią go systemem bardzo uniwersalnym, zdolnym obsłużyć całą gamę tak 16-, jak i 32-bitowych aplikacji (i to niezależnie od tego czy są to aplikacje systemu DOS, czy Windows). I jeśli Microsoft wywiąże się z wszystkich obietnice które składa, to być może Chicago stanie się przodującym systemem operacyjnym końca lat 90.


TOP 200