Komputer osobisty - Katedra Informatyki > Home
Transkrypt
Komputer osobisty - Katedra Informatyki > Home
Wstęp do Informatyki Świat komputerów Komputer osobisty (Personal Computer) Cezary Bolek [email protected] Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Superkomputery – obliczenia naukowe Komputery wbudowane (embedded) – sterowanie urządzeniami, przetwarzanie sygnałów, etc. Komputery osobiste (PC) Wstęp do Informatyki [email protected] 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 Układy we/wy In/Out monitor (projektor), drukarka (ploter), głośnik, inne akcesoria ukierunkowane na sterowanie. 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 [email protected] Wstęp do Informatyki [email protected] 1 „Standardy” i rzeczywistość „Komputer typu PC”: Procesor zgodny z architekturą Intel 80x86 Architektura wywodząca się z IBM PC System operacyjny firmy Microsoft DuŜa róŜnorodność procesorów do komputerów osobistych i roboczych. ZróŜnicowanie architektur typu PC (desktop, laptop (notebook), palmtop, tablet, etc. RóŜne systemy operacyjne (MacOS, Linux, PalmOS, etc...) Wstęp do Informatyki [email protected] Kompatybilność Komputer osobisty Komputer fizyczny: procesor, pamięć, płyta główna, karty rozszerzeń, monitor, etc... Komputer logiczny: programy, dokumenty, katalogi, pliki danych, etc... Komputer wirtualny: interfejs uŜytkownika, look&feel, WWW 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. Wstęp do Informatyki [email protected] 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. Kompatybilność sprzętowa: Komputery są kompatybilne (compatible) jeśli oba mogą poprawnie wykonywać te same programy (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 [email protected] 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ść 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) Wstęp do Informatyki [email protected] 2 Kompatybilność – nieporozumienia 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ę” Emulacja 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. 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 Wstęp do Informatyki [email protected] System operacyjny UŜytkownik Program Program Programy dla Windows Komputery PC z systemem Unix Programy dla systemu Unix Komputery PC z Windows Programy dla telefonów komórkowych i palmtopów Komputery PC z Windows [email protected] Zarządzanie systemem pamięci (procesy, multi-tasking) 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. 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 Windows, Unix 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. Interfejs uŜytkownika Programy dla komputerów 8bitowych (gry) Sterowniki urządzeń we/wy RTOS dla PC: QNX, RTLinux 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 [email protected] Wstęp do Informatyki [email protected] 3 System operacyjny single-user single-task System operacyjny single-user multi-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 [email protected] System operacyjny multi-user (multi-task) multi-user w danym momencie z komputera moŜe korzystać wielu uŜytkowników, którzy mogą wykonywać wiele programów. Systemy multi-user są wyposaŜone w wyrafinowane metody podziału zasobów komputera dla uŜytkowników i procesów (scheduler) PC: Windows 3.x, 9x, NT, 2000, XP, MacOS Komputery kieszonkowe (Win CE) Wstęp do Informatyki [email protected] Programy i procesy Program – plik na dysku zawierający instrukcje procesora oraz swoje dane. Proces – program załadowany do pamięci operacyjnej komputera i uruchomiony (kod+dane+kontekst procesora). Proces w pamięci Program (instrukcje) Kontekst (zawartość rejestrów procesora dla danego programu) + Dane programu PC: Unix (Linux), VMS, ... Procesor (CPU) Pamięć operacyjna RAM Wstęp do Informatyki [email protected] Wstęp do Informatyki [email protected] 4 Procesy i multi-tasking Procesy i multi-tasking A B C Jądro systemu Scheduler lista procesów systemu System operacyjny adres procesu k czas adres procesu m System z podziałem czasu procesora (time-sharing) Proces aktywny Proces uśpiony Kod k-ty proces w pamięci Dane A B C Kontekst Kod m-ty proces w pamięci Dane czas Kontekst System z podziałem czasu wielu procesorów Proces aktywny – CPU1 Proces aktywny – CPU2 Proces uśpiony Pamięć operacyjna systemu komputerowego Wstęp do Informatyki Wstęp do Informatyki [email protected] Pamięć wirtualna System operacyjny Pamięć wirtualna System operacyjny CPU Dane Adres wirtualny Proces M Proces A Proces B Proces C Proces A Adres fizyczny Proces C Pamięć fizyczna (RAM) Proces M Proces N Pamięć wirtualna (dysk twardy) Wstęp do Informatyki [email protected] Rozkaz ładowania do pamięci fizycznej Ŝądanego fragmentu pamięci wirtualnej [email protected] Memory Management Unit (MMU) Rozmiar pamięci wirtualnej jest duŜo większy od rozmiarów dostępnej pamięci fizycznej (GB, TB). Procesor (programy) traktują pamięć wirtualną jako normalnie dostępną i odwołują się do niej za pomocą adresów wirtualnych. Blok MMU (obecnie część procesora) tłumaczy adresy ładuje Ŝądaną stronę wirtualną do pamięci fizycznej i tłumaczy adresy wirtualne na fizyczne. Pamięć wirtualna jest realizowana jako tzw. plik wymiany (swap file - Windows) lub jako oddzielny fragment twardego dysku (partycja swap – Linux) Wstęp do Informatyki [email protected] 5 Interfejs uŜytkownika (IU) Historia IU UŜytkownicy Program pośredniczący pomiędzy uŜytkownikiem a systemem operacyjnym i sprzętem komputera. Generacje komputerów moŜna klasyfikować według ich interfejsu uŜytkownika Nowa dziedzina wiedzy: pogranicze technologii informatycznych, psychologii i ergonomii – „komunikacja człowiek-komputer” Miniaturyzacja elektroniki i nowe wyzwania dla interfejsów uŜytkownika. Wstęp do Informatyki [email protected] Tekstowy IU eksperci kalkulator Interfejs uŜytkownika Ŝaden 1955-1965 naukowcy obliczenia tekstowy – prosty język poleceń 1965-1985 przeszkoleni pracownicy przetwarzanie danych tekstowy – rozbudowany język poleceń, semi-grafika 1985-1995 zainteresowani narzędzie pracy i rozrywki 1995-2006 znaczna część społeczeństwa praca, komunikacja, rozrywka graficzny – polecenia do wyboru, formularze multimedialny – kontekstowy 2007- niemal wszyscy osobisty asystent Wstęp do Informatyki intuicyjny (?) [email protected] Tekstowy IU – interfejs funkcyjny Zalety: małe wymagania sprzętowe moŜliwość obsługi zdalnej duŜa szybkość i wydajność duŜe moŜliwoś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 1945-1955 Przeznaczenia [email protected] Orientacja na funkcje systemu: tworzenie, kopiowanie, usuwanie, edycja, uruchamianie etc... plików programów i danych, zarządzanie procesami i pamięcią copy /B /V a:\plik c:\dokumenty\plik najpierw polecenie (funkcja systemu) Wstęp do Informatyki później czego dotyczy polecenie [email protected] 6 Graficzny IU Graficzny IU – interfejs obiektowy Zalety: polecenia i opcje do wyboru wybór poprzez wskazywanie wizualizacja efektów działania np. Sprawdzenie zajętości miejsca na dysku i rozmiarów katalogów za pomocą wizualizacji graficznej daje natychmiastowe zrozumienie otrzymanych wyników. 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 [email protected] Graficzny IU – interfejs zadaniowy Orientacja na obiekty systemu: pliki i katalogi: programy, dokumenty, obrazki, etc. najpierw obiekt systemu później jaka operacja ma być na nim wykonana Wstęp do Informatyki [email protected] Interfejsy przyszłości 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 nie jest istotne (dla uŜytkownika) w jakim pliku i katalogu znajdzie się wynik działania programu Wstęp do Informatyki [email protected] Programy agentowe i asystenckie Bio-interfejsy uŜytkownika Wstęp do Informatyki [email protected] 7 PC? Wstęp do Informatyki [email protected] 8