Windows (produkt
firmy
Microsoft ) to prawdopodobnie najbardziej rozpowszechniona rodzina systemów
operacyjnych, w szczególności wśród użytkowników komputerów osobistych. Na drodze
rozwoju systemu Windows, jego twórcy starali sie wyjść naprzeciw potrzebom zarówno
użytkowników domowych
(tak zrodziły się kolejne wersje:
Windows 3.1, 95, 98,
Me), jak i profesjonalistów (
Windows NT,
2000,kolejne wersje z serii
Server). Wprowadzenie na rynek wersji
Windows XP (a następnie
Windows
Vista) niejako ujednolicono dotychczasowe dwie odrębne linie rozwoju systemów,
dając środowisko pracy przeznaczone zarówno do użytku domowego jak i zastosowań
profesjonalnych.
Środowisko
Windows oferuje nam
szereg usług min. ułatwiających nam zdalną komunikację, sprawniejsze oraz
bezpieczniejsze zarządzanie zasobami systemowymi (w tym również na odległość).
Zdalny Pulpit
Wyobraźmy sobie sytuację, w której
z przyczyn dla nas niezrozumiałych, nie jesteśmy w stanie uruchomić żądanej aplikacji,
przez co realizacja projektu, do wykonania którego służyć nam miała właśnie ta aplikacja,
jest niemożliwa. Co więcej, jedyna osoba, będąca w stanie nam pomóc jest zbyt daleko, by
zjawić się u nas osobiście.
W tym i podobnych przypadkach z pomocą przyjść nam może funkcja
zdalnego pulpitu (w
Windows XP Professional jest ona integralnym składnikiem systemu).
Funkcja
zdalny pulpit (ang. remote desktop)
umożliwia zdalne sterowania komputerem, a tym samym daje możliwość korzystania z
danych, aplikacji oraz zasobów sieciowych dostępnych na odległym komputerze. Odnosząc
się zatem do przytoczonej wcześniej sytuacji, nie jest konieczne ściąganie osoby "na
miejsce zdarzenia", a jedynie wystarczy zdalnie powierzyć mu zasoby naszego komputera
(czasami jednakże wizyta osobista jest niezbędna - w zależności od stopnia skomplikowania
problemu).
Skrypty
Administratorzy sieci często ułatwiają sobie pracę posługując
się skryptami.
Skrypt to
najprościej plik zawierający zestaw instrukcji dla danej aplikacji lub systemu operacyjnego.
Dzięki skryptom można zautomatyzować często powtarzane
operacje - np. wyrzucanie plików tymczasowych z katalogów,
segregacja i przenoszenie plików na podstawie ich nazw, archiwizacja i sporządzanie kopii
bezpieczeństwa danych... itp. Wszystkie te operacje można wykonać zdalnie (wystarczy
połączenie z internetem). Często umożliwia to zaradzić niejednemu problemowi
komputerowemu, bez konieczności osobistego stawiania się w miejscu, gdzie ta pomoc jest
potrzebna.
Bezpieczeństwo
Z uwagi na rozpowszechnienie systemów
Windows (a i po części z uwagi na kwestie
techniczne dla systemów tej rodziny) system ten stał się celem ataków hakerów. Istnieje
sporo
szkodliwego oprogramowania, które niosą dla posiadaczy tychże systemów różnego
rodzaju zagrożeń (w najgorszych przypadkach jest to utrata danych a nawet fizyczne
zniszczenie komputera).
Jak zatem skutecznie chronić nasz komputer?
Podstawowe elementy zapewniające większe bezpieczeństwo dla naszych zasobów
to:
- aktualizowanie zabezpieczeń systemu (dla systemów Windows jest to uaktywnienie usługi Windows
Update ) i
oprogramowania,
- dobrze skonfigurowana zapora systemowa (ang. firewall ),
- skuteczny program antywirusowy/antyspywarowy,
- prywatność i ochrona haseł.
Do dobrych nawyków należy również regularne wykonywanie
kopii bezpieczeństwa (ang.
backup
copy ) i archiwizacja najważniejszych danych (
wersje Windows 2000, XP, Vista
posiadają standardowo instalowaną aplikację, służącą do wykonywania tego typy
zabezpieczeń). Przeprowadzanie tego typu zabiegów daje nam możliwość
zabezpieczenia systemu, wykonać backup całej zawartości
dysków lub też zapisać informacje o aktualnym stanie systemu. Tak
zarchiwizowane dane są niezastąpione podczas przywracania systemu po jego awarii,
a jak mówi jedno z praw Murphy'ego :
"rzeczy ulegają zniszczeniu
wprost proporcjonalnemu do ich wartości".
Platforma .NET (NET Framework)
Jest to platforma programistyczna stworzona przez Microsoft. Pierwsza wersja (1.0) ukazała się w styczniu 2002 roku. Najbardziej aktualna wersja to 3.5. Technologia ta nie jest związana z konkretnym językiem programowania, aplikacje kompilowane są do języka pośredniego MSIL. Obecnie około 40 języków programowania jest zgodnych z .NET. Do najważniejszych należą : C#, C++, Delphi, Visual Basic. Aplikacje tworzone dla platformy .NET mogą być uruchamiane na komputerach, które mają zainstalowaną platformę .NET, lub na serwerach. Dzięki temu programiści mogą tworzyć programy zarówno dla komputerów indywidualnych jak i podłączonych do Internetu (ASP.NET) korzystających z przeglądarek. Platforma .NET w połączeniu z językiem programowania jest obecnie jednym z najchętniej stosowanych narzędzi. Znacznie oszczędza czas programistom i jednocześnie pozwala tworzyć aplikacje najwyższej jakości. .NET jest strategicznym kierunkiem rozwoju firmy Microsoft (producenta Windows). W celu uzyskania dokładniejszych informacji, proszę kliknąć link :
.NET
C#
C# to język wysokiego poziomu zaprojektowany przez Microsoft. Język ten łączy cechy Javy i C++. Został zaprojektowany do współpracy z platformą .NET, choć oczywiście funkcjonuje bez niej.
Firma MatSol, przy tworzeniu większości projektów korzysta z połączenia C#.NET. Aplikacje przez nas tworzone są przez to wysokiej jakości, bezpieczne (nie ingerują w zasoby systemowe), charakteryzują się atrakcyjnym i nowoczesnym wyglądem, a przy tym czas realizacji wykonywanych przez nas projektów jest krótki.
Sieci LAN i WAN
Sieci komputerowe są narzędziem coraz częściej wykorzystywanym przez firmy, a także i osoby prywatne. Rozpowszechnianiu się sieci komputerowych sprzyja zarówno coraz tańszy sprzęt potrzebny do jej budowy jak i korzyści wynikające z ich stosowania.
Czym jest sieć komputerowa i jakie są korzyści jej stosowania? Siecią nazwać można wszystko, co daje możliwość komunikacji dwóm lub większej liczbie komputerów i/lub użytkowania urządzeń zewnętrznych komputera np. drukarek. Wyróżnić możemy dwa rodzaje sieci: sieci lokalne-
LAN (ang.
Local Area Network ) oraz sieci rozległe-
WAN (ang.
Wide Area Network ). Najbardziej rozpowszechnione są sieci
LAN (obecnie coraz większą popularnością cieszą się bezprzewodowe sieci lokalne -
WLAN ) i to właśnie tym sieciom bliżej się przyjrzymy.
Typy i topologia sieci
Typ sieci
Typ sieci opisuje sposób, w jaki przyłączone oraz udostępnione są w sieci zasoby tj. jej klienci,
serwery, pliki, a także inne urządzenia. Z tego względu wyróżniamy sieci równorzędne (tzw.
peer-to-peer ) oraz sieci oparte na serwerach.
W sieciach typu
peer-to-peer, każdy
komputer jest równorzędny w stosunku do każdego innego (stąd też
nazwa). W sieciach opartych na serwerach (nazywanych też sieciami typu
klient-serwer ) zasoby gromadzone są na osobnych komputerach zwanych serwerami. Sieci równorzędne są relatywnie łatwe do wdrażania i obsługi oraz tanie w eksploatacji. Dodatkowym atutem sieci równorzędnych jest fakt, iż każde wyłączenie lub uszkodzenie jednego
komputera nie unieruchamia sieci, a jedynie zmniejsza dostępny zasób
sieci lokalnej. Jednakże brak centralnego zarządzania taką siecią sprawia, że:
- użytkownicy są zmuszeni do pamiętania haseł dostępu do każdego z komputerów wchodzącego w sieć,
- zmniejsza się bezpieczeństwo takiej sieci (chociażby wskutek nieskoordynowanego zabezpieczania danych).
W sieciach typu klient-serwer całe centrum zarządzania siecią jest na serwerze przez co:
- główne zadania administracyjne takie jak np. tworzenie kopii zapasowych może być przeprowadzane regularnie,
- zwiększa się wydajność takiej sieci jako, że większość operacji przetwarzanych jest przez serwer.
Mimo tych atutów, utrzymanie takiej sieci jest dość kosztowne (zakup serwerów oraz jego administracja), a w przypadku awarii serwera cała sieć zostaje unieruchomiona.
Topologia sieci
Topologia sieci to najprościej mówiąc fizyczny układ sieci tzn. rozmieszczenie jej elementów oraz ich połączenie.
Topologiami podstawowymi sieci są: topologia
magistrali, gwiazdy, pierścienia oraz topologia
drzewa.
Topologia magistrali charakteryzuje się tym, że wszystkie komputery połączone są do jednego przewodu koncentrycznego zwanego magistralą (patrz rys.1). Przewód ten jest z obu stron zakończony opornikami ograniczającymi (zwanych też
terminatorami ).
rys.1 Topologia magistrali
|
Zalety: |
Wady:
|
|
- wymaga niewielkiej ilości przewodów
- nieskomplikowany układ okablowania
- niezawodna (do momentu uszkodzenia układu)
|
- rozszerzenie sieci dość kłopotliwe
- utrudniona diagnostyka i wykrywanie błędów
- przerwanie magistrali unieruchamia całą sieć
- występowanie opóźnień przy zwiększonym ruchu w sieci
|
Topologia
pierścienia jest takim rodzajem połączenia komputerów, w którym każdy komputer podłączony jest do dwóch najbliższych sąsiadów. Topologia ta jest podobna do topologi magistrali, z tą różnicą, że końce kabla nie są połączone terminatorami lecz są ze sobą połączone (rys.2).
rys.2 Topologia pierścienia
|
Zalety: |
Wady:
|
|
- wymaga niewielkiej ilości przewodów
- nieskomplikowany układ okablowania
- niezawodna (do momentu uszkodzenia układu)
|
- rozszerzenie sieci dosyć kłopotliwe

- utrudniona diagnostyka i wykrywanie błędów
- przerwanie magistrali paraliżuje całą sieć
- występowanie opóźnień przy zwiększonym ruchu w sieci
|
Topologia gwiazdy (rys. 3) jest układem, który obecnie zdominował sieci
LAN. Topologia sieci zawiera jeden centralny węzeł (serwer), do którego zostają przyłączone pozostałe składowe elementy sieci (za pomocą
huba lub
switcha ).
rys.3 Topologia gwiazdy
|
Zalety: |
Wady:
|
|
- niezawodna
- łatwa konserwacja i lokalizacja urządzeń
- łatwość dodawania nowych stacji roboczych
- umożliwia osiąganie dużych prędkości transferu (warunek-szybki serwer)
- łatwy do modyfikacji układ przewodów
- przerwanie przewodu nie unieruchamia całej sieci
|
- duża ilość przewodów (większe koszta)
- awaria punktu centralnego unieruchamia całą sieć
- ograniczona możliwość rozbudowy sieci
|
Topologia drzewa (zwana też topologią rozproszonej gwiazdy
) jest to forma okablowania przypominająca kształtem rozgałęzione drzewo. Topologia ta jest utworzona z wielu magistrali liniowych połączonych łańcuchowo. Główną magistralę łączy się z hubem, po czym dzieli się ją na dwie lub więcej magistral. Proces dzielenia można kontynuować tworząc dodatkowe magistrale, co nadaje sieci cechy topologii gwiazdy (rys.4).
rys.4 Topologia drzewa
|
Zalety: |
Wady:
|
|
- łatwa rozbudowa poprzez dodawanie rozgałęźników
- łatwa w konfiguracji
- ułatwiona lokalizacja urządzeń
- sieć zwykle może przetrwać uszkodzenie komputera lub kabla
|
- trudność w odnajdywaniu błędów
- duża liczba kabli
- zależność pracy sieci od głównej magistrali
|
Zastosowania
Sieci równorzędne znalazły swoje zastosowanie głównie w małych instytucjach o względnie niewielkich potrzebach współdzielenia informacji (i ograniczonym budżecie na technologie informacyjne). Sieci oparte na serwerach są natomiast bardziej przydatne w dużych organizacjach, gdzie wymogi bezpieczeństwa są (jak również możliwości finansowe) znacznie większe.
Korzyści stosowania sieci
komputerowych
Sieci LAN umożliwiają m.in.
- w tańszy sposób łączyć sie z
Internetem (z jednego łącza Internetowego może korzystać wielu
użytkowników),
- darmowe komunikowanie się czy wspólne użytkowanie urządzeń zewnętrznych komputera,
- współużytkowanie baz danych, aplikacji czy innych plików, co pozwala wielu użytkownikom na jednoczesny dostęp do danych bądź też oprogramowania.
Ogólnie
Każda firma ma potrzebę gromadzenia danych. Owszem można to robić w tradycyjny sposób (czasem trzeba), tj. w teczkach i można to również robić korzystając z komputera. Dane mogą być oczywiście zapisywane w postaci plików tekstowych, lecz w niektórych przypadkach jest bardzo niewygodne (zwłaszcza gdy danych jest bardzo dużo). Naprzeciw wychodzą współczesne rozwiązania dotyczące gromadzenia danych. Są to rozbudowane systemy baz danych (najczęściej relacyjnych) w pewien sposób znormalizowane , tzn. umożliwiających pobieranie i edycje danych za pomocą wspólnego języka SQL.
SQL
SQL (Structured Query Language) opracowany został przez IBM, obecnie jest uważany za standard komunikacji z systemami zarządzania bazami danych. Administratorzy baz danych mają w ten sposób ułatwiony dostęp do danych w wielu bazach - za pomocą jednego wspólnego języka. Dla nas programistów istnieje jeszcze jeden problem : w jaki sposób pobrać, zmienić dane korzystając z SQL z poziomu aplikacji ? I takim pośrednikiem dla windows jest np. ODBC.
Systemy zarządzania bazami danych (DBMS)
Istnieje wiele systemów zarządzania bazami danych. Najpopularniejsze z nich działają w architekturze klient - serwer, dzięki temu można korzystać z baz danych zamieszczonych w sieci komputerowej (LAN lub Internet). Pozwala to więc tworzyć aplikacje korzystające z jednego wspólnego źródła danych. Oto najbardziej znane systemy bazodanowe :
Microsoft SQL Server,
MySQL,
Oracle,
PostgreSQL,
Firebird
Aplikacje bazodanowe
Istnieje wiele aplikacji bazodanowych, właściwie większość wykorzystywanych w firmach, np. programy do fakturowania z bazą kontrahentów. Do najpopularniejszych zaliczamy Ms Access (element pakietu Ms Office), OpenOffice.org Base (element pakietu OpenOffice). Są to aplikacje, które pozwalają tworzyć bazy danych oraz interfejsy graficzne do ich obsługi (formularze, raporty).
Większość użytkowników komputerów jest przekonana, iż aplikacje dostępne na rynku są albo płatne albo są to wersje nielegalne. Gdy zaś mowa o programie darmowym, uważany jest on zazwyczaj za słabej jakości. Otóż nie. Istnieje wiele aplikacji tzw. free software i open source software, nad którymi pracuje (pracowała) duża liczba wysokiej klasy programistów.
W zależności od rodzaju licencji można np. korzystać z nich w zastosowaniach domowych, bardzo często komercyjnych, a czasem również można je samemu dostosowywać do własnych potrzeb .
Open Source
Aplikacje tego typu udostępniane są razem z kodem źródłowym, czyli istnieje możliwość dostosowania ich do własnych potrzeb (oczywiście do tego potrzebni są programiści). Zazwyczaj jeśli chcemy rozpowszechniać aplikację musimy również udostępniać kod źródłowy. Wbrew pozorom tego typu aplikacji nie jest mało, wręcz przeciwnie jest ich bardzo dużo, jedynie społeczeństwo polskie nie jest jeszcze tego w pełni świadome. Dla przykładu podam, iż na jednej z najbardziej popularnych stron www, za pośrednictwem, której realizowane są projekty typu Open Source jest zarchiwizowanych około 180 tys. projektów. Poniżej przedstawiam najważniejsze produkcje typu Open Source :
- OpenOffice - pakiet biurowy rywalizujący Ms Office
- Apache - serwer www, około 50% serwerów www opartych jest na Apache'u
- Firefox - jedna z najbardziej popularnych przeglądarek internetowych
- Gimp - program graficzny
- Firebird - system baz danych
- MySQL - system baz danych
- Linux - jądro systemu operacyjnego
Optymalizacja to najprościej mówiąc ogół działań prowadzących do wyznaczenia najlepszego (optymalnego) rozwiązania z punktu widzenia określonego kryterium. Nie ulega wątpliwości, iż jest to termin niezwykle ważny w biznesie, jednocześnie z matematycznego punktu widzenia jest on bardzo rozbudowany. Istotą trudności nie jest kwestia znalezienia rozwiązania, lecz czasu w jakim ono zostanie znalezione.
Model
Pierwszym krokiem w rozwiązywaniu problemów optymalizacji jest zbudowanie modelu matematycznego na podstawie posiadanych danych. Celem jest sprowadzenie zadania do modelu matematycznego - czyli pewnego wzorca, znanego problemu lub grupy problemów matematycznych.
Optymalizacja - metody
Poniżej kilka metod optymalizacji, które stosujemy.
- programowanie matematyczne
- liniowe
- całkowitoliczbowe
- nieliniowe
- dynamiczne
- symulowane wyżarzanie
- algorytmy genetyczne
- algorytmy ewolucyjne
- sieci neuronowe
Praktyczne przykłady
[Planowanie produkcji] Pewna firma wytwarza pewną grupę produktów. Do tego potrzeba wiele różnych składników. Składniki te, firma sprowadza hurtowo i może je również sprzedawać innym firmom. Można postawić pytanie : w jaki sposób dobrać komponenty do produkcji (ile sprzedać, ile zużyć do produkcji i do których produktów) oraz produkty końcowe, aby zysk był maksymalny ?
[Zagadnienie transportowe]
[Harmonogramowanie]
zastosowanie simplex (i innych metod opt - ogolnie programowania)w biznesie, algorytmy genetyczne,