W oprogramowaniu systemowym zgodnie z przedstawioną uprzednio typologią, wyróżnić można następujące grupy:
-
systemy operacyjne,
-
translatory,
-
oprogramowanie dla testów i diagnostyki komputera,
-
oprogramowanie komunikacyjne,
- oprogramowanie pomocnicze.
System operacyjny jest programem nadzorującym pracę wszystkich urządzeń systemu komputerowego, tworząc środowisko, w którym pracują inne programy. Jest więc zbiorem procedur zarządzających pracą całego systemu komputerowego. Podstawowe zadania systemu operacyjnego są następujące:
-
obsługa komunikacji człowiek – komputer,
-
przydział czasu pracy procesora dla poszczególnych użytkowników,
-
nadzór wymiany informacji między elementami systemu komputerowego,
-
zarządzanie pamięcią operacyjną,
-
uruchomienie innych programów w tym programów użytkowych,
-
sygnalizacja błędów i niesprawność urządzeń.
System operacyjny komputera – ogólna charakterystyka W systemie operacyjnym bardzo często spotykanym jakim jest MS DOS można wyróżnić wzajemnie z sobą współpracujące moduły:
-
ROM.BIOS
IO.SYS
-
MS.DOS.SYS
COMMAND.COM
Strukturę systemu operacyjnego na bazie DOS można przedstawić następująco.
System operacyjny dzieli się więc na:
-
część stałą ?zatopioną? w ROMie ? PAO (pamięci operacyjnej),
-
część ruchomą przechowywaną w pamięci masowej.
Umieszczenie systemu w ROMie, a więc części statycznej pamięci operacyjnej ułatwia użytkownikowi, stwarza wygodę w tym względzie, że sprzęt i zarządzający nim system widziane są jako jedna całość.
Zaś umieszczenie systemu w pamięci masowej zwiększa jego elastyczność i pozwala przy mniejszych kosztach zmieniać jego wersje a także dostosowywać go do różnej konfiguracji sprzętowej.
ROM.BIOS – jest zbiorem elementarnych programów i procedur zapisanych przez producenta w jego pamięci stałej ROM.
Wyróżniamy w nim:
-
program testujący POST (ang. POWER ON SELF TEST) – testuje sprzęt komputerowy, pamięć, rejestratory przerwań,
-
tzw. BOOT – program inicjujący wczytywanie pozostałych modułów systemu operacyjnego
-
procedury obsługi podstawowych urządzeń We/Wy tj. klawiatury , monitora, dysków i drukarki – procedury te pośredniczą pomiędzy wyższymi warstwami oprogramowania i sprzętem – to właśnie dzięki nim programiści mogą pisać programy bez konieczności wnikania w szczegóły techniczne urządzeń.
GDZIE JĄDRO SYSTEMU
IO.SYS – moduł ten traktuje się jako zewnętrzne rozwinięcie modułu BIOS, jego podstawowym zadaniem jest:
– obsługa urządzeń WE / WYJ na podstawowym poziomie
MSDOS.SYS – moduł do obsługi zasobów informacyjnych przechowywanych w PM. Zarządza buforami urządzeń dyskowych oraz wykonuje pewne funkcje systemowe
– związane z obsługą programów narzędziowych i użytkowych.
POWŁOKA – INTERPRETER POLECEŃ SYSTEMOWYCH
-
jego zadaniem jest rozpoznawanie i realizowanie poleceń użytkownika,
-
program wprowadzony zostaje na cały czas działania komputera – jego naczelne zadanie to rozpoznawanie poleceń,
-
niektóre sam wykonuje zaś pozostałe zleca programom pomocniczym. Programy te wprowadzane są do PAO wybiórczo i tylko na czas niezbędny do wykonania – dlatego mamy podział na polecenia systemowe
-
wewnętrzne – wykonywane przez COMMAND.COM
-
zewnętrzne – wykonywane przez programy pomocnicze – wywoływane z PM.
– OTOCZENIE – to programy pomocnicze, programy komunikacyjne, aplikacje użytkownika.
Programy pomocnicze uzupełniają plik COMMAND.COM nadając aktywność realizowanym przez użytkownika aplikacjom oraz realizacją poleceń zewnętrznych.
Programy komunikacyjne – programowe sterowniki zwane drajwerami – są to programy do obsługi niestandardowych urządzeń zewnętrznych, takich jak:
-
rozszerzona pamięć,
-
myszka, skaner, pióro świetlne,
-
dysk wirtualny itp.
SYSTEM OPERACYJNY MS DOS jest zorientowany na system komputerowy i stanowi jego część zaś MS WINDOWS zorientowany jest na użytkownika, który do komunikacji z komputerem wykorzystuje grafikę (ikony).
W/g P. Nortona MS WINDOWS jest popularny gdyż:
-
Graficzny INTERFEJS użytkownika sprawia, że użytkowanie komputera i jego programów jest łatwiejsze (okna ikony) powtarzalność okien w aplikacjach zaś w komunikacji KOMPUTER-UŻYTKOWNIK – zamieniono słowa w grafikę.
-
Umożliwia bardzo dobrą współpracę między różnymi aplikacjami – a więc ułatwia obsługę i wymianę danych.
-
przełączanie się pomiędzy aplikacjami
-
technika OLE (połączenia i osadzania)
-
ikony reprezentują funkcje i instrukcje
Wyjątkową funkcjonalność tego systemu zapewnia sieciowa instalacja interaktywnego, unikalnego, multimedialnego połączenia sprzętowego w ramach systemu.
Realizacja współpracy między aplikacjami jest możliwa dzięki standardowej wymianie danych DDE (Dynamic Data Exchange) – Dynamiczna wymiana danych.
Standard DDE tworzy realizowany na poziomie programisty Interfejs, który umożliwia aplikacjom dla Windows dostęp do danych pochodzących z innych aplikacji.
W konsekwencji uzyskuje się narzędzia, które pozwalają na aktualizację informacji.
Uruchomienie systemu operacyjnego dokonuje się po włączeniu zasilenia komputera. Włączając komputer uruchamia się podstawowy moduł tzw. BIOS (Basic lnput Output System), czyli Podstawowy System Wejścia Wyjścia. Moduł ten umieszczony jest w pamięci ROM i dzięki niemu istnieje możliwość wczytania pozostałej części systemu z dysku twardego bądź z dyskietki systemowej.
W ten sposób nie musi być cały system operacyjny przechowywany w pamięci operacyjnej, lecz tylko jego niewielka część. Dla użytkownika taka organizacja nie ma znaczenia, ponieważ po włączeniu do sieci komputera czeka na meldunek systemu, że jest on gotów do pracy. Znak gotowości do pracy pojawia się po kilku lub kilkudziesięciu sekundach od momentu włączenia komputera. Gotowość do pracy jest sygnalizowana pojawieniem się na ekranie znaku C>_ lub podobnego. W sytuacji, gdy uruchomienie komputera nastąpi z dyskietki systemowej, włożonej do napędu dysków elastycznych A, na ekranie monitora pojawi się znak A>_. Litery A, C, lub inne litery mówią o tym, który dysk jest dyskiem aktualnym (inaczej bieżącym). Od tego momentu możemy wydawać systemowi operacyjnemu polecenia. Do najczęściej wydawanych poleceń systemowych należą:
– Formatowanie dyskietki czyli przygotowanie dyskietki do pracy-polecenie to najczęściej jest podane w postaci FORMAT A. Uwaga! należy sprawdzić aby wpisać właściwy dysk, wpisanie bowiem niewłaściwego dysku, powoduje straty zapisanych na nim programów i danych. Nie należy formatować dysków, na których mamy zapisane potrzebne nam informacje.
– Tworzenie katalogu dyskowego. a w tym: wyświetlanie jego zawartości poleceniem DIR (DlRectory), stworzenie katalogu – MD Katalog (Make Directory), zmiana katalogu – CD Katalog (Change Directory), usunięcie katalogu – RD Katalog (Remove Directory).
– Kopiowanie plików przy pomocy polecenia COPY skąd/co dokąd ew. nowa nazwa lub też kopiowanie całego dysku DISKCOPY skąd/dokąd.
Istnieje o wiele więcej poleceń realizowanych przy pomocy systemu operacyjnego. Wymienione polecenia są tylko przykładem niektórych z nich.
Użytkownik kupując system komputerowy ma do dyspozycji wiele różnych systemów operacyjnych. Dla dużych komputerów popularne są szczególnie:
ODS (Disk Operating System) i OS Operating System). Systemy te są stale udoskonalane i występują w różnych wersjach oznaczonych odpowiednimi numerami. Wersje tych systemów różnią się tym dla jakich zadań są one przeznaczone. I tak: MFT przeznaczony jest dla stałej ilości zadań, a MVT dla zmiennej ilości zadań.
Obok wymienionych systemów operacyjnych, dla dużych komputerów istnieją też inne systemy, tzw. wirtualne, np. SVS, MVS, VM.
Dla komputerów personalnych najbardziej popularne są systemy, uznane jako standardy dla komputerów typu IBM, a mianowicie:
-
MS DOS dla pracy autonomicznej,
-
systemy bazujące na systemie UNIX (głównie wersja XENIX) dla konfiguracji sprzętowych wielodostępnych.
Programy tłumaczące (translatory). Programy niezależnie od użytego języka programowania muszą być, jak już wcześniej wspomniano, przetłumaczone na instrukcję języka maszynowego. Istnieją trzy podstawowe sposoby tłumaczenia programów: interpretacja, kompilacja, asemblacja.
Interpretacja wykonywana jest przez specjalne programy zwane interpreterami. Interpretator tłumaczy program w trakcie wykonania. Działanie interpretatora polega na tym, że program analizuje kolejne programy, krok po kroku, bada ich poprawność, rozpoznaje jakie czynności należy wykonać i realizuje je. Interpretatory są z natury powolne i mało wydajne. Wynika to z faktu, że tłumaczenie odbywa się bez przerwy – nie tylko podczas każdego uruchomienia programu, ale także, gdy któryś z jego kroków jest powtarzany. W realnych programach wiele elementów jest realizowanych na drodze powtarzania kroków, tzw. pętli. Dlatego też wiele instrukcji jest podczas interpretacji tłumaczonych kilkakrotnie. Zaletami interpretacji są: łatwość lokalizacji błędów i możliwość wprowadzenia poprawek w każdym momencie.
Kompilacja wykonywana jest przez specjalne programy zwane kompilatorami. Kompilator analizuje program napisany w określonym języku zewnętrznym, nazywany programem źródłowym. W następnym etapie zamienia go na równoważny program w języku wewnętrznym, nazywany programem wynikowym.
Po zakończeniu procesu transakcji do dalszej pracy używa się już wersji wynikowej. W ten sposób kompilacja jest krótsza niż interpretacja. Czas tłumaczenia zależy od języka oraz długości i złożoności programu źródłowego. Wiele kompilatorów ma wbudowane mechanizmy pozwalające na optymalizacje programów.
Asemblacja wykonywana jest przez specjalny program zwany asemblerem. Asemblacja jest podobna do kompilacji, z tym, że programy tłumaczone są na język maszynowy, zaś samo tłumaczenie jest integralną częścią tworzenia programu. Oznacza to, że użytkownik nie musi oczekiwać na realizację tłumaczenia w jego trakcie i nie musi też posiadać programów tłumaczących. Programy przygotowane w taki sposób są kompletne i gotowe do uruchomienia, w przeciwieństwie do programów interpretowanych, które mogą być uruchomione tylko w obecności i przy pomocy interpretatora. Programy asemblerowe są jednak bardzo pracochłonne i w stosunku do kompilatorów dość proste.
W języku asemblerowym programista musi wpisać treść każdej instrukcji języka maszynowego, która będzie realizować gotowy program. W językach wysokiego poziomu program budowany, jest z większych kroków, które w procesie translacji przetwarzane są na grupy instrukcji języka maszynowego. Według tego właśnie rozróżnienia translatory języków asemblerowych nazwano asemblerami, a języków wyższego rzędu – kompilatorami (porównaj rozdział o kodowaniu algorytmów). Programista asemblerowy współpracuje z komputerem na stosunkowo niskim poziomie i operuje elementarnymi instrukcjami języka maszynowego.
Jak stwierdza P. Norton ?kompilator okazuje się być narzędziem bardzo skomplikowanym, dopuszczającym ogromne zróżnicowanie jakości (jeden kompilator może generować kod bardzo wydajny – inny kiepski), w odróżnieniu od asemblerów, których różnice takie nie dotyczą”.
W zależności od punktu spojrzenia na proces tłumaczenia można uważać, jak w niektórych podręcznikach z zakresu oprogramowania, że kompilatory i asemblery są modyfikacją tego samego narzędzia, lub też – jak przedstawiono w tym rozdziale – że tworzą zupełnie różne. Oprogramowanie dla testów i diagnostyki komputerów (monitoring sprzętu i oprogramowanie), umożliwia sprawdzenie i sprawne działanie poszczególnych elementów systemu komputerowego. Oprogramowanie to stanowi zróżnicowany pakiet, którego zawartość zależy od konstrukcji i możliwości finansowych użytkownika; najczęściej elementami jego są następujące programy:
-
testy diagnostyczne sprzętu pozwalające na wykrywanie uszkodzeń,
-
testy dla usuwania awarii i umożliwienia stosowania dróg obejściowych,
-
programy antywirusowe.
W ostatnich latach szczególnie te ostatnie są niezmiernie istotne i powodują, że użytkownik może utracić w niezamierzony sposób dane i programy. Wirus komputerowy jest to celowo napisany przez człowieka program, którego głównym zadaniem jest powielenie samego siebie, często z bardzo dużą szybkością i umieszczenie go w określonych miejscach. Najczęściej wirus umieszczony jest na dysku lub w pamięci operacyjnej. Wirusy bardzo często realizują zadanie, które im polecił jego twórca, np. generowanie komunikatów typu „kiss my… keyboard” (pocałuj mnie w …klawiaturę), generowanie dźwięków, przykładowo piosenki ?szła dzieweczka do laseczka”, lub fałszowanie i niszczenie pliku. Niektóre wirusy powodują też fizyczne uszkodzenie sprzętu.
Do walki z tego typu programami stosuje się programy antywirusowe oraz przedsięwzięcia profilaktyczne. Przedstawimy niektóre z nich.
Programy antywirusowe są następujących typów:
-
?szczepionki” które są przeznaczone do zwalczania konkretnego wirusa,
-
„szperacze” systematycznie analizujące dane i sygnalizujące wystąpienie wirusa,
-
?blokery”, które uniemożliwiają rozmnożenie się wirusa na inne programy,
-
?lekarze”, czyli programy pozwalające na eliminowanie wirusów już zakażonych programów.
Jednym z takich najbardziej popularnych w Polsce programów do zwalczania wirusów jest program o nazwie MKS-VIR, którego autorem jest Marek Sell. Program ten usuwa kilkaset wirusów.
Najlepiej jest jednak nie dopuścić do zakażenia wirusem poprzez działania profilaktyczne. Zasady postępowania w tym zakresie powinny być następujące:
-
używać tylko licencjowanego oprogramowania,
- bez względu na źródło pochodzenia każdą otrzymaną dyskietkę należy sprawdzić dobrym programem antywirusowym.
- własną dyskietkę, która została pożyczona lub włożona do innego komputera należy potraktować jako dyskietkę pochodzącą z nieznanego źródła i należy również sprawdzić dobrym programem antywirusowym,
-
należy sporządzić kopie programów i danych, szczególnie tych które trudno będzie odtworzyć,
-
dyskietki, które będą używane tylko do odczytu powinny być specjalne zabezpieczone przed zapisaniem.
-
okresowo należy analizować swoje zbiory danych i programy programem antywirusowym.
Można wręcz stwierdzić, że nigdy nie jest dość ochrony przed wirusami komputerowymi. Wirus komputerowy nie zawsze się uaktywnia po zainfekowaniu. Niektóre, jak np. wirus ?Michał Anioł”, dają o sobie znać raz na cztery lata (29 lutego). Są też już wyroki sądowe za zainfekowanie wirusami. Jednym z najbardziej znanych wyroków za takie działanie jest dwa lata więzienia i 100 tys. dolarów grzywny, dla sprawcy zainfekowania w 1990 roku, 6000 komputerów przy pomocy sieci Internet.
Do grupy programów diagnostycznych zaliczyć można też programy monitujące. Dzięki programom monitującym można określić ?wąskie gardła” systemu komputerowego, jak też te jego miejsca, które nie są w pełni wykorzystane. W ten sposób użytkownik otrzymuje wskazania w którym kierunku konfiguracja sprzętu powinna być rozbudowana oraz informacje co do wykorzystania posiadanych zasobów.
Zainstalowany w komputerach personalnych program MSD (Microsoft System Diagnostics) pozwala na uzyskanie informacji o konfiguracji i sprawności komputera.