Wydział Zarządzania AGH Katedra Informatyki Stosowanej System operacyjny GUI
Systemy operacyjne i GUI Co to jest system operacyjny? Systemy operacyjne dla komputerów osobistych Graficzny interfejs uŝytkownika Windows jako przykład GUI 2
System operacyjny Jest zestawem programów umoŝliwiających zarządzanie komputerem oraz danymi w pamięci operacyjnej i zewnętrznej. Podstawowymi funkcjami SO są: 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ą. 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), 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. 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. 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, synchronizację współpracy 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. 7
Podstawowe cechy SO wielowątkowość 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. 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 8
Podstawowe cechy SO Klasyfikacja SO z punktu widzenia moŝliwości jednoczesnej realizacji wielu programów i pracy wielu uŝytkowników w tym samym czasie: jednoprogramowe, jednodostępne, wieloprogramowe, jednodostępne, wieloprogramowe, wielodostępne, jednoprogramowe, wielodostępne. 9
SO dla komputerów osobistych 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. 10
Od Windows 1.0 do Windows XP Źródło: old.wb.pb.edu.pl/materialy/kos/andraka%20dariusz/pinfo7b.pdf 11
SO - nazwy zbiorów (plików) 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 nazwy zazwyczaj słuŝy do identyfikowania typu pliku. 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). Katalogi wraz z podkatalogami tworzą na dyskach struktury zwane drzewami (tree). 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. 13
SO -ścieŝka dostępu do pliku 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. 14
Interfejs uŝytkownika 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ń. Następne 5 slajdów Źródło: Ian Sommerville, InŜynieria oprogramowania, WNT 2005. 15
Interfejs uŝytkownika 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. 16
Projektowanie interfejsu uŝytkownika Zanalizuj i rozpoznaj czynności uŝytkownika Opracuj papierowy prototyp projektu Oceń projekt z uŝytkownikami Zaprojektuj prototyp Zbuduj dynamiczny prototyp obiektu Wykonywalny prototyp Oceń projekt z uŝytkownikami Zaimplementuj docelowy interfejs uŝytkownika 17
Projektowanie interfejsu uŝytkownika Zasada Opis ZbliŜenie do Interfejs powinien posługiwać się pojęciami i kategoriami wziętymi z uŝytkownika 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 UŜytkownicy nie powinni być zaskakiwani zachowaniem systemu. niespodzianek MoŜliwość Interfejs powinien obejmować mechanizmy, które umoŝliwiają wycofania uŝytkownikom wycofanie się z błędów. Porady dla Interfejs powinien przekazywać znaczące informacje zwrotne, gdy uŝytkownika dochodzi do błędów; powinien teŝ oferować pomoc, której treść zaleŝy od kontekstu. RozróŜnianie interfejs powinien oferować udogodnienia do interakcji dostosowane uŝytkowników do róŝnych rodzajów uŝytkowników systemu. 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 poleceń, język naturalny. 19
Projektowanie interfejsu uŝytkownika 20
Graficzny interfejs uŝytkownika Cechy wyróŝniające GUI: 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. 21
Elementy interfejsu pulpit okno ikona menu wskazywanie 22
GUI jednolity wygląd i obsługa 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. 23
GUI jednolity wygląd i obsługa 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. 24
GUI kolor i rozdzielczość 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ę. 25
GUI kolor i rozdzielczość 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. 26
GUI WYSIWYG 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. 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. 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ę. 29
Interfejs uŝytkownika - przyszłość Szybkość Rozdzielczość Rozmiar i kształt Przyszłość: ruch Przyszłość: komunikowanie głosem 30