Podstawy informatyki

Transkrypt

Podstawy informatyki
Podstawy Informatyki
Definicje

Informatyka - nazwa powstała w 1968 roku, stosowana w Europie


=dział matematyki
Computer science, czyli nauki komputerowe, USA

=działy nauki stosujące wyrafinowane metody komputerowe (np. chemia czy
ekonomia komputerowa).

Computational science, nauki obliczeniowe, Kanada

Information science - nauki o informacji

= zastosowania komputerów do zarządzania informacją.
Definicje

Definicja encyklopedyczna:


„Informatyka zajmuje się całokształtem przechowywania, przesyłania,
przetwarzania i interpretowania informacji. Wyróżnia się w niej dwa działy,
dotyczące sprzętu i oprogramowania”.
Nowsza definicja, opracowana w 1989 roku przez Association for
Computing Machinery (ACM), mówi:

„Informatyka to systematyczne badanie procesów algorytmicznych, które
charakteryzują i przetwarzają informację, teoria, analiza, projektowanie, badanie
efektywności, implementacja i zastosowania procesów algorytmicznych.
Podstawowe pytanie informatyki to: co można (efektywnie) zalgorytmizować”.
Organizacje informatyków

ACM, Association for Computing Machinery. Największa i najstarsza (1947)
organizacja skupiająca informatyków.

IEEE Computer Society – IEEE (The Institute of Electrical and Electronics
Engineers) jest największym stowarzyszeniem zawodowym na świecie.

American Society for Information Science, stowarzyszenie nauk
informacyjnych.

Polska Izba Informatyki i Telekomunikacji
Czym się zajmuje informatyka

Algorytmika - fundament informatyki, wiedza o sposobach rozwiązywania
zagadnień, czyli konstruowaniu algorytmów.

Zadania algorytmiczne - czyli zadania, dla których znamy sposób
rozwiązania.

Algorytmy efektywne - czyli takie, które dają rozwiązanie przed końcem
świata.

Złożoność obliczeniowa algorytmów - ocena, ile trzeba będzie wykonać
obliczeń.

Testowanie i dowodzenie poprawności algorytmów.

Algorytmy heurystyczne: metody bez gwarancji na znalezienie rozwiązania
(sztuczna inteligencja).
Czym się zajmuje informatyka

Złożoność: N elementów: sortowanie listy T ~ N2 lub N log N
Problemy NP-trudne, czas T > Nk dla dowolnego k.
Problem wędrującego komiwojażera: jak znaleźć najkrótszą drogę, łączącą N
miast odwiedzając każde tylko jeden raz?

T ~ N! = N(N-1)(N-2)... 3·2·1 rośnie bardzo szybko, np. 100! ~10158

Klasy złożoności problemów i problemy „NP-zupełne”: wszystkie można by
rozwiązać w łatwy sposób, gdyby chociaż jeden dał się łatwo rozwiązać!
Czym się zajmuje informatyka
Rozmiar n
20
Czas działania 1,04
(2n/106)
s
50
100
200
35,7 4*1014 5*1044
lat
wieków wieków
Czas działania 0,001 13
(2n/109)
s
dni
4*1011 5*1041
wieków wieków
Porównanie czasów realizacji algorytmu wykładniczego na dwóch
komputerach
Czym się zajmuje informatyka

Struktury danych: liczby, tablice, wektory, rekordy, listy, stosy, kolejki,
drzewa, węzły potomne, grafy, diagramy.

Teoria języków programowania: specyfikacja, procesory, automaty
skończone (automaty Turinga).

Organizacja i architektury systemów komputerowych, systemów
operacyjnych i sieci komputerowych, teoria baz danych.

Zastosowania komputerów - zwykle nie zajmują się nimi informatycy.
Nauki komputerowe

Murray Gell-Mann (Nobel 1969 za teorię kwarków), przemawiając w czasie
„Complex Systems Summer School” w Santa Fe, powiedział:
Transformacja społeczeństwa przez rewolucję naukową XIX i XX wieku zostanie
wkrótce przyćmiona przez jeszcze dalej idące zmiany, wyrastające z naszych
rosnących możliwości zrozumienia złożonych mechanizmów, które leżą w
centrum zainteresowania człowieka. Bazą technologiczną tej nowej rewolucji
będą niewyobrażalnie potężne komputery razem z narzędziami
matematycznymi i eksperymentalnymi oraz oprogramowaniem, które jest
niezbędne by zrozumieć układy złożone... Przykładami adaptujących się,
złożonych systemów jest ewolucja biologiczna, uczenie się i procesy
neuronalne, inteligentne komputery, chemia białek, znaczna część patologii i
medycyny, zachowanie się ludzi i ekonomia.
Nauki komputerowe

Nauki: teoretyczne i doświadczalne.

Prawidłowości, poszukiwane przez nauki przyrodnicze czy społeczne, są
algorytmami określającymi zachowanie się systemów.
Programy komputerowe pozwalają na zbadanie konsekwencji zakładanych
praw, symulację rozwoju skomplikowanych systemów i określanie własności
systemów.

Komputery pozwalają na robienie doświadczeń w sytuacjach zbyt
skomplikowanych, by możliwa była uproszczona analiza teoretyczna.
Nauki komputerowe

CTI Centres
Primary Contacts,
czyli lista centrów
kompetencji
zastosowań
komputerów w
różnych gałęziach
nauki w Wielkiej
Brytanii
Matematyka komputerowa

K. Appel i W. Haken za pomocą intensywnych obliczeń komputerowych
udowodnili twierdzenie o czterech barwach.

Dowody przeprowadzone przy pomocy komputera są często znacznie
pewniejsze niż dowody klasyczne.

Np. w tablicach całek programy do algebry symbolicznej znajdowały od 10 do 25%
błędów lub przeoczeń.

Projekt QED (od ,,Quod Erant Demonstratum”) zmierza on do zbudowania
komputerowego systemu, w którym zgromadzona zostanie cała wiedza
ludzkości o matematyce

Teoria liczb naturalnych - poszukiwania największych liczb pierwszych na
komputerach osobistych rozproszonych po całym świecie.
Matematyka komputerowa
 np. fraktale
Fizyka komputerowa

Pisma naukowe z fizyki komputerowej od 30 lat: Computers in Physics,
Computer Physics Communications, Computer Physics Reports, Journal of
Computational Physics ...

We wrześniu 1990 na konferencji w Amsterdamie stwierdzono:
„Fizyka komputerowa to fizyka teoretyczna studiowana metodami
eksperymentalnymi”

Astrofizyka, Geofizyka, Meteorologia - to działy fizyki, w których symulacje
pełnią podstawową rolę.
Fizyka komputerowa
Chemia komputerowa

Rozwój teorii i oprogramowania chemii kwantowej w latach 60. i 70.
W latach 80. coraz szerzej stosowana w chemii.

Wiele gotowych pakietów programów, dokładności obliczeń własności małych
(kilkuatomowych) cząsteczek są na poziomie danych doświadczalnych a
można je uzyskać znacznie łatwiej.
Chemicy komputerowi znacznie lepiej znają się na programach i komputerach
niż na robieniu doświadczeń czy rozwijaniu teorii.

Modelowanie molekularne, farmakologia kwantowa pozwalają na
projektowanie nowych leków.
Biologia i biocybernetyka
komputerowa

Symulacje na poziomie makroskopowym: ekologia, przepływ substancji i
energii w przyrodzie, biologia populacyjna.

Symulacje na poziomie molekularnym, w genetyce i biologii molekularnej, w
szczególności problemy powstania życia i kodu genetycznego.

Struktura przestrzenna białek decyduje o ich własnościach.
Metody eksperymentalne określania struktury są bardzo kosztowne.
Metody komputerowe określają strukturę na podstawie sekwencji
aminokwasów.

Projekt mapowania ludzkiego genomu: 3 mld par, ogromne bazy danych, ich
analiza może zająć kilkadziesiąt lat.

Próba rekonstrukcji drzewa ewolucji.
Biologia i biocybernetyka
komputerowa

Symulacje działania komórek
nerwowych i fragmentów układu
nerwowego, funkcji mózgu.

Biologia komputerowa przechodzi w
komputerową medycynę.
Opracowuje się symulacje działania
całych narządów!
Symulacje cykli biochemicznych
pozwalają śledzić na
komputerowym modelu co dzieje
się w organizmie z podawanym
lekiem czy innymi substancjami.
Nauki o poznaniu, cognitive science

Od 1975 roku z połączenia psychologii, sztucznej inteligencji, badań nad
mózgiem, lingwistyki, filozofii, powstała nowa gałąź nauki, określana jako
„nauki o poznaniu”, „nauki kognitywne” lub „kognitywistyka”.
Cel: zrozumienie, w jaki sposób człowiek postrzega i poznaje świat, w jaki
sposób reprezentowana jest w naszym umyśle informacja kształtująca nasz
obraz świata.

Lingwistyka komputerowa: analiza i synteza mowy, tłumaczenie maszynowe,
modele problemów z mową.

Psychologia i symboliczne modele umysłu oraz modele koneksjonistyczne.

Psychiatria komputerowa - modele syndromów neuropsychologicznych i
chorób psychicznych, zrozumienie reakcji organizmu na leki psychotropowe.

Neuronauki kognitywne (cognitive computational neuroscience), czyli jak
komputerowe symulacje funkcji mózgu wyjaśniają zachowanie.
Ekonomia komputerowa

Nagrody Nobla z ekonomii przyznawane są często za modele matematyczne
zagadnień ekonomicznych.

Realistyczne modele w makroskali lub w skali całego globu wymagają
złożonych modeli komputerowych.

Modele ekonometryczne pozwalają na dość dokładne przewidywania sytuacji
ekonomicznej w wybranych dziedzinach na rok z góry.
Nauki humanistyczne

Humanistic informatics, czyli informatyka humanistyczna, to coraz częściej
używany termin.

Kliometria, nauka zajmująca się ilościowymi (statystycznymi) metodami w
historii.
Wkrótce wszystkie informacje historyczne będą natychmiast dostępne
badaczom i zamiast szperać po starych dokumentach historycy będą spędzali
całe dnie przed monitorem.

Rekonstrukcje znanych zabytków, np. kompleksu Borobodur na Jawie,
wymaga dopasowania setek tysięcy fragmentów kamiennych.
Graficzne bazy danych obiektów archeologicznych rozproszonych po wielu
muzeach.
Nauki humanistyczne

Geografia komputerowa: migracje, geografia społeczna.
Kartografia, mapy cyfrowe.
Wizualizacja danych systemów informacji geograficznej (Geographic
Information Systems).

Stylometria, czyli badanie stylu literackiego metodami ilościowymi.
Możliwa dzięki wprowadzeniu komputerowych metod klasyfikacji i
dostępności tekstów w formie elektronicznej.

Pozwala rozstrzygnąć sporne kwestie dotyczące autorstwa dzieł literackich, np. na
początku lat 90. rozstrzygnięto kwestię autorstwa ostatniego z dzieł
przypisywanych Szekspirowi (The two noble kinsmen), napisanego wspólnie z
Johnem Fletcherem.
Nauki humanistyczne

Informatyka prawnicza, zajmująca się głównie bazami danych dla potrzeb
prawa.

Wyszukiwanie sprzeczności wewnętrznych w zbiorach przepisów.
Systemy ekspertowe przewidujące podziału majątku przez sędziego w
procesach rozwodowych.

Na konferencji „Large scale analysis and modeling” sponsorowanej przez
IBM, nagrodzono pracę o oddzielaniu informacji genetycznej od
środowiskowej dla krów mlecznych.


Uwzględniono informację od wszystkich spokrewnionych krów - wymagało to nie
tylko ogromnej bazy danych, ale rozwiązania układu równań o wymiarze 10
milionów!
Symulacje ekologiczne, np. dokładny model przepływu energii w
społeczeństwie zbieracko-pasterskim.
Czyste nauki komputerowe

Część teorii systemów złożonych,
symulacje układów dynamicznych,
teoria automatów komórkowych

Do czego zaliczyć grafikę komputerową?
Potrzebna jest wiedza o matematycznym
modelowaniu rzeczywistości, psychologii
percepcji, teksturach fraktalnych,
technikach animacji + artystyczny talent.
Historia systemów przetwarzania
informacji
Reprezentacja informacji w
komputerze

Komputer liczy a człowiek myśli?
Poziom molekularny:
te same atomy, różne cząsteczki, ale jakościowo podobnie

Podstawowe elementy:
bramki logiczne, komórki pamięci <-> neurony, synapsy

Neurony przetwarzają impulsy, obwody scalone przetwarzają impulsy.

Poziom symboliczny: mózgi i komputery przetwarzają informację.
Reprezentacja informacji w
komputerze

Informacja - pojęcie abstrakcyjne

szybkość samochodu wynosi 160 km/h=100 mil/h=44.4 m/sek, zapisana
alfabetem arabskim, pismem Brailla itd.

Dane: konkretna reprezentacja informacji

Wybór reprezentacji informacji jest bardzo ważny dla wygody
przetwarzania danych;
np. dzielenie liczb zapisanych rzymskimi cyframi
 Typy danych

Dane
Dane
Dane
Dane
Dane
Dane
Dane
typu logicznego: „tak” lub „nie”
alfanumeryczne (tekstowe – litery, cyfry, znaki interpunkcyjne)
numeryczne
typu data i czas
graficzne
muzyczne
złożone o ustalonej strukturze (rekordy),
Reprezentacja informacji w
komputerze

Bit = binary unit, czyli jednostka dwójkowa, tak/nie.
Ciąg bitów wystarczy by przekazać dowolną wiadomość: np. za pomocą
tam-tamów czy telegrafu.
Alfabet polski ma 35 liter, uwzględniając małe i duże litery + znaki
specjalne mamy prawie 100 znaków.

Bramki tranzystorowe przyjmują tylko dwa stany: przewodzą lub nie, są
binarne.

1
2
3
4
8

Ciąg 8 bitów = 1 bajt, wygodna jednostka do pamiętania podstawowych
symboli.
bit: 0, 1, rozróżnia 2 znaki.
bity: 00, 01, 10, 11, rozróżniają 4 znaki.
bity: 000, 001, 010, 011, 100, 101, 110, 111, rozróżniają 8 znaków.
bity: 0000 ... 1111, rozróżniają 16 znaków.
bitów pozwala odróżnić 28 = 16 x 16 = 256 znaków.
Reprezentacja informacji w
komputerze

Wielkość danych
210=1024=1K, kilobajt, typowa strona tekstu to kilka KB;
220=1024K=1M, megabajt, książka bez grafiki lub minuta muzyki;
230=1024M=1G, gigabajt, film cyfrowy, sporo grafiki, ludzki genom;
240=1024G=1T, terabajt, duża biblioteka, szerokoekranowy film w kinie;
250=1024T=1P, petabajt, ludzka pamięć
Biblioteka Kongresu USA zawiera około 20 TB informacji tekstowej, ale filmy i
informacja graficzna dużo więcej. Eksperymenty naukowe dostarczają
terabajtów danych dziennie.

Rozróżnienie B i b:
B=bajty, KB=kilobajty, MB=megabajty, GB=gigabajty
b=bity, Kb=kilobity, Mb-megabity ....

Słowo: ilość bitów – np. 8, 16, 32, 48, 64, 128, 256, na których
wykonywana jest jednocześnie operacja.
Reprezentacja informacji w
komputerze

Standardy reprezentowania (kodowania) znaków
alfanumerycznych:

Kod alfanumeryczny - przypisuje kolejne liczby naturalne znakom z
określonego zbioru

Kody alfanumeryczne stosowane w komputerach i internecie

ASCII

rozszerzony standard ASCII

ANSI

Code Page

Unicode
Reprezentacja informacji w
komputerze

ASCII - American Standard Code for Information Exchange, używa 7
bitów.

Zawiera 128 pozycji ze względu na kodowanie na 7-bitowej liczbie (27=128)

Jedynie 94 znaki to znaki posiadające reprezentację graficzną (litery łacińskie,
cyfry, znaki przestankowe, znaki specjalne)

Pierwsze 32 znaki są znakami sterującymi (np. znak końca wiersza, końca linii,
wysuw papieru do końca strony)
Reprezentacja informacji w
komputerze
Reprezentacja informacji w
komputerze
Reprezentacja informacji w
komputerze

Rozszerzony standard ASCII: 8 bitów, czyli 256 znaków.


Znaki między 128 a 255 służą do:

sterowania drukarek

stosowania w DOS narodowych znaków

do tworzenia na wydruku i ekranie prymitywnej grafik, w tym ramek tabel (tzw.
semigrafika)
Fakt rozmieszczenia w jednym przedziale kodów do trzech różnych zastosowań
owocuje „kolizjami”, np. stare drukarki traktowały niektóre z kodów z tego
zakresu jako znaki sterujące krojem czcionki, przesuwem papieru itp.
 ANSI
 odmiana kodów ASCII - brak znaków semigraficznych i sterujących
drukarką oraz innym umieszczeniem znaków narodowych
Reprezentacja informacji w
komputerze
 Code Page - strona kodowa
 zestaw rozszerzonych znaków ASCII zawierający znaki narodowe
 informacja o narodowym sposobie zapisu waluty, daty i czasu oraz
separatorów dziesiętnych i tysięcznych
 klawiatura narodowa
 Organizacja ISO stworzyła strony kodowe m.in. dla krajów Europu
Wschodniej, Rosji, krajów Dalekiego Wschodu; ISO-8859-x (2 to
numer strony kodowej Polski)
 Jeszcze inne standardy kodowania polskich liter: CP 852 (latin2),
Mazovia, DHN, CSK, Cyfromat (http://www.agh.edu.pl/ogonki/)
Reprezentacja informacji w
komputerze






















(A) (C) (E) (L) (N) (O) (S) (X) (Z) (a) (c) (e) (l) (n) (o) (s) (x) (z) ˇ Ć Ę Ł Ń Ó ¦ ¬ Ż ± ć ę ł ń ó ¶ Ľ ż
----------------------------------------------------------------------------------------------------------------------------------------------------------------ISO-8859-2 161 198 202 163 209 211 166 172 175 177 230 234 179 241 243 182 188 191
Windows-EE 165 198 202 163 209 211 140 143 175 185 230 234 179 241 243 156 159 191
IBM (CP852) 164 143 168 157 227 224 151 141 189 165 134 169 136 228 162 152 171 190
Mazovia 143 149 144 156 165 163 152 160 161 134 141 145 146 164 162 158 166 167
CSK 128 129 130 131 132 133 134 136 135 160 161 162 163 164 165 166 168 167
Cyfromat 128 129 130 131 132 133 134 136 135 144 145 146 147 148 149 150 152 151
DHN 128 129 130 131 132 133 134 136 135 137 138 139 140 141 142 143 145 144
IINTE-ISIS 128 129 130 131 132 133 134 135 136 144 145 146 147 148 149 150 151 152
IEA-Swierk 143 128 144 156 165 153 235 157 146 160 155 130 159 164 162 135 168 145
Logic 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
Microvex 143 128 144 156 165 147 152 157 146 160 155 130 159 164 162 135 168 145
Ventura 151 153 165 166 146 143 142 144 128 150 148 164 167 145 162 132 130 135
ELWRO-Junior 193 195 197 204 206 207 211 218 217 225 227 229 236 238 239 243 250 249
Mac 132 140 162 252 193 238 229 143 251 136 141 171 184 196 151 230 144 253
AmigaPL 194 202 203 206 207 211 212 218 219 226 234 235 238 239 243 244 250 251
TeXPL 129 130 134 138 139 211 145 153 155 161 162 166 170 171 243 177 185 187
Atari-Calamus 193 194 195 196 197 198 199 200 201 209 210 211 212 213 214 215 216 217
CorelDraw! 197 242 201 163 209 211 255 225 237 229 236 230 198 241 243 165 170 186
ATM 196 199 203 208 209 211 214 218 220 228 231 235 240 241 243 246 250 252
Unicode 0x0104 0x0106 0x0118 0x0141 0x0143 0x00D3 0x015A 0x0179 0x017B 0x0105 0x0107 0x0119 0x0142 0x0144 0x00F3
0x015B 0x017A 0x017C
Reprezentacja informacji w
komputerze

Od 1992 roku standard Unicode, 2 bajty/znak.

W jednym pliku można zapisać 162=65536 znaków, w tym około 3000
znaków definiowalnych przez użytkownika.

Unicode jest używany w systemach operacyjnych Windows XP, NT, 98
Novell Netware, pakiecie Office. Widać to po wielkości plików.
Reprezentacja informacji w
komputerze

Kody liczbowe


Pozycyjne i niepozycyjne systemy liczenia

zapis niepozycyjny (liczby rzymskie) MCMXCIX

zapis pozycyjny 1999 - o znaczeniu cyfry w zapisie liczby świadczy jej pozycja
Pozycyjne systemy liczenia

system dziesiętny
17(10)=1*101+7*100

system dwójkowy
10001(2)= 1*24+0*23+0*22+0*21+1*20

system ósemkowy
21(8) = 2*81+1*80

system szesnastkowy
11(16) = 1*161+1*160
Reprezentacja informacji w
komputerze

Kody liczbowe

naturalny kod binarny - liczba całkowita bez znaku (dodatnia)

kod dwójkowo-dziesiętny (BCD) - liczba całkowita bez znaku (dodatnia)

kod uzupełnień do dwóch (U2) - liczba całkowita ze znakiem

liczba stałopozycyjna

liczba zmiennopozycyjna

Naturalny kod binarny
0111 1001 1000(2) = 1944(10)

Kod BCD
0111 1001 1000(BCD) = 798(10)
Reprezentacja informacji w
komputerze

Kod U2 - najbardziej znaczący bit określa znak liczby (0-dodatnia, 1-ujemna).

Jeżeli bit ten =0, to liczba jest dodatnia i zapis w kodzie U2 nie różni się od
zapisu NKB.

Zmianę znaku liczby uzyskuje się przez zamianę wszystkich bitów na przeciwne i
dodanie 1 do bitu najmniej znaczącego

Dodawanie liczb binarnych
0+0=0
0+1=1
1+0=1
1+1=0 przeniesienie 1
Reprezentacja informacji w
komputerze

Kod U2

A
=00010111 = 23(10)

Aneg
=11101000

Aneg+1
=11101001=-23(10)

Uwaga: odejmowanie liczb binarnych
A - B=A+Bneg+1

jeżeli przeniesienie=1
to A>=B

jeżeli przeniesienie=0
to A<B
Reprezentacja informacji w
komputerze II

mnożenie liczby dziesiętnej przez 2 - przesunięcie odpowiadającej liczby binarnej
o jedną pozycję w lewo i wpisanie 0 w bit najmniej znaczący
3(10) = 0011
6(10) = 0110

dzielenie liczby dziesiętnej parzystej przez 2 odpowiada przesunięcie binarnej
liczby o jedną pozycję w prawo i wpisanie 0 w bit najbardziej znaczący
8(10) = 1000
4(10) = 0100
Reprezentacja informacji w
komputerze

przepełnienie arytmetyczne - przekroczenie przez wynik operacji dodawania lub
odejmowania liczby bitów dla niego zarezerwowanych
7(10) = 0111(U2)
+ 5(10) = 0101(U2)
------------------------12(10) =? 1100(U2) = -4(10)
Reprezentacja informacji w
komputerze

Podstawowe operacje na danych binarnych:

porównanie

przesunięcie

arytmetyczne

logiczne
Maszyna Turinga
Architektura komputera I
 Maszyna Turinga
Architektura komputera
 Maszyna von Neumanna






Koncepcja przechowywanego programu
Pamięć główna przechowuje dane i programy
Jednostka arytmetyczno-logiczna (ALU) działa na danych binarnych
Jednostka sterująca interpretuje oraz wykonuje rozkazy z pamięci
Urządzeniami we/wy steruje jednostka sterująca
Princeton Institute for Advanced Studies (IAS komputer ukończony w
1952)
Architektura komputera
Architektura komputera
Program maszynowy

(np. dodawanie dwóch liczb zapisanych w pamięci operacyjnej)
 ...
 150 Instrukcja 1 (np. LDA - pobierz dane z pamięci i zapamiętaj w
akumulatorze)
 151 argument (np. 233 - adres danych do pobrania)
 152 Instrukcja 2 (np. ADDA - pobierz dane z pamięci i dodaj do
zawartości akumulatora)
 153 argument (np. 234 - adres danych do pobrania)
 154 Instrukcja 3 (np. STA pobierz dane z akumulatora i zapisz do
pamięci)
 155 argument (adres pod którym zapisane zostaną dane, np. 235)
Architektura komputera
 Cykl instrukcji (instruction cycle):
Pobierz instrukcję.
Pobierz dane z pamięci.
Wykonaj instrukcję.
Zapisz wynik w pamięci.
 Instrukcje
Pobieranie/składowanie danych
Operacje na danych
Skoku bezwarunkowego
Skoku warunkowego
Przerwania (IRQ): system przejmowania kontroli nad
czynnościami mikroprocesora.
Architektura komputera

Procesor zawiera:
Arytmometr - wykonuje operacje logiczne i arytmetyczne na 4-64 bitach.
Układ sterowania - pobiera z pamięci kolejne rozkazy, oblicza adresy
argumentów operacji
Rejestry - podręczne komórki pamięci: licznik rozkazów, rejestr rozkazów,
akumulator, stos, rejestry pomocnicze.

- licznik rozkazów zawiera adres następnego rozkazu do wykonania,
rejestr rozkazów zawierający kod wykonywanego aktualnie rozkazu,
akumulator przechowujący dane,rejestry pomocnicze.

Interpretuje 20 do 200 instrukcji,

Architektury mikroprocesorów typu:

RISC (Reduced Instruction Set Computer), 1-5 instrukcji/cykl.
CISC (Complex Instruction Set Computer), 2-10 cykli/instrukcję.
Architektura komputera

Zegar: wytwarza prostokątne impulsy synchronizując działanie układów
logicznych i pamięci;
częstości 1MHz -2000 MHz, czas cyklu od 0.5 nanosekundy do 1
mikrosekundy (neurony - 1-100 Hz).

CPU: Centralna Jednostka Przetwarzająca (Central Processing Unit).
Mikroprocesor - procesor wykonany w technologii VLSI.
FPU (Floating Point Unit), czyli jednostka zmiennoprzecinkowa, zwykle (od
Pentium) wbudowana w FPU, dawniej osobna.

Pamięć stała ROM, Read Only Memory (pamięć pozwalająca tylko na
odczyt)
Pamięć zapisywalna RAM, „bufor pamięci” - obszar wydzielony pamięci.
Architektura komputera

Pamięć cache: L1, L2 cache,
L1 - w procesorze, do 128 KB
L2 - zwykle pamięć statyczna SDRAM o krótkim czasie dostępu, droga,
zwykle 32-512 KB, niektóre mikroprocesory (np. Xenon) do 4 MB, czasami
wbudowana w procesor (np. P4 ma 256 lub 512 KB).

Magistrale (szyny): przysyłanie danych do urządzeń zamontowanych
wewnątrz komputera, dysków i kart rozszerzeń.

Szyna adresowa: wysyła informację z CPU do pamięci pozwalając
odszukać adres komórki pamięci.

Szyna danych: przesyła dane, znajdujące się w pamięci pod wskazanym
adresem do/z CPU.
Architektura komputera

Adresowanie pamięci = odnajdywanie miejsc, z których chcemy pobrać
lub wpisać bajty.
Szerokość = liczba równoległych połączeń w szynie.
Szerokość 8 (szyna 8-bitowa) pozwala rozróżnić 28=256 komórek.
Szerokość 16 (szyna 16-bitowa) daje 65536 czyli 64k możliwości.
Szerokość 20, 1M adresów.
Szerokość 32, 4G adresów.
Szerokość 64, 16 mld adresów!

Układy I/O (Input/Output), wejścia/wyjścia: komunikacja procesora ze
światem zewnętrznym.
Kanały I/O: wyspecjalizowane procesory służące komunikacji.
Kontrolery I/O, graficzne: obsługa komunikacji
Architektura komputera

Kanały bezpośredniego dostępu (DMA): omijanie mikroprocesora przy
transmisji danych z urządzeń zewnętrznych.

Łącza (porty) zewnętrzne: dołączone do układów I/O porty, np.
szeregowy (serial port), równoległy (parallel port), port USB.

Układy wspomagające mikroprocesor (chipset): decydują o integracji
całości.
Chipset obsługuje pamięć i złącza PCI, AGP, IDE do urządzeń
zewnętrznych.
Popularne: Intel Chipset 440BX, nowsze 815E lub 850 do płyt dla P4.

Zasilanie.
Architektura komputera

System komputerowy

mikroprocesor i płyta główna - różne procesory mają różne podstawki, uwaga
przy planach rozbudowy;

chipset obsługujący płytę główną - decyduje o typie obsługiwanego RAM i
szynie do grafiki;

liczba wolnych gniazd - zależy od typu obudowy i wielkości płyty;

porty, oprócz standardowych ile USB, czy jest i-link, port IrDa (podczerwony);

pamięć RAM i pamięć podręczna L1 i L2;

dyski twarde, kontrolery dysków;

dyskietki, CD-ROM/DVD i inne napędy wymiennych nośników;
Architektura komputera

podsystem graficzny;

monitor;

klawiatura;

wskaźniki: mysz, joystick, tabliczka graficzna;

peryferia: kamery, dodatki.
Architektura komputera


Wzrost możliwości procesorów

Pentium I - 60 MHz, technologia 0,8 mikrona, 3 mln tranzystorów

Pentium IV - 2 GHz, 0,18 mikrona, 42 mln tranzystorów
Superkomputer IBM ASCI White

12 bilionów operacji na sekundę

512 oddzielnych komputerów (powierzchnia 2 boisk do koszykówki)

8.192 mikroprocesory

6 TB pamięci operacyjnej, 160 TB pamięci masowej
Architektura komputera

Prawo Moore’a (rok 1965)
wydajność procesorów podwaja się co 1,5 roku
czyli...
ok. 2020 roku nastąpi koniec ery silikonowego chipa!

Gęstość upakowania informacji
 Silikonowa pamięć
kilkadziesiąt MB/cm2
 Pamięć bazująca na białku
1 GB/cm2
 struktura DNA/RNA osiąga
100 000 GB/cm2
Architektura komputera
 DNA Komputer
informatyk Leonard Adleman w 1994 roku rozwiązuje przy pomocy
DNA tzw. problem Hamiltona dla n=7
Problem Hamiltona czyli wędrującego komiwojażera: jak znaleźć najkrótszą
drogę, łączącą N miast odwiedzając każde tylko jeden raz?
Oprogramowanie

Hardware - sprzęt, żelastwo
Software - towar "miękki"
Wetware - mózgownica
Middleware - pośredniczące

Shareware - programy na próbę, rejestracja za opłatą jeśli się je dłużej
używa.
Freeware, PDS, public domain software, Free software foundation programy darmowe

Bookware - programy dołączane do książek
Addware - programy darmowe, ale pokazujące reklamy
Crippleware - programy nie w pełni sprawne
Firmware - programy wmontowane na stałe
Vaporeware - programy zapowiedziane, które nie pojawiły się na czas.
Oprogramowanie

Rodzaje oprogramowania:

Oprogramowanie systemowe

systemy operacyjne - podstawowe, bez którego komputer nie będzie działał

systemy programowania - translatory języków programowania

oprogramowanie narzędziowe - usprawnia konfigurację lub naprawia system

oprogramowanie obsługi wielodostępu i sieci komputerowych

pomocnicze programy i pakiety usługowe

Oprogramowanie użytkowe, zwane też aplikacyjnym, aplikacje.

Czy przeglądarka internetowa jest częścią systemu operacyjnego?
Oprogramowanie

Developers - rozwijający aplikacje.
Designers, projektanci oprogramowania.
Providers - dostarczający usług lub elementów aplikacji.

Hackers - hakerzy, ich przeciwieństwo to Lamers - lamerzy
Cracking - łamanie zabezpieczeń programów
Patching - łatanie programów

Żargon informatyczny: prowajder apgrejdował softłer na sajcie ...
Oprogramowanie

Prawa własności programów komputerowych

Freeware

Shareware

Programy licencjonowane


Site license - licencja dla instytucji rozproszonej na większym obszarze, np.
uniwersytetu.

Run-time licence - opłata za używanie fragmentu programu w programie
sprzedawanym przez kogoś innego.

Free run-time licence - najczęściej spotykana, czyli bez dodatkowych opłat.
Programy własne
Oprogramowanie

Próbne wersje programu na CD-ROM, ograniczone czasowo.
Zdalna instalacja programu przez sieć komputerową.
Hasło do programu demonstracyjnego na CD-ROM.

Otwarte licencje Microsoft (MOLP).
Upgrade - aktualizacja zakupionego programu, nowsza wersja.

Wersje testowe:

alfa - testowanie składników,

beta - testowanie całego systemu przez użytkowników; często "final beta"
są darmowe, ale z błędami.

Dlaczego oprogramowanie źle działa?
Oprogramowanie

System operacyjny (SO): program zarządzający zasobami komputera
(elektroniką, dostępem do dysków, portów, pamięci), decydujący o
możliwościach wykorzystania sprzętu. Dzięki niemu programy działają na
różnych konfiguracjach sprzętowych.

SO składa się z dwóch warstw:

wewnętrzna - odpowiedzialna za zarządzanie pracą systemu komputerowego
oraz za sterowanie i koordynację realizacji zadań użytkowników;
podczas uruchamiania komputera część procedur systemowych przepisywana
jest do pamięci komputera (tzw. jądro SO)

zewnętrzna - odpowiedzialna za komunikację z użytkownikiem i za
wykonywanie poleceń systemowych
Oprogramowanie

CP/M. Control Program for Microprocessors, 8-bitowe systemy, od 1972

MS-DOS Digital Research z 16-bitową wersją CP/M 86, Microsoft i QDOS
0.10, 1981 rok

Główne idee, stosowane do tej pory:
 hierarchiczna struktura danych, katalogów i podkatalogów,
 zarządzanie dyskami stałymi
 BIOS w ROM-ie lub EEPROM-ie.

Ponad 100 mln kopii DOS-u, nadal wiele programów działa pod DOS.
Oprogramowanie

Windows’y

Windows NT 3.1 (1993), Windows NT 3.5 (1994), Windows NT 4 (1996);
serwispaki i hotfiksy.
Windows 95 (listopad 1995), 4 wersje
Windows 98 (1998), Windows 2000 (2000), Windows XP (2001)

Standaryzacja poleceń, np. Ctrl+F4, Alt+F4, Ctrl+C, CTRl+V, Ctr+Z;

Środowisko graficzne - moc komputerów wystarczyła do sprawnego działania

Wspólne fonty do wszystkich aplikacji.

DDE Dynamical Data Exchange, dynamiczna wymiana danych - automatyczna
aktualizacja wyników w powiązanych aplikacjach.

OLE Object Linking and Embedding, łączenie i zagnieżdżanie obiektów, np.
całego arkusza kalkulacyjnego czy filmu w tekście.
Oprogramowanie

Praca wielozadaniowa (multitasking) - kilka rzeczy wykonuje się jednocześnie
wykorzystując ten sam procesor.

Tryb rozszerzony (enhanced mode) procesorów i386 pozwalał na
wykonywanie aplikacji 32-bitowych.

Pamięć wirtualna - RAM na dysku, swap file, swapowanie, czyli spisywanie
danych na dysk i do RAMu; można uruchomić wiele aplikacji.

OS/2 Wrap IBM, rozwijany od 1987 roku, ponad 10 mln użytkowników,
sprzedawany wiele lat z komputerami IBM

Macintosh
Oprogramowanie

NetWare firmy Novell Inc

Unix rozwijany od 1970 roku, laboratoria Bella firmy AT&T

Hierarchiczny system i ścieżki dostępu do plików.
Ochrona dostępu do katalogów i plików.
Wieloprogramowość i wielodostęp.
Łatwe dostosowanie interpretera poleceń do użytkownika.
Praca w sieci.

260 wersji Unixa!

Linux
Oprogramowanie

BeOS - coraz bardziej popularny darmowy system do użytku domowego;
nacisk na multimedia.

VMS na komputery Vax (10 milionów użytkowników w 1995 roku)
OpenVMS , 64-bitowa wersja Open VMS 7, integracja systemów OpenVMS
i Windows NT

QNX, wielozadaniowy i wielodostępny system czasu rzeczywistego,
używany np. na lotniskach; dostępne są darmowe wersje.
Oprogramowanie

Programowanie - od przełączania kabli i pisania ciągów bitów do
symbolicznych, algorytmicznych języków programowania.
Języki maszynowe i symboliczne języki programowania: zbiór
abstrakcyjnych definicji i reguł syntaktycznych, które potrafimy przełożyć
na kod maszynowy.

Implementacja języka: konkretną realizacją danego języka dla maszyn
określonego typu.
Język i implementacja często mają tą samą nazwę.

Program = zbiór poleceń wybranych zgodnie z dopuszczalnymi przez dany
język regułami.
Programy tłumaczące języki symboliczne na języki maszynowe, czyli
translatory: interpretery i kompilatory.
Oprogramowanie

Generacje języków programowania

generacja I - język maszynowy

lista instrukcji, z których każda jest serią binarnych liczb
np.
1010 0101 0000 0000 0000 1111
gdzie
1010 - rozkaz dodawania
0101 - zawartość rejestru 5
0000 0000 0000 1111 - adres miejsca w pamięci komputera

w notacji szesnastkowej A 5 000F
Oprogramowanie

generacja II - język asemblerowy

skojarzenie kolejnych komponentów instrukcji z symbolami i nazwami
np.
1010 0101 0000 0000 0000 1111
może być reprezentowana przez zapis
ADD TAX TOTAL
gdzie
ADD = 1010 - dodawanie
TAX=0101 - zawartość rejestru 5
TOTAL=0000 0000 0000 1111 - adres miejsca w pamięci komputera

wymaga tzw. asemblera - programu tłumaczącego kod symboliczny na
maszynowy
Oprogramowanie

generacja III 
instrukcje podobne do fraz i zdań języka naturalnego (angielskiego)
np.
if ... else...then; begin...end; while;

wymaga tzw. kompilatora- programu tłumaczącego kod źródłowy na
maszynowy
lub

interpretera - programu iteracyjnie pobierającego kolejne instrukcje,
tłumaczącego na kod wykonywalny i natychmiast go wykonującego

rozwiązany problem przenaszalności programów (np. standard ANSI języka C)
Oprogramowanie

Konsolidacja, linkowanie ( link): scaleniu binarnych fragmentów
programu w jedną całość i dołączeniu procedur systemowych, procedur
wejścia/wyjścia, funkcji matematycznych z bibliotek systemowych i innych
elementów koniecznych do działania programu.

Debuggery: programy, ułatwiające śledzenie wykonywania się danego
programu, nazywane są debugerami, czyli „odpluskwiaczami”. Nazwa
"debugging" powstała w 1945 roku, w elektromechanicznym komputerze
Mark II były karaluchy w przekaźnikach.
Oprogramowanie

generacja IV 

systemy oprogramowania pozwalające na interaktywne tworzenie
oprogramowania, systemy CASE
generacja V 
języki sztucznej inteligencji (LISP, PROLOG) z wbudowanymi mechanizmami
wnioskowania
Oprogramowanie

Paradygmaty programowania:
Programowanie liniowe - wszystko w jednym worku, go to !
Programowanie strukturalne - moduły operujące na lokalnych danych i
zmiennych, komunikacja przez przekazywanie parametrów, każdy moduł
testowany osobno. Wada: zmiana struktur danych wymaga zmiany wielu
modułów.
Programowanie zorientowane obiektowo - dane i programy tworzą jeden
obiekt.
Programowanie funkcyjne - odwołania do funkcji.

Ponad 2000 opublikowanych języków programowania!
Oprogramowanie

Algorytm

„abstrakcyjny przepis opisujący działanie, które może zostać wykonane przez
człowieka, komputer lub w inny sposób” (wg Harel’a); jego ważną cechą jest
możliwość wykorzystania tego samego algorytmu do rozwiązania całej grupy
problemów należących do tej samej klasy

nazwa pochodzi od Araba Muhammeda Alchwarizmi

jednym z pierwszych algorytmów był opis sposobu znajdowania największego
wspólnego dzielnika dwóch liczb, opracowany przez Euklidesa ok. 400 r. pne.

program komputerowy jest jedną z form zapisu algorytmu
Oprogramowanie
Schematy blokowe
graficzna prezentacja
algorytmu
Funkcja silnia
0! = 1
1!= 1 = 0! * 1
2!= 1 * 2 = 1! * 2
3! = 1 * 2 * 3 = 2! * 3
n! = 1*2*..*n=(n-1)! * n
Oprogramowanie
Zapis algorytmu w języku
Pascal
var n, licznik: Byte;
silnia: Real;
begin
read(n);
if (n >= 0)
then begin
licznik:=0;
silnia:=1;
while licznik<> n do
begin
licznik:=licznik+1;
silnia:=silnia*licznik;
end
write(silnia)
end
end;
Oprogramowanie

Złożoność oprogramowania

Windows 2000 - fakty

październik1997 - I-sza beta wersja (NT 5.0)

kwiecień 1999 - 3 beta wersja

styczeń 2000 - wersja komercyjna

lipiec 2000 - I-szy zestaw poprawek

40-60 mln linii kodu

ok. 2000 programistów
Oprogramowanie
Wzrost złożoności oprogramowania -
LOC (mln)
NASA
70
Space
60
Station
50
40
30
20
10
0
1962
Mercury
1965
Apollo
Gemini
1972
1978
1987
lata
Oprogramowanie

Crisis Driven Development

w USA większość z 250 mld $ wydawanych rocznie na tworzenie
oprogramowania jest tracona na opóźnione, niedokończone i przerwane projekty
27% projektów powstaje w założonym czasie, budżecie i funkcjonalności
33% projektów przekracza czas, budżet i ma mniejszą funkcjonalność
40% projektów jest przerywanych
53%projektów przekracza koszty o 51% i więcej
68% projektów przekracza czas o 51% i więcej
Oprogramowanie

Cykl życia” (life cycle) programu

Analiza wymagań

Specyfikacja

Projekt

Implementacja

Testowanie

Wdrożenie
Oprogramowanie
Procentowy rozkład kosztów w
cyklu życia oprogram.
33
5
Specyfikacja
7
15
67
Analiza wymagań
Projekt
Implementacja
Testowanie
Wdrożenie i
utrzymanie
Oprogramowanie

Oprogramowanie użytkowe

Edytory tekstu - słownik i analiza gramatyczna, ebook, OCR, skład
komputerowy DTP

Bazy danych

Obliczenia, arkusze kalkulacyjne, modelowanie ekonomiczne i finansowe,
obliczenia statystyczne, numeryczne i symboliczne

Pakiety organizacji prac biurowych (np. Lotus)

Pakiety graficzne

i wiele, wiele innych...
Grafika

grafika rastrowa (grafika bitmapowa lub malarska),
grafika wektorowa i jej specjalne rodzaje: komputerowy rysunek
techniczny, CAD, Computer Aided Design;
grafika prezentacyjna;

Cechy grafiki rastrowej

Programy malarskie: działają na mapach bitowych, złożonych z pikseli
(pixel jest skrótem od angielskiego „picture element"), posiadających
atrybuty.

Zdjęcie legitymacyjne 3x4 cm, 300 dpi, ok. 350×470 punktów = 165 K =
0.5 MB w wiernym kolorze.
Pocztówka 10x15 cm, 300 dpi, ok. 1200×1800 pikseli =ok. 2.2 M punktów
= 6.6 MB!
Grafika

Kolor:
1 bit - czarnobiały,
8 bitów - pseudokolor (256 kolorów),
16 bitów - kolor pełny (32768 kolorów)
24 bity - kolor wierny, prawdziwy (16.8 M barw)
32 i 48 bitów - spotyka się w zastosowaniach profesjonalnych.

Mieszanie barw - dithering (metody Bayera, Burkesa, Stuckiego ...),

Parametry koloru: barwa, nasycenie i jasność (Hue, Saturation,
Brightness), czyl "model HSB".
Podstawowe barwy RGB (czerwony, zielony, niebieski) dla monitorów lub
CMYK dla drukarek (turkusowa czyli cyjan, karmazynowa czyli magenta i
żółta oraz czarna),
Standardy Pantone oraz Trumatch.
Grafika

Podstawowe formaty grafiki rastrowej:
BMP - standard Windows, brak kompresji, używany np. do tła
TIF - Tagged File Image Format, różne warianty, kompresja bez strat LZW,
używany przez faksy
GIF - Graphics Interchange Program, popularny, dobra kompresja dla
koloru 1, 2, 4, 8-bitowego
JPG - Joint Photographic Experts Group, prawie najlepsza kompresja
(nieodwracalna) dla wiernego koloru
PCX - 256 kolorów, kompresja do 3 razy, stracił na popularności

Zdjęcie w formacie XGA, 1024x768 piksele, ma:
BMP - 2304 kB,
TIF bez kompresji - 2307 kB, z kompresją zip - 1133 kB, LZW - 1515 kB
PCX - 1543 kB,
PNG - 650 kB,
GIF 256 kolorów - 291 kB,
JPG - jakość 80% - 72 kB, jakość 60% - 57 kB (stopień kompresji zależy od
rodzaju zdjęcia).
Grafika

Cechy grafiki wektorowej zorientowana obiektowo.
Punkty kontrolne określające kształt krzywych, krzywe Beziera;
odtworzenie krzywej wymaga rozwiązania układu równań i obliczenia
położenia wszystkich jej punktów.
Ścieżka: zbiór punktów wyznaczających linię na rysunku.
Kontur figury - ścieżka zamknięta.
Warstwy - połączone grupy obiektów
Obiekty zamknięte są w obwiedniach nazywanych kopertami.
Nałożenie koperty na jakiś obiekt może go zdeformować dopasowując do
kształtu koperty, np. do gumowej powierzchni nadmuchanego balonu.
Wypełnienia: jednolite, gradientowe czyli tonalne (ciągłe przejście od
jednej barwy do drugiej w sposób liniowy, radialnie lub stożkowo), sztafury
(wypełnienia kreskowane lub powtarzającym się wzorem) oraz tekstury
(podobne do naturalnych lub sztucznych materiałów takich jak włókna
tkaniny, powierzchnia cegły czy chmury).
Tryb konturowy (wireframe), bez wypełnień i tekstur.
Grafika

Formaty graficzne:
EPS (Encapsulated Postscript, najczęstszy format, ale niezbyt dobrze
realizowany przez większość programów, EPS dopuszcza nagłówki
przechowujące obraz w formie rastrowej (zwykle w formacie TIF) przy
niskiej rozdzielczości),
WMF (Windows MetaFile), tworzony przez narzędzia do rysowania np. w
MS-Office
CDR (Corel Draw),
CGM (Computer Graphics Metafile, czyli metaplik grafiki komputerowej),
DRW (Micrografx Designer), PIC, PICT,
DXF (głownie do CAD, rysunków technicznych),
HPGL - do ploterów
Grafika

Grafika prezentacyjna uproszczona grafika wektorowa.
Grafika
Grafika
Grafika

Komputerowo wspomagane projektowanie
CAD, Computer Aided Design
CAE, Computer Aided Engineering,
CAM, Computer Aided Machinery
CIM, Computer Integrated Manufacturing

Wyspecjalizowane programy do wspomagania projektowania w różnych
dziedzinach:
SPICE, program do projektowania programowalnych układów logicznych;
PADS, symulator analogowych układów elektronicznych;
SUSIE, symulator działania złożonych układów logicznych;
EAGLE, program do projektowania obwodów drukowanych, ma polską
instrukcję i pracuje nawet na PC-XT.

Komputerowa animacja
Komunikacja

Szybkość przesyłania sygnałów
Komunikacja

Sieci pakietowe: informacja wędruje w porcjach po kilka kilobajtów,
zaopatrzonych w adres docelowego urządzenia.

Komunikacja z drugim komputerem

Przesyłanie zbiorów i korzystanie z wspólnych urządzeń.

Komunikacja poprzez złącze szeregowe: do 15 m, do 115 Kb.
Złącze równoległe (Centronics) 3 razy szybsze.

Komunikacja na większe odległości - wymaga linii telefonicznych lub łączy
radiowych.
Multipleksery - umożliwiają wykorzystanie tej samej linii do wielu połączeń.
Komunikacja

Protokół komunikacyjny - zbiór reguł, szczegółowo określający sposób
nawiązywania łączności, sterowania komunikacją i przygotowania danych
do przesyłania

TCP/IP ( Transmission Control Protocol over Internet Protocol)
TCP/IP to zestaw protokołów używany w Unixie i Windows, podstawa Internetu.
Zawiera protokoły poczty elektronicznej (mail, SMTP), transferu plików (ftp),
zdalnej pracy (telnet, rlogin).

IPX/SPX (Internet Packet Exchange/Sequenced Packet Exchange), dla sieci
NetWare firmy Novell.
NetBEUI (NetBIOS Extended User Interface) - protokół warstwy transportowej
na PC, używany przez sieci Microsoft i IBM LAN Server.
DECnet- dawniej jedna z bardziej rozbudowanych sieci.
PPP (Point-to-Point Protocol), stosowany przy połączeniach modemowych.
SLIP (Serial Line Internet Protocol)

SMTP, POP3, SNMP,
Komunikacja

Sieci komputerowe:
 LAN (Local Area Network), lokalne
 MAN (Municipal Area Network), municypalne (miejskie)
 WAN (Wide Area Network), rozległe
 Sieć globalna - Internet, sieć sieci.
Internet

Dostęp do Internetu oferuje wiele firm, łącznie z bezpłatną pocztą
elektroniczną.
Najprościej: modem + linia telefoniczna, do 56 Kb/sek
ISDN - do 128 Kb/s, dość wysokie koszty.
SDI (szybki dostęp do internetu), do 115 Kb/sek, wysoka opłata
instalacyjna.
W kilku miejscach w Polsce: stały dostęp przez telewizję kablową.
PLC - przyłączanie przez sieć energetyczną; szybkości rzędu 2.5 Mbps,
możliwe rozmowy telefoniczne używając technologii VoIP.
Internet

Adresy: budowa hierarchiczna, nazwy krajów, np. pl (Polska), de
(Niemcy), fr (Francja), jp (Japonia), uk (Wielka Brytania). Stany
Zjednoczone - nic.

Końcowa część adresu określa charakter danego węzła: edu oznacza
naukę i edukację, com to węzeł komercyjny, org oznacza organizacje
usługowe, net organizacje związane z zarządzaniem siecią, gov to podsieć
rządowa a mil wojskowa.

Nowe domeny, od 2001 roku: .art, .biz, .casino, .firm, .info, .inc, .kids,
.law, .news, .nom, .radio, .sex, .site, .shop, .store, .tel, .web, .xxx,
NetNames Polska, zajmuje się rejestracją domen
Internet

Dobry adres wart jest miliony dolarów!
Adresy www.firma.pl często są zajęte w nadziei, że dadzą się dobrze
sprzedać.

IP numbers, 32 bity = 4 bajty, np: 158.75.5.35 nasz serwer
www.phys.uni.torun.pl
Nameserver (NIS, DNS, NDS) - zmienia nazwy na numery IP
Internet

Eksponencjalny rozwój sieci serwerów WWW:
2,74 tysięca w 6/1994; 23,5 tysięcy w 6/1995; 230 tysięcy w 6/1996
(dane: IEEE Spectrum 1/1997)

Koniec 1999 roku - około 1.7 mld stron WWW!
Luty 1999 (ACM):
Prawie 3 mln hostów, ok. 800 mln stron WWW, ok. 15 TB danych, 180 mln
obrazków.
6% edukacja i nauka, 3% medycznych, 1.5% porno, 1% religijne, reszta
głównie e-commerce.
Bibliometria sieci - trudno ją zmierzyć

Konta Internetowe:
styczeń 1998 - w USA 55 mln, w Japonii 8, W. Brytania 5.8, Kanada 4.3,
Niemcy 4.1, Australia 3.4, Holandia 1.4 .... Szwajcaria 0.8, ... Polska 0.4
mln
Internet

Europa daleko w tyle, ale udział % USA spada.
Przewidywana liczba użytkowników WWW w 2001 roku: 175 milionów.
Trudności firm Internetowych w 2001 roku to wynik zbyt wysokich notowań
na giełdzie w stosunku do rentowności firmy.
Listopad 2000: internetowy handel detaliczny w USA to 6.4 mld USD
(miesiąc wcześniej 4.4 mld USD).

2005: przewidywana liczba użytkowników WWW ok. 340 milionów.
Inicjatywa Internet2, technologia GigaPoP - superszybkie przesyłanie
informacji;
Multimedia

Multimedia; modalność, program multimedialny (wielomodalny).
Klasyfikacja systemów wielomodalnych:
 Systemy konwersacyjne: wideofonia, wideokonferencje,
dźwięk, obraz, dane cyfrowe.
 Systemy przesyłania wiadomości: elektroniczna poczta wideo.
 Systemy udostępniania informacji: cyfrowa TV, satelitarna,
kablowa i Internetowa, wideo na żądanie.
 Interakcyjne systemy udostępniania informacji: ITV,
Interakcyjna TV i interakcyjne strony WWW.
 Systemy wyszukiwania informacji: wideotekst, serwery
multimedialne WWW.
Multimedia

Zastosowania

Przestrzeń komunikacyjna (media space), eksperymenty firmy Xerox z pracą
grupową na większe odległości.

Systemy wideokonferencji

Cyberspace czyli wirtualna rzeczywistość

Sprzęt: stereoskopowy obraz oglądać można przy pomocy hełmu (HMD,
Head Mounted Display) lub urządzenia projekcyjnego określanego jako
CAVE (jaskinia).
Multimedia

Zastosowania:
Wirtualna rzeczywistość w
medycynie: szkolenie, operacje i
zabiegi chirurgiczne.
Archeologia i historia: rekonstrukcje
starożytnych zabytków; modele
Stonehenge; starożytnego Rzymu,
Aten, model benedyktyńskiej
bazyliki Cluny;
Technika: sterowanie robotem na
księżycu lub we wnętrzu wulkanu.

Augumented reality rozszerzona rzeczywistość, czyli
elementy wirtualne dodane do
naturalnych
Multimedia

Zapachy z komputera!
iSmell firmy DigiScents, pierwsze testy w 2000 roku, zapachy tworzą się
w ciągu 4-6 sekund, trwają też 4-6 sek.
Ok. 128 podstawowych kompozycji, dane do mieszania rzędu 1 KB,
można wytworzyć tysiące zapachów.

Dotyk: zdalne wyczucie różnych substancji dotykiem!
Sztuczna inteligencja

Inteligencja Obliczeniowa (Computational Intelligence, CI)
Dziedzina nauki, zajmująca się rozwiązywaniem problemów, które nie są
efektywnie algorytmizowalne, za pomocą obliczeń.

Częścią CI jest sztuczna inteligencja (Artificial Intelligence, AI),
zajmująca się modelowaniem wiedzy, rozwiązywaniem problemów
niealgorytmizowalnych w oparciu o symboliczną reprezentację wiedzy.

Inne dziedziny wchodzące w skład CI to sieci neuronowe, logika rozmyta,
algorytmy genetyczne i programowanie ewolucyjne, określane często
wspólną nazwą "soft computing". W skład CI wchodzą też metody
uczenia maszynowego, rozpoznawania obiektów (pattern recognition),
metody statystyki wielowymiarowej, metody optymalizacji, metody
modelowania niepewności - probabilistyczne, posybilistyczne, zgrzebne
(czyli zbiory i logika przybliżona), oraz teorii kontroli i sterowania.
Sztuczna inteligencja

Tradycyjne zagadnienia należące AI

Rozwiązywanie problemów, procesy myślenia

Rozumowanie logiczne

Język naturalny

Autoprogramowanie

Uczenie się, systemy nabierające doświadczenia

Ekspertyza - systemy eksperckie.

Robotyka.

Komputerowe widzenia - analiza i rekonstrukcja obrazu.

Systemy operacyjne i języki programowania dla potrzeb AI
Sztuczna inteligencja

Zagadnienia filozoficzne - czy komputer może być świadomy?

Klasyfikacja struktur: rozpoznawanie obrazów, mowy, pisma, struktur
chemicznych, zachowań człowieka lub maszyny, stanu zdrowia, sensu
wyrazów i zdań.

Inteligentne wspomaganie decyzji: diagnozy medyczne, decyzje
menadżerskie.

Kontrola: jakości produktów, ostrości obrazu,

Gry strategiczne: uczenie się na własnych i cudzych błędach

Sterowanie: samochodu, urządzeń technicznych, fabryk.

Planowanie: budowa autostrad, wieżowców, optymalizacja działań,
tworzenie teorii.

Optymalne spełnianie ograniczeń, optymalizacja wielokryterialna.
Sztuczna inteligencja

Detekcja regularności, samoorganizacja, kompresja obrazów.

Separacja sygnałów z wielu źródeł: oczyszczanie obrazów z szumów,
separacja sygnałów akustycznych.

Prognozowanie: wskaźników ekonomicznych, pogody, plam na Słońcu,
upodobań, decyzji zakupu.

Askrypcja danych - łaczenie informacji z wielu baz danych.

Selekcja cech - na co warto zwrócić uwagę.

Redukcja wymiarowości problemu.

Szukanie wiedzy w bazach danych, inteligentne szukanie (semantyczne).

Zrozumienie umysłu: doświadczeń psychologicznych, sposobu
rozumowania i kategoryzacji, poruszania się i planowania, procesów
uczenia.
Sztuczna inteligencja

Podobne dokumenty