Konfiguracja sprzętu i oprogramowania

Zastosowane środowiska. Schemat tworzenia programów aplikacyjnych w środowisku typowego systemu programistycznego Aplikacyjne środowisko programistyczne schematu

Podczas gdy wiele cech architektonicznych systemu operacyjnego jest bezpośrednio związanych tylko z programiści systemowi, koncepcja środków wielokrotnego użytku (operacyjnych) jest bezpośrednio związana z potrzebami użytkowników końcowych - zdolność do: system operacyjny uruchamiać aplikacje napisane dla innych systemów operacyjnych. Ta właściwość systemu operacyjnego nazywana jest kompatybilnością.

Kompatybilność aplikacji może być na poziomie binarnym i na poziomie kodu źródłowego. Aplikacje są zwykle przechowywane w systemie operacyjnym w formie pliki wykonywalne zawierające binarne obrazy kodów i danych. Kompatybilność binarną osiąga się, gdy można pobrać program wykonywalny i uruchomić go w innym środowisku systemu operacyjnego.

Zgodność na poziomie źródła wymaga obecności odpowiedniego kompilatora w ramach oprogramowanie komputer, na którym uruchomić ta aplikacja, a także kompatybilność na poziomie bibliotek i wywołań systemowych. Wymaga to rekompilacji kodu źródłowego aplikacji do nowego modułu wykonywalnego.

Zgodność na poziomie źródła jest ważna głównie dla twórców aplikacji, którzy mają do dyspozycji te źródła. Ale dla użytkowników końcowych tylko zgodność binarna ma praktyczne znaczenie, ponieważ tylko w tym przypadku mogą używać tego samego produktu w różnych systemach operacyjnych i na różnych maszynach.

Rodzaj możliwej kompatybilności zależy od wielu czynników. Najważniejszą z nich jest architektura procesora. Jeśli procesor używa tego samego zestawu instrukcji (może z dodatkami, jak w przypadku IBM PC: zestaw standardowy + multimedia + grafika + strumieniowanie) i ten sam zakres adresów, to zgodność binarną można osiągnąć całkiem prosto. W tym celu muszą być spełnione następujące warunki:

  • API, z którego korzysta aplikacja, musi być obsługiwane przez dany system operacyjny;
  • wewnętrzna struktura pliku wykonywalnego aplikacji musi być zgodna ze strukturą plików wykonywalnych systemu operacyjnego.

Jeśli procesory mają różne architektury, to oprócz powyższych warunków konieczne jest zorganizowanie emulacji kodu binarnego. Na przykład szeroko stosowana jest emulacja instrukcji procesora Intela na procesorze Motorola 680x0 komputera Macintosh. Emulator oprogramowania w tym przypadku sekwencyjnie wybiera instrukcję binarną procesora Intela i wykonuje równoważny podprogram zapisany w instrukcjach procesora Motorola. Ponieważ procesor Motoroli nie ma dokładnie tych samych rejestrów, flag, wewnętrznej jednostki ALU itp., jak w Procesory Intel, musi również symulować (emulować) wszystkie te elementy przy użyciu własnych rejestrów lub pamięci.

To proste, ale bardzo powolna praca, ponieważ jedna instrukcja Intela jest wykonywana znacznie szybciej niż sekwencja instrukcji procesora Motorola, która ją emuluje. Wyjściem w takich przypadkach jest zastosowanie tzw programy użytkoweśrodowiskach lub środowiskach operacyjnych. Jednym ze składników takiego środowiska jest zestaw funkcji API, które system operacyjny udostępnia swoim aplikacjom. Aby skrócić czas wykonywania programów innych osób, środowiska aplikacji imitują wywołania funkcji bibliotecznych.

Skuteczność tego podejścia wynika z faktu, że większość dzisiejszych programów działa pod GUI (graficznymi interfejsami użytkownika), takimi jak Windows, MAC czy UNIX Motif, podczas gdy aplikacje spędzają 60-80% czasu na wykonywaniu funkcji GUI i innych wywołaniach bibliotek systemu operacyjnego . To właśnie ta właściwość aplikacji umożliwia środowiskom aplikacji rekompensowanie dużego czasu poświęcanego na emulację polecenia za poleceniem programów. Starannie zaprojektowane środowisko aplikacji zawiera biblioteki naśladujące biblioteki GUI, ale napisane w kodzie natywnym. W ten sposób uzyskuje się znaczne przyspieszenie wykonywania programów z API innego systemu operacyjnego. W przeciwnym razie takie podejście nazywa się tłumaczeniem - w celu odróżnienia go od wolniejszego procesu emulowania jednej instrukcji na raz.

Na przykład w przypadku programu Windows działającego na komputerze Macintosh podczas interpretowania poleceń z procesora Intel występ może być bardzo niski. Ale kiedy wywoływana jest funkcja GUI, otwierane jest okno itd., moduł systemu operacyjnego implementujący środowisko aplikacji Windows może przechwycić to wywołanie i przekierować je do procedury otwierania okna, przekompilowanej dla procesora Motorola 680x0. W rezultacie w takich sekcjach kodu szybkość programu może osiągnąć (i ewentualnie przewyższyć) szybkość pracy na własnym procesorze.

Aby program napisany dla jednego systemu operacyjnego działał na innym systemie operacyjnym, nie wystarczy zapewnić zgodność API. Koncepcje leżące u podstaw różnych systemów operacyjnych mogą ze sobą kolidować. Na przykład w jednym systemie operacyjnym aplikacja może sterować urządzeniami we / wy, w innym działania te są prerogatywą systemu operacyjnego.

Każdy system operacyjny ma własne mechanizmy ochrony zasobów, własne algorytmy obsługi błędów i wyjątków, specjalną strukturę procesora i schemat zarządzania pamięcią, własną semantykę dostępu do plików i grafikę interfejs użytkownika. Aby zapewnić kompatybilność, konieczne jest zorganizowanie bezkonfliktowego współistnienia w tym samym systemie operacyjnym kilku sposobów zarządzania zasobami komputera.

Istnieć różne opcje budowa wielu środowisk aplikacyjnych, różniących się zarówno cechami rozwiązań architektonicznych, jak i funkcjonalnością, zapewniających różny stopień przenośności aplikacji. Jedna z najbardziej oczywistych opcji implementacji wielu środowisk aplikacji opiera się na standardowej warstwowej strukturze systemu operacyjnego.

Inny sposób budowania wielu środowisk aplikacji opiera się na podejściu mikrojądra. Jednocześnie bardzo ważne jest zwrócenie uwagi na podstawową, wspólną dla wszystkich środowisk aplikacyjnych różnicę między mechanizmami systemu operacyjnego a funkcjami wysokopoziomowymi specyficznymi dla każdego ze środowisk aplikacyjnych, które rozwiązują problemy strategiczne. Zgodnie z architektura mikrojądrowa wszystkie funkcje systemu operacyjnego są realizowane przez mikrojądro i serwery trybu użytkownika. Ważne jest, aby środowisko aplikacji zostało zaprojektowane jako oddzielny serwer trybu użytkownika i nie zawiera podstawowych mechanizmów.

Aplikacje, korzystając z API, wykonują wywołania systemowe do odpowiedniego środowiska aplikacji za pośrednictwem mikrojądra. Środowisko aplikacji przetwarza żądanie, wykonuje je (być może prosząc o pomoc od podstawowe funkcje mikrojądra) i wysyła wynik do aplikacji. Podczas wykonywania żądania środowisko aplikacji z kolei musi uzyskać dostęp do podstawowych mechanizmów systemu operacyjnego zaimplementowanych przez mikrojądro i inne serwery systemu operacyjnego.

Takie podejście do projektowania środowisk wieloaplikacyjnych ma wszystkie zalety i wady architektury mikrojądra, a w szczególności:

  • bardzo łatwo jest dodawać i wykluczać środowiska aplikacji, co jest konsekwencją dobrej rozszerzalności systemów operacyjnych z mikrojądrem;
  • jeśli jedno ze środowisk aplikacyjnych ulegnie awarii, pozostałe pozostają sprawne, co przyczynia się do niezawodności i stabilności systemu jako całości;
  • niska wydajność systemów operacyjnych z mikrojądrem wpływa na szybkość pracy narzędzia aplikacji, a co za tym idzie szybkość aplikacji.

W rezultacie należy zauważyć, że tworzenie w ramach jednego systemu operacyjnego kilku narzędzi aplikacyjnych do wykonywania aplikacji z różnych systemów operacyjnych to sposób, który pozwala mieć jedną wersję programu i przenosić ją między różnymi systemami operacyjnymi. Wiele środowisk aplikacji zapewnia binarną zgodność danego systemu operacyjnego z aplikacjami napisanymi dla innych systemów operacyjnych.

1.9. Maszyny wirtualne jako nowoczesne podejście do wdrażania środowisk wieloaplikacyjnych

Koncepcja „monitorowania maszyny wirtualnej” (VMM) powstała pod koniec lat 60. jako oprogramowanie poziom abstrakcji, który podzielił platformę sprzętową na kilka maszyn wirtualnych. Każda z tych maszyn wirtualnych (VM) była tak podobna do podstawowej maszyny fizycznej, że istniejąca oprogramowanie można na nim wykonać bez zmian. W tamtych czasach ogólne zadania obliczeniowe były wykonywane na drogich komputerach mainframe (takich jak IBM /360), a użytkownicy wysoko oceniali zdolność VMM do przydzielania ograniczonych zasobów między kilka aplikacji.

W latach 80. i 90. koszty sprzętu komputerowego znacznie i skutecznie spadły wielozadaniowy system operacyjny, co zmniejszyło wartość VMM w oczach użytkowników. Komputery mainframe ustąpiły miejsca minikomputerom, a potem komputerom PC i zniknęła potrzeba VMM. W rezultacie architektura komputerowa po prostu zniknęła sprzęt komputerowy za ich skuteczną realizację. Pod koniec lat 80. w nauce i produkcji VMM postrzegano je jedynie jako ciekawostkę historyczną.

Dziś MVM powraca w centrum uwagi. Intel, AMD, Sun Microsystems i IBM opracowują strategie wirtualizacji, a laboratoria i uniwersytety opracowują podejścia oparte na maszynach wirtualnych w celu rozwiązania problemów związanych z mobilnością, bezpieczeństwem i zarządzaniem. Co się stało między rezygnacją MVM a ich odrodzeniem?

W latach 90. naukowcy ze Stanford University zaczęli badać możliwość wykorzystania maszyn wirtualnych do przezwyciężenia ograniczeń sprzętu i systemów operacyjnych. Problemy pojawiły się z komputerami z przetwarzaniem masowo równoległym (Massively Parallel Processing, MPP), które były trudne do zaprogramowania i nie mogły obsługiwać istniejących systemów operacyjnych. Naukowcy odkryli, że maszyny wirtualne mogą upodobnić tę nieporęczną architekturę do istniejących platform, aby wykorzystać gotowe systemy operacyjne. Z tego projektu pochodzili ludzie i pomysły, które stały się kopalnią złota firmy VMware (www.vmware.com), pierwszego dostawcy VMM dla komputerów głównego nurtu.

Co dziwne, rozwój nowoczesnych systemów operacyjnych i spadające koszty sprzętu doprowadziły do ​​problemów, które naukowcy mieli nadzieję rozwiązać za pomocą VMM. Przyczynił się do tego niski koszt sprzętu szybkie rozprzestrzenianie się komputery, ale często były niewystarczająco wykorzystywane, wymagając dodatkowej przestrzeni i wysiłku w utrzymaniu. I konsekwencje wzrostu funkcjonalność Systemy operacyjne stały się ich niestabilnością i podatnością.

Aby zmniejszyć wpływ awarii systemu i chronić przed włamaniami, administratorzy systemu powrócił do jednozadaniowości model obliczeniowy(przy jednej aplikacji na jednej maszynie). Spowodowało to dodatkowe koszty ze względu na zwiększone wymagania sprzętowe. Przenoszenie aplikacji z różnych maszyn fizycznych na maszyny wirtualne i konsolidacja tych maszyn wirtualnych na kilku platformach fizycznych poprawiło wykorzystanie sprzętu, zmniejszyło koszty zarządzania i zmniejszyło powierzchnię. W ten sposób zdolność VMM do multipleksowania sprzętu — tym razem w imię konsolidacji serwerów i obliczeń użytkowych — przywróciła je do życia.

Obecnie VMM stał się nie tyle narzędziem do organizowania wielozadaniowości, jak kiedyś pomyślano, ale rozwiązaniem problemów zapewnienia bezpieczeństwa, mobilności i niezawodności. Pod wieloma względami VMM daje programistom systemów operacyjnych możliwość rozwijania funkcjonalności, które nie są możliwe w dzisiejszych złożonych systemach operacyjnych. Funkcje, takie jak migracja i ochrona, są znacznie wygodniejsze do wdrożenia na poziomie obsługujących je VMM wstecznie kompatybilny przy wdrażaniu innowacyjnych rozwiązań systemów operacyjnych przy zachowaniu dotychczasowych osiągnięć.

Wirtualizacja to ewoluująca technologia. Ogólnie rzecz biorąc, wirtualizacja umożliwia oddzielenie oprogramowania od podstawowej infrastruktury sprzętowej. W rzeczywistości zrywa połączenie między pewnym zestawem programów a określonym komputerem. Monitor maszyny wirtualnej oddziela się oprogramowanie od sprzętu i stanowi pośredni poziom między uruchomieniem oprogramowania wirtualne maszyny i sprzęt. Ten poziom umożliwia VMM pełną kontrolę wykorzystania zasobów sprzętowych. systemy operacyjne gościa (GuestOS) które działają na maszynie wirtualnej.

VMM tworzy ujednolicony widok podstawowego sprzętu, dzięki czemu fizyczne maszyny od różnych dostawców z różnymi podsystemami we/wy wyglądają tak samo, a maszyna wirtualna działa na dowolnym dostępnym sprzęcie. Nie martwiąc się o poszczególne maszyny, z ich ścisłymi powiązaniami między sprzętem a oprogramowaniem, administratorzy mogą traktować sprzęt po prostu jako pulę zasobów do świadczenia dowolnej usługi na żądanie.

Dzięki pełna enkapsulacja stany oprogramowania na maszynie wirtualnej, monitor VMM może mapować maszynę wirtualną na dowolne dostępne zasoby sprzętowe, a nawet przenosić ją z jednej fizycznej maszyny na drugą. Zadanie równoważenia obciążenia w grupie maszyn staje się trywialne, a istnieją niezawodne sposoby radzenia sobie z awariami sprzętu i rozbudowy systemu. Jeśli musisz wyłączyć uszkodzony komputer lub przywrócić nowy do trybu online, VMM może odpowiednio rozmieścić maszyny wirtualne. Maszyna wirtualna jest łatwa do replikacji, co pozwala administratorom szybko udostępniać nowe usługi w razie potrzeby.

Enkapsulacja oznacza również, że administrator może w dowolnym momencie zawiesić lub wznowić działanie maszyny wirtualnej, a także zapisać Stan obecny maszynę wirtualną lub przywrócić ją do poprzedniego stanu. Dzięki uniwersalnej funkcji cofania można łatwo poradzić sobie z awariami i błędami konfiguracji. Hermetyzacja jest podstawą uogólnionego modelu mobilności, ponieważ zawieszona maszyna wirtualna może być kopiowana przez sieć, przechowywana i transportowana na nośnikach wymiennych.

VMM pełni rolę pośrednika we wszystkich interakcjach między maszyną wirtualną a sprzętem bazowym, wspierając wykonywanie wielu maszyn wirtualnych na jednej platformie sprzętowej i zapewniając ich niezawodną izolację. VMM pozwala na łączenie grupy maszyn wirtualnych o niskich wymaganiach dotyczących zasobów na jednym komputerze, zmniejszając koszty sprzęt komputerowy oraz zapotrzebowanie na przestrzeń produkcyjną.

Całkowita izolacja jest również ważna dla niezawodności i bezpieczeństwa. Aplikacje, które kiedyś działały na jednej maszynie, mogą teraz być dystrybuowane na różne maszyny wirtualne. Jeśli jeden z nich spowoduje awarię systemu operacyjnego w wyniku błędu, inne aplikacje zostaną od niego odizolowane i będą nadal działać. Jeśli jedna z aplikacji jest zagrożona atakiem zewnętrznym, atak zostanie zlokalizowany w „zaatakowanej” maszynie wirtualnej. W ten sposób VMM jest narzędziem do restrukturyzacji systemu w celu poprawy jego stabilności i bezpieczeństwa, bez konieczności dodatkowego zajmowania przestrzeni i działań administracyjnych, które są niezbędne przy uruchamianiu aplikacji na oddzielnych komputerach fizycznych.

VMM musi powiązać interfejs sprzętowy z maszyną wirtualną, zachowując pełną kontrolę nad podstawową maszyną i procedurami interakcji z jej sprzętem. Aby osiągnąć ten cel, istnieją różne metody oparte na pewnych kompromisach technicznych. Przy poszukiwaniu takich kompromisów brane są pod uwagę główne wymagania dla VMM: kompatybilność, występ i prostota. Kompatybilność jest ważna, ponieważ główną zaletą VMM jest możliwość uruchamiania starszych aplikacji. Występ określa wielkość narzutu na wirtualizację — programy na maszynie wirtualnej muszą być wykonywane z taką samą szybkością, jak na maszynie rzeczywistej. Prostota jest konieczna, ponieważ awaria VMM spowoduje awarię wszystkich maszyn wirtualnych działających na komputerze. W szczególności niezawodna izolacja wymaga, aby VMM był wolny od błędów, które atakujący mogą wykorzystać do zniszczenia systemu.

Zamiast przepisywania złożonego kodu systemu operacyjnego gościa, możesz wprowadzić pewne zmiany w systemie operacyjnym hosta, zmieniając niektóre z najbardziej „zakłócających” części jądra. Takie podejście nazywa się parawirtualizacją. Oczywiste jest, że w tym przypadku tylko autor może dostosować jądro systemu operacyjnego i np. Microsoft nie wykazuje chęci dostosowania popularnego jądra Windows 2000 do realiów konkretnych maszyn wirtualnych.

W przypadku parawirtualizacji programista VMM na nowo definiuje interfejs maszyny wirtualnej, zastępując podzbiór oryginalnego zestawu instrukcji, który nie nadaje się do wirtualizacji, wygodniejszymi i wydajniejszymi odpowiednikami. Należy pamiętać, że chociaż system operacyjny musi zostać przeniesiony, aby działał na takich maszynach wirtualnych, większość wspólne aplikacje można wykonać bez zmian.

Największą wadą parawirtualizacji jest niekompatybilność. Każdy system operacyjny, zaprojektowany do działania pod kontrolą parawirtualizowanego monitora VMM, musi być przeniesiony do tej architektury, dla której konieczne jest negocjowanie współpracy z dostawcami systemów operacyjnych. Ponadto nie można używać starszych systemów operacyjnych, a istniejących maszyn nie można łatwo zastąpić wirtualnymi.

Aby osiągnąć wysoką wydajność i kompatybilność w wirtualizacji x86, firma VMware opracowała nowa metoda wirtualizacja, która łączy tradycyjne bezpośrednie wykonanie z szybkim tłumaczeniem binarnym w locie. W większości nowoczesnych systemów operacyjnych tryby działania procesora podczas wykonywania zwykłych programów użytkowych są łatwo zwirtualizowane i dlatego można je wirtualizować poprzez bezpośrednie wykonanie. Tryby uprzywilejowane nieodpowiednie do wirtualizacji mogą być wykonywane przez translator kodu binarnego, korygując „niewygodne” polecenia x86. Rezultatem jest wysoka wydajność maszyna wirtualna, który jest w pełni kompatybilny ze sprzętem i zachowuje pełną kompatybilność oprogramowania.

Przekonwertowany kod jest bardzo podobny do wyników parawirtualizacji. Zwykłe instrukcje są wykonywane bez zmian, podczas gdy instrukcje wymagające specjalnego przetwarzania (takie jak POPF i instrukcje odczytu rejestru segmentu kodu) są zastępowane przez translator sekwencjami instrukcji, które są podobne do tych wymaganych do wykonania na parawirtualizowanym maszyna wirtualna. Jest jednak ważna różnica: zamiast zmieniać źródło system operacyjny lub aplikacje, translator binarny zmienia kod, gdy jest wykonywany po raz pierwszy.

Chociaż z tłumaczeniem kodu binarnego wiążą się pewne dodatkowe koszty, są one znikome przy normalnych obciążeniach. Tłumacz przetwarza tylko część kodu, a szybkość wykonania programu staje się porównywalna z szybkością wykonania bezpośredniego - gdy tylko pamięć podręczna się zapełni.

Programy użytkowe to najliczniejsza klasa komputerów.

Oprogramowanie zaprojektowany, aby umożliwić użytkowanie Informatyka w różnych dziedzinach ludzkiej działalności.

Programy aplikacyjne- programy przeznaczone do rozwiązywania konkretnych problemów użytkownika.

Jedna z możliwych opcji klasyfikacji.

Klasyfikacja oprogramowania użytkowego według celu

Edytor tekstu - program przeznaczony wyłącznie do przeglądania, wprowadzania i edycji tekstu.

Edytor tekstu - program dający możliwość wprowadzania, edycji i formatowania tekstu, a także wstawiania do dokumentu tekstowego obiektów o charakterze nietekstowym (grafika, multimedia itp.).

Wszystkie edytory tekstu zapisują „czysty” tekst w pliku i dzięki temu zgodny razem.

Różne edytory tekstu zapisują informacje o formatowaniu do pliku na różne sposoby i dlatego niekompatybilny razem.

Główne elementy edytora tekstu:

  • Zestaw czcionek.
  • Sprawdzanie pisowni.
  • Podgląd wydrukowanych stron.
  • Konsolidacja dokumentów, multiokno.
  • Automatyczne formatowanie i automatyczny transfer.
  • Narzędzia standardowe.
  • Edytor arkuszy kalkulacyjnych i kalkulator.
  • Wstawianie obiektów graficznych.

Przykłady - MS Word, Write, WordPerfect, Ami Pro, MultiEdit, Lexicon, Refis

Systemy wydawnicze - niezbędne do przygotowania dokumentów o jakości typograficznej, układu komputerowego (łączenie tekstu i grafiki w książkę, magazyn, broszurę lub gazetę).

Przykłady — Corel Ventura, QuarkXPress, Adobe PageMaker, MS Publisher, FrameMaker

Informacje graficzne- informacje lub dane przedstawione w postaci diagramów, szkiców, obrazów, wykresów, diagramów, symboli.

Edytor graficzny - program do tworzenia, edycji, przeglądania obrazów graficznych.

Główne komponenty edytora graficznego:

  • Zestaw czcionek pracujących z tekstem.
  • Narzędzia standardowe.
  • Biblioteka zdjęć.
  • Łączenie zdjęć.
  • Efekty specjalne.

Wyróżnij wszystko trzy rodzaje Grafika komputerowa . To jest grafika rastrowa, Grafika wektorowa i fraktalna grafika. Różnią się one zasadami tworzenia obrazu podczas wyświetlania na ekranie monitora lub drukowania na papierze.

Grafika rastrowa znajduje zastosowanie w opracowywaniu publikacji elektronicznych (multimedialnych) i poligraficznych.

Ilustracje wykonane z grafiką rastrową rzadko są tworzone ręcznie przy użyciu programy komputerowe. Częściej w tym celu skanowane są ilustracje przygotowane przez artystę na papierze lub fotografie. Ostatnio do wprowadzania obrazów rastrowych do komputera są szeroko stosowane cyfrowe aparaty fotograficzne i kamery wideo.

Grafiki fraktalne są rzadko używane do tworzenia drukowanych lub dokumenty elektroniczne, ale jest często używany w programach rozrywkowych

Przykłady — Paint, PaintBrush, CorelDraw, MS PhotoEditor, Adobe Photoshop Studio 3D MAX

DBMS(system zarządzania bazą danych) – przeznaczony do automatyzacji procedur tworzenia, przechowywania i wyszukiwania danych elektronicznych (przetwarzanie tablic informacyjnych).

Przykłady - dBase, Paradox, MS Access, Oracle, FoxPro

Zintegrowane systemy są dwa rodzaje

  • Tradycyjne (w pełni połączone) pakiety aplikacji (APP).
  • Pakiety aplikacji z integracją obiektową

Tradycyjne zapytanie ofertowe

Zintegrowany pakiet oprogramowania to wielofunkcyjny samodzielny pakiet, który łączy w jedną całość funkcje i możliwości różnych specjalistycznych (zorientowanych problemowo) pakietów. W tych programach zintegrowane są funkcje edytora tekstu, DBMS i procesora arkusza kalkulacyjnego. Ogólnie rzecz biorąc, koszt takiego pakietu jest znacznie niższy niż całkowity koszt podobnych specjalistycznych pakietów.

Pakiet zapewnia łącze między danymi, ale jednocześnie możliwości każdego komponentu są zawężone w porównaniu z podobnym pakietem specjalistycznym.

Typowa sytuacja to taka, w której dane otrzymane z bazy danych muszą zostać przetworzone za pomocą procesora arkusza kalkulacyjnego, przedstawione graficznie, a następnie wstawione do tekstu. Do wykonywania tego typu prac służą tzw. pakiety zintegrowane - narzędzia programowe łączące cechy, które są indywidualnie charakterystyczne dla edytorów tekstu, systemów graficznych, arkuszy kalkulacyjnych, baz danych i innych narzędzia programowe. Oczywiście to połączenie możliwości osiąga się kosztem kompromisu. Niektóre funkcje w zintegrowanych pakietach są ograniczone lub nie w pełni zaimplementowane. Dotyczy to przede wszystkim bogactwa poleceń do przetwarzania bazy danych i arkusza kalkulacyjnego, ich rozmiarów oraz języków makr. Jednak zalety wynikające z pojedynczego interfejsu połączonego w zintegrowany pakiet oprogramowania są niezaprzeczalne.

Znane pakiety to Open Access by Open Access, FrameWork by Ashton-Tate, Lotus 1-2-3 i Symphony by Lotus Development Corporation, Lotus Works.

PPP z integracją obiektową

Jest to unifikacja wyspecjalizowanych pakietów w ramach jednej bazy zasobów, zapewniająca interakcję aplikacji (programów pakietowych) na poziomie obiektu oraz pojedyncze uproszczone centralne przełączanie między programami.

Integracja polega na nadaniu elementom kompleksu jednorodności w zakresie ich percepcji i metod pracy z nimi. Spójność interfejsów realizowana jest w oparciu o wspólne ikony i menu, okna dialogowe itp. Ostatecznie przyczynia się to do wzrostu wydajności pracy i skrócenia okresu rozwoju.

Cechą tego typu integracji jest wykorzystanie współdzielonych zasobów. Rodzaje udostępniania zasobów:

  • korzystanie z narzędzi wspólnych dla wszystkich programów kompleksu (sprawdzanie pisowni);
  • korzystanie z obiektów, które mogą być współdzielone przez kilka programów;

Jeśli chodzi o udostępnianie obiektów między aplikacjami, istnieją dwa główne standardy:

  • dynamiczne łączenie i osadzanie obiektów łączenia i osadzania obiektów OLE firmy Microsoft;
  • OpenDoc (otwarty dokument) firmy Apple, Boriartd, IBM, Novell i WordPerfect.

Mechanizm dynamicznego łączenia obiektów pozwala użytkownikowi na umieszczenie informacji stworzonych przez jeden program użytkowy w dokumencie wygenerowanym przez inny. W takim przypadku użytkownik może edytować informacje w nowym dokumencie za pomocą programu, za pomocą którego ten obiekt został utworzony.

Również ten mechanizm pozwala na przeniesienie obiektów OLE z okna jednej aplikacji do okna innej.

OpenDoc to system obiektowy oparty na otwartych standardach uczestniczących firm. Model obiektowy to Distributed System Object Model (DSOM), opracowany przez IBM dla OS/2.

  • realizacja prosta metoda przejście z jednej aplikacji do drugiej;
  • dostępność narzędzi do automatyzacji pracy z aplikacją (makrojęzyk).

Przykłady: Borland Office dla Windows, Lotus SmartSute dla Windows, MS Office.

System ekspercki - system sztuczna inteligencja, zbudowany w oparciu o głęboką specjalistyczną wiedzę o niektórych wąskich Tematyka(otrzymywane od ekspertów - specjalistów w tej dziedzinie). ES są przeznaczone do rozwiązywania problemów z niepewnością i niekompletnymi danymi początkowymi, do ich rozwiązania wymagana jest wiedza ekspercka. Ponadto systemy te muszą być w stanie wyjaśnić swoje zachowanie i swoją decyzję. Ich charakterystyczną cechą jest umiejętność gromadzenia wiedzy i doświadczenia wykwalifikowanych specjalistów (ekspertów) z dowolnej dziedziny. Korzystając z tej wiedzy, użytkownicy ES, którzy nie posiadają niezbędnych kwalifikacji, mogą rozwiązywać swoje problemy niemal tak skutecznie, jak robią to eksperci. Efekt ten osiąga się dzięki temu, że system w swojej pracy odtwarza w przybliżeniu ten sam tok rozumowania, co ludzki ekspert.

Podstawowa różnica systemy eksperckie z innych programów jest ich adaptacyjność, tj. zmienność w procesie samokształcenia.

Zwyczajowo wyróżnia się w ES trzy główne moduły: moduł bazy wiedzy, moduł wnioskowania, interfejs użytkownika.

Systemy ekspertowe znajdują zastosowanie w różnych dziedzinach działalności człowieka - nauce (klasyfikacja zwierząt i roślin według gatunków, analiza chemiczna), medycynie (diagnostyka, analiza elektrokardiogramów, określanie metod leczenia), technologii (rozwiązywanie problemów w urządzenia techniczne, śledzenie lotu statków kosmicznych i satelitów), w eksploracji geologicznej, w ekonomii, w naukach politycznych i socjologii, kryminalistyce, lingwistyce i wielu innych. Istnieją zarówno wysoce wyspecjalizowane ES, jak i „powłoki”, za pomocą których, nie będąc programistą, można stworzyć własny ES.

Hipertekst- jest to forma organizowania materiału tekstowego nie w liniowej sekwencji, ale w postaci wskazań możliwych przejść (linków), powiązań między poszczególnymi jego fragmentami. W systemach hipertekstowych informacje przypominają tekst encyklopedii, a dostęp do dowolnego wybranego fragmentu tekstu odbywa się dowolnie poprzez link. Organizacja informacji w postaci hipertekstowej jest wykorzystywana przy tworzeniu podręczników, słowników, pomocy kontekstowej w programach użytkowych.

systemy multimedialne - programy zapewniające interakcję efektów wizualnych i dźwiękowych pod kontrolą interaktywnego oprogramowania.

stanowisko pracy- Zautomatyzowane miejsce pracy.

ASNI– zautomatyzowane systemy badań naukowych.

ACSzautomatyzowany system kierownictwo.

Aplikacje użytkownika są tworzone przez użytkownika za pomocą dostępnych mu narzędzi programistycznych w ramach danego środowisko komputerowe. W takim przypadku tworzenie i debugowanie programów jest wykonywane przez każdego użytkownika indywidualnie, zgodnie z zasadami i umowami PPP lub systemu operacyjnego, w którym są stosowane.

Pojęcie architektury mikrojądrowej

Kompatybilność binarna i źródłowa

Kompatybilność binarna to rodzaj kompatybilności programu, który pozwala programowi działać w różnych środowiskach bez zmiany jego plików wykonywalnych.

Termin ten jest często używany w znaczeniu „zgodność systemu operacyjnego” iw tym przypadku oznacza zdolność już skompilowanej wersji programu dla jednego systemu operacyjnego do pracy w innym systemie operacyjnym bez ponownej kompilacji. Kompatybilność binarna obejmuje zgodność ładujących pól bajt po bajcie, pełną tożsamość mechanizmu wywoływania funkcji, przekazywania zmiennych i odbierania wyników obliczeń oraz pełną implementację interfejsu programistycznego. Jednocześnie technicznie realizacja może być zupełnie inna - najważniejsze jest to, że wszystkie zaproszenia są realizowane i prowadzą do oczekiwanego rezultatu, a o tym, jak ten wynik zostanie osiągnięty, decydują twórcy programu.

Kompatybilność na poziomie źródła wymaga odpowiedniego kompilatora w oprogramowaniu, a także kompatybilności na poziomie bibliotek i wywołań systemowych. Wymaga to ponownej kompilacji istniejącego kodu źródłowego do nowego modułu wykonywalnego.

Architektura mikrojądra jest alternatywą dla klasycznego sposobu budowania systemu operacyjnego, zgodnie z którym wszystkie główne funkcje systemu operacyjnego składające się na wielowarstwowe jądro realizowane są w trybie uprzywilejowanym. W systemach operacyjnych z mikrojądrem tylko niewielka część systemu operacyjnego, zwana mikrojądrem, działa w trybie uprzywilejowanym. Wszystkie inne funkcje jądra wysokiego poziomu są pakowane jako aplikacje trybu użytkownika. Systemy operacyjne z mikrojądrem spełniają większość wymagań nowoczesnych systemów operacyjnych, będąc przenośnymi, rozszerzalnymi, niezawodnymi i tworząc dobre warunki wstępne do obsługi aplikacji rozproszonych. Korzyści te wiążą się z obniżoną wydajnością, która jest główną wadą architektury mikrojądra.

Jedna z bardziej oczywistych opcji implementacji wielu środowisk aplikacji opiera się na standardowej warstwowej strukturze systemu operacyjnego.

OS1 obsługuje aplikacje OS2 i OS3 oprócz swoich aplikacji. W tym celu zawiera aplikacje specjalne, środowiska aplikacji, które tłumaczą interfejsy obcego OS API SC2 i API OS3 na interfejs ich natywnego OS API OS1.

Inna implementacja środowisk wielu aplikacji zakłada obecność w systemie operacyjnym kilku równorzędnych interfejsów programowania aplikacji.

Interfejsy programowania aplikacji wszystkich systemów operacyjnych znajdują się w przestrzeni jądra systemu.



Funkcje poziomu API uzyskują dostęp do funkcji bazowego poziomu systemu operacyjnego, który musi obsługiwać 3 (w tym przypadku) niezgodne środowiska.

Funkcje każdego interfejsu API są implementowane przez jądro, biorąc pod uwagę specyfikę odpowiedniego systemu operacyjnego, nawet jeśli mają podobny cel.

Inny sposób budowania wielu środowisk aplikacji opiera się na podejściu mikrojądra. Jednocześnie ważne jest oddzielenie podstawowych, wspólnych dla wszystkich środowisk aplikacji, mechanizmów systemu operacyjnego od konkretnych.

Zgodnie z architekturą mikrojądra, wszystkie funkcje systemu operacyjnego są realizowane przez serwery mikrojądra i trybu użytkownika.

Ważne jest, aby każde środowisko aplikacji było zaprojektowane jako oddzielny serwer trybu użytkownika i nie zawierało podstawowych mechanizmów.

Aplikacja korzysta z API w celu uzyskania dostępu wywołania systemowe do odpowiedniego środowiska aplikacji za pośrednictwem mikrojądra.

Środowisko aplikacji tworzy żądanie, wykonuje je i wysyła wynik do aplikacji. Podczas wykonywania żądania środowisko aplikacji musi uzyskać dostęp do podstawowych mechanizmów systemu operacyjnego zaimplementowanych przez mikrojądro i inne serwery systemu operacyjnego.

Takie podejście do projektowania wielu środowisk aplikacji ma wszystkie zalety i wady architektury mikrojądra.

Kilka programów użytkowych połączonych w celu rozwiązania jednego zadania użytkownika nosi nazwę aplikacji lub środowiska aplikacji. Są to edytory graficzne i tekstowe, systemy przetwarzania arkuszy kalkulacyjnych, systemy zarządzania bazami danych, programy komunikacyjne itp.

Środowisko aplikacji to środowisko komputerowe generowane przez programy użytkowe. tak wygodne i powszechne aplikacje pracować z różne rodzaje dane to programy użytkowe Biuro Microsoft przeznaczony do pracy w Środowisko Windows. Ważny godność Windows– aplikacje to widoczność. Po pierwsze, wszystkie narzędzia środowiska Po pierwsze, wszystkie narzędzia środowiska dostępne dla użytkownika można przedstawić graficznie w postaci przycisków poleceń umieszczonych na specjalnym panelu. Narzędzia to komendy menu głównego, które pozwalają użytkownikowi na wykonywanie akcji na obiektach środowiska aplikacji. Graficzny obraz narzędzia jest umieszczony na przyciskach poleceń. Obecnie obrazy na przyciskach są ustandaryzowane, więc możemy mówić o specjalnym języku notacji komputerowej. Każde środowisko posiada zestaw standardowych narzędzi, takich jak Otwórz, Zapisz, Usuń, Cofnij, Kopiuj, Wklej. Przyciski z tymi narzędziami umieszczone są na panelu zwanym Panel standardowy. Ale środowisko aplikacji ma również swoje własne specyficzne narzędzia. Opracowano dla nich również obrazy graficzne.

Po drugie, dokumenty utworzone w aplikacjach są wyświetlane na ekranie dokładnie tak, jak zostaną wydrukowane na papierze. Jest to szczególnie ważne, gdy z góry wiesz, jaki format powinien mieć ostateczny dokument.

Wielozadaniowość. Inną charakterystyczną cechą aplikacji Windows jest wielozadaniowość. Na pulpicie można jednocześnie otworzyć kilka dokumentów utworzonych przez różne aplikacje. Możesz jednocześnie edytować rysunek, napisać list i wykonać obliczenia. Należy jednak doprecyzować pojęcie równoczesności. Wszystkie powyższe zadania można uruchomić do realizacji. Po uruchomieniu wszystkie zostaną umieszczone w pamięć o dostępie swobodnym komputer w tym samym czasie. Sam użytkownik nie może używać tego samego organu percepcji informacji do dwóch różnych zadań jednocześnie. Nie można na przykład jednocześnie czytać tekstu i rysować. Ludzkie narządy wzroku, oczy, nie są do tego przystosowane. W związku z tym w takich przypadkach osoba pracuje konsekwentnie z dokumentami w środowiskach, na przykład najpierw rysuje, a potem pisze. Jeśli jednak w każdym z zadań zaangażowane są różne narządy percepcji informacji, to zadania te mogą być faktycznie wykonywane jednocześnie. Na przykład, jeśli uruchomisz laserowy odtwarzacz płyt i Edytor tekstu, możesz jednocześnie słuchać muzyki i pisać tekst, używając odpowiednio słuchu i wzroku.

Organizacja wymiany danych. Inną ważną cechą środowisk aplikacji Windows jest możliwość współdzielenia danych pomiędzy aplikacjami. Środowisko systemowe udostępnia dwa różne sposoby wymiany danych pomiędzy aplikacjami: poprzez schowek oraz poprzez technologię OLE.

Wymiana poprzez bufor pozwala na przeniesienie obiektu dokumentu w nowe miejsce lub umieszczenie kopii obiektu w nowej lokalizacji lub w nowym dokumencie. Wymiana buforów umożliwia przenoszenie obiektów i ich kopii z dokumentu do dokumentu bez utrzymywania połączenia z aplikacją, w której ten obiekt został utworzony.

Wymiana przez bufor odbywa się w dwóch etapach. W pierwszym etapie w buforze umieszczany jest sam obiekt lub jego kopia. W drugim etapie obiekt ze schowka wstawiany jest do wybranego dokumentu.

Technologia OLE dostarczona przez środowisko oprogramowania System Windows utrzymuje stały kontakt między środowiskiem aplikacji, w którym osadzony jest obiekt, a środowiskiem aplikacji, w którym obiekt został utworzony. Wykorzystanie technologii OLE jest efektywne w przypadkach, gdy ten sam obiekt jest używany w różnych dokumentach. Na przykład logo firmy zostało utworzone za pomocą edytora tekstu. Następnie przy tworzeniu różnych dokumentów (zaświadczenie, pismo, zawarcie aktu itp.) możesz używać tego godła. Następnie logo zostało zmienione. W przypadku, gdy emblemat został umieszczony w dokumentach przez schowek, będziesz musiał wstawić go ponownie do każdego dokumentu. Jeśli został zaimplementowany w technologii OLE, to logo zostanie automatycznie zaktualizowane we wszystkich powiązanych dokumentach po edycji pliku źródłowego z logo.

Tworzenie dokumentów złożonych. Organizacja wymiany danych pomiędzy środowiskami aplikacyjnymi zapewnia ich integrację. Integracja środowisk aplikacyjnych rozumiana jest jako takie ich połączenie, gdy staje się to możliwe dzielenie się obiekty w każdym z tych środowisk. Na przykład musisz zrobić certyfikat dla grupy pracowników działu sprzedaży i dołączyć ich zdjęcia do certyfikatu. Podstawą raportu będzie oczywiście dokument tekstowy. Dodatkowo istnieje baza pracowników, w której wyszukiwane są dane pracowników działu sprzedaży. Wynik wyszukiwania (wybór) jest umieszczany w dokumencie tekstowym. Tam też zamieszczane są zdjęcia. Rezultatem jest dokument tekstowy, który oprócz własnych obiektów zawiera wybór z bazy danych oraz zdjęcia. Taki dokument nazywa się złożonym (zintegrowanym).

Interfejs środowiska aplikacji. Aplikacje działające w środowisku Windows mają bardzo podobne GUI. Interfejsy środowiska aplikacji składają się z elementów tego samego typu w swoim przeznaczeniu. W interfejsie każdego z nich można wyróżnić cztery strefy (rysunek 2.1):

Pasek tytułu środowiska aplikacji, który zawiera kontrolki interfejsu okna aplikacji i wyświetla nazwę środowiska;

Strefa zarządzania, w której znajdują się narzędzia do zarządzania aplikacjami i dokumentami;

Pole robocze, w którym umieszczane są edytowane dokumenty;

Strefa pomocy, która zawiera informacje o trybach pracy aplikacji oraz podpowiedzi dla użytkownika.

Rysunek 2.1 - Elementy konstrukcyjne interfejsu aplikacji

Wszystkie programy stworzone dla systemu Windows mają standardowy interfejs okienkowy. Tworzą one ten sam typ stref referencyjnych i stref kontrolnych. Widok pola roboczego zmienia się w zależności od przeznaczenia środowiska aplikacji.

Po uruchomieniu dowolnego środowiska aplikacji na ekranie wyświetla się okno aplikacji, czyli samo środowisko. Zwykle w oknie aplikacji natychmiast otwiera się i okno dokumentu. Może to być nowy dokument lub dokument, który był ostatnio edytowany. Jeżeli aplikacja została wywołana poprzez uruchomienie dokumentu, wówczas dokument ten będzie znajdował się w oknie aplikacji.

Interfejs środowiska aplikacji zawiera następujące elementy: pasek tytułu środowiska aplikacji, pasek menu głównego, paski narzędzi, pasek wprowadzania i edycji, pasek stanu.

Pasek tytułu zawiera: przycisk menu systemowego, nazwę aplikacji (na przykład Microsoft Excel), przycisk Upadek, przycisk Rozwiń/Przywróć i przycisk Blisko.

Menu główneśrodowisko aplikacji, podobnie jak każdy inny program Windows, wygląda jak zagnieżdżona lalka. Sekcje najwyższego poziomu są wskazane na pasku menu głównego. W każdej z tych sekcji polecenia niższego poziomu są pogrupowane według ich przeznaczenia. Lista tych poleceń otwiera się jako menu rozwijane. Dostęp do niektórych z tych poleceń prowadzi z kolei do pojawienia się dodatkowego podmenu jeszcze niższego poziomu. W ten sposób za pomocą menu głównego wybierane jest sekwencyjnie wymagane polecenie sterujące i ustawiane są wszystkie parametry niezbędne do jego realizacji.

pasek narzędzi(menu piktograficzne) zawiera zestaw przycisków (ikon) ustawianych przez użytkownika, przeznaczonych do szybszego (w porównaniu do wielopoziomowe menu) wywoływanie poleceń sterujących zawartych w menu głównym.

Interfejs procesora arkuszy kalkulacyjnych i systemu zarządzania bazą danych zawiera również linię wprowadzania i edycji. Pasek wprowadzania i edycji wyświetla formuły lub dane wprowadzone do bieżącej komórki tabeli lub pola bazy danych. W tym wierszu możesz przeglądać lub edytować zawartość tej komórki lub pola, a także zobaczyć samą formułę.

Pasek stanu zawiera informacje o trybach pracy aplikacji. Oprócz tych już wymienionych istnieje grupa elementów, które można warunkowo nazwać pomocniczym obszarem sterowania. Należą do nich: pasek tytułu okna dokumentu, generowane przez aplikację, a także paski przewijania.

Na pasku tytułowym okno dokumentu pokazuje nazwę pliku dokumentu edytowanego przez wybraną aplikację. Jeśli okno dokumentu jest zmaksymalizowane do największy rozmiar, pasek tytułu dokumentu jest wyrównany z paskiem tytułu aplikacji.

Paski przewijania konieczne, aby wyświetlić te obszary dokumentu, które są w ten moment nie są widoczne (na ekranie w oknie dokumentu widoczna jest tylko jego część, zwana polem roboczym). Element interfejsu, który umożliwia przesuwanie tekstu w pionie, nazywa się pionowym paskiem przewijania, a ruch w poziomie nazywa się poziomym paskiem przewijania. Działają dokładnie tak samo, jak w każdym innym oknie Windows.

Edycja dokumentu. Podczas pracy w środowisku aplikacji często konieczne staje się wprowadzenie zmian do wcześniej utworzonych dokumentów. Za pomocą programów użytkowych można nie tylko tworzyć dokumenty, jak to było możliwe na maszynie do pisania, ale także wprowadzać dalsze zmiany, np. dokonywać poprawek, eliminować błędy, wyszukiwać i podmieniać poszczególne wartości. Wszystkie operacje związane z wprowadzaniem zmian w dokumencie i poprawianiem w nim błędów łączymy we wspólną koncepcję - edycję. Edycja to proces wprowadzania zmian w dokumencie.

Możesz edytować nie tylko dokumenty tekstowe, ale także tabele, bazy danych, rysunki. Na przykład, jeśli czynność jest związana z wykonywaniem obliczeń, nie ma potrzeby przeliczania ogromnych tabel. Wystarczy zmienić tylko oryginalne liczby i przeliczyć sumy procesor arkuszy kalkulacyjnych wykona samodzielnie.

Podczas edycji musisz:

1. Wybierz obiekt.

2. Wykonaj komendę lub edycję akcji.

Wybór obiektu. Przed wykonaniem jakichkolwiek działań na obiektach w dokumencie należy go wybrać. Z reguły podczas wyświetlania wybranych obiektów na ekranie kolor obiektu jest odwrócony lub pokazywana jest zewnętrzna granica obiektu. Zazwyczaj obiekty są wybierane za pomocą kliknięcia myszą. Często zachodzi potrzeba zaznaczenia grupy podobnych, następujących po sobie obiektów blokowych, np. frazy w zdaniu lub kilku komórek w tabeli. W tym przypadku mysz z wciśniętym lewym przyciskiem jest przeciągana z pierwszego obiektu do ostatniego.

Formatowanie dokumentów. Każdy dokument musi być pięknie i profesjonalnie zaprojektowany. Na przykład. Utworzono tabelę, ale jest ona zbyt szeroka, aby zmieścić się na stronie. Zmniejsz tabelę lub rozwiń stronę. Każde środowisko aplikacji posiada zestaw operacji, które pozwalają wykonywać projekt zewnętrzny dokument zgodnie z wymaganiami. Wszystkie operacje związane z projektowaniem całego dokumentu jako całości lub jego obiektów łączy wspólna koncepcja - formatowanie.

Formatowanie — proces prezentacji wygląd zewnętrzny dokument lub jego poszczególne przedmioty w wymaganej formie.

Jednocześnie należy brać pod uwagę środowisko, w którym powstał obiekt, gdyż to determinuje użyte narzędzia pracy.

Charakterystyka narzędzi środowiska aplikacji. Pracując na komputerze z określonym dokumentem, osoba używa programów aplikacji, które tworzą to środowisko aplikacji jako narzędzi. Każde środowisko aplikacji posiada narzędzia, które dostarczają użytkownikowi dokument. Możesz pracować z tymi narzędziami za pomocą przycisków na pasku narzędzi lub wykonując polecenia z różnych menu. Narzędzia środowiska aplikacji- wszelkie środki wpływu środowiska aplikacji na obiekty dokumentu i sam dokument.

Narzędzia różnią się między sobą przede wszystkim przeznaczeniem. Na przykład niektóre narzędzia są przeznaczone do pracy z plikami, a inne do przetwarzania danych w aplikacji. Zarządzanie wszystkimi narzędziami środowiska aplikacji odbywa się za pomocą poleceń menu głównego. Nazwy tych poleceń są zwykle takie same, jak nazwy odpowiednich narzędzi. Polecenia zgodnie z ich przeznaczeniem są łączone w grupy zwane pozycjami menu (na przykład pozycje menu Plik, Edycja, Wstaw, Usługa). Pozycje menu tworzą najwyższy poziom menu głównego (rysunek 2.2).

Rysunek 2.2 - Główne menu środowiska aplikacji

Takie menu nazywa się wielopoziomowym, ponieważ zawiera polecenia pogrupowane według ich przeznaczenia. Każdą grupę otwiera się, klikając jej nazwę. Następnie możesz przejść do następnego poziomu menu i wybrać żądane polecenie z grupy. W niektórych przypadkach otwiera się podmenu niższego poziomu. Na najniższym poziomie często konieczne jest doprecyzowanie parametrów polecenia poprzez określenie wymaganych wartości w otwartym oknie dialogowym. Rysunek pokazuje tylko te nazwy menu, które są wspólne dla wszystkich aplikacji.

Plik. Ta pozycja menu łączy ogólnie polecenia do pracy z plikami i dokumentami. Dzięki niemu możesz tworzyć nowy plik, otwórz istniejącą, zapisz edytowany plik lub jego kopię pod inną nazwą i/lub lokalizacją, ustaw parametry strony, wydrukuj edytowany plik.

Dokument tworzony przez środowisko aplikacji może mieć różne formy:

W formie ekranu, czyli w formie dokumentu wyświetlanego na ekranie monitora z osadzonymi w nim obiektami;

W formie papierowej, czyli w formie wydruku utworzonego dokumentu na drukarce;

W formie elektronicznej – w postaci pliku zapisanego na dysku.

Wynik pracy z dowolną aplikacją należy zapisać w pliku na dysku. Bez tego nie można kontynuować pracy ani przenieść utworzonego dokumentu na inny komputer.

Edytować. Zwykle lista poleceń tego elementu jest otwierana przez polecenie do przodu lub do tyłu. Ta sekcja menu zawiera również polecenia do edycji zawartości obiektów dokumentu. Pomimo tego, że obiekty te są różne dla każdego środowiska aplikacji, wspólny dla środowiska aplikacji mechanizm wymiany danych pozwala na zastosowanie tego samego typu operacji dla wszystkich obiektów. Do kopiowania i przenoszenia różnych obiektów, jak już wspomniano, wykorzystuje się schowek lub technologię OLE. Z ich pomocą można integrować dane z różnych środowisk aplikacji.

Należy zauważyć, że mechanizm ten umożliwia wymianę danych nie tylko w ramach jednego dokumentu, ale także pomiędzy różnymi środowiskami aplikacji.

Wstawić. Ta sekcja menu zawiera polecenia służące do wstawiania (osadzania) w dokumencie różnych obiektów utworzonych w dowolnym środowisku aplikacji.

Format. Ta pozycja menu zawiera polecenia formatujące obiekty dokumentu utworzone w tej aplikacji. Zwykle nazwy poleceń są takie same, jak nazwy obiektów do sformatowania: Komórki..., Wiersze, Kolumny, Czcionka..., Akapit... itd.

Oprócz poleceń służących do formatowania określonych obiektów istnieją również polecenia definiujące style i automatyczne formatowanie.

Pod styl odnosi się do zestawu opcji formatowania obiektu dokumentu. Autoformatowanie przypisuje opcje formatowania do wszystkich obiektów dokumentu i dokumentu jako całości.

Pogląd. Ta pozycja menu służy do wyboru różne drogi wyświetlanie dokumentu na ekranie, ustawianie wyświetlania używanych narzędzi, dodawanie nagłówków i stopek, zmiana skali wyświetlania dokumentu na ekranie itp.

Usługa. To menu zapewnia dodatkowe funkcjeśrodowisko aplikacji. Te możliwości zapewnia bieganie programy pomocnicześrodowisko aplikacji, takie jak sprawdzanie pisowni. Z tego programu można korzystać nie tylko Edytor tekstu, ale także inne aplikacje Windows.

Innym przykładem jest książka adresowa. Ten program przechowuje dane osób, z którymi często masz do czynienia. Może być wykorzystany do przekazania Twojego dokumentu na adres zapisany w Twojej książce adresowej lub do wstawienia wiadomości do dokumentu przeznaczonego dla konkretnej osoby.

Okno. To menu powinno być dostępne podczas pracy z kilkoma dokumentami w różnych oknach w tym samym czasie, aby je skonfigurować i przejść z jednego okna do drugiego.

Odniesienie. Ta pozycja menu służy do uzyskania pomocy dotyczącej wszystkich narzędzi w bieżącym środowisku aplikacji.

Planowanie działań i wsparcie komunikacyjne

Program Microsoft Outlook jest przeznaczony do organizowania dokumentów i planowania zadań, w tym wysyłania poczty, planowania terminów, wydarzeń i spotkań, utrzymywania listy kontaktów i listy zadań oraz śledzenia całej wykonanej pracy.

Środowisko oprogramowania Microsoft Outlook wymienił różne rodzaje notebooków i zeszyty wykorzystywane przez menedżerów i sekretarki do organizowania swojej pracy. Tak więc do przechowywania informacji o różnych osobach i organizacjach wykorzystywano książki telefoniczne, do planowania codziennych spotkań i spraw - tygodniki dzienników, do akt tymczasowych - zeszyty do notatek. Oprócz wymienionych typów zeszytów sporządzono plany pracy na tydzień, miesiąc, rok itp.

Informacje zorganizowane są w formie folderów, które są podobne do swoich papierowych poprzedników.Wygodne sposoby prezentowania informacji, wyszukiwania ich, przypomnień oferowanych przez środowisko Outlook mogą pomóc w sprawnej organizacji pracy. Ze środowiska Outlook mogą korzystać zarówno menedżer, jak i sekretarka oraz inni pracownicy.

Rysunek 2.3 przedstawia główne okno środowiska programu Outlook. Po lewej stronie okna znajduje się panel Outlook, który zawiera główne obiekty, z którymi współpracuje środowisko. Obiekty to foldery z informacjami określonego typu. Obiekty te są pogrupowane w grupy: Outlook, Poczta, Inne foldery. Głównymi informacjami, z którymi współpracuje środowisko Outlook, są foldery. Kontakty, kalendarz, zadania, notatki, pamiętnik.

Folder Kontakty to repozytorium informacji i danych o osobach, z którymi organizacja ma relacje biznesowe i osobiste. Osoby te mogą być zarówno pracownikami tej organizacji, jak i pracownikami innych firm. W folderze Łączność może przechowywać: adres e-mail, adres pocztowy, kilka numerów telefonów oraz inne informacje związane z osobą kontaktową, takie jak urodziny lub rocznica wydarzenia. Na podstawie folderu Łączność uformowany Książka adresowa wysłać e-mail.

Rysunek 2.3 - Okno programu Outlook

W środowisku Outlook wszystkie zdarzenia są podzielone na kilka grup: terminy, spotkania, zdarzenia, zadania, rozmowy telefoniczne (rysunek 2.4).

Spotkania to wydarzenia, na które w kalendarzu zarezerwowany jest czas. Nikt nie jest zapraszany na spotkania, nie angażuje się na nie żadnych środków. Zasoby to przydział specjalnego pomieszczenia, koszty czasu związane z przygotowaniem, koszty materiałów.

Spotkanie- to spotkanie z zaproszeniem osób lub atrakcją zasobów. Wydarzenie to całodniowe wydarzenie, na które inne osoby mogą, ale nie muszą być zapraszane. W środowisku Outlook możesz planować terminy, spotkania i wydarzenia oraz ustawiać ich czas Kalendarz.

Rysunek 2.4 - Rodzaje wydarzeń

Zadanie- To zadanie, które musi być wykonane w określonym terminie, co wiąże się ze znacznymi kosztami czasu.

Folder służy do opisywania informacji o zadaniu i organizowania rozwiązania zadań. Zadania.

Połączenie telefoniczne - wydarzenie związane z rozwiązywaniem problemów telefonicznie i niewymagające bezpośredniego kontaktu.

Rozmowy telefoniczne, a także cała praca nad tworzeniem i przetwarzaniem różnych dokumentów na komputerze jest rejestrowana w folderze Dziennik.

Przedstawiony system folderów pozwala przedsiębiorcy na uporządkowanie planowania czasu pracy i śledzenie czasu spędzonego na pracy.

Inna grupa folderów zawierająca foldery Skrzynka odbiorcza, skrzynka nadawcza, wersje robocze i elementy wysłane, przeznaczony do organizowania wymiany e-maili z partnerami w pracy.

Głównymi elementami informacyjnymi tych folderów są wiadomości. Wiadomość- dokument wysłany lub otrzymany e-mailem. Teczka w pudełku przeznaczony do odbierania wiadomości. Lornetka składana towarzyski oraz warcaby przeznaczony do przygotowania wiadomości do wysłania. Teczka Wysłano przeznaczony do zapisywania wysłanych wiadomości.

Główne akcje, które możesz wykonać na elementach w środowisku Outlook to:

Tworzyć;

Ustaw i zmień parametry;

Wybierz, skopiuj, wklej kopiuj, usuń;

Oznacz jako ukończone;

Przekaż innej osobie;

Załącz dokument;

Link do kontaktu.

Podczas gdy wiele cech architektury systemu operacyjnego jest bezpośrednio istotnych tylko dla programistów systemowych, koncepcja wielu udogodnień aplikacyjnych (operacyjnych) jest bezpośrednio związana z potrzebami użytkowników końcowych – zdolnością systemu operacyjnego do uruchamiania aplikacji napisanych dla innych systemów operacyjnych. Ta właściwość systemu operacyjnego nazywana jest kompatybilnością.

Kompatybilność aplikacji może być na poziomie binarnym i na poziomie źródłowym [ 13 ]. Aplikacje są zwykle przechowywane w systemie operacyjnym jako pliki wykonywalne zawierające binarne obrazy kodu i danych. Kompatybilność binarną osiąga się, gdy można pobrać program wykonywalny i uruchomić go w innym środowisku systemu operacyjnego.

Zgodność na poziomie źródłowym wymaga włączenia odpowiedniego kompilatora do oprogramowania komputera, na którym ma być uruchomiona aplikacja, a także kompatybilności na poziomie bibliotek i wywołań systemowych. Wymaga to rekompilacji kodu źródłowego aplikacji do nowego modułu wykonywalnego.

Zgodność na poziomie źródła jest ważna głównie dla twórców aplikacji, którzy mają do dyspozycji te źródła. Ale dla użytkowników końcowych tylko zgodność binarna ma praktyczne znaczenie, ponieważ tylko w tym przypadku mogą używać tego samego produktu w różnych systemach operacyjnych i na różnych maszynach.

Rodzaj możliwej kompatybilności zależy od wielu czynników. Najważniejszą z nich jest architektura procesora. Jeśli procesor używa tego samego zestawu instrukcji (może z dodatkami, jak w przypadku IBM PC: zestaw standardowy + multimedia + grafika + strumieniowanie) i ten sam zakres adresów, to zgodność binarną można osiągnąć całkiem prosto. W tym celu muszą być spełnione następujące warunki:

    API, z którego korzysta aplikacja, musi być obsługiwane przez dany system operacyjny;

    wewnętrzna struktura pliku wykonywalnego aplikacji musi być zgodna ze strukturą plików wykonywalnych systemu operacyjnego.

Jeśli procesory mają różne architektury, to oprócz powyższych warunków konieczne jest zorganizowanie emulacji kodu binarnego. Na przykład szeroko stosowana jest emulacja instrukcji procesora Intela na procesorze Motorola 680x0 komputera Macintosh. Emulator oprogramowania w tym przypadku sekwencyjnie wybiera instrukcję binarną procesora Intela i wykonuje równoważny podprogram zapisany w instrukcjach procesora Motorola. Ponieważ procesor Motoroli nie ma dokładnie tych samych rejestrów, flag, wewnętrznej jednostki ALU itp., co w procesorach Intela, musi również symulować (emulować) wszystkie te elementy za pomocą własnych rejestrów lub pamięci.

Jest to prosta, ale bardzo powolna operacja, ponieważ pojedyncza instrukcja Intela jest znacznie szybsza niż sekwencja instrukcji Motorola, która ją emuluje. Wyjściem w takich przypadkach jest wykorzystanie tak zwanych środowisk aplikacji lub środowisk operacyjnych. Jednym ze składników takiego środowiska jest zestaw funkcji API, które system operacyjny udostępnia swoim aplikacjom. Aby skrócić czas wykonywania programów innych osób, środowiska aplikacji imitują wywołania funkcji bibliotecznych.

Skuteczność tego podejścia wynika z faktu, że większość dzisiejszych programów działa pod GUI (graficznymi interfejsami użytkownika), takimi jak Windows, MAC czy UNIX Motif, podczas gdy aplikacje spędzają 60-80% czasu na wykonywaniu funkcji GUI i innych wywołaniach bibliotek systemu operacyjnego . To właśnie ta właściwość aplikacji umożliwia środowiskom aplikacji rekompensowanie dużego czasu poświęcanego na emulację polecenia za poleceniem programów. Starannie zaprojektowane środowisko aplikacji zawiera biblioteki naśladujące biblioteki GUI, ale napisane w „natywnym” kodzie. W ten sposób uzyskuje się znaczne przyspieszenie wykonywania programów z API innego systemu operacyjnego. W przeciwnym razie takie podejście nazywa się tłumaczeniem - w celu odróżnienia go od wolniejszego procesu emulowania jednej instrukcji na raz.

Na przykład w przypadku programu Windows działającego na komputerze Macintosh podczas interpretacji poleceń procesora Wydajność Intel może być bardzo niski. Ale kiedy wywoływana jest funkcja GUI, otwierane jest okno itd., moduł systemu operacyjnego implementujący środowisko aplikacji Windows może przechwycić to wywołanie i przekierować je do procedury otwierania okna, przekompilowanej dla procesora Motorola 680x0. W rezultacie w takich sekcjach kodu szybkość programu może osiągnąć (i ewentualnie przewyższyć) szybkość pracy na własnym procesorze.

Aby program napisany dla jednego systemu operacyjnego działał w innym systemie operacyjnym, nie wystarczy zapewnić zgodność API. Koncepcje leżące u podstaw różnych systemów operacyjnych mogą ze sobą kolidować. Na przykład w jednym systemie operacyjnym aplikacja może sterować urządzeniami we / wy, w innym działania te są prerogatywą systemu operacyjnego.

Każdy system operacyjny ma własne mechanizmy ochrony zasobów, własne algorytmy obsługi błędów i wyjątków, własną strukturę procesora i schemat zarządzania pamięcią, własną semantykę dostępu do plików oraz własny graficzny interfejs użytkownika. Aby zapewnić kompatybilność, konieczne jest zorganizowanie bezkonfliktowego współistnienia w tym samym systemie operacyjnym kilku sposobów zarządzania zasobami komputera.

Istnieją różne opcje budowania środowisk wielu aplikacji, różniących się zarówno cechami rozwiązań architektonicznych, jak i funkcjonalnością, która zapewnia różne stopnie przenośności aplikacji. Jedna z najbardziej oczywistych opcji implementacji wielu środowisk aplikacji opiera się na standardowej warstwowej strukturze systemu operacyjnego.

Na Ryż. 1,9 OS1 obsługuje, oprócz swoich "natywnych" aplikacji, aplikacje systemów operacyjnych OS2 i OS3. Aby to zrobić, zawiera specjalne aplikacje, środowiska aplikacji, które tłumaczą interfejsy „obcych” systemów operacyjnych API OS2 i API OS3 na interfejs ich „rodzimego” systemu operacyjnego - API OS1. Tak więc, na przykład, jeśli OS2 był systemem UNIX, a OS1 był OS/2, aby wykonać wywołanie systemowe tworzenia procesu fork() w aplikacji UNIX, środowisko oprogramowania musi uzyskać dostęp do jądra systemu operacyjnego OS/2 z systemem, wywołując DOS ExecPgm ().

Ryż. 1.9. Organizacja wielu środowisk aplikacji

Niestety zachowanie prawie wszystkich funkcji, które składają się na API jednego systemu operacyjnego, z reguły znacznie różni się od zachowania odpowiednich funkcji innego systemu operacyjnego. Na przykład, aby funkcja tworzenia procesu w OS/2 Dos ExecPgm() w pełni odpowiadała fork funkcji tworzenia procesu() w systemach typu UNIX, należałoby to zmienić i napisać nową funkcjonalność: wsparcie dla możliwość kopiowania przestrzeni adresowej procesu nadrzędnego do przestrzeni procesu potomnego [ 17 ].

Inny sposób budowania wielu środowisk aplikacji opiera się na podejściu mikrojądra. Jednocześnie bardzo ważne jest zwrócenie uwagi na podstawową, wspólną dla wszystkich środowisk aplikacyjnych różnicę między mechanizmami systemu operacyjnego a funkcjami wysokopoziomowymi specyficznymi dla każdego ze środowisk aplikacyjnych, które rozwiązują problemy strategiczne. Zgodnie z architekturą mikrojądra, wszystkie funkcje systemu operacyjnego są realizowane przez serwery mikrojądra i trybu użytkownika. Ważne jest, aby środowisko aplikacji zostało zaprojektowane jako oddzielny serwer trybu użytkownika i nie zawiera podstawowych mechanizmów.

Aplikacje, korzystając z API, wykonują wywołania systemowe do odpowiedniego środowiska aplikacji za pośrednictwem mikrojądra. Środowisko aplikacji przetwarza żądanie, wykonuje je (być może prosząc w tym celu o pomoc z podstawowych funkcji mikrojądra) i wysyła wynik z powrotem do aplikacji. Podczas wykonywania żądania środowisko aplikacji z kolei musi uzyskać dostęp do podstawowych mechanizmów systemu operacyjnego zaimplementowanych przez mikrojądro i inne serwery systemu operacyjnego.

Takie podejście do projektowania środowisk wieloaplikacyjnych ma wszystkie zalety i wady architektury mikrojądra, a w szczególności:

    bardzo łatwo jest dodawać i wykluczać środowiska aplikacji, co jest konsekwencją dobrej rozszerzalności systemów operacyjnych z mikrojądrem;

    jeśli jedno ze środowisk aplikacyjnych ulegnie awarii, pozostałe pozostają sprawne, co przyczynia się do niezawodności i stabilności systemu jako całości;

    niska wydajność systemów operacyjnych z mikrojądrem wpływa na szybkość narzędzi aplikacji, a co za tym idzie na szybkość aplikacji.

W rezultacie należy zauważyć, że tworzenie w tym samym systemie operacyjnym kilku narzędzi aplikacyjnych do wykonywania aplikacji z różnych systemów operacyjnych to sposób, który pozwala mieć jedną wersję programu i przenosić ją między różnymi systemami operacyjnymi. Wiele środowisk aplikacji zapewnia binarną zgodność danego systemu operacyjnego z aplikacjami napisanymi dla innych systemów operacyjnych.

Podobał Ci się artykuł? Podziel się z przyjaciółmi!
Czy ten artykuł był pomocny?
tak
Nie
Dziekuję za odpowiedź!
Coś poszło nie tak i Twój głos nie został policzony.
Dziękuję Ci. Twoja wiadomość została wysłana
Znalazłeś błąd w tekście?
Wybierz, kliknij Ctrl+Enter a my to naprawimy!