Prof. dr hab. Celina M. Olszak
Katedra Informatyki Ekonomicznej
Akademia Ekonomiczna w
Katowicach
ul. Bogucicka 3
Sekretariat: budynek „B”, pokój 202
tel. 32/25 77 610
eie@ae.katowice.pl
konsultacje: środa 10.30-11.30
Generacje komputerów
Kryteria decydujące o zaliczeniu
komputera do określonej klasy:
• Technika budowy komputera
• Struktura komputera
• Możliwości użytkowania
Generacja 0
- Technika przekaźnikowa,
- Mark I (lata 1939-1944 na
Uniwersytecie Harwarda przy
wsparciu IBM,
wykonywał do 3 dodawań w
ciągu sekundy),
- Praca w systemie dziesiętnym
Generacja I
• Technika lampowa
• ENIAC (maszyna, która została powszechnie
uznana za komputer
• ENIAC: waga 30 ton, 150 m2)
• Serie maszyn, które miały następujące cechy:
- proces wprowadzania i wyprowadzania danych za
pomocą taśmy perforowanej,
- wykonywanie jednego programu napisanego w
języku wewnętrznym (zerojedynkowym),
- brak systemu operacyjnego,
- zastosowanie do obliczeń naukowo-technicznych,
- szybkość pracy do 10 tys. operacji na sekundę,
- duża awaryjność
GENERACJA II
• Tranzystory
• Polski produkt XYZ, ZAM-2 (Zakłady ELWRO we
Wrocławiu)
• Czas: koniec lat 50-ych
• Cechy maszyn 2 generacji:
- posiadanie pamięci zewnętrznej: bębny, dyski
magnetyczne,
- wieloprogramowość,
- posiadanie systemu operacyjnego,
- programowanie w językach symbolicznych oraz
wykorzystywanie translatorów
- zwiększenie szybkości przetwarzania do około
100 tys. operacji na sekundę
GENERACJA III
• Układy scalone SSI, MSI
• Polski produkt ODRA 1300 (Zakłady ELWRO we Wrocławiu)
• Czas: lata 60 – 70-te
• Cechy maszyn 3 generacji:
- wieloprogramowość i wieloprocesorowość,
- przenośność komputerów,
- rozpowszechnienie pamięci dyskowych,
- stosunkowo duży zestaw oprogramowania systemowego i
narzędziowego,
- możliwość pisania programów w językach wysokiego
poziomu (FORTRAN, ALGOL),
- tworzenie pierwszych sieci komputerowych,
- rozwój urządzeń peryferyjnych ( drukarki, urządzenia
graficzne, czytniki magnetyczne),
- szybkość wykonywania operacji do 10 mln. działań na 1
sek,
- pierwsze zastosowania komputerów w gospodarce.
GENERACJA IV
• Układy scalone VLSI, ULSI,
• Technika mikroprocesorowa,
• Różnorodne oprogramowanie aplikacyjne,
• Cechy 4 generacji:
- Szybkość obliczeniowa liczona w mld operacji
na sek.
- Graficzne i multimedialne interfejsy
ułatwiające obsługę komputerów i aplikacji
- Dostosowane do pracy w sieci komputerowej,
wyposażone w usługi typu: poczta
elektroniczna itp, praca w architekturze klient-
serwer
- Zdolność do obsługi dużych, rozproszonych
baz danych
GENERACJA IV PLUS
• Superkomputery o bardzo dużej mocy
obliczeniowej: japoński NEC,
amerykański CRAY
• Pracują w oparciu o specjalną
organizację procesorów
• Wykorzystywane w prognozowaniu
pogody, poszukiwaniach
geograficznych, nawigacji satelitarnej
itp.
GENERACJA V
Komputery inteligentne, zdolne do:
• wnioskowania i uczenia się,
• przetwarzania języka naturalnego
i mowy,
• rozpoznawania obrazów,
Zintegrowane z robotami,
mikroczipami.
Oparte na strukturach białkowych
(wcześniejsze na krzemowych),
wielowymiarowych.
ARCHITEKTURA KOMPUTERA
• Jednostka centralna
• Urządzenia do wprowadzania i
wyprowadzania danych (wejścia,
wyjścia/ input, output)
• Urządzenia pamięci zewnętrznej
• Urządzenia transmisji danych
JEDNOSTKA CENTRALNA
• Pamięć wewnętrzna (operacyjna)
-PAO
• Procesor: układ sterowania,
arytmometr, zespół rejestrów (tzw.
pamięć podręczna)
• Kanały wejścia i wyjścia (łączące
jednostkę centralną z urządzeniami
zewnętrznymi)
Zadania jednostki centralnej
• Wykonywanie operacji arytmetyczno-
logicznych na argumentach będących
zawartością komórek pamięci –PAO i
rejestrów
• Automatyczne wykonywanie programów
według ustalonej kolejności
• Inicjowanie komunikacji pomiędzy PAO a
urządzeniami zewnętrznymi
• Koordynowanie czasowe współpracy
układów jednostki centralnej i całego
systemu
SX100 IS
Arytmometr
Wykonuje działania arytmetyczno-
logiczne na liczbach dwójkowych
umieszczonych aktualnie w jego
rejestrach
Układ sterowania
Pobiera z pamięci kolejne rozkazy, dekoduje je,
oblicza adresy komórek pamięci, w których
przechowywane są argumenty operacji,
kontroluje proces wykonywania rozkazów
oraz steruje arytmometrem w celu wykonania
niezbędnych operacji artymetyczno-
logicznych .
Czynności pobierania i wykonywania rozkazu
stanowią tzw. cykl pracy procesora.
Zespól rejestrów (pamięci
podręczna)
Stosowana w celu krótkotrwałego
przechowywania argumentów ostatnio
wykonywanych operacji w celu zmniejszenia
liczby odczytów z pamięci wewnętrznej
Jest to tzw. bufor pomiędzy stosunkowo wolną
pamięcią i szybkim procesorem
(przechowujący najczęściej używane dane)
Efektywność i działanie pamięci podręcznej
mierzona jest tzw. współczynnikiem trafień
(uśredniony stosunek liczby odczytów z
pamięci podręcznej do całkowitej liczby
odczytów)
Pamięć operacyjna - PAO
Przechowuje programy i dane, które są
aktualnie potrzebne do przebiegu procesu
przetwarzania
PAO dzieli się na jednostki zwane
komórkami pamięci, z których każda ma
swój niepowtarzalny adres (numer)
Komórka pamięci to bajt (8 bitów) lub słowo
rozkazowe (wielokrotność 8 bitów tj. 16,
32, 64 itd..)
Pojemność pamięci mierzona w B, KB, MG,
GB
Podział PAO
• ROM (Read Only Memory) – pamięć do odczytu –
BIOS, pamięć wideo, podstawowe sterowniki do
obsługi komputera)
• RAM (Random Access Memory) – pamięć ulotna
Zadania BIOS (Basic Input Output System):
- Przeprowadzanie po uruchomieniu komputera
testów podstawowych układów i urządzeń;
- Inicjowanie pracy systemu komputerowego
poprzez ustawienie poszczególnych
podzespołów w odpowiednich trybach pracy i
zainicjowanie struktur systemowych;
- Zapewnienie podstawowych procedur obsługi
np.. standardowych urządzeń (klawiatura, napęd
dyskowy itp.)
Podstawowe parametry
PAO
• Pojemność - liczba bitów
informacji, jakie można zapisać do
modułu pamięci (B, KB, MB, GB);
• Czas dostępu – określa czas jaki
musi upłynąć od momentu podania
poprawnego adresu odczytywanego
z pamięci do czasu ustalenia
wartości tego słowa na wyjściu
pamięci).
Pamięć zewnętrzna -PAZ
Powody stosowania PAZ:
- PAO niezbyt pojemna,
- PAO droga,
- Większa część PAO jest ulotna
Funkcje PAZ:
- Przechowywanie obszernych, baz danych,
- Przechowywanie programów, plików, które
nie są na stałe potrzebne PAO,
- Pośrednie przechowywanie danych we/wy
gdy PAO jest niewystarczająca.
Podział Pamięci Zewnętrznej
Z uwagi na zastosowany nośnik zapisu
1.
Magnetyczne
-
Dyski magnetyczne
-
Taśmy magnetyczne
-
Bębny magnetyczne
-
Karty magnetyczne
2.
Optyczne
-
CD ROM, CD R
3.
Papierowe
-
Karty i tasiemki preferowane
Z uwagi na sposób dostępu do pamięci
1.
Pamięci z dostępem bezpośrednim
-
Dyski magnetyczne
-
Bębny magnetyczne
-
Dyski magnetyczne
-
Dyski optyczne
2.
Pamięci z dostępem sekwencyjnym
-
Taśmy magnetyczne
Z uwagi na sposób zapisu
1. Tylko do odczytu (Cd –ROM)
2. Z zapisem jednokrotnym CD-WO, pamięci papierowe
3. Z zapisem wielokrotnym (magnetyczne i dyski optyczne kasowalne – tech. M
O)
Urządzenia do wprowadzania i
wyprowadzania danych
Urządzenia do wprowadzania danych
• Klawiatura
• Pióra świetlne
• Panele dotykowe
• Myszki
• Joysticki, trackball
• Digitizery
• Skanery
• Cyfrowe aparaty fotograficzne
Urządzenia do
wyprowadzania danych
• Monitory
• Drukarki (igłowe, atramentowe,
laserowe)
• Plotery (pisaki X-Y) – wykorzystywane w
pracach kreślarskich, dające nietypowy
format wydruku i dużą rozdzielczość
Oprogramowanie
Zespół środków programowych
dostępnych w ramach systemu
komputerowego, które umożliwiają
bądź ułatwiają eksploatację
komputera
Podział oprogramowania:
- Systemowe (podstawowe)
- Użytkowe (aplikacyjne)
- Języki programowania
Oprogramowanie systemowe
To zbiór programów pozwalających realizować
podstawowe zadania komputera związane z
zarządzaniem jego zasobami (pamięcią,
zbiorami, folderami, urządzeniami itp.)
System operacyjny
Jest zbiorem programów, które działają jak
pośrednik miedzy użytkownikiem a komputerem.
Zadaniem SO jest tworzenie środowiska, w
którym użytkownik może wykonywać zadania
w sposób wygodny i wydajny.
System operacyjny – zarządca zasobów
komputerowych
Funkcje systemu operacyjnego
- Śledzenie zasobów systemu
komputerowego
- Narzucanie strategii wykorzystania
zasobów
- Przydzielanie zasobów
- Odzyskiwanie zasobów
Pożądane cechy systemu operacyjnego
• Współbieżność – istnienie kilku czynności
wykonywanych jednocześnie lub działań
przebiegających równolegle
• Wspólne korzystanie z zasobów (zarówno
sprzętowych, programowych jak i informacji)
• Pamięć długookresowa – pamięć
przechowująca informacje dłużej niż w czasie
jednej sesji pracy komputera
• Niedeterminizm – reagowanie na zdarzenia
występujące w nieprzewidywalnym porządku
• Wydajność (najczęściej dotyczy szybkości
przeprowadzania działań i operacji przez system)
• Niezawodność – bezbłędne obsługiwanie jak
największej liczby zdarzeń
• Elastyczność – możliwość rozszerzania
systemu i usuwania z niego błędów
• Względnie mały rozmiar
Języki programowania
Aby komputer mógł zrealizować powierzone
mu zadanie, konieczne jest wykonanie
wielu czynności polegających m.in. na:
- Opracowaniu algorytmu rozwiązania
zadania
- Kodowaniu algorytmu w wybranym języku
- Uruchomieniu programu
Zespól wymienionych czynności
określany jest mianem
programowania
ALGORYTM
Algorytm to sposób (przepis) wyliczający
jednoznacznie kroki, które trzeba wykonać
na danych określonego zadania, aby
otrzymać poprawne rozwiązanie (jeśli
istnieje) w skończonym czasie.
Cechy algorytmu:
• Uniwersalność rozwiązania
• Szczegółowość opisu
• Jednoznaczność rozwiązania
• Zbieżność (skończona liczba operacji)
• Odpowiednia struktura (obligatoryjny
początek i koniec)
Formy prezentacji algorytmu
• Opis słowny
• Notacja matematyczna
• Schematy (schemat blokowy,
strukturogram, tablica decyzyjna)
KODOWANIE ALGORYTMU
Aby opisać algorytm na użytek komputera
należy posłużyć się językiem programowania
Język programowania - składa się z notacji i
reguł, według których pisze się programy.
Wiąże się on zwykle ze sztywna składnią
dopuszczającą używanie jedynie
specjalnych kombinacji wybranych symboli
i słów kluczowych
PROGRAM
Program – to formalny opis algorytmu
nadający się do wykonania przez
komputer
Program składa się z oddzielnych
rozkazów, opisujących dokładnie,
szczegółowo i jednoznacznie wszystkie
czynności, jakie komputer ma
wykonać, aby rozwiązać postawione
zadanie
Rodzaje języków
programowania
1. Wewnętrzne (maszynowe)
2. Symboliczne
3. Wysokiego poziomu
- Numeryczne (Fortran, Algol)
- Masowego przetwarzania danych (Cobol)
- Ogólnego przeznaczenia (Pascal, Basic, C, C++)
- Komunikacji z bazami danych (SQL)
- Opisu zasobow iwedzy (Prolog, Lisp)
- Technologii internetowej i wirtualnej rzeczywistości
(Java, Java Script, HTML, PHP, PERL)
4. Języki 4GL (Delphi) – zintegrowane środowisko
programistyczne, składające się z języka
programowania oraz różnych narzędzi
pomocniczych , pozwalających na szybkie
tworzenie aplikacji komputerowych)
Oprogramowanie użytkowe
Obejmuje zbiór pakietów programowych
lub programów realizujących konkretne
zadania merytoryczne i spełniających
określone potrzeby użytkowników
komputera
Rodzaje oprogramowania
użytkowego:
- Edytory tekstowe
- Arkusze kalkulacyjne
- Systemy zarządzania bazami danych
- Programy graficzne i multimedialne
Funkcje edytora tekstowego
• Swobodna edycja tekstu
• Operowanie na blokach tekstu
• Równoczesna edycja kilku tekstów
• Wprowadzanie do tekstu elementów zewnętrznych
(rysunki, wykresy itp.)
• Wyszukiwanie – fragmentów fraz, wyrazów
spełniających określone warunki
• Możliwość operowania niestandardowymi znakami
(symbole matematyczne, niestandardowe czcionki)
• Możliwość tworzenia dokumentów seryjnych
Arkusze kalkulacyjne
FUNKCEJE: Prowadzenie
wielowariantowych obliczeń i
wielowariantowej analizy,
pozwalającej podjąć próby
optymalizacji pewnych zjawisk i
stanów
• Przeznaczenie: wszelkie prace
planistyczne,
Systemy zarządzania bazami
danych
Baza danych – zbiorów wzajemnie
powiązanych danych, pamiętanych
bez zbędnej redundancji, służących
jednemu lub wielu zastosowaniom w
sposób optymalny.
W bazie danych dane są pamiętane w
taki sposób, że są niezależne od
programów, które z nich korzystają.
System Zarządzania Bazą Danych -
SZBD
• SZBD to pośrednik pomiędzy bazą
danych (traktowaną jaką zbiór
danych), a jej użytkownikiem.
• SZBD to narzędzie umożliwiające
tworzenie bazy danych, dostęp do
danych zawartych w bazie danych
oraz ich aktualizację
Cechy baz danych
• Zmniejszenie redundancji pamiętanych
danych
• Unikniecie niezgodności pamiętanych danych
• Dzielenie zapamiętanych danych pomiędzy
wielu użytkowników
• Wprowadzanie standardów zapisu danych,
wyszukiwania danych itp.. – język SQL
• Wprowadzenie ograniczeń dostępu do
danych
• Zachowanie integralności danych
• Zapewnienie niezależności danych
Języki w SZBD
• Język opisu danych - używany przez administratora
bazy danych do opisu fizycznej bazy danych, nadania
logicznego formatu danych i opisu fizycznych
atrybutów danych, które są pamiętane w bazie danych
• Język manipulacji danymi - stosowany w
programach aplikacyjnych i realizujący operacje
wprowadzania i wyświetlania danych
• Język zapytań – pozwalający użytkownikowi
(wysokiego poziomu) na bezpośredni dostęp do
danych
• Język raportowania - opisując format i zawartość
raportów (wydruków) tworzonych przez programy
aplikacyjne
• Język kontroli danych - realizując sterowanie
dostępem do danych
• W SZBD stosuje się zazwyczaj
relacyjną organizację
pamiętania danych (tzw. model
relacyjny). Ogół danych dzieli się
na względnie jednorodne tablice
(relacje)
• Inne stosowane organizacje zapisu
danych to: model hierarchiczny,
sieciowy lub obiektowy
Rodzaje SZBD
• Adresowane raczej na pojedyncze komputery
i współpracujące z niewielkimi bazami
danych oraz obsługujące pojedynczych
użytkowników lub niewielkie grupy (MS
Access)
• Systemy zaawansowane technologicznie -
dostosowane do obsługi wielu użytkowników
i dużych baz danych, bazujące na
standardowym języku manipulacji danymi –
SQL (Oracle, SQL Serwer, MySQL, DB2)
Kierunki doskonalenia SZBD
• Tworzenie uniwersalnych baz danych,
pozwalających przechowywać dane obiektowe
i dane multimedialne
• Tworzenie hurtowni danych (data warehouse) –
Hurtownia danych - tematycznie
zorientowany, spójny, uporządkowany w
czasie i niezmienny zbiór danych
utworzony na bazie heterogenicznych baz
danych oraz danych pozyskanych z zewnątrz,
dający przekrojowy obraz działalności
przedsiębiorstwa w celu lepszego
wykorzystania informacji do wspomagania
procesów decyzyjnych
Przegląd procesów technologicznych w
komputerze
(tryby pracy komputera
• Wieloprogramowanie
• Wieloprzetwarzanie (wieloprocesorowość,
wielomaszynowość)
• Wielodostęp
• Podział czasu
• Podział pamięci
• Bezpośredniość
• Natychmiastowość
• Interakcyjność
Wieloprogramowanie
• Tryb działania komputera pozwalający na
przetwarzanie w większym przedziale
czasu więcej niż jedno zadanie
• Kilka zadań może na przemian używać
jednostki centralnej i czekać na
zakończenie operacji wejścia-wyjścia
Efekt: wieloprogramowanie pozwala
podnieść efektywność wykorzystania
komputera – następuje zmniejszenie
przestojów JC, urządzeń we/wy itp.
Wieloprzetwarzanie
Oznacza przetwarzanie danych dzielone pomiędzy
dwie lub więcej JC, które komunikują się między
sobą bezpośrednio lub pośrednio.
Wieloprzetwarzanie pozwala na:
• Zwiększenie mocy obliczeniowej systemu
• Efektywniejsze wykorzystanie zasobów
komputerowych, podział obciążeń i funkcji
komputera
• Zwiększenie niezawodności systemu połączonych
komputerów
Wielodostęp
Oznacza wykorzystanie komputera przez co najmniej
dwóch użytkowników jednocześnie (lub pozornie
jednocześnie – żaden z użytkowników nie jest świadom
postępowania pozostałych)
Cechy wielodostępu:
• Umożliwia wielu użytkownikom komunikację on-line z
komputerem
• Każdemu użytkownikowi przydziela się cyklicznie
9lub na żądanie) na pewien krótki czas środki
techniczne i programowe
• Czas odpowiedzi systemu na żądanie użytkownika jest
taki, że nie odczuwa on faktu istnienia innych
użytkowników korzystających w tym czasie z
systemu
Problemy technologii
wielodostępu
• Określenie kolejności w jakiej mogą być
obsługiwani użytkownicy (ich programy)
• Określenie wielkości czasu liczenia
• Ustalenie zbioru programów, które
powinny być zainstalowane w pamięci,
aby nie występowało zbyt wiele
przesyłań informacji między pamięciami
Podział czasu
Jest to właściwość wykorzystania JC w
systemie wieloprogramowym,
polegająca na nadawaniu tej JC we
władanie kolejno różnym
programom na pewien okres czasu,
po upływie którego obsługa
programu jest przerywana i JC
przydziela kolejny kwant czasu
innemu programowi
Podział pamięci
• Organizacja współpracy z pamięcią, która
chroni znajdujące się w komputerze
programy przed wzajemnym,
nieprzewidywalnym wpływem. Umożliwia
przechowywanie tych programów w
różnych fizycznie elementach pamięci i
organizuje komunikacje między nimi.
Bezpośredniość
i natychmiastowość
• Polega na gotowości JC do
przyjmowania informacji wejściowych
w momentach określonych przez
okoliczność zewnętrzną
• Podstawowym parametrem tej
technologii jest czas reakcji systemu,
tj. czas oczekiwania na odpowiedź
komputera
Interakcyjność
• Bezpośredniość i natychmiastowość
przetwarzania stwarzają możliwość
pracy interakcyjnej człowiek-
maszyna