Nowoczesne programowanie

42Programowanie jest bardzo złożonym zabiegiem, który wymaga od programisty ogromnej wiedzy. Aby dobrze zaprogramować prace urządzenia programiści korzystają z specjalistycznych narzędzi. Sam proces tworzenia programu komputerowego zaczyna się od projektowania architektury oraz analizy wymagań. W tym celu można sobie pomóc za pośrednictwem techniki ooad oraz MDA. Dopiero po wykonaniu tego typu czynności przechodzimy do kolejnej czynności, czyli do tworzenia tekstu źródłowego. Bardzo ważnym zagadnieniem jest tutaj kontrolowanie kodu źródłowego, ponieważ ten bardzo często jest zmieniany i modyfikowane poprzez prace wielu programistów, w pracy nad kontrolą tekstu źródłowego bardzo pomoce są takie systemy jak cvs, git i inne. Ostatnim krokiem, jaki należy wykonać w nowoczesnym oprogramowaniu jest usuwanie powstałych błędów w już gotowej aplikacji. Trudność w realizacji tego celu może być wynikiem środowiska, jakości kodu oraz języka użytego do oprogramowania. Program, który ma błędy jest po prostu bez użyteczny, dlatego w takim wypadku należy go zmienić, istniej ą dwa sposoby na tworzenie oprogramowania, czyli debugowania, wyróżnia się tutaj statystyczną i dynamiczną analizę kodu źródłowego. Pierwsza metoda polega na analizie kodu pod kątem jedynie występowania możliwych błędów z drugim sposobie analizowana jest praca komputera za pomocą specjalnych narzędzi, które noszą nazwę debugerow. Dzięki nim błędy bardzo szybko zostają wychwycone i usunięte z programu. W nowoczesnym oprogramowaniu bardzo ważnym aspektem jest też nowoczesny język, obecnie używanymi językami są Cobol, który cieszy się ogromnym powodzeniem w zagranicznych korporacjach, Java którą można spotkać w programach korzystających przede wszystkim z baz danych czy nawet Python, który wykorzystywany jest głownie a administracji sytemu i na stronach internetowych. Itp. bardzo wiele z tych języków po prostu ewoluowało z podstawowych wersji jak ma to miejsce w języku Java, języki te są bardzo ważne, ponieważ pozwalają na tworzenie w sposób bardzo szybki i prosty aplikacji. Co ważne ich uruchamianie odbywa się w wirtualnej maszynie, dzięki czemu zmniejsza się ryzyko wystąpienia problemów z językami niższego poziomu. Rodzaj języka jest też bardzo istotny w systemie operacyjnym, ponieważ liczy się w tym wypadku szybkość pracy. Języki, które już powstały stale są modernizowane, powstają też zupełnie nowe wersje po to, aby praca z komputerem była bardziej wydajniejsza, przyjemna i dokładna.

Emulatory

4Emulatory – emulatorem nazywamy program komputerowy który potrafi ‘udawać’ działanie innego systemu informatycznego. Jedna z form i zarazem najbardziej znaną są emulatory programowe, które umożliwiają uruchamianie programów czy gier na komputerze bądź systemie operacyjnym innym niż ten na który zostały pierwotnie napisane. Przykładem takiej emulacji gry jest np. uruchomienia emulatora gier Nitendo w systemie operacyjnym Windows. Emulatory są tak pisane aby jak najwierniej mogły `udawać` emulowaną maszynę z lepszym lub gorszym skutkiem. Jednym z najczęściej występującym problem jest odwzorowanie palety barw czy dźwięku lub obsługą urządzeń zewnętrznych np. padów. Jednak większość ówczesnych emulatorów posiada praktycznie 100% zgodność z emulowaną maszyną. Aplikacje emulują również poszczególne funkcje oprogramowania jak i sprzętu który nie jest dostępny w danym systemie np. karty dźwiękowe. Tworzone są najróżniejsze emulatory jak np. BBS-ów czy kalkulatorów Texas Iinstruments.
Przykładem emulatora gier jest PCSX2 który jest darmowym emulatorem platformy Playstation 2 dzięki tej aplikacji możemy zagrać w gry do tej pory wydawane jedynie na konsoli. Emulator jest dostępny w dwóch wersjach TLB i VM. Przykładem emulacji systemu operacyjnego jest Virtual PC który emuluje maszyny wirtualne na naszym komputerze. Umożliwia on uruchomianie dowolnej ilości systemów na jednej maszynie. Aplikacja ta jest przeznaczona przede wszystkim dla użytkowników którzy testują oprogramowanie, chcących zapoznać się z najnowszymi systemami operacyjnymi nie tracą starego. Największą nowością w wersji 2007 systemu Windows jest to że obsługuje również Windowsa Vistę 32 jak i 64 bitową wersję tego systemu. Program ten nie tylko obsługuje systemy z rodziny Windows ale także Linux. Z łatwością można zainstalować każdą dystrybucję Linuxa. Lecz podstawowym wymogiem są niestety parametry naszego komputera. Należy pamiętać że program ten korzysta z lokalnej pamięci RAM, procesora , a i dysków twardych. Istnieje również szereg innych emulatorów takich jak np. DFemul 0.50 jest to oprogramowanie do emulacji urządzeń fiskalnych. Jest to jak na razie jedyne na rynku oprogramowanie tego typu. Emulator ten ‘udaje’ fiskalne drukarki zgodnie ze standardem POSNET. Program ten służy do testowania oprogramowania pracującym z drukarkami fiskalnymi. Aplikacja ta jednak musi być używana zgodnie z zasadami freeware czyli jest darmowa ale nie można jej sprzedawać ani używać w żaden inny sposób aby osiągnąć korzyści materialne.

Odtwarzacze radio/TV

Odtwarzacze radio/TV – jest to aplikacja dzięki której możemy oglądać telewizje jak i słuchać radia za pomocą Internetu. 3webTotal Tv & Radio Tuner jest to aplikacja pozwalająca na oglądani telewizji jak i nasłuchaniu radia. Program ten oferuje nam oglądanie około 300 stacji TV w różnych języka i jak i słuchania jednej z 3000 tysięcy rozgłośni radiowych. Mamy również możliwość zmiany wielkości okna jak i podglądu informacji na temat oglądanej w danym momencie telewizji. Niestety aplikacja ta nie jest darmowa. Kolejna aplikacja jest BOOMBox Internet Radio Player która daje nam możliwość słuchania kilku tysięcy rozgłośni radiowych z całego świata. Program Ten ma podzielone stacje radiowe według gatunków muzycznych ( np. rock, house czy hip hop) co daje nam możliwość szybkiego odnalezienia ulubionej muzyki. Gdy zdecydujemy już jakiej muzyki chcemy słuchać program pokazuje nam informacje o rozgłośni: aktualnie grany kawałek, opis stacji, jakość nadawania. DVB Dream jest programem który pozwala nam na oglądanie strumienia satelitarnego w standardzie DVB. Aplikacja jest bardzo rozbudowana i daje nam do dyspozycji wiele funkcji takich jak: obsługa teletekstu, wyświetlenie programu telewizyjnego, nagrywanie strumienia do zewnętrznego formatu wideo, obsługę obrotnic, udostępnienie strumienia w sieci LAN. Aplikacja ta obsługuje bardzo duża ilość kart satelitarnych. Free Internet TV jest to program dzięki któremu mamy możliwość oglądania tylko i wyłącznie telewizji za pomocą łącza internetowego. Aby z niego korzystać nie potrzebna nam jest karta telewizyjna. Aplikacja oferuje nam ponad 750 kanałów. Posiada automatyczną aktualizację bazy programów. Program ten pozwala nam na zmianę interfejsu poprzez skórki które można bezpłatnie pobrać na stronie producenta. Obsługa programu jest bardzo łatwa i przejrzysta gdyż wystarczy kliknąć w wybraną przez nas stację i poczekać na połączenie. Kolejna z zalet tego programu jest możliwość oglądania danej stacji w opcji full-screen dzięki czemu można oglądać ja na całej szerokości ekranu. Oto niektóre polskie programy które możemy oglądać dzięki temu programowi : ITV, Toya, Tvfly. JLC’s Internet TV jest uważany za najlepszy program do oglądania i słuchania muzyki za pośrednictwem Internetu. Program oferuje bardzo łatwy interfejs użytkownika a wszystkie kanały telewizyjne jak i radiowe są wygodnie podzielone według kraju pochodzenia. Istnieje możliwość za pośrednictwem programu głosowania na dana stacje radiową czy telewizyjną co dało możliwość utworzenia rankingu najchętniej odwiedzanych stacji. Niestety większość programów oferująca bogatą gamę stacji do wyboru jest płatna.

Komputer i jego system operacyjny

11Komputer jest cudem techniki oraz nauki pozwalającym w sposób szybki i prosty pogłębiać swoją wiedzę oraz przetwarzać już gotowe dane. Pierwsze komputery były ogromnymi maszynami, z których mogli korzystać jedynie naukowcy, ich koszt był ogromny, dlatego też nie było stać na nie postronnych osób. Komputer był nie zwykle przydatnym wynalazkiem jednak cięgle drogim i nie dostępnym dla większego ogól ludzi, Dlatego tez podjęto poszukiwania możliwości pozwalającej zwiększyć wydajność tej maszyny oraz zmniejszyć jej koszty do minimum w ten sposób była by osiągalna dla wszystkich. Pierwszą droga do osiągnięcia celu było zainstalowanie w pamięci komputera specjalnego oprogramowania dzięki niemu ułatwiona była komunikacja sprzętu z użytkownikiem. Dzięki temu wynalazkowi każdy kontakt z komputerem nie wymagał już każdorazowego ładowania odpowiednich kodów dostępu. Kolejna zaleta tego kroku było zwiększenie oszczędności czasu oczekiwania na działanie komputera oraz zwiększenie efektywności jego pracy, ponieważ komputery pracowały szybciej i dokładniej. Kolejnym ulepszeniem, o którym warto jest wspomnieć jest pomysł na zajęcie procesora przetwarzaniem innego dowolnego programu. Dzięki temu komputer zyskał pewna chcę określaną dziś jako wielozadaniowość, czyli umiejętność przeprowadzenia kilku operacji w tym samym czasie. Bardzo ważnym elementem każdego komputera jest system operacyjny, czyli inaczej mówiąc oprogramowanie, którego z daniem jest zarządzanie sprzętem komputerowym. System operacyjny w celu kontroli zadań użytkownika zajmuje się kilkoma kwestiami można tutaj wyliczyć miedzy innymi przydzielanie czasu procesora poszczególnym zadaniom oraz kontrolowanie pamięci dla uruchamiania zadań przez użytkownika. Bardzo zwanym zadanie systemu operacyjnego jest także przydzielanie mechanizmów służących synchronizacji. Wymienione przykłady są podstawowymi zadaniami, jakimi zajmuje się system operacyjny, może on też wykonywać dodatkowe zadania takie jak zarządzanie plikami komputera albo nawet ustalanie połączeń sieciowych. Najczęściej stosowanym systemami operacyjnym i są system mac os lub microsoft windows można je zakupić wraz z komputerem wtedy oprogramowanie to jest jak najbardziej oryginalne. System operacyjny jest doskonałym programem pozwalającym na uruchamianie i kontrolowanie zadań użytkownika dzięki niemu w sposób prosty i szybki możemy wykonać kilka zadań w tym samym czasie zwiększając przy tym efektywność swoje pracy i wyniki. To właśnie na nim opiera się cała praca komputera.

Zarządzanie zasobami

51Zarządzanie zasobami polega przede wszystkim na ich początkowym ustanowieniu i wykorzystywaniu ich w razie potrzeby. Komputer jest urządzeniem wielozadaniowym dzięki temu możemy pozwolić sobie na wykonywanie kilku zadań w tej samej jednostce czasu czasami jednak może mieć to bardzo negatywne skutki, ponieważ może dojść do interferencji procesorów. Zjawisku temu można zapobiec lub je niwelować bardzo prosto wystarczy tylko zorganizować dostęp do plików sprzętu oraz pamięci i ustanowić zasoby systemowe. Dzięki temu procesory użytkownika używają sytemu operacyjnego jako swego rodzaju strażnika zasobów. Zaradzanie zasobami daje ogromne korzyści, ponieważ dzięki temu praca na komputerze jest bardziej zorganizowana a w urządzeniu panuje porządek. Podczas zarządzania zasobami sytemu system operacyjny wykonuje pewne zadania do nich należą tworzenie lub nawet usuwanie deskryptora zasobu, realizowanie zadania przydziału oraz odzyskiwanie zasobu. Ponadto system operacyjny zarządza procesem, proces to nic innego jak rozdaj programu, który znajduje się w stanie uruchomionym. Każdy proces wymaga tego, aby przydzielić mu pewne zasoby. System operacyjny komputera w fazie zarządzania jest odpowiedzialny za samo tworzenie i usuwanie procesu za jego wstrzymywanie lub nawet za zapewnienie mechanizmów, dzięki którym procesy będą mogły się synchronizować i komunikować kolejnym ważnym aspektem jest zarządzanie pamięcią operacyjną. Pamięć jest ogromnym miejscem z dużą ilością adresów i bajtów jest ona szybko dzielona pomiędzy sam procesor oraz urządzenia takie jak wejście czy wyjście. W fazie zaradzania pamięcią nasz system operacyjny jest odpowiedzialny za zatrzymywanie informacji, podejmowanie decyzji, który z procesów powinien być wczytany do pamięci, jeśli jest ona aktualnie wolna oraz za przydzielanie pamięci pomiędzy poszczególne urządzenia komputera. Kolejnym, ważnym zasobem są pliki. Pliki to zbiór pewnych informacji, których autorem jest twórca pliku zazwyczaj znajdują się na nich programy lub specjalne dane użytkownika. W fazie zarządzania plikami system operacyjny bierze odpowiedzialność za tworzenia, jaki kasowanie plików podobnie dzieje się w wypadku katalogów, mapowanie plików na nośniku oraz tworzenie kopii plików. System operacyjny wykonuje ogromną pacę związaną z zarządzaniem zasobami nie można w niej pominąć jeszcze jednego ważnego aspektu mianowicie zarządzania nośnikami danych. Nośniki danych są inaczej wsparciem pamięci komputera, która często jest zbyt mała, aby móc obsłużyć wszystkie programy. System operacyjny w fazie zarządzania tymi nośnikami odpowiada za zarządzanie pamięcią wolną oraz samym procesem planowania dysku.

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.