Technologia informacyjna Oprogramowanie systemowe i użytkowe. Systemy operacyjne. Dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017
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 W postaci elektronicznej Dostarczenie wraz ze sprzętem (OEM) 6
Dystrybucja oprogramowania na nośnikach twardych CD-ROM, DVD-ROM, BD-ROM, USB PenDrive, HDD wcześniej dyskietki oraz inne już nie używane nośniki danych Zalety: Łatwe odtworzenie zawartości po awarii lub skasowaniu Problemy: wysoki koszt produkcji, narzuty pośredników, Brak możliwości aktualizacji skomplikowana ochrona przez kopiowaniem, Konieczność posiadania sieci dystrybucji, etc. 7
Dystrybucja oprogramowania w formie 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 dystrybucji, brak pośredników Wady: Użytkownik posiada wirtualną licencję, jest narażony na jej łatwą utratę Wymuszenie aktualizacji oprogramowania na użytkownikach 8
Dystrybucja oprogramowania w formie OEM OEM (ang. Original Equipment Manufacturer) sposób dystrybucji oprogramowania wraz ze sprzętem Oprogramowanie jest preinstalowane Brak możliwości przeniesienia na inny sprzęt (ograniczona licencja) 9
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 prawem 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 10
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. 11
Licencja: przykład Product: Microsoft Office 2016 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 12
Wybrane rodzaje licencji 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 PD (Public domain) prawa należą do społeczeństwa MOLP (Microsoft Open License Program) dedykowana większym gronom użytkowników 13
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 14
Rodzaje oprogramowania Systemowe Systemy operacyjne Sterowniki urządzeń Firmware Użytkowe Biurowe Grafika komputerowa Programowanie Narzędzia Antywirusy Etc. 15
Oprogramowanie systemowe Cel: zapewnienie użytkownikowi możliwości pracy na komputerze Użytkownik System operacyjny Sterowniki urządzeń Firmware / BIOS Komputer 16
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) 17
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 18
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 19
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 Android, Windows Mobile, etc. 20
Podstawowe moduły 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 21
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 22
Moduł zarządzania procesami Windows 10 23
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 24
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 25
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 26
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 27
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) 28
Moduł zarządzania bezpieczeństwem Logowanie użytkownika Szyfrowanie katalogów prywatnych Ochrona antywirusowa Zapora sieciowa (ang. firewall) Kopie bezpieczeństwa 29
Sterowniki urządzeń Sterownik (ang. driver) oprogramowanie systemowe realizujące lub umożliwiające dostęp do funkcji urządzenia sprzętowego Sterownik 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 30
Firmware Oprogramowanie przygotowane przez producenta sprzętu, przeznaczone do sterowania sprzętem 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 31
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 32
Przykładowy ekran ustawień BIOS 33
Oprogramowanie użytkowe Oprogramowanie biurowe Grafika komputerowa Oprogramowanie do tworzenia oprogramowania Multimedia i Internet Inne 34
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. 35
Grafika komputerowa Programy do obróbki oraz prezentacji zdjęć Programy do projektowania grafiki Programy do animacji 3D Itp. 36
Oprogramowanie do tworzenia oprogramowania Edytory kodów źródłowych Kompilatory Zintegrowane środowiska projektowania aplikacji Itp. 37
Multimedia i Internet Przeglądarki internetowe Programy pocztowe Komunikatory Odtwarzacze muzyki oraz filmów Programy do montażu audio oraz wideo 38
Inne oprogramowanie Edukacja Słowniki komputerowe Programy do nauczania Tłumacze komputerowe E-learning (zdalne nauczanie) Gry komputerowe Narzędzia 39
Systemy operacyjne dla komputerów personalnych 40
Rozwój OS firmy Microsoft 41
System operacyjny MS-DOS 42
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 43
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 44
System operacyjny Windows 3.1 45
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 46
System operacyjny Windows 95 47
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) 48
System operacyjny Windows 98 49
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.) 50
System operacyjny Windows XP 51
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. 52
System operacyjny Windows Vista 53
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 54
System operacyjny Windows 7 55
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 56
System operacyjny Windows 8 57
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 58
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 59
Popularność OS Windows https://thewincentral.com/windows-7-shows-better-growth-windows-10-may-2017-windows-xp-declines-sharply/ 60
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 61
Genealogia systemów Linux 62
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. 63
Pulpit Linux Ubuntu 9.10 64
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 65
Pulpit OS X 10.10 66
Systemy operacyjne dla urządzeń mobilnych Android ios Windows Phone BlackBerry OS Symbian Samsung Bada MeeGo, Tizen Palm OS 67
Serwerowe systemy operacyjne OpenVMS (forma DEC, komputery VAX hist.) Microsoft Windows Server IMB z/os, Oracle OpenSolaris (mainframe) 68