1
PODSTAWY INFORMATYKI
Historia
Pierwszym znanym mechanizmem obliczeniowym był
abakus
,
wynaleziony
prawdopodobnie
przez
Babilończyków w latach pomiędzy 1000 a 500 p.n.e.,
2
Użycie zera
• ok. 600 n.e.
–
Indie, użycie zera jako
rzeczywistej wartości wraz z koncepcją liczb
ujemnych.
• XVIII w.
-
wielki matematyk szwajcarski
Leonhard Euler wierzył, iż liczby ujemne są
większe od nieskończoności, a powszechną
praktyką było ignorowanie wyników ujemnych w
równaniach przy założeniu, że nie mają one
ż
adnego znaczenia.
ok. 1614r. – John
Napier
• szkocki matematyk wynalazł
narzędzie nazwane Tabliczkami
Napiera, które były tablicami
mnożeń wyrytymi na pasach z
drewna lub z kości.
• wynalazł również logarytmy.
• W 1621r. angielski matematyk i duchowny William
Oughtred użył logarytmów Napiera jako podstawy działania
suwaka
logarytmicznego.
Suwak
był
wyjątkowo
przydatnym narzędziem pozostającym w powszechnym
użyciu przez ponad trzysta lat.
3
Maszyna Schickarda
• Niestety nie istnieją żadne oryginalne kopie
maszyny Schickarda,
• Na podstawie jego notatek zbudowano
działające modele, które są w posiadaniu
firmy IBM.
• Mnożenie
• Dodawanie
• Odejmowanie
1642r. – Maszyna Arytmetyczna
• Blaise Pascal
• Maszyna
Arytmetyczna
potrafiła
jedynie
dodawać, odejmowanie wykonywało się przez
użycie technik dopełnieniowych, w których
odejmowana liczba była najpierw zamieniana na
swoje dopełnienie, a dopiero ono było następnie
dodawane do liczby pierwszej.
• Mnożenie i dzielenie
były realizowane za
pomocą serii dodawań
lub odejmowań.
4
1671r. – Gottfried von Leibnitz
• wstąpił na uniwersytet w wieku lat piętnastu i stopień
magistra otrzymał jako siedemnastoletni młodzieniec
• powiedział :"Marnotrawstwem jest, aby mądry człowiek
tracił godziny jak niewolnicy przy pracach rachunkowych,
które można by bezpiecznie powierzyć komukolwiek o
mniejszym rozumie, gdyby maszyny mogły być używane„
• Rachmistrz Krokowy:
– dodawanie
– odejmowanie
– mnożenie
– dzielenie
– obliczanie pierwiastków
kwadratowych przy
pomocy serii dodawań.
• Leibniz mocno bronił stosowania binarnego systemu
liczbowego, który jest podstawą działania współczesnych
komputerów.
Początek XIXw.
80- kolumnowa karta
perforowana
systemu IBM
• Francuz, Joseph-Marie Jacquard, wynalazł metodę
automatycznego sterowania układem wątku i
osnowy nici na krosnach jedwabnych, która
polegała na zapisie wzorów dziurek na zestawie
specjalnych kart z wybitymi otworami.
• Perforowane karty Jacquarda:
– zapis muzyki (automatyczne pianina)
– przechowywanie programów komputerowych.
5
1822r. – Charles Babbage
Maszyna Różnicowa - automatycznie wyliczała tablice logarytmów i funkcji
trygonometrycznych.
Ciekawostka: po ponad 150 latach zespół naukowców z Londyńskiego
Muzeum Nauki zbudował, według oryginalnych planów, Maszynę
Różnicową Babbage'a:
• kute żelazo, brąz i stali,
• składała się z 4000 komponentów,
• ważyła 3 tony,
• 10 stóp szerokości,
• 6 stóp wysokości.
Pierwsza seria obliczeń – początek lat
1990 – wyniki z dokładnością do 31
miejsc po przecinku.
1943r. - COLOSSUS
• Maszyna Alana Turinga, zawierała 1800
lamp elektronowych.
• COLOSSUS był jednym z pierwszych na
ś
wiecie działających, programowanych
komputerów cyfrowych.
• Maszyna o specjalnym przeznaczeniu,
która w rzeczywistości nadawała się do
wąskiego zakresu zadań (na przykład nie
potrafiła mnożyć dziesiętnie).
6
1943 – 1946r. ENIAC
Pierwszy komputer elektroniczny ogólnego
przeznaczenia
• wysokość 10 stóp,
• 1000 stóp kwadratowych podłogi
• ważył 30 ton,
• ponad 70 000 oporników,
• 10 000 kondensatorów,
• 6 000 przełączników
• 18 000 lamp elektronowych.
• 150 kW energii elektrycznej, co wystarczało do
oświetlenia małego miasteczka.
Ciekawostka. Dane z roku 1952
pokazują, iż tylko w tym jednym roku
musiano wymienić około 19,000 lamp
elektronowych, co daje średnio
50 lamp dziennie!
John Eckert
John Mauchly
1951r. – UNIVAC I
Pierwszy handlowo dostępny uniwersalny, automatyczny
komputer (Universal Automatic Computer - UNIVAC I).
7
Polska myśl techniczna
Odra
to nazwa serii komputerów produkowanych w
Zakładach
Elektronicznych
Elwro
we
Wrocławiu
(zlikwidowanych po 1989r).
• Możliwość pracy z oprogramowaniem stworzonym przez
firmy trzecie
• Możliwość podłączenia urządzeń peryferyjnych.
Przedostatnia Odra wyszła z użycia 18 lipca 2003 po 29
latach bezawaryjnej pracy jako główna sterownia dystrybucji
wrocławskiego przedsiębiorstwa Hutmen.
PKP w Ostródzie nadal używa maszyny cyfrowej Odra 1305
(ewenement na skalę całego kraju).
Elwro 800 Junior
• 8-bitowy mikrokomputer domowy produkowany od 1986
r. przez zakłady Elwro dla szkół.
• wbudowany interpreter języka BASIC.
• w jednym z trybów pracy był programowo zgodny z
Sinclair ZX Spectrum.
Budowa:
• procesor: Z80A 3,5 MHz
• RAM 64 Kb, ROM 24 Kb
• grafika: 256 x 192 pikseli
• tekst: 32 (64) x 24 znaków
• kolory: 8 - każdy po dwa tryby jasności
• dźwięk: 1 kanał 10 oktaw
8
PC
Ciekawostka
• w roku 1975 komputer
mainframe IBM mogący
wykonywać 10.000.000
instrukcji na sekundę
kosztował około 10.000.000 $.
• w roku 1995 gra
komputerowa, zdolna
wykonywać 500.000.000
instrukcji na sekundę, była
dostępna na rynku w cenie
około 500$!
Generacje
• I generacja
– komputery na lampach.
Budowane na skalę przemysłową. Język
maszynowy (lista instrukcji, z których każda jest
serią binarnych liczb):
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
9
Generacje
• II generacja
– od 1949r. komputery na tranzystorach.
Translatory, assembler, taśmy perforowane.
Skojarzenie kolejnych komponentów instrukcji z symbolami i
nazwami:
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
Generacje
• III generacja
– połowa 60-tych. Układy SSI i MSI.
Zmniejszenie gabarytów, zwiększenie niezawodności, długie
serie.
Instrukcje podobne do fraz i zdań
języka naturalnego
(angielskiego)
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)
10
Generacje
• IV generacja
– połowa 70-tych. Układy LSI i
VLSI.
Mikroprocesor, DOS, UNIX, Pascal, systemy
oprogramowania pozwalające na interaktywne
tworzenie oprogramowania, systemy CASE
• V
generacja
–
połowa
80-tych.
Superkomputery.
RISC, CISC, rozległe sieci komputerowe, języki
sztucznej
inteligencji
(LISP,
PROLOG)
z
wbudowanymi mechanizmami wnioskowania
Narzędzia informatyki
Komputery
Maszyna elektroniczna
(urządzenie,
ang.
hardware) służąca do
przetwarzania wszelkich
informacji, które da się
zapisać w formie ciągu
cyfr,
albo
sygnału
ciągłego.
Oprogramowanie
Program komputerowy, apli-
kacja, (ang. software) to całość
informacji w postaci zestawu
instrukcji, zaimplementowanych
interfejsów i zintegrowanych
danych przeznaczonych dla
komputera
do
realizacji
wyznaczonych celów.
Cel: przetwarzanie danych w
określonym
przez
twórcę
zakresie.
11
Typy komputerów
Współcześnie komputery dzieli się na:
• osobiste
- o rozmiarach umożliwiających ich umieszczenie
na biurku, używane zazwyczaj przez pojedyncze osoby
• mainframe
- często o większych rozmiarach, których
zastosowaniem jest przetwarzanie dużych ilości danych na
potrzeby różnego rodzaju instytucji, pełnienie roli serwerów,
itp.
• superkomputery
- największe komputery o ogromnej mocy
obliczeniowej, najczęściej używane do czasochłonnych
obliczeń naukowych i symulacji skomplikowanych systemów.
• wbudowane
-
(lub
osadzone,
ang.
embedded)
specjalizowane
komputery
służące
do
sterowania
urządzeniami z gatunku automatyki przemysłowej, elektroniki
użytkowej.
Oprogramowanie
• Oprogramowanie tworzą programiści w
procesie
programowania
.
• Oprogramowanie jako przejaw twórczości jest
chronione
prawem autorskim
.
• Twórcy zezwalają na korzystanie z niego na
warunkach określanych w
licencji
.
12
Rodzaje licencji
• Shareware
– programy na próbę, rejestracja za opłatą jeśli
się je dłużej używa
• Freeware
– używanie i rozpowszechnianie za darmo. Nie
wolno ich jednak sprzedawać, ani dokonywać w nich zmian,
umieszczając
wewnątrz
np.
własną
reklamę.
• Adware
– programy darmowe, ale pokazujące reklamy (np.
banery reklamowe)
• Demo
– celowo zubożona przez autorów darmowa wersja
programu.
– prezentacja pozwalająca jedynie oglądać
przygotowane przez
autorów możliwosci programu lub komputera,
– wersja interaktywna pozbawiona pewnych funkcji w stosunku do
pełnej wersji oprogramowania,
– wersja pełna, ale o ograniczonym czasie działania (zwykle 7, 30 lub
60 dni).
Rodzaje licencji
• Pełna wersja
–
program komercyjny bez żadnych
ograniczeń. Rozprowadzanie w innych mediach (np. w
internecie)
jest
niezgodne
z
prawem
• Licencja jednostanowiskowa
(one-site licence) – instalacja
nabytego oprogramowania tylko w jednym komputerze.
Licencja jednostanowiskowa, jak każda, nie zabrania
sporządzenia
kopii
zapasowej
oprogramowania.
• Licencja
grupowa
(site
licence)
–
użytkowanie
oprogramowania w sieci lub w zestawie komputerów: szkoła,
pracownia; określenie maksymalnej liczby stanowisk.
• Firmware
– umieszczone na stale w sprzętowej części
systemu komputerowego.
13
Rodzaje licencji
• Licencja GPL
(General Public Licence) – zasady licencyjne
określone przez konsorcjum Free Software Foundation,
zakazujące redystrybucji oprogramowania w formie czysto
binarnej;
udostępniane
wraz
z
postacią
ź
ródłową.
• Licencja typu Public Domain
– licencja dobroczynna
czyniąca z oprogramowania własność ogółu, w myśl której
autor lub autorzy oprogramowania zrzekają się praw do
upowszechniania
oprogramowania
na
rzecz
ogółu
użytkowników.
• Nieznana licencja
–
program nie posiadający pliku
licencyjnego lub innej formy dokumentu określającego
sposób jego licencjonowania.
Oprogramowanie
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.
14
Dane
Dane
Dane
Układ
Wyniki
Sygnały
Obrazy
Teksty
Dźwięk
Dwa sposoby
Specjalizowany
układ cyfrowy
Specjalizowany
układ cyfrowy
Wyniki
System
mikroprocesorowy
System
mikroprocesorowy
Wyniki
Program
Hardware
Hardware
Software
Przetwarzanie danych
Architektura komputera
• Elementy funkcjonalne wg von Neumann’a
• Modularna budowa komputera klasy PC
• Przegląd standardów podzespołów PC
• Podsystem graficzny komputera PC
• Zarys sposobu działania komputera PC
• Zarys architektury systemów sieciowych
15
Architektura wg von Neumann’a
• Procesor
• Pamięć operacyjna
• Urządzenia wejścia/wyjścia
Elementy funkcjonalne
komputera:
John von Neumann
Architektura wg von Neumann’a
• Pamięć
jest
uporządkowana
w
sposób
jednowymiarowy (komórka pamięci ma adres,
wyrażony liczbą).
• Instrukcje i dane są przechowywane w pamięci
(w postaci liczb - nierozróżnialne).
• Interpretacja
(znaczenie)
danych
nie
jest
przechowywane wraz z nimi.
• Instrukcje są wykonywane sekwencyjnie.
Założenia logiczne komputera:
16
Nomenklatura
• Procesor – Central Processing Unit (CPU)
= Arithmetic/Logic Unit (ALU) + Control Unit
• Pamięć operacyjna – Random Access Memory
(RAM)
• Urządzenia wejścia/wyjścia – Input/Output (I/O)
• Płyta główna – Motherboard (MB)
• Układ sterowania – Chipset
• Jednostka zmiennoprzecinkowa – Floating Point
Unit (FPU)
• Pamięć stała (tylko do odczytu) – Read-Only
Memory (ROM)
Modularna budowa komputera PC
• Standaryzacja elementów w oparciu o
publicznie dostępne specyfikacje
• Otwarta architektura urządzeń
wejścia/wyjścia
17
Modularna budowa komputera PC
• Płyta główna
-
tablica obwodów drukowanych
łączących wszystkie elementy komputera wraz ze
sterującymi układami elektronicznymi i standardowymi
gniazdami I/O.
• µ
µ
µ
µ-procesor - układ scalony b. wysokiej skali integracji.
• Chipset - układy sterujące połączeniami płyty głównej.
• Pamięć RAM - w postaci modułów dołączanych do
płyty głównej.
• Urządzenia wejścia/wyjścia - np. klawiatura, dysk
twardy (pamięć masowa), karta graficzna, mysz, itp. -
dołączane do płyty głównej poprzez gniazda (porty) I/O.
Płyta główna komputera PC
18
Płyta główna komputera PC
19
Rodziny procesorów
• Intel x86 (komputery PC):
– 16 bitowe: 8086/88, 80286
– 32 bitowe: i386, i486, Pentium, Pentium Pro, Pentium II,
Celeron, Pentium III, Celeron II, Pentium IV, Xeon
– 64 bitowe: Itanium (architektura EPIC)
• AMD (zgodna z x86):
– 32 bitowe: AMD486, 5x86, K5, K6, Athlon, Duron
• Motorola 68k (komputery Apple):
– 68000, 68020 (16-bit), 68030, 68040, 68060 (32-bit)
• architektury RISC (32, 64- bitowe – systemy
UNIX):
– Alpha (DEC/Compaq), MIPS (SGI), SPARC (Sun), PA
(HP), Power (IBM), PowerPC (IBM/Motorola)
(koprocesory FPU:
8087, 80287, 80387)
Chipset-y
• Układy
zarządzające
komunikacją
pomiędzy
procesorem, pamięcią, magistralami dołączającymi
urządzenia I/O
• W znacznym stopniu decydują o funkcjonalności
komputera (możliwościach rozbudowy)
• Zbudowane zwykle z 2 obwodów scalonych zwanych
mostkami (north and south bridge)
• Produkowane przez wielu producentów: Intel, AMD,
VIA, ALI, SIS
20
Pamięć RAM
• Statyczna – Static RAM (SRAM)
– bardzo szybka, bardzo droga –
służy jako
pamięć buforująca między pamięcią operacyjną
i procesorem
• Dynamiczna – Dynamic RAM (DRAM)
– tania
pamięć
wymagająca
cyklicznego
odświeżania (kondensatory)
• Synchroniczna – SDRAM
• Podwójnej wydajności – Dual Data Rate
(DDR)
• RAMBUS – duża wydajność, wysoka cena
Magistrale wejścia/wyjścia
• ISA (Industry Standard Architecture)
– 16-bitowe złącze do obsługi starszych urządzeń
• PCI (Peripheral Component Interconnect)
– 32-bitowe standardowe złącze stosowane we
współczesnych komputerach (są wersje 64-
bitowe)
• USB (Universal Serial Bus)
– magistrala umożliwiająca łańcuchowe dołączanie
urządzeń zewnętrznych (modemów, drukarek)
• Porty równoległe (Parallel Ports) Centronics
• Porty szeregowe (Serial Ports) RS-232C
21
Urządzenia wejścia/wyjścia
• Pamięci masowe:
– dyskietki (FDD)
– dyski twarde (HDD)
– dyski optyczne (CD-ROM, CD-RW, DVD)
– napędy taśmowe (streamer’y)
• Klawiatura
• Karta graficzna (i monitor)
• Urządzenie wskazujące (mysz)
• Karty sieciowe, modemy i in.
Koniec