podstawy informatyk i
DESCRIPTION
Podstawy Informatyk i. 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). - PowerPoint PPT PresentationTRANSCRIPT
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 50 100 200
Czas działania (2n/ 106)
1,04 s
35,7 lat
4*1014
wieków 5*1044
wieków
Czas działania (2n/ 109)
0,001 s
13 dni
4*1011
wieków 5*1041
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 typu logicznego: „tak” lub „nie”
Dane alfanumeryczne (tekstowe – litery, cyfry, znaki interpunkcyjne) Dane numeryczneDane typu data i czas Dane graficzne Dane muzyczne Dane 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 bit: 0, 1, rozróżnia 2 znaki.2 bity: 00, 01, 10, 11, rozróżniają 4 znaki.3 bity: 000, 001, 010, 011, 100, 101, 110, 111, rozróżniają 8 znaków.4 bity: 0000 ... 1111, rozróżniają 16 znaków.8 bitów pozwala odróżnić 28 = 16 x 16 = 256 znaków.
Ciąg 8 bitów = 1 bajt, wygodna jednostka do pamiętania podstawowych symboli.
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) endend;
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 -
NASA
Space
Station
ApolloGemini
Mercury0
10
20
30
40
50
60
70
1962 1965 1972 1978 1987
lata
LO
C (
mln
)
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.
3 3 57
15
67
Analiza wymagań
Specyfikac ja
Projekt
Implementac ja
Testowanie
Wdrożenie iutrzymanie
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ówObiekty 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-OfficeCDR (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.plNameserver (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