Document Details

Uploaded by Deleted User

Tags

operating systems Linux computer science programming

Summary

This document includes questions on operating systems, covering topics such as the history of Linux and GNU, characteristics of Linux systems like multitasking and multi-processing, and the concept of pipes.

Full Transcript

ZAKRES PYTAŃ NA EGZAMIN Z PRZEDMIOTU „SYSTEMY OPERACYJNE” 1.​ Powstanie i rozwój systemu Linux. Projekt GNU (twórca projektu, założenia projektu, zakres projektu). Rozwój systemu Linux; Pomysłodawcą projektu GNU był Richard Stallman z MIT. Projekt GNU postawił na pierwszym miejscu:...

ZAKRES PYTAŃ NA EGZAMIN Z PRZEDMIOTU „SYSTEMY OPERACYJNE” 1.​ Powstanie i rozwój systemu Linux. Projekt GNU (twórca projektu, założenia projektu, zakres projektu). Rozwój systemu Linux; Pomysłodawcą projektu GNU był Richard Stallman z MIT. Projekt GNU postawił na pierwszym miejscu: - wolność uruchamiania programu w dowolnym celu; - wolność analizowania działania programu oraz dostosowywania go do własnych potrzeb; - wolność rozpowszechniania kopii programu; - wolność udoskonalania programu i rozpowszechniania własnych ulepszeń. W ramach projektu pierwszym programem był EMACS By zebrać fundusze na utrzymanie projektu Stallman utworzył FSF – Free Software Foundation Pracownicy FSF napisali bibliotekę C oraz powłokę BASH W 1991 roku Linus Thorvalds napisał jądro systemu operacyjnego(kernel), który w połączeniu z bibliotekami języka C, powłoką BASH oraz kompilatorem stworzył kompletny system GNU/Linux 2.​ Cechy charakterystyczne systemów Linux: wielodostęp, wielozadaniowość, obsługa wieloprocesorowości, wywłaszczalne jądro, moduły (sterowniki) obsługi urządzeń, pamięć wirtualna ze stronnicowaniem, dynamiczna pamięć podręczna dysku twardego, biblioteki współdzielone dynamicznie ładowane do pamięci, standard POSIX; ​ Wielodostęp – Zdolność systemu operacyjnego do obsługi wielu użytkowników jednocześnie, z zapewnieniem odpowiednich zasobów dla każdego z nich. ​ Wielozadaniowość – Zdolność systemu operacyjnego do równoczesnego wykonywania wielu zadań (procesów) przez jednego użytkownika lub wielu użytkowników. ​ Obsługa wieloprocesorowości – Umożliwienie wykorzystania wielu procesorów w systemie operacyjnym do równoległego przetwarzania zadań, zwiększając wydajność. ​ Wywłaszczalne jądro – Typ jądra, które może przerywać (wywłaszczać) procesy w celu przydzielenia procesora innym, wyższej priorytetowym procesom. ​ Moduły (sterowniki) obsługi urządzeń – Programy, które pozwalają systemowi operacyjnemu komunikować się z urządzeniami sprzętowymi (np. dyskami, kartami graficznymi), umożliwiając ich prawidłowe działanie. ​ Pamięć wirtualna ze stronnicowaniem – Technika zarządzania pamięcią, która pozwala systemowi operacyjnemu używać dysku twardego jako rozszerzenie pamięci RAM, przechowując nieaktywne dane w postaci stron. ​ Dynamiczna pamięć podręczna dysku twardego – Mechanizm, który przyspiesza dostęp do danych na dysku poprzez przechowywanie często używanych danych w szybszej pamięci (RAM). ​ Biblioteki współdzielone dynamicznie ładowane do pamięci – Zbiory funkcji i procedur, które mogą być używane przez różne programy, ładowane do pamięci tylko w momencie potrzeby (np. DLL w Windows,.so w Linuxie). ​ Standard POSIX – Zbiór standardów określających interfejsy systemowe, które zapewniają zgodność i przenośność oprogramowania między różnymi systemami Unixowymi 3.​ Mechanizm przekierowania danych (potok, pipe). Do czego służy, jak się go wywołuje (jakimi znakami); ​ Potok(pipe) jest koncepcją polegającą na łączeniu wyjścia jednego programu z wejściem innego ​ Do tworzenia potoku w oprogramowaniu służy wywołanie systemowe pipe() z pliku nagłówkowego. Przyjmuje ono jeden argument, będący tablicą składającą się z dwóch deskryptorów plików. ​ Do tworzenia potoków przesyłających dane ze standardowego wyjścia jednego programu do standardowego wyjścia drugiego w powłoce poleceń używany jest znak |. Użycie to ma postać: $ | 4.​ Powłoka systemu Linux (Shell). Funkcje powłoki. Rodzaje powłok. Typy programów uruchamianych z powłoki. Podstawowe polecenia powłoki; ​ Funkcje powłoki: interpreter poleceń, uruchamianie demonów w systemie Linux, interfejs wiersza poleceń, przypisywanie parametrów oraz przełączników ​ Rodzaje powłok: BASH (Bourne Again Shell), zsh(Z Shell), fish(Friendly Interactive Shell), ksh(Korn Shell) ​ Programy uruchamiane z powłoki to demony np. crontab służący do sprawdzania co minutę zadań które komputer ma wykonać 5.​ Start systemu operacyjnego Linux: BIOS/UEFI, procedura POST, główny rekord rozruchowy, programy ładujące LILO i GRUB, proces init, poziomy uruchomieniowe systemu Linux (run levels), skrypty uruchomieniowe z katalogu /etc/init.d; ❖​ BIOS/UEFI: Oprogramowanie niskiego poziomu inicjalizujące sprzęt i uruchamiające proces ładowania systemu operacyjnego. ❖​ Procedura POST: Diagnostyka sprzętu przeprowadzana przez BIOS/UEFI w celu sprawdzenia poprawności działania komponentów przed uruchomieniem systemu. ❖​ Główny rekord rozruchowy (MBR): Pierwszy sektor dysku twardego zawierający kod rozruchowy i tablicę partycji. ❖​ Programy ładujące LILO i GRUB: Bootloadery umożliwiające wybór i załadowanie systemu operacyjnego. ❖​ Proces init: Pierwszy proces uruchamiany przez jądro, odpowiedzialny za inicjalizację systemu i zarządzanie procesami. ❖​ Poziomy uruchomieniowe systemu Linux (run levels): Predefiniowane stany pracy systemu określające dostępne usługi i funkcje. ❖​ Skrypty uruchomieniowe z katalogu /etc/init.d: Skrypty startowe odpowiedzialne za inicjalizację i zarządzanie usługami podczas startu systemu. 6.​ Ładowanie systemu operacyjnego Linux za pomocą obrazu startowego (plik initrd); Plik initrd zawiera skompresowany system plików root. Plik initrd nazywany jest obrazem startowym. Aby otrzymać plik initrd najpierw tworzy się archiwum plików root za pomocą programu cpio a następnie pakuje się to archiwum programem gzip. 7.​ Polecenia zamykające system Linux i ich funkcjonalność (shutdown, halt, reboot, poweroff); shutdown wyłącza zasilanie systemu oraz można ustawić parametr decydujący kiedy to nastąpi, halt zapisuje dane na dysku następnie zatrzymuje procesor ale nie może wyłączyć fizycznie maszyny, reboot uruchamia system od nowa , poweroff wyłącza zasilanie systemu lecz nie można ustawić parametru czasowego. 8.​ X Window System: menedżer logowania, serwer X, menedżer okien, biblioteka elementów kontrolnych, architektura klient-serwer środowiska X Window, zmienna DISPLAY, mechanizmy uwierzytelniania X Window (xhost i magic cookie), środowiska graficzne KDE i GNOME (ich charakterystyka); ❖​ Menedżer logowania: Aplikacja graficzna umożliwiająca użytkownikom logowanie do systemu i wybór środowiska graficznego. ❖​ Serwer X: Program obsługujący wyświetlanie grafiki i interakcję z urządzeniami wejścia w środowisku X Window. ❖​ Menedżer okien: Komponent zarządzający wyglądem i działaniem okien, w tym ich rozmieszczeniem, dekoracjami i interakcjami. ❖​ Biblioteka elementów kontrolnych: Zbiór narzędzi do tworzenia interfejsów graficznych, takich jak przyciski, pola tekstowe i menu. ❖​ Architektura klient-serwer środowiska X Window: Model, w którym serwer X obsługuje urządzenia wyjścia i wejścia, a aplikacje (klienci) wysyłają żądania wyświetlania grafiki. ❖​ Zmienna DISPLAY: Wskaźnik określający serwer X i ekran, na którym mają być wyświetlane aplikacje. ❖​ Mechanizmy uwierzytelniania X Window (xhost i magic cookie): Metody kontroli dostępu do serwera X, gdzie xhost definiuje listę hostów, a magic cookie zapewnia unikalne tokeny autoryzacji. ❖​ Środowiska graficzne KDE i GNOME: Kompleksowe platformy graficzne oferujące zestawy aplikacji, integrację i narzędzia dla użytkowników X Window. 9.​ Kontrola dostępu w Linux: ogólne zasady kontroli dostępu, polecenia su i sudo, plik sudoers, polecenia chown, chgrp; ❖​ Ogólne zasady kontroli dostępu: Mechanizmy kontroli dostępu w Linuxie opierają się na przypisywaniu uprawnień do plików i katalogów w postaci trójpodziału: właściciel, grupa i inni (read, write, execute). ❖​ Polecenia su i sudo: su pozwala na przełączenie się na innego użytkownika (w tym root), a sudo umożliwia wykonywanie poleceń z uprawnieniami administratora bez zmiany użytkownika. ❖​ Plik sudoers: Plik konfiguracyjny definiujący, którzy użytkownicy mogą używać sudo oraz do jakich poleceń mają dostęp. ❖​ Polecenie chown: Zmienia właściciela pliku lub katalogu. ❖​ Polecenie chgrp: Zmienia grupę przypisaną do pliku lub katalogu. 10.​Polecenie chmod. Składnia polecenia. Atrybuty plików. Znaczenie sticky bit, setgid, setuid; ​ Polecenie chmod służy do zmiany uprawnień dostępu do plików i katalogów. Składnia chmod : chmod (parametr np. -R lub -v) [1-2-4 (xwr)] ​​ ​ Każdy plik/katalog ma przypisane trzy grupy uprawnień: właściciela, grupy i innych użytkowników, widoczne jako ciąg znaków (np. -rwxr-xr--). ​ Sticky bit – chroni pliki w katalogu przed usunięciem przez osoby inne niż właściciel lub administrator Np. chmod +t katalog ​ Setgid – Nowo utworzone pliki w katalogu dziedziczą grupę katalogu zamiast grupy tworzącego użytkownika Np. chmod g+s katalog ​ Setuid – Plik wykonywalny uruchamiany jest z uprawnieniami właściciela, niezależnie od tego kto go wykonuje np. chmod u+s plik 11.​Polecenie umask. Składnia i funkcjonalność polecenia; Polecenie umask określa domyślne maski uprawnień dla nowo tworzonych plików i katalogów eliminując określone uprawnienia na etapie ich tworzenia, składnia: umask (parametr np. -S wyświetla uprawnienia w formacie rwx(litery zamiast cyfr)) [maska – działa jako negacja uprawnień określana w systemie ósemkowym lub literowo np. 022 lub u=rwx, g =rx, o =rx]. Funkcjonalność umask: definiuje uprawnienia które zostaną odjęte od maksymalnych możliwych uprawnień dla plików/katalogów 12.​Moduły PAM. Funkcjonalność, pliki konfiguracyjne; Główne funkcje PAM: ​ Uwierzytelnianie użytkowników: Sprawdza tożsamość użytkownika za pomocą różnych metod (hasła, klucze, tokeny). ​ Kontrola dostępu: Ogranicza dostęp na podstawie polityk (np. godzin logowania, grup użytkowników). ​ Zarządzanie sesją: Obsługuje działania związane z sesją użytkownika (np. montowanie katalogów domowych). ​ Zarządzanie kontem: Kontroluje ważność kont (np. blokady konta po określonym czasie). 13.​Szyfrowanie. Pakiety PGP i GPG, szyfrowanie symetryczne i asymetryczne, pojęcia klucz publicznego i prywatnego; ​ Szyfrowanie: Proces przekształcania danych w nieczytelną formę, aby zabezpieczyć je przed nieautoryzowanym dostępem. ​ Pakiety PGP i GPG: Narzędzia do szyfrowania i podpisywania danych; PGP to komercyjny standard, a GPG (GNU Privacy Guard) jest jego darmową implementacją. ​ Szyfrowanie symetryczne: Używa jednego klucza do szyfrowania i deszyfrowania danych, szybkie, ale mniej bezpieczne przy dystrybucji klucza. ​ Szyfrowanie asymetryczne: Wykorzystuje parę kluczy (publiczny i prywatny), gdzie publiczny szyfruje dane, a prywatny je odszyfrowuje. ​ Klucz publiczny: Udostępniany publicznie, służy do szyfrowania danych. ​ Klucz prywatny: Trzymany w tajemnicy, służy do odszyfrowywania danych lub podpisywania wiadomości. 14.​Protokół SSH, demon sshd i demon inetd; ​ Protokół SSH (Secure Shell): Bezpieczny protokół komunikacyjny umożliwiający zdalne logowanie, przesyłanie plików i wykonywanie poleceń w zaszyfrowany sposób, chroniąc dane przed podsłuchem. ​ Demon sshd: Usługa serwera SSH, która nasłuchuje na żądania połączeń SSH, uwierzytelnia użytkowników i umożliwia zdalny dostęp do systemu. ​ Demon inetd: "Superdemon" zarządzający uruchamianiem usług sieciowych na żądanie, inicjując m.in. sshd i inne serwisy, w celu oszczędzania zasobów w starszych systemach. 15.​Właściwości konta superużytkownika (root) w Linux. ​ Pełne uprawnienia: Może odczytywać, modyfikować i usuwać dowolne pliki oraz wykonywać dowolne procesy. ​ Brak ograniczeń: Nie podlega standardowym mechanizmom kontroli dostępu (np. może nadpisywać prawa do plików). ​ Domyślne UID: Numer identyfikacyjny użytkownika 0 w systemie. ​ Krytyczność bezpieczeństwa: Konto jest celem ataków, dlatego jego hasło musi być silne, a użycie ograniczone. ​ Specjalne polecenia: Może uruchamiać narzędzia systemowe wymagające uprawnień administratora, np. mount, chmod, iptables. ​ Dostępność alternatywna: Dostęp do uprawnień root można uzyskać przez sudo lub przełączając się na konto su. 16.​Proces w Linux. Atrybuty procesów (PID, PPID, UID, EUID, nice). Pojęcia terminalu sterującego. Stany procesów (wykonywalny, uśpiony, zombie, zatrzymany). ​ Proces w Linux: Program lub zadanie uruchomione w systemie operacyjnym, które wykonuje instrukcje na CPU i ma przypisane zasoby (np. pamięć). ​ Atrybuty procesów: ​ PID (Process ID): Unikalny identyfikator procesu w systemie. ​ PPID (Parent PID): Identyfikator procesu nadrzędnego, który uruchomił dany proces. ​ UID (User ID): Identyfikator użytkownika, który uruchomił proces. ​ EUID (Effective UID): Efektywny identyfikator użytkownika, który determinuje uprawnienia do wykonywania operacji. ​ Nice: Wartość określająca priorytet procesu, który wpływa na to, jak proces będzie traktowany przez scheduler (im wyższa wartość, tym niższy priorytet). o​ Pojęcie terminalu sterującego: Terminal, z którego uruchomiony został proces. Jest to interfejs umożliwiający interakcję użytkownika z procesem (np. terminal tekstowy w systemie X11). ​ Stany procesów: ​ Wykonywalny: Proces aktywnie wykonuje instrukcje. ​ Uśpiony (sleeping): Proces czeka na zdarzenie (np. na dane z wejścia/wyjścia). ​ Zombie: Proces zakończony, ale jego status nadal jest przechowywany przez system, ponieważ proces nadrzędny nie odczytał jeszcze kodu zakończenia. ​ Zatrzymany (stopped): Proces zatrzymany sygnałem (np. SIGSTOP) lub oczekujący na wznowienie. 17.​Kontrolowanie procesów w Linux. Pojęcia przechwytywanie sygnału, blokowanie sygnału, ignorowanie sygnału. Polecenia ps, top, kill, killall, pkill; ​ Kontrolowanie procesów w Linux: Zarządzanie procesami w systemie przy użyciu poleceń i sygnałów w celu ich zatrzymywania, wznawiania, usuwania lub monitorowania. ​ Pojęcia sygnałów w Linux: ​ Przechwytywanie sygnału: Proces może zareagować na sygnał, wykonując określoną akcję (np. zapisanie danych przed zamknięciem). ​ Blokowanie sygnału: Proces może zablokować przetwarzanie określonych sygnałów (np. SIGSTOP), by zapobiec ich wpływowi. ​ Ignorowanie sygnału: Proces może zignorować niektóre sygnały (np. SIGTERM) i nie wykonać żadnej akcji, gdy je otrzyma. ​ Polecenia do kontrolowania procesów: ​ ps: Wyświetla listę uruchomionych procesów. Można używać opcji takich jak ps aux do wyświetlenia szczegółowych informacji o wszystkich procesach. ​ top: Interaktywne narzędzie monitorujące procesy w czasie rzeczywistym, pokazujące obciążenie CPU, pamięci oraz listę aktywnych procesów. ​ kill: Wysyła sygnał (domyślnie SIGTERM) do procesu, aby go zakończyć. Przykład: kill. ​ killall: Wysyła sygnał do wszystkich procesów o danej nazwie. Przykład: killall. ​ pkill: Wysyła sygnał do procesów na podstawie wzorca (np. nazwy, UID). Może działać na nazwach procesów, grupach użytkowników lub innych atrybutach. Przykład: pkill -u. ​ Przykładowe sygnały: ​ SIGTERM: Zwykłe zakończenie procesu. ​ SIGKILL: Natychmiastowe zabicie procesu (nie da się przechwycić ani zignorować). ​ SIGSTOP: Zatrzymanie procesu (może być wznowione sygnałem SIGCONT). 18.​Sygnały (rodzaje sygnałów i ich działanie); 1.​ Sygnały zakończenia (Termination signals): o​ SIGTERM: Żądanie zakończenia procesu (grzeczne, pozwala na sprzątanie przed zakończeniem). o​ SIGKILL: Wymuszone zakończenie procesu (nie można przechwycić ani zignorować, proces natychmiastowo kończy działanie). o​ SIGQUIT: Zakończenie procesu z generowaniem zrzutu pamięci (core dump). o​ SIGSTOP: Zatrzymanie procesu (trwałe, nie można przechwycić ani zignorować). o​ SIGCONT: Wznawianie zatrzymanego procesu. 2.​ Sygnały kontrolujące wykonanie (Control signals): o​ SIGINT: Przerwanie procesu (zwykle przez użytkownika, np. naciskając Ctrl+C w terminalu). o​ SIGTSTP: Zatrzymanie procesu (przez użytkownika, np. Ctrl+Z w terminalu). o​ SIGTTIN: Proces próbuje odczytać dane z terminalu, ale jest uruchomiony w tle (zatrzymuje proces). o​ SIGTTOU: Proces próbuje zapisać dane do terminalu, ale jest uruchomiony w tle (zatrzymuje proces). 3.​ Sygnały związane z błędami (Error signals): o​ SIGSEGV: Błąd segmentacji, np. dostęp do niepoprawnej pamięci (segmentation fault). o​ SIGFPE: Błąd obliczeń zmiennoprzecinkowych, np. dzielenie przez zero. o​ SIGBUS: Błąd busa, np. błędny dostęp do pamięci. o​ SIGILL: Nielegalna instrukcja CPU. 4.​ Sygnały informacyjne (Informational signals): o​ SIGUSR1: Sygnał użytkownika, dowolny sygnał zdefiniowany przez użytkownika (może być używany do różnych celów). o​ SIGUSR2: Kolejny sygnał użytkownika, podobny do SIGUSR1. o​ SIGALRM: Sygnał alarmowy (np. przekroczenie limitu czasowego). o​ SIGCHLD: Informacja, że proces potomny zakończył swoje działanie (np. zrzut statusu zakończenia). 5.​ Sygnały związane z I/O (Input/Output signals): o​ SIGPIPE: Proces próbujący pisać do zamkniętego potoku (pipe). o​ SIGIO: Dostępność danych do odczytu/zapisu w urządzeniu I/O. Działanie sygnałów: ​ Sygnały mogą być przechwycone, tzn. proces może ustawić własne reakcje na dany sygnał (np. zapisanie stanu przed zakończeniem). ​ Sygnały mogą być zignorowane, proces może zadecydować, że nie chce reagować na określony sygnał (np. ignorowanie SIGPIPE). ​ Sygnały mogą być blokowane, proces może zablokować pewne sygnały, co oznacza, że nie będą one przetwarzane do momentu, aż proces je odblokuje. 19.​System plików w Linux: drzewo plików i systemy plików, ścieżka bezwzględna i względna, obsługa nazw plików zawierających spacje, montowanie systemów plików, polecenia mount i umount; System plików w Linux: Drzewo plików w Linuxie zaczyna się od katalogu głównego /, a pliki są przechowywane w strukturze hierarchicznej. Ścieżki: ​ Bezwzględna: Ścieżka zaczynająca się od /, np. /home/user/file. ​ Względna: Ścieżka względem bieżącego katalogu, np. user/file. Nazwy plików z spacjami: Należy je otaczać cudzysłowami (" "), np. "my file.txt", lub używać ukośników (\), np. my\ file.txt. Montaż systemów plików: Polecenie mount łączy system plików z drzewem katalogów, a umount odmontowuje system plików. 20.​Standardowa organizacja katalogów systemowych (/bin, /etc, …); Standardowa organizacja katalogów systemowych w Linux: ​ /: Katalog główny, korzeń systemu plików. ​ /bin: Zawiera podstawowe programy wykonywalne (np. ls, cp). ​ /etc: Pliki konfiguracyjne systemu i aplikacji. ​ /home: Katalogi domowe użytkowników. ​ /lib: Biblioteki współdzielone wymagane przez system i programy. ​ /tmp: Tymczasowe pliki, które mogą być usunięte po restarcie systemu. ​ /var: Zmienna zawartość (logi, kolejki drukowania, pliki tymczasowe). ​ /usr: Programy, biblioteki, dokumentacja, i inne dane dla użytkowników. ​ /sbin: Programy administracyjne, które mogą być używane tylko przez root. ​ /dev: Pliki urządzeń (np. dyski, terminale). ​ /proc: Wirtualny system plików zawierający informacje o procesach i jądrze. ​ /mnt: Miejsce do montowania systemów plików (np. dysków zewnętrznych). ​ /opt: Opcjonalne oprogramowanie i pakiety. 21.​Typy plików w Linux (zwykłe pliki, katalogi, pliki urządzeń znakowych i blokowych, gniazda lokalne, potoki, dowiązania symboliczne); Typy plików w Linux: ​ Zwykłe pliki: Przechowują dane użytkownika, takie jak tekst, obrazy, programy (np. pliki.txt,.jpg). ​ Katalogi: Pliki, które zawierają inne pliki i katalogi, stanowiące strukturę drzewa plików. ​ Pliki urządzeń znakowych: Reprezentują urządzenia, które przesyłają dane znak po znaku, np. /dev/tty. ​ Pliki urządzeń blokowych: Reprezentują urządzenia, które przesyłają dane w blokach, np. /dev/sda (dyski twarde). ​ Gniazda lokalne: Pliki służące do komunikacji między procesami na tym samym systemie, np. /tmp/socket. ​ Potoki (pipes): Służą do przekazywania danych między procesami, mogą być nazwane lub anonimowe. ​ Dowiązania symboliczne: Linki do innych plików lub katalogów, przypominają skróty (np. ln -s /path/to/file link). 22.​Charakterystyka dystrybucji Linux; ​ Ubuntu: Popularna dystrybucja skierowana do początkujących, z łatwym interfejsem graficznym i dużą społecznością. Bazuje na Debianie. ​ Debian: Stabilna, uniwersalna dystrybucja, słynąca z bezpieczeństwa i wolnego oprogramowania. ​ Fedora: Dystrybucja skoncentrowana na nowoczesnym oprogramowaniu i innowacjach, często wprowadza najnowsze technologie. ​ CentOS: Redhat-based, zoptymalizowana do serwerów, z dużą stabilnością. ​ Arch Linux: Minimalistyczna dystrybucja dla zaawansowanych użytkowników, z filozofią "zrób to sam" i rolling release. ​ OpenSUSE: Dystrybucja z naciskiem na łatwość zarządzania i konfiguracji, dobra do zastosowań serwerowych i desktopowych. 23.​Ogólna charakterystyka systemu Android (geneza, zakresy zastosowania; Charakterystyka systemu Android: ​ Geneza: Android został stworzony przez firmę Android Inc. (założoną przez Andy'ego Rubina i innych) w 2003 roku, a następnie przejęty przez Google w 2005 roku. System jest oparty na jądrze Linux i zaprojektowany do urządzeń mobilnych. ​ Zakresy zastosowania: Android jest używany głównie w urządzeniach mobilnych, takich jak smartfony, tablety, smartwatche, telewizory, urządzenia wbudowane i samochody (Android Auto). Dzięki otwartemu kodowi źródłowemu stał się najpopularniejszym systemem operacyjnym na świecie, z szerokim ekosystemem aplikacji. 24.​Funkcje usługi Google Play; ​ Sklep z aplikacjami: Główna funkcja to umożliwienie pobierania i instalowania aplikacji na urządzenia z systemem Android, zarówno płatnych, jak i darmowych. ​ Aktualizacje aplikacji: Automatyczne lub ręczne aktualizowanie aplikacji zainstalowanych na urządzeniu. ​ Usługi w chmurze: Synchronizacja danych aplikacji, takich jak ustawienia i postępy w grze, w chmurze Google. ​ Usługi Google Play: Zestaw narzędzi dla deweloperów, który umożliwia integrację z różnymi usługami Google (np. logowanie przez Google, Google Maps, reklamy). ​ Bezpieczeństwo: Skanning aplikacji w sklepie w celu wykrywania złośliwego oprogramowania, zapewniając większe bezpieczeństwo użytkownikom. ​ Google Play Music, Movies, Books: Dostęp do mediów (muzyka, filmy, książki) w ramach subskrypcji lub zakupu. ​ Zarządzanie subskrypcjami: Możliwość zarządzania subskrypcjami, takimi jak Google Play Pass czy aplikacje z subskrypcjami. 25.​Co to jest środowisko uruchomieniowe Android RunTime; Środowisko uruchomieniowe Android Runtime (ART): Android Runtime (ART) to środowisko uruchomieniowe odpowiedzialne za wykonanie aplikacji na systemie Android. ART zastąpiło starszy system Dalvik w Androidzie 5.0 Lollipop, poprawiając wydajność i efektywność energetyczną. ​ Funkcja: ART wykonuje kod aplikacji poprzez kompilowanie go do kodu maszynowego przy instalacji (tzw. Ahead-of-Time, AOT), co przyspiesza uruchamianie aplikacji i oszczędza zasoby systemowe. 26.​Co to jest blokada WakeLock, do czego służy w systemie operacyjnym Android; WakeLock to mechanizm w systemie Android, który pozwala aplikacjom na zapobieganie przejściu urządzenia w stan uśpienia, gdy jest to konieczne do wykonania określonych operacji. ​ Zastosowanie: WakeLock jest używane przez aplikacje do utrzymania ekranu włączonego lub zapobiegania przejściu procesora w stan uśpienia, np. podczas pobierania danych, odtwarzania wideo, monitorowania aktywności użytkownika itp. 27.​Cel i zasada działania mechanizmu Out Of Memory Killer w Android; Mechanizm OOM Killer ma na celu zarządzanie pamięcią w urządzeniu z systemem Android, zapewniając, że system nie przestanie działać, gdy zabraknie dostępnej pamięci RAM. Zasada działania: 1.​ Monitorowanie pamięci: Kiedy system wykryje, że pamięć RAM jest bliska wyczerpania (np. przez uruchomienie wielu aplikacji), OOM Killer zaczyna działać. 2.​ Zabijanie procesów: OOM Killer automatycznie zamyka mniej istotne procesy (np. aplikacje działające w tle), aby zwolnić pamięć i utrzymać płynność działania systemu. 3.​ Priorytety procesów: OOM Killer ocenia procesy na podstawie ich priorytetów. Procesy systemowe i te, które są aktywnie używane przez użytkownika, mają wyższy priorytet, więc mniej prawdopodobne jest ich zakończenie. 4.​ Minimalizacja zakłóceń: Procesy mniej istotne, które nie są aktywnie używane, są bardziej narażone na zakończenie, aby zachować wydajność systemu. 28.​Co to jest manifest aplikacji w Android, jakie rodzaje informacji zawiera; ​ Deklaracja komponentów aplikacji: ​ Activity: Określa ekrany aplikacji (np. główny ekran aplikacji). ​ Service: Usługi działające w tle, np. synchronizacja danych. ​ BroadcastReceiver: Komponenty do obsługi wiadomości lub powiadomień systemowych. ​ ContentProvider: Interfejs do udostępniania danych między aplikacjami. ​ Uprawnienia: Określa wymagane uprawnienia aplikacji (np. dostęp do internetu, kamery, lokalizacji). Przykład:. ​ Wersja aplikacji: Definiuje wersję aplikacji oraz wersję kodu, która jest wymagania dla instalacji (np. android:versionCode, android:versionName). ​ Minimalne wymagania systemowe: Określa minimalną wersję Androida, na której aplikacja może działać, np. android:minSdkVersion. ​ Filtry Intencji (Intent Filters): Umożliwiają aplikacji reagowanie na różne zdarzenia lub dane, np. aplikacja może reagować na kliknięcie linku HTTP. ​ Deklaracja motywów i interfejsu: Ustawienia wyglądu i zachowań aplikacji, np. motywy, style, ustawienia układu ekranu. 29.​Funkcje menedżera pakietów w Android; ​ Instalowanie aplikacji:​ Menedżer pakietów obsługuje instalację aplikacji APK (Android Package), zarówno z oficjalnego sklepu Google Play, jak i z innych źródeł. ​ Usuwanie aplikacji:​ Umożliwia odinstalowanie aplikacji, usuwając wszystkie jej dane i pliki związane z aplikacją. ​ Aktualizowanie aplikacji:​ Obsługuje aktualizacje aplikacji, umożliwiając instalację nowych wersji aplikacji, np. z Google Play. ​ Zarządzanie uprawnieniami:​ Zapewnia dostęp do uprawnień wymaganych przez aplikację (np. dostęp do kamery, mikrofonu, lokalizacji), a także umożliwia kontrolowanie, które aplikacje mogą je wykorzystać. ​ Zarządzanie danymi aplikacji:​ Umożliwia dostęp do danych przechowywanych przez aplikacje, takich jak pliki w pamięci urządzenia. ​ Wyszukiwanie aplikacji:​ Umożliwia aplikacjom i systemowi wyszukiwanie zainstalowanych aplikacji oraz ich komponentów (np. aktywności, usług). ​ Zarządzanie wersjami:​ Obsługuje wersjonowanie aplikacji, umożliwiając utrzymywanie i zarządzanie różnymi wersjami aplikacji na urządzeniu. 30.​Rozwój systemów operacyjnych z rodziny Windows (najważniejsze wersje systemu); Windows 1.0 (1985):​ Pierwsza wersja systemu operacyjnego Windows, która była graficzną nakładką na MS-DOS, oferującą prosty interfejs użytkownika z oknami. Windows 95 (1995):​ Rewolucyjna wersja, która połączyła funkcjonalności Windows i MS-DOS, wprowadziła nowy pasek zadań, menu Start i wsparcie dla urządzeń Plug and Play. Windows XP (2001):​ Bardzo popularna wersja, która łączyła stabilność systemów z rodziny Windows NT z interfejsem Windows 95. XP wprowadził także lepsze zarządzanie pamięcią i wielozadaniowością. Windows Vista (2007):​ Wprowadził nowy interfejs Aero, ale był krytykowany za wysokie wymagania sprzętowe i problemy ze stabilnością i wydajnością. Windows 7 (2009):​ Bardzo popularna wersja, która rozwiązała problemy Visty, oferując ulepszony interfejs, lepszą wydajność oraz lepsze wsparcie dla nowych technologii. Windows 10 (2015):​ Powrót do klasycznego interfejsu z nowymi funkcjami, jak Cortana, Edge, wsparcie dla aplikacji ze sklepu Microsoft Store oraz darmowe aktualizacje. 31.​Polityka aktualizacji systemu Windows 10; Polityka aktualizacji systemu Windows 10 obejmuje regularne aktualizacje jakościowe i funkcjonalne, które zapewniają bezpieczeństwo i nowe funkcje. Użytkownicy mogą zarządzać tymi aktualizacjami za pomocą ustawień systemowych lub narzędzi administracyjnych, takich jak Microsoft Intune. Rodzaje aktualizacji: ​ Aktualizacje jakościowe: Zawierają poprawki zabezpieczeń i błędów. ​ Aktualizacje funkcjonalne: Wprowadzają nowe funkcje i ulepszenia. 32.​Budowa i funkcje rejestru systemu Windows; Rejestr składa się z trzech głównych elementów: ​ Klucze: Są to "foldery" w rejestrze, które przechowują różne ustawienia systemowe i aplikacyjne. ​ Wartości: To dane przechowywane w kluczach, które mogą przybierać różne typy, takie jak ciągi tekstowe, liczby całkowite, wartości binarne itd. ​ Dane: Są to wartości przypisane do poszczególnych kluczy. Funkcje rejestru: ​ Przechowywanie ustawień systemowych i aplikacji: Rejestr przechowuje ustawienia systemowe, jak konfiguracja sieciowa, sterowniki, aplikacje, a także preferencje użytkowników. ​ Zarządzanie aplikacjami: Rejestr zawiera dane o zainstalowanych aplikacjach, ich lokalizacjach i ustawieniach. Aplikacje odczytują wartości z rejestru w celu dostosowania swojego działania do preferencji użytkownika. ​ Personalizacja: Dzięki danym w rejestrze, system Windows może dostosowywać środowisko do potrzeb użytkownika (np. ustawienia pulpitu, ekranu blokady, preferencje systemowe). ​ Wydajność systemu: Poprzez odpowiednią konfigurację ustawień w rejestrze, administratorzy mogą optymalizować wydajność systemu. ​ Zarządzanie urządzeniami: Rejestr przechowuje dane o zainstalowanych urządzeniach i sterownikach, umożliwiając systemowi rozpoznawanie i obsługę sprzętu. 33.​Start systemu operacyjnego Windows. ​ Włączenie zasilania komputera (Power On) Komputer otrzymuje zasilanie i rozpoczyna proces uruchamiania. ​ POST (Power On Self Test) Komputer sprawdza podstawowe urządzenia sprzętowe (np. pamięć RAM, procesor, karta graficzna). ​ Inicjalizacja BIOS/UEFI BIOS/UEFI zaczyna działać, ustawia konfigurację sprzętu i wykrywa urządzenia startowe. BIOS/UEFI może również uruchomić procedury bezpieczeństwa, np. sprawdzanie hasła systemowego. ​ Wykrycie urządzeń rozruchowych BIOS/UEFI szuka urządzenia, z którego komputer ma załadować system operacyjny (dysk twardy, napęd USB, CD/DVD). ​ Załadowanie Bootloadera Windows BIOS/UEFI przekazuje kontrolę do bootloadera systemu Windows (np. bootmgr). Bootloader jest odpowiedzialny za uruchomienie rdzenia systemu operacyjnego. ​ Załadowanie plików jądra systemu Windows Bootloader ładuje podstawowe pliki systemowe, takie jak ntoskrnl.exe (jądro systemu), oraz sterowniki. ​ Inicjalizacja sterowników i urządzeń systemowych System ładuje niezbędne sterowniki urządzeń (np. dysków twardych, kart sieciowych, kart graficznych). ​ Uruchomienie usług systemowych Windows uruchamia usługi systemowe, które zarządzają działaniem systemu (np. usługa Windows Update, usługi sieciowe). ​ Ładowanie profilu użytkownika System ładuje profil użytkownika (ustawienia, preferencje, aplikacje) i sprawdza, czy są dostępne dane logowania. ​ Pokazanie ekranu logowania Użytkownik widzi ekran logowania, na którym może się zalogować do systemu. ​ Po zalogowaniu: Inicjalizacja pulpitu Po zalogowaniu system uruchamia pulpit użytkownika, ładując aplikacje startowe oraz zasoby systemowe. ​ Uruchomienie aplikacji użytkownika Programy uruchamiane podczas startu systemu są gotowe do pracy, a system staje się w pełni funkcjonalny.

Use Quizgecko on...
Browser
Browser