Wstęp do informatyki - Katedra Informatyki > Home

Transkrypt

Wstęp do informatyki - Katedra Informatyki > Home
Świat komputerów
Wstęp do informatyki
Komputery wbudowane
(embedded) –
sterowanie urządzeniami,
przetwarzanie sygnałów,
etc.
Komputer osobisty (Personal Computer)
Superkomputery –
obliczenia naukowe
Cezary Bolek
[email protected]
Komputery
osobiste
(PC)
Uniwersytet Łódzki
Wydział Zarządzania
Katedra Informatyki
Wstęp do informatyki
Cezary Bolek <[email protected]>
2
Komputer osobisty
Sprzęt (Hardware)
Komputer ogólnego przeznaczenia ukierunkowany
na przetwarzanie danych bezpośrednio
zrozumiałych dla człowieka:
tekstu (wprowadzanie, przetwarzanie, rozpoznawanie)
dźwięku (muzyka, głos, rozpoznawanie)
obrazu (obrazy statyczne i ruchome, rozpoznawanie)
Urządzenia wejściowe:
klawiatura, mysz, mikrofon, aparat fotograficzny, kamera video,
skaner, etc...
Urządzenia wyjściowe:
Pamięć operacyjna
ROM, RAM
Jednostka centralna
CPU
monitor (projektor), drukarka (ploter), głośnik, inne akcesoria
ukierunkowane na sterowanie.
Układy we/wy
In/Out
Jak dotąd brak jest powszechnej realizacji przetwarzania sygnałów dla zmysłów
węchu, smaku i dotyku, choć próby istnieją (virtual reality)
Wstęp do informatyki
Cezary Bolek <[email protected]>
3
Wstęp do informatyki
Cezary Bolek <[email protected]>
4
1
Komputer osobisty
„Standardy” i rzeczywistość
Komputer fizyczny:
procesor, pamięć, płyta główna, karty
rozszerzeń, monitor, etc...
„Komputer typu PC”:
Procesor zgodny z architekturą Intel 80x86
Architektura wywodząca się z IBM PC
Komputer logiczny:
programy, dokumenty, katalogi, pliki danych,
etc...
System operacyjny firmy Microsoft
DuŜa róŜnorodność procesorów do komputerów
osobistych i roboczych.
Komputer wirtualny:
interfejs uŜytkownika, look&feel, WWW
ZróŜnicowanie architektur typu PC (desktop, laptop
(notebook), palmtop, tablet, etc.
Ułatwienia obsługi komputera ukrywają złoŜoność całego systemu,
upraszczają wykonywanie typowych operacji, ale uniemoŜliwiają
zrozumienie istoty operacji lub problemów.
RóŜne systemy operacyjne (MacOS, Linux, PalmOS,
etc...)
Wstęp do informatyki
Cezary Bolek <[email protected]>
5
Kompatybilność
Wstęp do informatyki
Cezary Bolek <[email protected]>
6
Kompatybilność „w dół” i „w górę”
... – wzajemnie się uzupełniający; zgodny, współgrający z czymś
Kompatybilność w dół (downward compatibility):
Kompatybilność – zdolność wykonywania programu na
róŜnych komputerach bez modyfikacji programu i
komputera.
utrzymanie w nowych modelach sprzętu wszystkich
cech starej architektury (z moŜliwością dodania nowych)
moŜliwość uruchamiania na „nowych” komputerach
oprogramowania pisanego na „stare” komputery (na
poziomie kodu maszynowego)
Kompatybilność sprzętowa:
Komputery są kompatybilne (compatible) jeśli oba
mogą poprawnie wykonywać te same programy
(na poziomie kodu maszynowego)
Kompatybilność w górę (upward compatibility):
utrzymanie w przyszłych modelach sprzętu nowych cech
obecnej architektury (i nie dodawanie innych)
moŜliwość uruchamiania na „starych” komputerach
oprogramowania pisanego na „nowe” komputery (na
poziomie kodu maszynowego)
Przenośność oprogramowania:
Program jest przenośny (portable) jeśli moŜna go
skompilować i uruchomić na róŜnych
(niekompatybilnych) komputerach
Wstęp do informatyki
Cezary Bolek <[email protected]>
7
Wstęp do informatyki
Cezary Bolek <[email protected]>
8
2
Emulacja
Kompatybilność – nieporozumienia
Emulacja polega na interpretacji kodu programu dla innego
komputera lub systemu operacyjnego i wykonywaniu go za
pomocą własnych instrukcji, tak aby efekt działania był
identyczny z oryginalnym.
Kompatybilność dotyczy sprzętu, a nie
oprogramowania
kolejne wersje systemów operacyjnych mogą umoŜliwiać (lub nie)
uruchamianie oprogramowania dla innych wersji
system operacyjny jest oprogramowaniem, które będzie działać na
komputerach zgodnych „w górę”
Komputery niekompatybilne mogą mieć funkcjonalnie
identyczne oprogramowanie
ten sam system operacyjny i/lub pakiety oprogramowania mogą być
implementowane na róŜne platformy sprzętowe
zwykle istnieje moŜliwość bezpośredniej wymiany danych pomiędzy
programami działającymi na niekompatybilnych komputerach
Wstęp do informatyki
Cezary Bolek <[email protected]>
9
Zarządzanie systemem
pamięci
(procesy, multi-tasking)
Programy dla
systemu Unix
Komputery PC
z Windows
Programy
dla telefonów
komórkowych
i palmtopów
Komputery PC
z Windows
Cezary Bolek <[email protected]>
10
Program
Systemy operacyjne typu RT zwykle stosuje się do
komputerów wbudowanych, gdzie brak reakcji komputera
moŜe mieć tragiczne konsekwencje.
Interfejs funkcji systemowych (API)
Zarządzanie systemem
plików
(programy i dane)
Komputery PC
z systemem Unix
RTOS (Real Time Operating System) jest systemem, w
którym reakcja na bodziec musi nastąpić w czasie nie
dłuŜszym niŜ określony limit.
UŜytkownik
Program
Programy dla
Windows
Systemy operacyjne
czasu rzeczywistego
Oprogramowanie, który umoŜliwia zarządzenie zasobami komputera i
kontrolowane uruchamianie innych programów, bez znajomości szczegółów
sprzętowych komputera.
Program
Komputery PC
z systemem
Windows, Unix
Wstęp do informatyki
System operacyjny
Interfejs uŜytkownika
Programy dla
komputerów 8bitowych (gry)
RTOS dla PC: QNX, RTLinux
Sterowniki
urządzeń we/wy
np.
sterowanie lotem pocisku rakietowego (czas reakcji rzędu 10-6s)
system realizacji transakcji finansowych (czas reakcji rzędu 102s)
Sprzęt komputera (Hardware)
Wstęp do informatyki
Cezary Bolek <[email protected]>
11
Wstęp do informatyki
Cezary Bolek <[email protected]>
12
3
System operacyjny
single-user multi-task
System operacyjny
single-user single-task
single-user
tylko jeden uŜytkownik moŜe korzystać z
komputera jednocześnie
single-user
tylko jeden uŜytkownik moŜe korzystać
z komputera jednocześnie
single-task
tylko jeden program moŜe być wykonywany przez
komputer jednocześnie
multi-task
wiele programów moŜe być wykonywanych
przez komputer jednocześnie
• PC: DOS – Disk Operating System
• Komputery kieszonkowe (Palm OS)
• Telefony komórkowe
Wstęp do informatyki
PC: Windows 3.x, 9x, NT, 2000, XP, MacOS
Komputery kieszonkowe (Win CE)
Cezary Bolek <[email protected]>
13
Wstęp do informatyki
Cezary Bolek <[email protected]>
14
Programy i procesy
System operacyjny
multi-user (multi-task)
Program – plik na dysku zawierający instrukcje
procesora oraz swoje dane.
multi-user
w danym momencie z komputera moŜe
korzystać wielu uŜytkowników, którzy
mogą wykonywać wiele programów.
Proces – program załadowany do pamięci operacyjnej
komputera i uruchomiony
(kod+dane+kontekst procesora).
Systemy multi-user są wyposaŜone w wyrafinowane
metody podziału zasobów komputera dla
uŜytkowników i procesów (scheduler)
Proces
w pamięci
Program
(instrukcje)
Dane
programu
Kontekst
(zawartość
rejestrów
procesora
dla danego
programu)
+
PC: Unix (Linux), VMS, ...
Procesor (CPU)
Pamięć operacyjna RAM
Wstęp do informatyki
Cezary Bolek <[email protected]>
15
Wstęp do informatyki
Cezary Bolek <[email protected]>
16
4
Procesy i multi-tasking
Procesy i multi-tasking
Jądro systemu
Scheduler
lista
procesów
systemu
A
B
C
System
operacyjny
adres procesu k
adres procesu m
czas
System z podziałem czasu procesora
(time-sharing)
Kod
k-ty proces
w pamięci
Dane
Kontekst
A
B
C
Kod
m-ty proces
w pamięci
Proces aktywny
Proces uśpiony
Dane
Kontekst
czas
System z podziałem czasu
wielu procesorów
Pamięć operacyjna systemu komputerowego
Wstęp do informatyki
Cezary Bolek <[email protected]>
17
Wstęp do informatyki
Pamięć wirtualna
System
operacyjny
System
operacyjny
CPU
Proces B
Proces A
Adres
fizyczny
Proces C
Procesor (programy) traktują pamięć wirtualną jako
normalnie dostępną i odwołują się do niej za pomocą
adresów wirtualnych.
Memory
Management
Unit
(MMU)
Blok MMU (obecnie część procesora) tłumaczy adresy
ładuje Ŝądaną stronę wirtualną do pamięci fizycznej i
tłumaczy adresy wirtualne na fizyczne.
Pamięć fizyczna
(RAM)
Proces M
Pamięć wirtualna jest realizowana jako tzw. plik wymiany
(swap file - Windows) lub jako oddzielny fragment
twardego dysku (partycja swap – Linux)
Proces N
Pamięć wirtualna
(dysk twardy)
Wstęp do informatyki
18
Rozmiar pamięci wirtualnej jest duŜo większy od
rozmiarów dostępnej pamięci fizycznej (GB, TB).
Dane
Adres
wirtualny
Proces C
Cezary Bolek <[email protected]>
Pamięć wirtualna
Proces M
Proces A
Proces aktywny – CPU1
Proces aktywny – CPU2
Proces uśpiony
Rozkaz ładowania do pamięci fizycznej
Ŝądanego fragmentu pamięci wirtualnej
Cezary Bolek <[email protected]>
19
Wstęp do informatyki
Cezary Bolek <[email protected]>
20
5
Historia IU
Interfejs uŜytkownika (IU)
UŜytkownicy
Program pośredniczący pomiędzy uŜytkownikiem
a systemem operacyjnym i sprzętem komputera.
Przeznaczenia
Interfejs uŜytkownika
Ŝaden
1945-1955
eksperci
kalkulator
1955-1965
naukowcy
obliczenia
tekstowy –
prosty język
poleceń
1965-1985
przeszkoleni
pracownicy
przetwarzanie
danych
Nowa dziedzina wiedzy: pogranicze technologii
informatycznych, psychologii i ergonomii –
„komunikacja człowiek-komputer”
tekstowy –
rozbudowany
język poleceń,
semi-grafika
1985-1995
zainteresowani
narzędzie pracy
i rozrywki
Miniaturyzacja elektroniki i nowe wyzwania dla
interfejsów uŜytkownika.
1995-2006
znaczna część
społeczeństwa
praca,
komunikacja,
rozrywka
graficzny –
polecenia
do wyboru,
formularze
multimedialny –
kontekstowy
2007-
niemal wszyscy
osobisty asystent
Generacje komputerów moŜna klasyfikować według
ich interfejsu uŜytkownika
Wstęp do informatyki
Cezary Bolek <[email protected]>
21
Wstęp do informatyki
Cezary Bolek <[email protected]>
22
Tekstowy IU –
interfejs funkcyjny
Tekstowy IU
Zalety:
małe wymagania sprzętowe
moŜliwość obsługi zdalnej
duŜa szybkość i wydajność
duŜe moŜliwości
Orientacja na funkcje systemu:
tworzenie, kopiowanie, usuwanie, edycja, uruchamianie etc...
plików programów i danych,
zarządzanie procesami i pamięcią
np. Jeśli polecenie ma 4 róŜne opcje,
to pamiętając je moŜna łatwo i szybko
stosować to polecenie w 16 wariantach!
Wady:
zapamiętanie poleceń
łatwość popełnienia pomyłek
brak wizualizacji wyników
konieczność stosowania klawiatury
Wstęp do informatyki
intuicyjny (?)
Cezary Bolek <[email protected]>
copy /B /V a:\plik c:\dokumenty\plik
najpierw polecenie
(funkcja systemu)
23
Wstęp do informatyki
później czego dotyczy polecenie
Cezary Bolek <[email protected]>
24
6
Graficzny IU – interfejs obiektowy
Graficzny IU
Zalety:
polecenia i opcje do wyboru
wybór poprzez wskazywanie
wizualizacja efektów działania
Orientacja na
obiekty systemu:
pliki i katalogi: programy,
dokumenty, obrazki, etc.
np. Sprawdzenie zajętości miejsca
na dysku i rozmiarów katalogów
za pomocą wizualizacji graficznej
daje natychmiastowe zrozumienie
otrzymanych wyników.
najpierw obiekt
systemu
Wady:
coraz większe wymagania sprzętowe
nieprecyzyjność urządzeń wskazujących
zawiły system graficznych kontrolek w przypadku bardziej
zaawansowanych operacji
Wstęp do informatyki
Cezary Bolek <[email protected]>
później jaka operacja ma być na nim wykonana
25
Wstęp do informatyki
Cezary Bolek <[email protected]>
26
Interfejsy przyszłości
Graficzny IU – interfejs zadaniowy
Wobec TB pojemności pamięci komputerów i PB
zasobów sieci komputerowych pojęcie systemu
plikowego staje się niewygodne dla zwykłego
uŜytkownika
Orientacja na
zadania systemu:
tworzenie dokumentu,
czytanie poczty,
odtwarzanie muzyki, etc.
Interpretacja zadań uŜytkownika
Swobodna forma i składnia poleceń
Win XP
Wysoki stopień abstrakcji operacji systemu
ZróŜnicowany i rozproszony interfejs we/wy
Programowanie poprzez demonstrację
wybór typu
zadania
Programy agentowe i asystenckie
nie jest istotne (dla uŜytkownika) w jakim pliku
i katalogu znajdzie się wynik działania programu
Wstęp do informatyki
Cezary Bolek <[email protected]>
Bio-interfejsy uŜytkownika
27
Wstęp do informatyki
Cezary Bolek <[email protected]>
28
7
PC?
Wstęp do informatyki
Cezary Bolek <[email protected]>
29
8