Systemy operacyjne i GUI

Transkrypt

Systemy operacyjne i GUI
Wydział Zarządzania AGH
Katedra Informatyki Stosowanej
System operacyjny
GUI
Technologie informacyjne
Co to jest system operacyjny?
Systemy operacyjne dla komputerów osobistych
Graficzny interfejs uŜytkownika
Windows jako przykład GUI
Technologie
informacyjne
Systemy operacyjne i GUI
2
System operacyjny
Jest
zestawem
programów
umoŜliwiających
zarządzanie komputerem oraz danymi w pamięci
operacyjnej i zewnętrznej.
wykonywanie poleceń (programów),
instalowanie i obsługa urządzeń zewnętrznych (pośredniczenie
między sprzętem a programami i uŜytkownikiem),
zarządzanie zbiorami programów i danych,
zarządzanie pamięcią operacyjną.
Technologie
informacyjne
Podstawowymi funkcjami SO są:
3
Podstawowe cechy SO
przetwarzanie wsadowe
zadania (zlecenia uŜytkownika) czekają w kolejce na
przetworzenie: jedno z nich jest przetwarzane, przy czym zadanie,
którego przetwarzanie zostało raz zainicjowane musi być
przetwarzane do końca,
wieloprogramowość
jest to sposób wykorzystania komputera, pozwalający wykonywać
więcej niŜ jeden program w taki sposób, Ŝe Ŝaden z nich nie musi
być zakończony, zanim jakiś inny zostanie rozpoczęty lub
wznowiony (pojęcia związane: podział czasu i podział pamięci),
Technologie
informacyjne
4
Podstawowe cechy SO
wielodostęp
bezpośrednie wykorzystanie komputera przez co najmniej dwóch
uŜytkowników jednocześnie (pozornie jednocześnie) w taki sposób,
Ŝe Ŝaden z nich nie musi być świadomy postępowania pozostałych
uŜytkowników,
pamięć wirtualna
mechanizm wykorzystania pamięci zewnętrznej polegający na
przetrzymywaniu w niej części programu i wczytywaniu go do
pamięci operacyjnej w razie potrzeby, co umoŜliwia wykonywanie
programu o rozmiarze większym niŜ dostępna pamięć operacyjna.
Technologie
informacyjne
5
Podstawowe cechy SO
program
sekwencja instrukcji zapisana w pliku dyskowym zamieniająca się
w instancję programu (proces) w momencie załadowania do
pamięci operacyjnej komputera,
proces (zadanie)
to kaŜda uruchomiona aplikacja; obejmuje on kod programu,
prywatną przestrzeń adresową oraz przynajmniej jeden wątek,
wątek
składnik procesu (strumień rozkazów), który jest wykonywany
(unit of execution); wątek korzysta z zasobów oraz przestrzeni
adresowej procesu, do którego naleŜy.
Technologie
informacyjne
6
Podstawowe cechy SO
Zarządzanie procesami
jest podstawowym zadaniem SO i obejmuje:
alokowanie zasobów do procesów,
organizację wymiany danych między procesami,
ochrona zasobów procesów przed niepoŜądanym wpływem innych
procesów,
KaŜdy proces znajduje się w jednym, spośród kilku moŜliwych,
stanów np. gotowy, działający, zablokowany, zatrzymany. SO
przechowuje podstawowe informacje o tych stanach oraz
uŜywanych zasobach (ang. track – ślad) i zarządza
przechodzeniem między nimi.
Technologie
informacyjne
synchronizację współpracy procesów.
7
Podstawowe cechy SO
wielowątkowość
polega na dzieleniu czasu pracy procesora na krótkie okresy (rzędu
milisekund) i przydzielaniu ich poszczególnym wątkom. Kiedy czas
przeznaczony dla danego wątku mija, kontekst (stan) jego pracy
jest zapamiętywany, a jego miejsce zajmuje kontekst następnego
wątku (o najwyŜszym priorytecie spośród wątków będących w
stanie gotowości). Przełączanie pomiędzy wątkami realizują tzw.
schedulery.
Źródło: old.wb.pb.edu.pl/Materialy/KOS/Andraka%20Dariusz/pinfo7b.pdf
Technologie
informacyjne
oznacza zdolność SO do obsługi wielu wątków w ramach jednego
procesu. Np. kaŜde okno folderu Eksploratora Windows stanowi
odrębny wątek. Gdy uŜytkownik rozpocznie kopiowanie czy
przenoszenie plików z jednego okna do drugiego, operacja ta jest
obsługiwana przez okno docelowe. W tym czasie, nie czekając na
zakończenie kopiowania, moŜemy w innym oknie wykonywać inne
czynności.
8
Podstawowe cechy SO
jednoprogramowe, jednodostępne,
wieloprogramowe, jednodostępne,
wieloprogramowe, wielodostępne,
jednoprogramowe, wielodostępne.
Technologie
informacyjne
Klasyfikacja SO z punktu widzenia moŜliwości
jednoczesnej realizacji wielu programów i pracy
wielu uŜytkowników w tym samym czasie:
9
jednoprogramowe i jednodostępne DOS (Disk Operating System):
MS-DOS, PC-DOS, itp.,
UNIX, LINUX - uniwersalny system operacyjny pozwalający na
wielodostęp i wieloprogramowość,
Windows, OS/2, MAC OS, itp. - systemy zorientowane graficznie, w
których opcje dostępne dla uŜytkownika są zawarte w liście (menu)
bądź reprezentowane przez odpowiednio dobrane piktogramy;
systemy wieloprogramowe, jedno- lub wielodostępne.
Google Chrome OS – oparty na Ubuntu, OS ma być szybki i lekki uruchamiać się w przeciągu kilku sekund; interfejs ma nie
przytłaczać uŜytkownika.
Technologie
informacyjne
SO dla komputerów osobistych
10
Technologie
informacyjne
Od Windows 1.0 do Windows XP
Źródło: old.wb.pb.edu.pl/Materialy/KOS/Andraka%20Dariusz/pinfo7b.pdf
11
Dzięki nazwom, zbiory stanowią dla systemu operacyjnego
oddzielne, rozróŜnialne obiekty. Plik - zbiór danych
powiązanych ze sobą. Dokument - efekt pracy
uŜytkownika zapisany przez program uŜytkowy w postaci
pliku.
Nazwa składa się z 1-255 dowolnych znaków (moŜna
uŜywać spacji i polskich liter).
NAZWA PRAWIDLOWA.ROZ
Trójznakowe rozszerzenie
identyfikowania typu pliku.
nazwy
zazwyczaj
słuŜy
do
Technologie
informacyjne
SO - nazwy zbiorów (plików)
12
SO - katalogi (foldery)
W celu ułatwienia zarządzania zbiorami w pamięci
masowej zbiory zorganizowane są w struktury zwane
katalogami (directory). Katalog (folder) jest zbiorem
plików zgrupowanych pod wspólną nazwą.
Elementem kaŜdego katalogu moŜe być katalog rzędu
niŜszego tzw. podkatalog (subdirectory).
Na kaŜdym dysku znajduje się katalog główny (root
directory), który moŜe zawierać róŜne pliki i podkatalogi.
Główną zaletą takiej organizacji jest hierarchizacja plików
zgodna z celami uŜytkownika. Ponadto, kaŜdy katalog jest
odizolowany od innych, więc nazwy plików w jednym
katalogu mogą być takie same jak w innym katalogu.
Technologie
informacyjne
Katalogi wraz z podkatalogami tworzą na dyskach struktury
zwane drzewami (tree).
13
Organizowanie plików w katalogi wymaga podawania tzw.
ścieŜek dostępu do plików.
Droga do pliku (ścieŜka) składa się z nazw podkatalogów,
oddzielonych od siebie znakiem \ (backslash). Początkowy
znak \ , jeśli występuje, oznacza katalog główny; jeśli
znak \ nie występuje, oznacza to, Ŝe ścieŜka dostępu do
pliku zaczyna się w bieŜącym katalogu. UŜycie dwóch
kropek .. zastępuje nazwę katalogu nadrzędnego w
stosunku do aktualnego.
Technologie
informacyjne
SO - ścieŜka dostępu do pliku
14
Interfejs uŜytkownika (UI) jest granicą między komputerem
a osobą wykorzystującą go do pewnych zadań. W tym
ujęciu interfejs jest zarówno urządzeniem (urządzeniami)
jak i sposobem jego (ich) wykorzystania.
W przypadku komputera osobistego na standardowy
interfejs uŜytkownika składa się ekran, klawiatura i mysz
oraz programy słuŜące do komunikowania się człowieka z
komputerem przy pomocy tych urządzeń.
Technologie
informacyjne
Interfejs uŜytkownika
Następne 5 slajdów
Źródło: Ian Sommerville, InŜynieria oprogramowania, WNT 2005.
15
Dobry projekt interfejsu uŜytkownika jest niezbędnym
warunkiem prawidłowego uŜytkowania systemu.
Interfejs trudny w uŜyciu z pewnością doprowadzi do wielu
pomyłek uŜytkowników.
W najgorszym wypadku uŜytkownicy odmówią uŜywania
systemu
oprogramowania
niezaleŜnie
od
jego
funkcjonalności.
Jeśli informacja jest przedstawiona w sposób zagmatwany,
uŜytkownicy na pewno źle zrozumieją znaczenie systemu.
Mogą wykonać ciągi poleceń, które uszkodzą dane lub
doprowadzą do awarii systemu.
Technologie
informacyjne
Interfejs uŜytkownika
16
Projektowanie interfejsu uŜytkownika
Opracuj
papierowy
prototyp
projektu
Zaprojektuj
prototyp
Oceń projekt
z uŜytkownikami
Zbuduj
dynamiczny
prototyp obiektu
Wykonywalny
prototyp
Oceń projekt
z uŜytkownikami
Zaimplementuj
docelowy interfejs
uŜytkownika
Technologie
informacyjne
Zanalizuj
i rozpoznaj
czynności
uŜytkownika
17
Zasada
Opis
ZbliŜenie do
uŜytkownika
Interfejs powinien posługiwać się pojęciami i kategoriami wziętymi z
doświadczeń osób, które najczęściej będą korzystać z systemu.
Spójność
Interfejs powinien być spójny, tzn. podobne operacje powinny być
wykonywane w ten sam sposób.
Minimum
niespodzianek
UŜytkownicy nie powinni być zaskakiwani zachowaniem systemu.
MoŜliwość
wycofania
Interfejs powinien obejmować mechanizmy, które umoŜliwiają
uŜytkownikom wycofanie się z błędów.
Porady dla
uŜytkownika
Interfejs powinien przekazywać znaczące informacje zwrotne, gdy
dochodzi do błędów; powinien teŜ oferować pomoc, której treść
zaleŜy od kontekstu.
RozróŜnianie
uŜytkowników
interfejs powinien oferować udogodnienia do interakcji dostosowane
do róŜnych rodzajów uŜytkowników systemu.
Technologie
informacyjne
Projektowanie interfejsu uŜytkownika
18
Projektowanie interfejsu uŜytkownika
• Spójny interfejs uŜytkownika musi integrować interakcję
uŜytkownika i prezentację informacji.
• Rodzaje interakcji:
działanie bezpośrednie,
wybór z menu,
wypełnianie formularza,
język naturalny.
Technologie
informacyjne
język poleceń,
19
Technologie
informacyjne
Projektowanie interfejsu uŜytkownika
20
Graficzny interfejs uŜytkownika
jednolity interfejs uŜytkownika,
wyświetlanie w kolorze i wysokiej rozdzielczości,
zasada: to co widzisz na ekranie, dostaniesz naprawdę
(ang. WYSIWYG - What you see is what you get),
bezpośrednie sterowanie.
Technologie
informacyjne
Cechy wyróŜniające GUI:
21
pulpit
okno
ikona
menu
wskazywanie
Technologie
informacyjne
Elementy interfejsu
22
Było:
We wczesnych latach osiemdziesiątych powszechne było
wymyślanie dla kaŜdej nowej aplikacji unikalnego interfejsu
uŜytkownika (Lotus 1-2-3, WP, dBase). Stąd kaŜda nowa aplikacja
wymagała od uŜytkownika nauczenia się jej od podstaw.
Wyuczone sposoby obsługi jednej aplikacji były zupełnie
nieprzydatne w przypadku innej. UŜytkownicy PC poprzestawali
na nauczeniu się i uŜywaniu dwóch aplikacji.
Jest:
Jednolity interfejs uŜytkownika w postaci GUI określa standard
porozumiewania się z komputerem w celu osiągnięcia określonych
efektów. UŜywanie rozwijalnych menu połączone z systemem
pomocy pozwala uŜytkownikowi na badanie programu i
odkrywanie dostępnych poleceń bez konieczności czytania
dokumentacji.
Technologie
informacyjne
GUI – jednolity wygląd i obsługa
23
Co więcej, poniewaŜ wszystkie aplikacje uŜywają tej samej
struktury, nauczenie się jednej pozwala na korzystanie z
innych z równym powodzeniem. Staje się to istotne, jeśli
wyobrazimy sobie kilka aplikacji, kaŜdą w swoim oknie,
działających w tym samym czasie i na tym samym ekranie.
Istnienie jednolitego interfejsu uŜytkownika jest w
dzisiejszym świecie nie tyle udogodnieniem ile
koniecznością. Dobrze zaprojektowane GUI są, w
połączeniu z intuicją uŜytkownika, potęŜnym narzędziem, i
to w stopniu nieosiągalnym przez jakikolwiek tradycyjny
interfejs terminalowy.
Technologie
informacyjne
GUI – jednolity wygląd i obsługa
24
Było:
Interfejs oparty na znakach; przykład systemu rezerwacji
miejsc w samolotach.
Jest:
W świecie grafiki ekran dodatkowo pokazuje obrazy,
będące modelami świata rzeczywistego. GUI przedstawia
ten model w formie bezpośrednio zrozumiałej przez
uŜytkownika (tzw. rzeczywistość wirtualna). Zamiast
przekształcać go na cyfry i litery, próbuje przedstawiać
świat takim, jaki jest on naprawdę.
Technologie
informacyjne
GUI – kolor i rozdzielczość
25
W środowisku graficznym wymagania stawiane przed
komputerami są bardzo duŜe. Pamięć ekranu musi wynosić
ponad XXX MB, a komputer musi mieć wystarczającą moc,
by manipulować tą ilością informacji wielokrotnie w ciągu
sekundy.
GUI wymaga operowania wielką ilością informacji,
wielokrotnie częściej, w bardziej złoŜony sposób, a przy
tym - w sposób niezauwaŜalny dla uŜytkownika. Jedynym
sposobem na podołanie takim wymaganiom było
dostarczenie kaŜdemu uŜytkownikowi oddzielnego
komputera.
Technologie
informacyjne
GUI – kolor i rozdzielczość
26
GUI jako przykład rzeczywistości wirtualnej jest często
określany mianem WYSIWYG. Termin ten najczęściej
odnosi się do procesorów tekstu zapewniających zgodność
tego, co widzimy na ekranie z tym, co otrzymujemy po
wydrukowaniu. JednakŜe moŜna ten termin rozumieć
znacznie szerzej:
to co widzisz, jest w miarę dokładnym modelem
rzeczywistości.
Technologie
informacyjne
GUI – WYSIWYG
27
GUI – bezpośrednie sterowanie
Dawniej uŜytkownik sterował przedstawionym światem za
pomocą słownych komend zorganizowanych w hierarchiczne
struktury (przykład: zmiana szerokości kolumny w dawnych
arkuszach kalkulacyjnych), teraz steruje częściami świata
wirtualnego bezpośrednio. Koncepcja prosta i intuicyjnie
zrozumiała, a jej zastosowanie w róŜnych aplikacjach daje
bardzo dobre rezultaty.
Omówione przykłady ilustrują jedną z technik bezpośredniego
sterowania zwaną przeciągnij i zostaw (drag and drop),
polegającą na wybraniu obiektu oraz przeciągnięciu go do
nowego miejsca. Innym przykładem moŜe być kasowanie
obiektu przez wrzucenie go do kosza na śmieci czy
pomalowanie obiektu po naciśnięciu obrazka z puszką farby.
Technologie
informacyjne
28
GUI – bezpośrednie sterowanie
KaŜdy obiekt w świecie wirtualnym, podobnie jak w świecie
rzeczywistym, ma określone właściwości (cechy); wiele z
nich jest widocznych, ale by poznać cechy pośrednie
stosowane podwójne kliknięcie jest technika inspekcji.
Inspekcja umoŜliwia natychmiastowy wgląd w cechy
obiektu i ich modyfikację.
Technologie
informacyjne
29
Szybkość
Rozdzielczość
Rozmiar i kształt
Przyszłość: ruch
Przyszłość: komunikowanie głosem
Technologie
informacyjne
Interfejs uŜytkownika - przyszłość
30