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