Systemy operacyjne

41System operacyjny bardzo często występujący również pod nazwą OS, czyli jest to skrót od angielskiego zwrotu Operating System. Jest to oprogramowanie, które ma za zadanie zarządzać sprzętem komputerowym. System operacyjny w sposób bezpośredni tworzy środowisko, służące do uruchamiania i jednoczesnej kontroli wszelkich planowanych zadań użytkownika. System operacyjny ma kilka bardzo ważnych zadań, które musi wypełniać w celu zapewniania bezawaryjnego wypełniania zadań użytkownika, a zaliczamy do nich przede wszystkim planowanie i przydzielanie czasu procesora dla poszczególnych zadań, następnie zajmuje się kontrolą oraz podziałem pamięci operacyjnej, potrzebnej do uruchamiania zadań, musi również sprawnie dostarczać mechanizmy do synchronizacji wszelkich zadań, przy jednoczesnym zapewnieniu komutacji między zadaniami, jak również system operacyjny musi zapewniać równoległe wykonywanie poszczególnych zadać oraz zapewniać wolny od interfejsu oraz łatwy dostęp do sprzętu. Warto również nadmienić iż system operacyjny posiada również zadania, którymi może aczkolwiek nie koniecznie musi się zajmować, a są to przede wszystkim ustalanie bezpiecznych połączeń sieciowych oraz szybkie i sprawne zarządzanie plikami. Nowoczesna technologia w dzisiejszych czasach stawia przede wszystkim na wygląd, który w znacznym stopniu jest w stanie ułatwić użytkownikowi korzystanie z systemów operacyjnych, tak więc wiele z nich posiada bardzo zaawansowane środowisko graficzne, które jak już wcześniej wspomniano efektywnie polepsza komunikacje maszyny z operatorem. Systemy operacyjne najczęściej są potocznie określane mianem programów czy oprogramowania, które powinno być dołączone do zakupionego sprzętu komputerowego, nie jest to zbyt dokładna i poprawna nazwa, ale jednak jest ona dość mocno zakorzeniona w naszej świadomości. Niekiedy ludzie poprzez określenie system operacyjny mają na myśli wyłącznie jądro systemu operacyjnego czy program rozruchowy co w gruncie rzeczy okazuje się być dość wielkim nadużyciem powyższego pojęcia. Jednak najczęściej posługujemy się nazwami rodzin systemów operacyjnych jak między innymi Mac OS czy Microsoft Windows. Nazewnictwo jednak nie powinno mieć znaczącego wpływu na funkcje oraz niezawodność pracy systemów operacyjnych, ponieważ w przypadku awarii takiego oprogramowania okazuje się iż najczęściej cały sprzęt komputerowy traci zdolność do pracy, a co to wiąże się w największej ilości przypadków z bardzo wielkimi stratami jakie ponoszą właściciele.

Podział systemów operacyjnych oraz zasoby sprzętowe

31 System operacyjny jest ważnym programem, który występuje w każdym komputerze dzięki niemu można wykonywać kilka żądań w tej samej jednostce czasu oraz przydzielać procesorowi odpowiedni czas na ich wykonanie. System operacyjny jest bardzo złożony z podstawowego kryterium wynika, że dzieli się on na system operacyjny czasu rzeczywistego, który zamiennie nazywany jest rtos i na system operacyjny czasowo niedeterministyczny. Podział ten dotyczy przede wszystkim planowania pracy komputera oraz przydzielania procesorowi poszczególnych zadań. Drugi podział systemu operacyjnego dotyczy sposobu realizacji przełączeń zadań, wyróżniamy tutaj system z wywłaszczaniem zadań lub system bez wywłaszczania zadań. Kolejny podział to podział na otwarte systemy operacyjne oraz na wbudowane systemy operacyjne. Systemy te różnią się przede wszystkim tym, że systemy otwarte można uruchomić na dowolnej maszynie i dodatkowo dowolnie modyfikować z kolei systemy wbudowane znajdują się wewnątrz urządzeń użytkowych i nie można ich dowolnie konfigurować. Systemy operacyjne można też podzielić pod względem środowiska zastosowanego do implementacji systemu. W tym wypadku wyróżniamy podział na programowe i sprzętowe systemy operacyjne. Sprzętowe systemy to przede wszystkim programowe rozwiązania, które są integrowane z wybraną architekturą naszego procesora. W tym wypadku dzięki sprzętowej części sytemu przyspieszona zostaje praca czynności wykonywanych przez system może to być na przykład przełączanie zadań. Miedzy wymienionym kryteriami podziału sytemu operacyjnego można ustalić pewną małą relacje, ponieważ systemy programowe zazwyczaj spotyka się jako otwarte systemy programowe są one czasowo niedeterministyczne i stosują one zazwyczaj wywłaszczanie przy przełączaniu zadań. Z kolie wbudowane systemy operacyjne wręcz przeciwnie są najczęściej czasowo deterministyczne, najczęściej nie stosują też wywłaszczania zadań. Co ważne bardzo często wbudowane systemy operacyjne są realizowane również w samym sprzęcie. Komputer bardzo często musi wykonywać kilka żądań w jednym czasie nosi to nazwę wielozadaniowości może jednak wtedy dojść do interferencji procesorów, aby temu zapobiec organizuje się często ustanowienie zasobów systemowych, które mają przed tym chronić. Do głównych zasobów zarządzanych przez system operacyjny nalezą sam procesor, który odpowiada za czas pracy naszego procesora następnie jest pamięć oraz urządzenia wewnętrzne, czyli dysk twardy, uradzenia odpowiedzialne za sterowanie drukarkami, skanerami.

Uruchamianie programu

61Zanim komputer rozwiąże wszystkie polecone mu zadania musi zostać odpowiednio uruchomiony program. Pierwszy krok polega na umieszczeniu w pamięci komputera programu i następnie wskazanie mu adresu naszej pierwszej instrukcji po wykonaniu tego zadania komputer a dokładniej mówiąc procesor dalej poradzi sobie sam, czyli samodzielnie będzie wykonywał dalsze czynności aż do ich zakończenia. Naturalnie mogą zakończyć się one poprawnie lub blednie. Wersja poprawna oznacza, że wszystko przebiegło zgodnie z życzeniem użytkownika z kolei wersja błędna jest równoznaczna z negatywnym zakończeniem się pracy programu najczęściej występuje ona, kiedy jest awaria sprzętu lub wtedy, kiedy program wykonana operację nie dozwoloną. Specjalnym gatunkiem programu komputerowego jest system operacyjny jest on bardzo istotny, ponieważ odpowiada za uruchamianie programu i nadzorowanie zadań. Można śmiało stwierdzić, że zarządza on sprzętem, ponieważ odpowiada za pamięć komputera czas procesora na wykonanie określonego zadania a nawet dostęp do urządzeń peryferyjnych. Zanim jednak jakikolwiek program zostanie uruchomiony musy przede wszystkim zostać do tego celu przygotowany sprzęt, odpowiada za to oprogramowanie typu firmware z kolei w komputerach typu PC nosi ono nazwę bios. Oprogramowanie to nie tylko uruchamia sprzęt, ale ląduje też system operacyjny a tym samym przekazuje ma kontrole nad komputerem. Problem jednak pojawia się wtedy, kiedy program nie ma postaci binarnej tylko kodu czytelnego dla człowieka, ponieważ wtedy procesor nie może go wykonać. W takim wypadku można jedna sobie pomóc istnieją tutaj dwa zasadnicze rozwiązania, czyli skorzystanie z programu o nazwie kompilator, który bezpośrednio tłumaczy kod źródłowy na kod maszynowy, co za tym idzie komputer może je odczytać. Drugie rozwiązanie to nie, co inny program znany pod nazwa interpretera. Zadaniem tego programu jest odczytywanie kodu źródłowego, czyli zrozumiałego dla człowieka. Program ten jednak tłumaczy kod nie całościowo tylko częściowo, co w rezultacie daje nam kilka porcji przetłumaczonego kodu zwanego skryptem. Każdy program można podzielić na dwa zasadnicze obszary, czyli cześć kodu i cześć danych. Pierwsza cześć odnosi się do szeregu instrukcji, które wpływają na parce procesora z kolei cześć danych składa się z danych wykorzystywanych i opracowywanych przez program. Mimo to bardzo trudno jest przewidzieć zachowanie programów, które modyfikują własny kod, dlatego tez przyjęło się założenie, że obszar kodu w pamięci jest tylko i wyłącznie do odczytu

Odzyskiwanie dnaych

Jest to proces który ma na celu przywrócenie dostępu do danych które zostały zapisane na dowolnym nośniku lub otrzymania pierwotnej struktury danych za pomocom odtworzenia fizycznego zapisu. Gdy mamy do dyspozycji usługi profesjonalnych laboratoriów mamy możliwość odzyskania danych nawet po bardzo ciężkich przypadkach jak powódź czy pożar. Jest to obecnie jedna ze specjalności informatyki. Odzyskiwanie danych wykorzystuje bardzo dużo różnych dziedzin nauki z zakresu robotyki, elektroniki, automatyki czy programowania. Oraz opanowania pojęć z zakresu: systemów bazodanowych, systemów plików i kryptologii. Skuteczność jaką udało się wypracować w najlepszych laboratoriach na całym świecie w zakresie odzyskiwania danych wynosi 76%. Rozróżniamy dwa rodzaje utraty danych – logiczne czyli programowe lub fizyczne samego nośnika.

Uszkodzenie logiczne

Polega na uszkodzeniu struktury logicznej danych lecz sam nośnik pozostaje w pełni sprawny. Istnieją dwa rodzaje przyczyn dlaczego ów błędy powstają –ataki wirusów, przerwy w dopływie prądu, skoki napięcia czy błędy oprogramowania. Oraz te wynikające z błędu człowieka: formatowanie dysku, kasowanie plików czy użycie programów takich jak fdisk, cfdisk które przy nie poprawnym użyciu mogą uszkodzić partycje dysku. Drugi z występujących uszkodzeń są uszkodzenia fizyczne które są najczęściej dużo trudniejsze w naprawie od uszkodzeń logicznych. W takim przypadku jeśli chodzi o dyski twarde najczęstszymi usterkami są: uszkodzenia głowicy, silnika, układy elektroniki czy talerze.

CD/DVD

W innych nośnikach danych takich jak płyty Cd/dvd uszkodzeniu najczęściej ulega warstwa refleksyjna na której zapisywane są dane lub układy elektroniczne w przypadku pamięci flash. W ówczesnym świecie technologia informatyczna na dobre zadomowiła się w naszym życiu codziennym. Na dzień dzisiejszy 90% dokumentów powstaje tylko i wyłącznie w postaci elektronicznej gdzie przeszło 70% tych danych nigdy nie doczeka się wydruku. Wraz z upowszechnieniem urządzeń mobilnych czy innych rozwiązań informatycznych obie te liczby stale rosną. Ze wszystkich dostępnych nośników danych najpopularniejsze niewątpliwie są dyski twarde które ulegają coraz większej minimalizacji. Jest to wynikiem świetnego współczynnika ceny do pojemności oraz krótkiego dostępu do zapisanych danych. Statystycznie ponad 80% wszystkich używanych nośników to dyski twarde, a w najbliższych latach liczba ta może przekroczyć 90%. Przykładami programów do usuwania błędów logicznych z naszych nośników są między innymi: Data Disc Recovery który w bardzo łatwy sposób pozwoli nam na przywrócenie uszkodzonych lub usuniętych plików z naszego dysku twardego. Natomiast CDCheck specjalizuje się odzyskiwaniem danych z uszkodzonych nośników Cd/dvd.