Wstęp do informatyki Komputer osobisty (Personal Computer) Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Świat komputerów Superkomputery obliczenia naukowe Komputery wbudowane (embedded) sterowanie urządzeniami, przetwarzanie sygnałów, etc. Komputery osobiste (PC) Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 2 Sprzęt (Hardware) Pamięć operacyjna ROM, RAM Jednostka centralna CPU Układy we/wy In/Out Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 3 1
Komputer osobisty 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: 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 Cezary Bolek <cbolek@ki.uni.lodz.pl> 4 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 Cezary Bolek <cbolek@ki.uni.lodz.pl> 5 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 Cezary Bolek <cbolek@ki.uni.lodz.pl> 6 2
Kompatybilność... wzajemnie się uzupełniający; zgodny, współgrający z czymś 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 Cezary Bolek <cbolek@ki.uni.lodz.pl> 7 Kompatybilność w dół i w górę Kompatybilność w dół (downward compatibility): 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 Cezary Bolek <cbolek@ki.uni.lodz.pl> 8 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ę 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 <cbolek@ki.uni.lodz.pl> 9 3
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. Programy dla komputerów 8- bitowych (gry) Programy dla Windows Programy dla systemu Unix Programy dla telefonów komórkowych i palmtopów Komputery PC z systemem Windows, Unix Komputery PC z systemem Unix Komputery PC z Windows Komputery PC z Windows Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 10 System operacyjny Oprogramowanie, który umoŝliwia zarządzenie zasobami komputera i kontrolowane uruchamianie innych programów, bez znajomości szczegółów sprzętowych komputera. UŜytkownik Interfejs uŝytkownika Program Program Program Interfejs funkcji systemowych (API) Zarządzanie systemem plików (programy i dane) Zarządzanie systemem pamięci (procesy, multi-tasking) Sterowniki urządzeń we/wy Sprzęt komputera (Hardware) Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 11 Systemy operacyjne czasu rzeczywistego 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. Systemy operacyjne typu RT zwykle stosuje się do komputerów wbudowanych, gdzie brak reakcji komputera moŝe mieć tragiczne konsekwencje. RTOS dla PC: QNX, RTLinux np. sterowanie lotem pocisku rakietowego (czas reakcji rzędu 10-6 s) system realizacji transakcji finansowych (czas reakcji rzędu 10 2 s) Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 12 4
System operacyjny single-user single-task 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 PC: DOS Disk Operating System Komputery kieszonkowe (Palm OS) Telefony komórkowe Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 13 System operacyjny single-user multi-task single-user tylko jeden uŝytkownik moŝe korzystać z komputera jednocześnie multi-task wiele programów moŝe być wykonywanych przez komputer jednocześnie PC: Windows 3.x, 9x, NT, 2000, XP, MacOS Komputery kieszonkowe (Win CE) Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 14 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: Unix (Linux), VMS,... Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 15 5
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). Program Proces (instrukcje) w pamięci + Dane programu Kontekst (zawartość rejestrów procesora dla danego programu) Pamięć operacyjna RAM Procesor (CPU) Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 16 Procesy i multi-tasking lista procesów systemu Jądro systemu Scheduler adres procesu k adres procesu m System operacyjny k-ty proces w pamięci Kod Dane Kontekst m-ty proces w pamięci Kod Dane Kontekst Pamięć operacyjna systemu komputerowego Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 17 A B C Procesy i multi-tasking System z podziałem czasu procesora (time-sharing) Proces aktywny Proces uśpiony czas A B C System z podziałem czasu wielu procesorów czas Proces aktywny CPU1 Proces aktywny CPU2 Proces uśpiony Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 18 6
Pamięć wirtualna System operacyjny Proces A Proces B Proces C Proces M System operacyjny Proces M Proces C Proces A Pamięć fizyczna (RAM) Dane Adres fizyczny CPU Memory Management Unit (MMU) Adres wirtualny Proces N Pamięć wirtualna (dysk twardy) Rozkaz ładowania do pamięci fizycznej Ŝądanego fragmentu pamięci wirtualnej Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 19 Pamięć wirtualna 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 Cezary Bolek <cbolek@ki.uni.lodz.pl> 20 Interfejs uŝytkownika (IU) 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 Cezary Bolek <cbolek@ki.uni.lodz.pl> 21 7
Historia IU UŜytkownicy Przeznaczenia Interfejs uŝytkownika 1945-1955 eksperci kalkulator Ŝaden 1955-1965 naukowcy obliczenia tekstowy prosty język poleceń 1965-1985 przeszkoleni pracownicy przetwarzanie danych 1985-1995 zainteresowani narzędzie pracy i rozrywki 1995-2006 znaczna część społeczeństwa praca, komunikacja, rozrywka tekstowy rozbudowany język poleceń, semi-grafika graficzny polecenia do wyboru, formularze multimedialny kontekstowy 2007- niemal wszyscy osobisty asystent intuicyjny (?) Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 22 Tekstowy IU 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 Cezary Bolek <cbolek@ki.uni.lodz.pl> 23 Tekstowy IU interfejs funkcyjny 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) później czego dotyczy polecenie Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 24 8
Graficzny IU 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 Cezary Bolek <cbolek@ki.uni.lodz.pl> 25 Graficzny IU interfejs obiektowy 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 Cezary Bolek <cbolek@ki.uni.lodz.pl> 26 Graficzny IU interfejs zadaniowy Orientacja na zadania systemu: tworzenie dokumentu, czytanie poczty, odtwarzanie muzyki, etc. Win XP 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 Cezary Bolek <cbolek@ki.uni.lodz.pl> 27 9
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 Interpretacja zadań uŝytkownika Swobodna forma i składnia poleceń Wysoki stopień abstrakcji operacji systemu ZróŜnicowany i rozproszony interfejs we/wy Programowanie poprzez demonstrację Programy agentowe i asystenckie Bio-interfejsy uŝytkownika Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 28 PC? Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 29 10