Podstawy Informatyk i

Post on 15-Jan-2016

55 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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 Presentation

Transcript

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.

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

top related