Czynniki, które warunkują rozwój informatyki
Praktyczne konieczności przetwarzania informacji; Życie publiczne;
Obronność-systemy wczesnego reagowania, Banki, Handel, Reklama,
Przedsiębiorczość, Przemysł, Administracja, Edukacja, Archiwizacja,
Nauka i Badania Naukowe-Eksploracja Kosmosu, Komunikacja, Multimedia,
Systemy pomiarowe, Robotyka, Systemy telemetryczne (np.. zdalny chirurg),
Oświata, Zdrowie i nauki medyczne Bioinformatyka, aparatura biomedyczna itp.
Informatyka osobista: -przetwarzanie informacji dla potrzeb jednostki -telefonia
komórkowa, podróże-informacja kolejowa i samolotowa, konta bankowe i zakupy
poprzez Internet, informacja ogólna szczegółowa-domowa sekretarka i archiwum,
własna strona internetowa, komunikacja z ludźmi przez Internet, rozrywka -
multimedia, pogoda, pokładowy komputer w samochodzie itp.
Czynniki technologiczne
Nowe technologie obwodów scalonych VLSI, nowe technologie
nośników informacji (dyski optyczne i magnetyczne) i sprzętu komputerowego,
nowe technologie komunikacyjne -łączność światłowodowa, satelitarna, radiowa,
radiowy Internet, sprzężenie przez satelitę, techniki i metody przetwarzania
informacji -nowe modemy, kompresja informacji, architektura systemów
komputerowych, inżynieria oprogramowania-modułowość software 'u,
programowanie obiektowe, nowe algorytmy, nowe systemy operacyjne i systemy
ochrony cyberprzestrzeni Poszukiwania nowych technologii komputerowych.
Jednostka informacji
Informacją jest przesłanie o wartości poznawczej.
Przetwarzanie informacji z pomocą maszyny w celu użytkowym wymaga jej
wyrażenia w „języku” komputera.
Przeliczalna-(skończona) liczba stanów każdego komputera, który nawiązuje
do modelu Turinga.
Matematyka szkolna-intuicyjne pojęcie ciągłości punkty skończonego odcinka są
nieprzeliczalne, przebiegi reprezentowane przez funkcje są ciągłe.
Konieczność aproksymacji -przybliżenia informacji z pomocą skończonego zbioru stanów.
Model Informacji
Tekst składa się z liter alfabetu, tekst nutowy ze skończonej liczby nut i oznaczeń
muzycznych, obraz z kropek różnego koloru (zasada działania kineskopu kolorowego)
-pikseli o różnej rozdzielczości z dyskretnym kodowaniem każdej barwy podstawowej
W innych sytuacjach trzeba utworzyć „alfabet” informacji do jej przekazu.
Można się, na przykład, zastanawiać nad najbardziej efektywnym systemem przesyłania
mowy, jeśli chodzi o tzw. zajmowaną szerokość pasma częstotliwościowego.
Podstawowe sygnały mikroprocesora -MI Układ sterowania MIuaktywnia
"driver" urządzenia, z którego program chce czytać dane, pozostałe "drivery"
są w stanie neutralnym. Sygnały koordynują przesyłanie danych na magistrali
danych. RESETpowoduje inicjalizację mikroprocesora. INTERRUPT oznacza
przerwanie. Kwarc stabilizuje zegar procesora. Zegar synchronizuje wszystkie
urządzenia i ustala tempo, w jakim wykonywane są instrukcje programu przez
procesor.
Mikroprocesor dekoduje kolejne w RAM instrukcje i wykonuje wskazane
operacje. Niektóre instrukcje naruszają kolejność i powodują „skok” do innych
adresów pamięci. Następnie możliwy powrót do pierwotnej sekwencji. W ten
sposób realizuje się pętlę, która służy do wykonywania wielokrotnego tego
samego ciągu instrukcji, przy pomocy krótkiego programu-krótkiej sekwencji
rozkazów.
Licznik rozkazów
Licznik rozkazów zawiera zwykle adres następnej instrukcji do wykonania.
Licznik danych lub rejestr adresów przechowuje adres danych. W typowych
rozwiązaniach akumulator zawiera dane lub wynikioperacji logicznych lub
arytmetycznych.Dla 8-bitowych mikroprocesorów akumulator i rejestry
są 8-bitowe a licznik danych i rejestr rozkazów 16-bitowe.
Systemy liczbowe i logika Boole'a
1.System binarny i dziesiątkowy Każdy system liczbowych ma bazę.
System dziesiątkowy posiada bazę 10. Komputery wykorzystują system
dwójkowy z bazą 2. Jedynie dwa symbole, sekwencje bitowe, są potrzebne
do zapisu dowolnej liczby. Są to "0" i "1". Konwersja z notacji binarnej na
dziesiętną polega na obliczenia liczby w kodzie dwójkowym z uwzględnieniem
kolejnych wag.
3.System heksadecymalnyszesnastkowy.
Liczby heksadecymalne mają bazę 16. System bardziej preferowany niż
oktalny, gdyż liczba ośmiobitowa wymaga dwóch zamiast trzech pozycji zapisu
oktalnego W zapisie heksadecymalnym 4 bity reprezentują jedna liczbę;
0 -9 A B C D E F Pozycje powyżej 9 od 10 do 15 oznaczone są kolejnymi
literami alfabetu.
Arytmetyka i operacje logiczne. Dodawanie binarne.
Dodajna + dodajnik = suma + przeniesienie
0 0 = 0 0 0 1 = 1 0 1 0 = 1 0 1 1 = 0 1
Podstawy Software-u.
Programy software'u są w językach dogodnych dla ich twórców.
Program musi zapisany i przechowany w „zrozumiałym” dla mikroprocesora
kodzie maszynowym. Mikroprocesor czyta kod z pamięci sekwencyjnie i
wykonuje wskazane operacje. Program jest wykonywany przez komputer
dokładnie tak, jak został napisany. Bardziej "inteligentne" czynności
wynikiem zaprogramowania -włożenia inteligencji w software.Czynności i
działanie, które można osiągnąć przy pomocy zaprogramowania trudno
uzyskać w inny sposób np. przy pomocy tzw. swobodnej logiki -"random logic".
Języki Programowania.
Język mikroprocesora językiem maszynowym lub kodem maszynowym.
Język maszynowy ze słów, kodów binarnych. Mikroprocesor jest
zaprojektowany, by rozpoznawać specyficzną grupę kodów zwanych rozkazami.
Język maszynowynie łatwy dla ludzi, gdyż np. 01110011 nie ma oczywistego
znaczenia. Łatwiej korzystać z zapisu szesnastkowego; w tej sytuacji 73.
Udogodnieniem zastąpienie liczby kodu rozkazu, krótką nazwą (ang. „mnemonic").
Np. 0011 1100 3C INC A Intela zwiększeniem zawartości rejestru A o 1.
Z mnemonicznymi kodami znacznie łatwiej pisać programy. Każdemu kodowi
programu przyporządkowana krótka nazwa kodu. Po napisaniu programu
oznaczenia tłumaczone na kod maszynowy. Programy takie nazywamy
programami w języku asemblera( ang. assembley language). Assembler,
krokiem ułatwiającym pisanie programów, nie jest dogodny do pisania bardzo
złożonych programów. Dlatego języki wyższego rzędu. Ich zaletą
uniwersalność -niezależność od konkretnej na ogół maszyny. Programy -
zwane kompilatorami, tłumaczą z języka wyższego rzędu na język assemblerai
maszynowy.
Podstawowe architektury komputerów.
Architektura Von Neumanna. -Podstawowa architektura komputera cyfrowego,
która typowo dotyczy tzw. procesora (SISD) (ang. single instruction single data),
a więc ze strumieniem pojedynczych instrukcji i pojedynczych danych.
Komputer pobiera na podstawie adresu instrukcję i sekwencyjnie pobiera
dane związane z tą instrukcją. Następnie dane są przetwarzane są zgodnie z tą
instrukcją i zachowywane w pamięci. Cały ten proces powtarza się w ramach
kolejnych cykli zegarowych.
Architektura harwardzka. -Wzmocnienie architektury Von Nemanna, w której
obszary pamięci danych i instrukcji programu są rozdzielone poprzez własne
magistrale adresowe, co prowadzi do niezależnych operacji. Przyspiesza to
eliminując "wąskie gardło" magistrali, gdy w architekturze Von Neumanna
zarówno dane jak i rozkazy korzystają z tej samej magistrali. Procesory
sygnałowe-architektura-VLIW
Architektura potokowa(ang. pipelining) Metoda wzmocnienia działania
poprzez wykonywanie przez procesor kilku operacji w tym samym czasie.
Na przykład polecenie jest pobrane a pamięci, dekodowane i wykonywane i
wynik jest zapamiętywany. Jeśli doda się dodatkowe rejestry i obwody sterujące
takie, że gdy pierwsze polecenie jest dekodowane, następne polecenie jest pobierane
z pamięci itd. Nie ma, więc straty w czasie w sekwencji przetwarzania i procesor
działa znacznie szybciej. Każdy pośredni poziom nazywany jest poziomem potoku.
Przetwarzanie równoległe. -Technika równoległego wykonywania zadania
albo poprzez; przełączanie między zadaniami w sytuacji pojedynczego procesora
lub przypisywanie różnych części problemu jednemu z kilku procesorów systemu
wieloprocesorowego.
Procesor macierzowy. -Procesor równoległy do szybkiego przetwarzanie dużej
liczby danych o regularnej budowie wieloprocesorowej, która przypomina
elementy tablicy -macierzy.
Tablica systoliczna. -Zaawansowana forma przetwarzania równoległego,
w której wiele identycznych procesorów jest połączonych z procesorami
przyległymi przez kilka magistrali (wewy)-jedna do każdego procesora.
Także połączonych przez wspólny zbiór linii sterujących i magistrali do
kontrolera komputera gospodarza i do globalnej pamięci. Wszystkie procesory
wykonują jednocześnie te same instrukcje, lecz dla różnych danych. Ten typ
przetwarzania odnosi się do architektury (SIMD) Strumień pojedynczych
instrukcji z wieloma danymi.
Architektura z przepływem danych. -Bardzo pomysłowa forma przetwarzania
równoległego, która stosuje przetwarzanie ze strumieniem wielu instrukcji i wielu danych
(ang.MIMD). Kilka procesorów, z których każdy działa niezależnie z różnymi danymi
pracują w systemie synchronicznym i przekazują dane wraz z instrukcjami do następnego
procesora, gdy operacje przekazującego procesora zostały wykonane. Słowa danych
płyną przez system wraz z instrukcjami aż do zakończenia operacji i podania wyników
na wyjście systemu.
Klaster komputerów. Zbiór konwencjonalnych mikroprocesorów lub komputerów
połączonych hiperszybkimi łączami komunikacyjnymi-najnowszych rozwiązaniach
światłowodowymi z specjalnym systemem operacyjnym -architektura MIMD. Metoda
pozawala na realizację mniej drogich niż superkomputery ultraszybkich struktur
obliczeniowych
Architektura superskalarna Procesorsuperskalarny przetwarza program
sekwencyjny w program bardziej równoległy. Ważne fazy przetwarzania
superskalarnegozawierają; 1) Pobieranie instrukcji i przetwarzanie warunkowego
rozgałęzienia programu, 2) Określenie zależności danych z wykorzystaniem
zawartości rejestrów, 3) Inicjalizacja lub określenie instrukcji do równoległego
wykonania 4) Komunikacja wartości danych poprzez pamięć -wykonane operacje -
aż do zachowania. 5) Traktowanie stanu procesu tak, aby, by można wykonać
precyzyjnie przerwania. Celemwprowadzenia architektury superskalarnej
(kosztem zwiększenia komplikacji procesora) jest produkcja najszybszych procesorów
Typowy procesor superskalarny pobiera i dekoduje kilka instrukcji ze strumienia instrukcji
w tym samym czasie.Jako część procesu pobierania instrukcji, są przewidywane
wyniki rozgałęzień warunkowych programu,by zapewnić niezakłócony strumień instrukcji.
Nadchodzący strumień instrukcji jest analizowany pod kątem zależności danych i instrukcje
są rozdzielane między jednostkami funkcjonalnymi, często zgodnie z typem instrukcji
Następnie instrukcje inicjowane do przetwarzania równoległego w oparciu o dostępność
danych, które biorą udział w operacjach, a nie w oparciu o pierwotną sekwencję programu.
Ta ważna cecha wielu implementacji superskalarnych, nazywa się rozdziałem dynamicznym
instrukcji, chwilą wykonania wyniki instrukcji są re-sekwencjonowane, tak, aby
uaktualnić prawidłowo stan procesu w prawidłowej kolejności przerwań. Ponieważ
pojedyncze instrukcje są wykonywane równolegle, procesory superskalarne
wykorzystują to, co nazywa się równoległością poziomu instrukcji.
Hazard oznacza możliwość nieprawidłowego wykonania operacji,
gdy instrukcje odwołują się do tych samych lokalizacji w pamięci.
Typy hazardów RAW, WAR ,WAW.Gdy kolejne instrukcje zmieniają
tę samą lokalizację pamięci; muszą to czynić w odpowiedniej kolejności.
•SPRZĘT Monitor, obudowa, Klawiatura, mysz, : Płyta główna;
procesormikroprocesor, urz. Komunikacyjne wejścia, wyjścia-porty
(karty) sterujące; audio, PCI, USB itp., karty grafiki, karty podłączenia
do Inter.-sieciowe, WI-FI Pamięci RAM, ROM, Dyski twarde i miękkie,
CD/DVD -ROM Zasilacz System chłodzenia Okablowanie
•OPROGRAMOWANIE System operacyjny Programy użytkowe -aplikacje
System operacyjny -podstawowe oprogramowanie, które umożliwia kontakt
użytkownika z środowiskiem programowym: zasobami komputera i sterowaniem
tymi zasobami. Zasoby -sprzęt, oprogramowanie, informacja w formie plików
Funkcje systemu operacyjnego: Diagnozowanie systemu komputerowego na
zgodność z konfiguracją Porozumiewanie się z użytkownikiem, łączność z Internetem
i poczta elektroniczna Dostosowanie sprzętu pod względem logicznym do zadań
systemu; formatowanie dysków, partycje, podział na klastry, cylindry itp. Struktura
katalogowa, plikowa itp., zegar i data Forma graficzna Dostrajanie parametrów
systemu poprzez system oper. i sterowniki urządzeń (np. konfiguracja myszy, klawiatury itp.)
Osadzanie i uruchamianie aplikacji Ochrona komputera ( hasło, login), zapora antywirusowa
itp. Konserwacja -Efektywne zarządzanie zasobami komputera: wielozadaniowość,
wielowątkowość itp. , kanał bezpośredniego dostępu do dysków, „screen saver”, ochrona
zasilania, aktualizacja systemu itp. Przykładowe systemy operacyjne DOS, UNIX -LINUX,
WINDOWS, OS. Główne cechy systemów operacyjnych: Podział czasu, wielowątkowość,
wielozadaniowość z wywłaszczaniem. Postępy inżynierii oprogramowania.
CECHY WINDOWS-ÓW Skalowalny (rozszerzalny); jeden użytkownik wielu użytkowników
w sieci wieloprocesorowej. Kompatybilny-zgodność z DOS-em ( moduł VDM-ang.
Virtual Dos Machine, powłoka(ang.shell)-ntvdm.exe i system plików FAT), z Windows 3.?
(moduł WOW-ang. Windows on Windows, powłoka wowexec.exe, system plików FAT16),
z UNIXEM(moduł POSIX, powłoka psp.exe -chociaż nie łatwo przenieść programy unix-owe
na W2K) oraz z OS(system plików HPFS). Aplikacje W95i W98(W-Windows, system plików
FAT32) uruchamiane na W2K/NT bezpośrednio dzięki wspólnemu API(WIN32).W2K-nowy
system plików -NTFS
Współczesny Windows cd. Napisany w języku C Kod obsługi sprzętu jest
oddzielony warstwą (modułem) HAL z kodami assemblerowymi do obsługi sprzętu
Komunikację między warstwową zapewnia odpowiednie API. Kooperacja oparta na
modelu klient/serwer Architekturę W2Kcharakteryzuje; Ścisła integracja podsystemów;
Ziarnistość komponentów-w pamięci utrzymywane są jedynie konieczne fragmenty kodów;
Silne wsparcie grafiki (GDI); Stabilność kodu systemu; Architektura z mikro-jądrem -
możliwość budowy wielu serwerów na poziomie użytkownika; -możliwość komunikacji
między procesami (IPC).
System wielowątkowy-różne fragmenty tego samego programu mogą być wykonywane
jednocześnie w wspólnym przedziale czasu. Wielozadaniowość z wywłaszczaniem-wiele
zadań może być wykonywanych jednocześnie, a te, które blokują komputer są usuwane-wywłaszczane.
Bardzo wydajny system pamięci wirtualnej Spośród możliwości specjalnych W2K wymienić można;
Protokół automatycznej konfiguracji sieciowej (DHCP); Obsługę Nazw Windows w Internecie (WINS);
Funkcje ochrony danych; Serwer zdalnego dostępu (RAS); Usługi bramy (gateway) dla sieci
NetWare (GSNW)-System plików sieci jest widoczny jako jeden zasób W2K na serwerze; Usługi
dla komputerów Macintosh; Zabezpieczenia z blokowaniem kont; Administrator klientów
sieciowych (NCA); Narzędzia administracyjne. W2Kw wersji serwer z zestawem programowym
typu Back Office może być wyposażony; W System Management Server (SMS) -oprogramowanie
zdalnego administrowania, konfiguracji i inwentaryzacji. Serwer SNA-bram typu IBM. Serwer SQL -
oprogramowanie baz danych SQL. Exchange Serwer: usługi powiadamiania i poczty
Internet Information Serwer (IIS)-protokół Internetu i możliwości serwera WWW.
Serwer rozproszonego systemu plików (DFS). Pliki wielu serwerów widoczne w jednym
drzewie katalogowym W2K. Index Server -umożliwia przeszukiwanie tekstowe i
uzyskiwanie informacji z dowolnego serwera WWW. Oddzielone barierą dwa tryby
pracy systemu; Tryb jądra-jako najniższy poziom działania W2K, który obejmuje
sterowanie urządzeniami fizycznymi (sterowniki urządzeń) i sterowanie systemem
operacyjnymwielozadaniowość, wielowątkowość, podział czasu procesora;
Tryb użytkownika, w którym działa kod wszystkich podsystemów i aplikacji bez
bezpośredniego dostępu do urządzeń i procesów z silnymi mechanizmami ochronnymi.
Tryb użytkownika komunikuje się z jądrem poprzez kolejkę żądań wykorzystania
zasobów systemowych.
1. Warsztwa fizyczna-definicja nośnika do komunikowania się w sieci; przewód,
światłowód, fale radiowe itp. wraz ze specyfikacją parametrów.
2. Warstwa łącza danych(ang.Data Link) lub MAC (ang. Media Access Control )
sterowania dostępem do mediów. Ramkowanie informacji i nawiazywanie-zrywanie
łaczności, wykrywanie błędów. Protokoły IEEE 802.3, 802.5, PPP, LPC.
3. Warstwa sieciowa( sterowanie przepływem danych i routing: protokół IP i
IPX (Nowel)-transmisja paczek-datagramów przez siec do zadalnych komputerów,
przypisywanie adresów i routing pakietu danych. Bez porządkowania i sprawdzania
połączeń. 4. Warstwa transportu -Sterowanie transmisją -usługi sterowania i
porządkowania danych; TCP,UDP,NetBIOS/NetBEUI i SPX. 5. Warstwa sesji
(sterowanie sesjami pomiędzy różnymi komputerami) -Ustanawianie połączenia; TCP,
NetBios. 6. Warstawa prezentacji-Interpreytacji danych. Formatowanie danych do
wyświetlania. Tłumaczenie i kodowanie danych (np. http). 7. Warstwa aplikacyjna
(programów). Aplikacje, które korzystaja z usług sieciowych poprzez komunikację z
niższymi warstwami; poprzez telnet, ftp, itp.