Technologia informacyjna Oprogramowanie Dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2016
Plan wykładu Pojęcie oprogramowania Rodzaje oprogramowania Oprogramowanie systemowe Systemy operacyjne Oprogramowanie użytkowe 2
Definicja Oprogramowanie (ang. Software) niematerialna część komputera zapewniająca wraz ze sprzętem możliwość jego poprawnego funkcjonowania oraz rozwiązania określonych zadań Poszczególne działy Informatyki poruszają zagadnienia: Projektowania oprogramowania Wytwarzania oprogramowania Użytkowania oprogramowania (TI) Administrowania oprogramowania Oprogramowanie działa na wielu poziomach komputera Bez oprogramowania komputer jest bezużyteczny 3
Zadania oprogramowania Umożliwienie uruchomienia komputera Realizacja interfejsu użytkownika Zapewnienie współpracy z urządzeniami wejścia/wyjścia Obsługa systemu plików Realizacja algorytmów rozwiązujących zadania użytkowników (nie zawsze związanych bezpośrednio z informatyką): Obliczenia matematyczne, grafika, medycyna, biologia, komunikacja, gry komputerowe, nauczanie, etc. 4
Wytwarzanie oprogramowania Sporządzenie wymagań Analiza obiektowa Projektowanie Implementacja i testowanie Wdrożenie i wsparcie 5
Metody dystrybucji oprogramowania Na nośnikach twardych CD-ROM, DVD-ROM, USB PenDrive, wcześniej dyskietki oraz inne nośniki danych Problemy: wysoki koszt produkcji, narzuty pośredników, skomplikowana ochrona przez kopiowaniem, sieci dystrybucji, etc. W postaci elektronicznej Udostępnienie przez WWW lub inny serwer sieciowy: Gotowego programu Kodów źródłowych do programu Centra dystrybucji oprogramowania (Microsoft Store, Google Play, etc. ) Zalety: możliwość identyfikacji nabywcy oraz personifikacji oprogramowania, łatwiejsza obsługa płatności, niższe koszty Dostarczenie wraz ze sprzętem 6
Prawo autorskie a programowanie Programowanie jest procesem twórczym Produktem programowania jest program komputerowy chroniony przez prawo autorskie Algorytmu - jako metody rozwiązania określonego problemu - nie można opatentować Programy są chronione prawe autorskim niezależnie od tego czy dzieło jest zarejestrowane Należy rozróżniać prawo do użytkowania programu a prawo do modyfikacji jego kodu źródłowego Autor oprogramowania określa warunki jego użytkowania za pomocą licencji 7
Licencja na oprogramowanie Licencja umowa pomiędzy autorem oprogramowania a jego użytkownikiem Określa zasady nabycia oraz warunki użytkowania oprogramowania, m. innymi: Liczbę stanowisk na których można jednocześnie instalować program lub korzystać z niego Możliwości odsprzedaży osobom trzecim Liczba instalacji oraz czas użytkowania Warunki wykorzystania oprogramowania do działalności komercyjnej Możliwość wykorzystania kodu źródłowego Możliwość wykonania kopii nośnika z oprogramowaniem Etc. 8
Licencja: przykład Product: Microsoft Office 2013 Home & Students Liczba stanowisk: 1 Liczba instalacji: nieograniczona, ale nie częściej niż raz na 3 miesiące Możliwość odsprzedaży: nie Czas użytkowania: 4 lata Możliwość wykorzystania do pracy zarobkowej: nie 9
Rodzaje licencji (wybrane) Shareware wersja demonstracyjna ograniczona czasowo bądź funkcjonalnie Trialware wersja w pełni funkcjonalna ograniczona czasowo Freeware wolne oprogramowanie (p. dalej) Adware - bezpłatnie, ale z reklamami BOX wersja pudełkowa OEM (ang. Original Equipment Manufacture) sprzedaje się wraz ze sprzętem PD (Public domain) prawa należą do społeczeństwa MOLP (Microsoft Open License Program) dedykowana większym gronom użytkowników 10
Freeware (Free Software) Oprogramowanie, którego można używać, kopiować oraz modyfikować w dowolny sposób nie narażając się na konsekwencje prawne Kod źródłowy musi być otwarty i dostępny Wynik modyfikacji (udoskonalenia) również powinien być dostępny dla społeczeństwa Oprogramowania można używać do dowolnego celu Licencja GNU 11
Rodzaje oprogramowania Systemowe Systemy operacyjne Sterowniki urządzeń Firmware Użytkowe Biurowe Grafika komputerowa Programowanie Narzędzia Antywirusy Etc. 12
Oprogramowanie systemowe Cel: zapewnienie użytkownikowi możliwości pracy na komputerze Użytkownik System operacyjny Sterowniki urządzeń Firmware / BIOS Komputer 13
System operacyjny - OS System operacyjny (ang. Operating System, OS) - oprogramowanie systemowe zapewniające użytkownikowi podstawową komunikację z komputerem i możliwość uruchamiania innych aplikacji (programów) 14
Zadania systemu operacyjnego Obsługa komunikacji pomiędzy użytkownikiem i komputerem Nadzorowanie wymiany danych pomiędzy urządzeniami zewnętrznymi i jednostką centralną Zarządzanie pamięcią wewnętrzną Organizowanie odczytu i zapisu danych Uruchamianie programów użytkowych Sygnalizacja błędów i awarii 15
Cechy systemów operacyjnych Duża złożoność oprogramowania Miliony linijek kodu źródłowego Algorytmy zorientowane na pracę ze sprzętem Problemy kompatybilności Obsługa wielu zadań wykonywanych jednocześnie Obsługa wielu użytkowników Konta i uprawnienia użytkowników Wirtualizacja możliwość udostępniania każdemu z użytkowników własnej maszyny wirtualnej Ogromna liczba użytkowników na całym świecie Problemy regionalizacji 16
Rodzaje OS wg przeznaczenia Systemy operacyjne biurowe (syn. domowe, desktopowe) Windows, Linux, etc. Systemy operacyjne serwerowe Windows Server, Unix Server, etc. Systemy operacyjne wbudowane Np. oprogramowanie bankomatu Systemy operacyjne mobilne Windows Mobile, Android, Symbian, etc. 17
Składowe OS Moduł zarządzania procesami Moduł zarządzania systemem I/O Moduł zarządzania pamięcią Moduł zarządzania sieciami Moduł zarządzania plikami Moduł zarządzania bezpieczeństwem 18
Moduł zarządzania procesami Proces program lub fragment programu wykonujący się wg własnego algorytmu oraz mający przydzielone zasoby: Pamięć Pliki Procesor Proces może być systemowym lub użytkowym Proces systemowy uruchamia się bez konieczności logowania na określone konto 19
Moduł zarządzania procesami Windows 10 20
Moduł zarządzania pamięcią Pamięć jest magazynem wspólnym dla wszystkich wykonujących się procesów Zadania modułu: Przydzielanie pamięci nowym procesom Ewidencja zajętych obszarów pamięci Identyfikacja właściciela obszaru Identyfikacja obszarów należących do procesu Zwalnianie obszarów pamięci 21
Moduł zarządzania plikami Plik trwała struktura danych przechowywana na nośniku zewnętrznym Pliki przechowują programy lub dane użytkownika Zadania modułu: Zarządzanie nośnikami danych (napędy, stacje, dyski) Tworzenie, edytowanie i usuwanie plików lub katalogów Rozwiązywanie problemów wspólnego dostępu Zapewnienie bezpieczeństwa systemu plików 22
System plików OS Windows Urządzenie fizyczne (dysk twardy) może być podzielone na partycje obszary logiczne Moduł zarządzania plikami OS Urządzenie fizyczne 0 Partycja 0 Partycja 1 Partycja 2 Urządzenie fizyczne 1 Partycja 0 Partycja 1 systemowa C: D: E: F: G: Użytkownik 23
Moduł zarządzania urządzeniami I/O (wejścia-wyjścia) Wykrywanie i instalacja sterowników Przydzielanie adresów urządzeniom Rozwiązanie konfliktów urządzeń Obsługa komunikacji z urządzeniami Ukrycie przed użytkownikiem szczegółów realizacji interfejsów urządzeń I/O 24
Moduł zarządzania siecią Implementacja protokołów komunikacji sieciowej (np. TCP/IP) Zarządzanie urządzeniami fizycznymi (sprzęt) Zarządzanie grupami roboczymi komputerów Zarządzanie zasobami współdzielonymi (wspólne pliki, katalogi, drukarki) 25
Moduł zarządzania bezpieczeństwem Logowanie użytkownika Szyfrowanie katalogów prywatnych Ochrona antywirusowa Zapora sieciowa (ang. firewall) Kopie bezpieczeństwa 26
Sterowniki urządzeń Sterownik (ang. driver) oprogramowanie systemowe realizujące lub umożliwiające dostęp do funkcji urządzenia sprzętowego Jest ładowany przy starcie systemu operacyjnego lub przy podłączeniu urządzenia Może być dostarczony przez producenta sprzętu lub producenta systemu operacyjnego Sterownik zależy od systemu operacyjnego oraz platformy sprzętowej 27
Firmware Oprogramowanie przygotowane przez producenta sprzętu Zapisane w pamięci stałej ROM urządzenia BIOS komputera oprogramowanie kontrolera dysków twardych oprogramowanie odtwarzacza MP3, itp. Firmware nie zależy od systemu operacyjnego i jest częścią integralną urządzenia Producenci mogą udostępniać aktualizacje firmware 28
BIOS BIOS (ang. Basic Input-Output System) jest rodzajem firmware, z którym użytkownik ma do czynienia przy włączeniu komputera Dokonuje wstępnego sprawdzenia sprzętu Umożliwia przeglądanie napędów w poszukiwaniu systemu operacyjnego Zapewnia komunikację systemu operacyjnego ze sprzętem Współczesne OS mogą pomijać ustawienia BIOS 29
Oprogramowanie użytkowe Oprogramowanie biurowe Grafika komputerowa Oprogramowanie do tworzenia oprogramowania Multimedia i Internet Etc. 30
Oprogramowanie biurowe Edytory tekstów Arkusze kalkulacyjne Programy do wykonania prezentacji multimedialnych Programy do projektowania stron internetowych Programy do projektowania systemów (architektura, inżynieria, informatyka itp.) Itp. 31
Grafika komputerowa Programy do obróbki oraz prezentacji zdjęć Programy do projektowania grafiki oraz animacji 3D Itp. 32
Oprogramowanie do tworzenia oprogramowania Edytory kodów źródłowych Kompilatory Zintegrowane środowiska projektowania aplikacji Itp. 33
Multimedia i Internet Przeglądarki internetowe Programy pocztowe Komunikatory Odtwarzacze muzyki oraz filmów Programy do montażu audio oraz wideo 34
Inne oprogramowanie Edukacja Słowniki komputerowe Programy do nauczania Tłumacze komputerowe E-learning (zdalne nauczanie) Gry komputerowe Narzędzia 35
Systemy operacyjne dla komputerów personalnych 36
Rozwój OS firmy Microsoft 37
System operacyjny MS-DOS 38
System operacyjny MS-DOS Microsoft Disk Operating System System operacyjny z interfejsem tekstowym Lata: 1981 1994 (samodzielny OS) Rozwijany jako część OS Windows do roku 2000 (Windows ME) Obsługiwany system plików: FAT (ang. File Allocation Table) Interpreter poleceń: COMMAND.COM 39
MS-DOS: wybrane polecenia Polecenie DIR CD COPY REN DEL MD / RD FORMAT Opis Wyświetl zawartość katalogu bieżącego Zmiana katalogu bieżącego Kopiuj plik(i) Zmień nazwę pliku lub katalogu Usuń plik lub katalog Utwórz / usuń katalog Formatowanie dysku lub partycji 40
System operacyjny Windows 3.1 41
System operacyjny Windows 3.1 Graficzny interfejs użytkownika ( okienka ) Nakładka na MS-DOS (!) Menedżer plików Czcionki TrueType Multimedia Wsparcie sieci (od 3.11) System 16-bitowy 42
System operacyjny Windows 95 43
Windows 95 Pulpit użytkownika: ikony, pasek zadań, przycisk [Start] Mechanizm wykrywania urządzeń Plug-n-Play Obsługa wielozadaniowości i wielowątkowości System plików FAT32 (do 32 GB HDD) System 32-bitowy (do 3 GB RAM) Internet Explorer (od wersji OSR2, 1996) 44
System operacyjny Windows 98 45
System operacyjny Windows 98 Następca Windows 95 (bardziej stabilny) Zmiany ewolucyjne: Obsługa USB Wsparcie DVD-ROM Nowa wersja Internet Explorer Pulpit aktywny (Active Desktop) itp. Jeden z najbardziej popularnych systemów Microsoft pod koniec lat 90. XX wieku (wspierany do 2006 r.) 46
System operacyjny Windows XP 47
Windows XP Połączenie gałęzi Windows 9.x + Windows NT/2000: Stabilność Wydajność Przyjazny interfejs System obsługi plików NTFS Eliminacja ograniczenia pojemności 32 GB dla HDD Aktywacja przez Internet (nowość!) Zapora internetowa (bezpieczeństwo) Wersje 32- oraz 64-bitowe (wydajność) Doczekał się trzech poprawek Service Pack (rozwój) Wsparcie zakończono dopiero w kwietniu 2014 r. 48
System operacyjny Windows Vista 49
Windows Vista Nowy interfejs użytkownika Aero, 3D, gadżety, etc. Zaawansowane usługi sieciowe, w tym protokół IPv6 Wbudowany antywirus Windows Defender Ochrona konta użytkownika UAC Szyfrowanie danych BitLocker Krytyka: B. duże wymagania sprzętowe (wolne działanie) Problemy z kompatybilnością programów XP Uciążliwy mechanizm UAC Problemy z IPv6 50
System operacyjny Windows 7 51
System operacyjny Windows 7 Możliwość zmiany języka interfejsu (tylko wybrane wersje) Wsparcie ekranów dotykowych Lepsza kompatybilność z urządzeniami I/O Windows XP Mode kompatybilność Uproszczenia UAC Większe bezpieczeństwo systemu Stabilność, wydajność, zgodność Zrezygnowano z widoków klasycznych XP Najbardziej popularny system MS od czasów XP 52
System operacyjny Windows 8 53
System operacyjny Windows 8 Nowy interfejs Metro (kafelki) Brak przycisku [Start] W wersji 8.1 wraca w zmodyfikowanej postaci Integracja z chmurą Microsoft (dysk OneDrive) Bardzo szybkie ładowanie systemu Sklep Windows Store Wstążka w Eksploratorze plików Zaawansowany menedżer zadań Rozszerzone wyszukiwanie programów, ustawień etc. Kontrowersje wokół rozwiązań interfejsowych 54
System operacyjny Windows 10 Przywrócenie menu Start (połączenie Metro & Classic) Dopracowanie interfejsu dla tabletów Możliwość uruchamiania programów z Windows Store w okienkach Przeglądarka Microsoft Edge Wirtualne pulpity Zgodnie z zapowiedzią MS, jest to ostatnia wersja Windows następne będą dystrybuowane jako aktualizacje 55
Popularność OS Windows 56
Systemy operacyjne Linux Linux rodzina systemów operacyjnych zbudowanych w oparciu o wspólne jądro systemu (ang. Linux kernel) Koncepcja oraz budowa Linux wywodzi się z rodziny systemów Unix, ale nie wykorzystuje jego kodu źródłowego 57
Genealogia systemów Linux 58
Zastosowanie systemów operacyjnych Linux Oprogramowanie serwerowe (WWW, poczta, pliki, FTP, bazy danych, etc.) Wysoka stabilność oraz niższy koszt utrzymania (w porównaniu np. z systemami Microsoft) Oprogramowanie biurowe i domowe Są dystrybucje (np. Ubuntu) które posiadają przyjazny okienkowy interfejs użytkownika Oprogramowanie superkomputerów Oprogramowanie urządzeń mobilnych Nawigacje, telefony komórkowe (np. Android) etc. 59
Pulpit Linux Ubuntu 9.10 60
Systemy operacyjne OS X System operacyjny przeznaczony dla komputerów Macintosh firmy Apple (dawniej Mac OS) Rozwijany: 1984 dziś Wykorzystuje koncepcje i rozwiązania Linux oraz własne patenty Apple Działa na sprzęcie dedykowanym Apple imac, Power Mac, MacBook, etc. Są też modyfikacje które można uruchomić na procesorach Intel Przyjazny interfejs użytkownika Ograniczony zbiór programów użytkowych 61
Pulpit OS X 10.10 62
Systemy operacyjne dla urządzeń mobilnych Palm OS Symbian Windows Mobile BlackBerry OS ios Android Samsung Bada Windows Phone MeeGo, Tizen 63
Serwerowe systemy operacyjne OpenVMS (forma DEC, komputery VAX hist.) Microsoft Windows Server IMB z/os, Oracle OpenSolaris (mainframe) 64