Zasady działania komputera i systemów operacyjnych - PDF

Document Details

AttractiveThorium3741

Uploaded by AttractiveThorium3741

Gdańsk University of Technology

Tags

system operacyjny architektura komputera procesor komputer

Summary

Dokument ten omawia fundamentalne zasady działania komputera i systemów operacyjnych. Zawiera omówienie różnic w architekturze różnych systemów, w tym komputerów, mikrokontrolerów, procesorów sygnałowych (DSP) i programowalnych sterowników logicznych (PLC). Opisuje różne aspekty zarządzania pamięcią, przetwarzania danych i działania procesora, w tym zagadnienia związane z obliczeniami zmiennoprzecinkowymi. Opisano również architekturę komputera Von Neumanna.

Full Transcript

1\. Jakie są najważniejsze różnice między komputerem, mikrokontrolerem, DSP, PLC ? (pod względem budowy i zastosowań) \- Komputer \- Uniwersalny \- Montowany z wielu podzespołów \- Dość duża moc obliczeniowa (ale często częściowo „marnowana") \- Zwykle wiele programów w pamięci operacyjnej i st...

1\. Jakie są najważniejsze różnice między komputerem, mikrokontrolerem, DSP, PLC ? (pod względem budowy i zastosowań) \- Komputer \- Uniwersalny \- Montowany z wielu podzespołów \- Dość duża moc obliczeniowa (ale często częściowo „marnowana") \- Zwykle wiele programów w pamięci operacyjnej i stałej \- Łatwe przeprogramowanie \- Mikrokontroler \- Komputer zintegrowany w jednym układzie \- Wbudowane specjalistyczne moduły (np. przetworniki A/C, przemysłowe interfejsy komunikacyjne) \- Dedykowany do konkretnego zastosowania \- Mniejsza moc obliczeniowa niż PC (ale często szybszy w swoim konkretnym zastosowaniu) \- Jeden wyspecjalizowany program \- Przeprogramowanie zwykle wymaga dodatkowych zabiegów (np. użycia zewnętrznego programatora) \- Zwykle niski pobór mocy \- Procesor sygnałowy (DSP) \- Podobne do mikrokontrolerów (wysoka integracja), ale o większych możliwościach w zakresie przetwarzania sygnałów \- Sprzętowe dostosowanie do wykonywania operacji najczęściej występujących przy przetwarzaniu sygnałów (filtracji FIR i IIR, transformacji Fouriera, wyznaczaniu korelacji sygnałów) \- Specjalne instrukcje i tryby adresowania pamięci przydatne przy przetwarzaniu sygnałów (np. instrukcje MAC a=a+b\*c) \- Specjalizacja do realizacji zadań w czasie rzeczywistym (real time) \- Potokowe przetwarzanie danych \- Programowalny sterownik logiczny (PLC) \- Specjalizowany układ sterujący z wejściami i wyjściami logicznymi (włącz / wyłącz) \- Wewnętrznie wykorzystują mikrokontrolery \- Cyklicznie powtarzany program: skanowanie wejść, wykonanie „logiki" programu, aktualizacja wyjść \- Przetwarzanie sygnałów w czasie rzeczywistym \- Modułowa konstrukcja -- jednostka sterująca + dołączane bloki wejść i wyjść (głównie logicznych) \- Przeznaczone do sterowania procesami produkcyjnymi (np. linie montażowe, systemy zbiorników i pomp) i urządzeniami (np. windy, światła na skrzyżowaniu) \- Programowane zwykle w językach dedykowanych dla PLC \- Np. STL, SCL, drabinkowy 2\. Wykonaj obliczenie 117-3 tak, jakby wykonał to komputer (zapis 8-bitowy, liczby całkowite) Podpowiedź: przekonwertować 117 i 3 na zapis binarny binarną reprezentację liczby 3 zamienić na zapis U2 dodać obie liczby binarne przekonwertować wynik z powrotem na postać dziesiętną (dla sprawdzenia) 1110~~10~~1 \- 0000011 = 1110010 3\. Wykonaj obliczenie 17\*5 tak, jakby wykonał to komputer (zapis 8-bitowy, liczby całkowite) 00010001\*00000101= 00010001 \+ 01000100 = 01010101 4\. Podaj postać dziesiętną, binarną i szesnastkową zadanej liczby. (podaj przekształcenia / obliczenia) 145=\>bin 10010001=hex 91 5\. Podaj najważniejsze różnice pomiędzy zapisem stało- i zmiennopozycyjnym, oraz główne wady i zalety obu zapisów liczb. Stałopozycyjne -\ Łatwe obliczenia -- Takie same, jak dla liczb całkowitych (nie wymagają dodatkowych układów ani instrukcji procesora) -- Stosowane tam, gdzie nie można wykorzystać zapisu zmiennopozycyjnego (np. w wielu mikrokontrolerach) Część całkowita jest zawsze zapisana dokładnie Elastyczność, łatwość użycia Ograniczony zakres liczb możliwych do zakodowania Mała precyzja zapisu części ułamkowej Zmiennopozycyjne Duży zakres zapisywanych liczb Zapisuje najbardziej znaczącą (najważniejszą) część liczby Duża dokładność ułamków -- O ile liczba nie ma dużej części całkowitej Skomplikowane obliczenia -- Wydajne obliczenia wymagają dedykowanego bloku procesora Zapisuje najbardziej znaczącą (najważniejszą) część liczby Część całkowita może nie być zapisana dokładnie 7\. Z jakimi praktycznymi problemami można spotkać się podczas prowadzenia obliczeń na liczbach zmiennopozycyjnych?  **Błędy zaokrągleń** -- Niektóre liczby, np. 0.1, nie mają dokładnego odpowiednika w systemie binarnym, co prowadzi do drobnych różnic w wynikach.  **Utrata cyfr znaczących** -- Gdy odejmujemy dwie liczby o zbliżonych wartościach, część precyzji może zostać utracona, co prowadzi do znacznych błędów względnych.  **Przekroczenie zakresu wartości**-- Jeśli liczba jest zbyt duża, komputer może zwrócić wartość nieskończoności (overflow). W przypadku wartości bardzo małych może dojść do jej zaokrąglenia do zera (underflow).  **Problemy z porównywaniem liczb** -- Ze względu na zaokrąglenia, porównania typu == mogą zwracać błędne wyniki. Zamiast tego stosuje się porównania z określoną tolerancją błędu.  **Niestabilność algorytmów numerycznych** -- Pewne operacje, np. obliczanie różnicy bardzo podobnych liczb, mogą prowadzić do propagacji błędów, co może wpłynąć na dalsze wyniki obliczeń. 8\. Opisz architekturę komputera typu Harvard 9\. Opisz architekturę komputera typu von Neumana ![](media/image2.png) 10\. Opisz ogólną budowę i zasadę działania procesora (CPU). 1\. Pobranie rozkazu i danych z pamięci RAM i przesłanie ich do rejestrów procesora 2\. Pobranie rozkazu i danych z rejestrów 3\. Wykonanie operacji (z uwzględnieniem flag) 4\. Zwrócenie wyniku do rejestru i ustawienie flag wyjściowych 5\. Odesłanie danych do pamięci RAM 11\. Opisz główne cechy procesorów typu CISC / RISC. Do której grupy zaliczysz współczesne procesory rodziny x86? Uzasadnij. **CISC-**\ Duża (kilkaset) liczba rozkazów (instrukcji) Zawiera zarówno proste jak i złożone, wyspecjalizowane rozkazy (wiele z nich wykorzystywanych sporadycznie) Duża liczba trybów adresowania -- Procesor sam musi odnaleźć w pamięci dane potrzebne do wykonania instrukcji Trudna optymalizacja -- niektóre rozkazy potrzebują do wykonania dużej liczby cykli procesora, a inne małej Powolne działanie dekodera rozkazów **RISC-** Krótsza lista rozkazów (instrukcji) Proste rozkazy -- Efekt: Wynikowy program złożony jest z większej liczby instrukcji Tylko kilka trybów adresowania -- Program musi „zatroszczyć się" o dostarczenie procesorowi danych, load-store, Rozkazy wykonywane w jednym cyklu procesora Prostsze i szybsze dekodery rozkazów i adresów Niższa częstotliwość taktowania procesora Prostsza do wprowadzenia superskalarność (użycie wielu jednostek równoległych) **Współczesne procesory x86 (Intel, AMD) z zewnątrz wyglądają jak CISC, ale wewnętrznie działają jak RISC.** - Skomplikowane instrukcje CISC są tłumaczone na prostsze mikrooperacje (tzw. µops), które są przetwarzane w sposób charakterystyczny dla RISC. - Wykorzystują potokowanie i superskalarność, co jest typowe dla procesorów RISC. - Stosują dynamiczne wykonywanie instrukcji i przewidywanie skoków, aby zwiększyć wydajność 12\. Opisz mechanizm przetwarzania potokowego instrukcji. W jaki sposób rozwiązano problemy występujące przy tego typu przetwarzaniu instrukcji? **-- Przetwarzanie pojedynczej instrukcji można podzielić** na kilka etapów, które mogą być realizowane przez niezależne bloki procesora **-- W potoku znajdują się rozkazy w różnym stadium** przetwarzania, co prowadzi do zwiększenia szybkości przetwarzania Przetwarzanie potokowe przypomina ułożenie rozkazów w sposób zbliżony do „linii produkcyjnej" **-- Największy wpływ na efektywność potoku ma jego głębokość (liczba poziomów)** - Dodanie dodatkowych jednostek wykonawczych - Wprowadzenie technik buforowania - **Przekazywanie** przesyłanie wyników bezpośrednio do kolejnych etapów potoku, zamiast czekać na zapis do rejestru. - **Opóźnienia** wstrzymanie potoku do momentu rozwiązania konfliktu danych. - **Spekulacyjne wykonanie i przewidywanie wartości** np. wykorzystanie wartości domyślnych lub przewidywanie wyniku obliczeń. - **Przewidywanie skoków (ang. Branch Prediction)** -- stosowanie mechanizmów przewidujących wynik skoku i odpowiedniego załadowania instrukcji. - **Opóźnione skoki (ang. Delayed Branching)** -- wykonanie instrukcji po skoku przed jego faktycznym wykonaniem. - **Anulowanie niepoprawnych instrukcji (ang. Branch Misprediction Recovery)** -- szybkie wykrywanie i wycofywanie błędnych ścieżek wykonania. 13\. Opisz mechanizm przetwarzania superskalarnego instrukcji. W jaki sposób rozwiązano problemy występujące przy tego typu przetwarzaniu instrukcji? Przetwarzanie superskalarne -- Kilka równoległych potoków przetwarzania -- Możliwość równoczesnego wykonania kilku rozkazów w jednym cyklu -- W praktyce, poszczególne potoki obsługiwane są przez nieidentyczne ALU. Np. jedno ALU wykonuje wszystkie instrukcje, a inne tylko wybrane, prostsze. Rozwiązania usprawniające -- **Spekulatywne wykonanie instrukcji** Wykonanie instrukcji za rozgałęzieniem (wymaga to potoków równoległych) i zapamiętanie ich wyniku do czasu rozstrzygnięcia warunku rozgałęzienia, po rozstrzygnięciu - odrzucenie wyników, które dotyczyły niewybranej gałęzi -- **Przewidywanie rozgałęzień (branch prediction)** Predykcja wyniku rozgałęzienia w oparciu o kod operacji, zapamiętaną historię rozkazu lub tablicę historii rozgałęzień -- współczesne algorytmy mają trafność predykcji do 90% **-- Dynamiczne wykonywanie instrukcji** Zmiana konfliktowych instrukcji na inne (dające ten sam wynik, ale inną drogą) i tworzenie mikrokodu Wykonywanie operacji na rejestrach tymczasowych (niedostępnych bezpośrednio dla programów) Rozwiązania usprawniające out-of-order execution **-- Zmiana porządku wykonywanych rozkazów w celu:** unikania przestojów umożliwienia równoległego wykonania instrukcji 14\. Czym są instrukcje SIMD? Kiedy się je stosuje? Instrukcje typu SIMD (Single Instruction Multiple Data) -- Dygresja Przy przetwarzaniu zwykłych instrukcji, procesor musi pobrać instrukcję, a następnie dane, na których ta instrukcja operuje.Potem pobiera kolejną instrukcję i dane, itd.. -- Gdy wielokrotnie powtarza się jedną instrukcję (lub pewien blok instrukcji) na kolejnych danych, można instrukcję (blok instrukcji) pobrać tylko raz -- Szczególnie przydatne w multimediach np. dekodowanie kolejnych klatek obrazu wideo 15\. Na czym polegają technologie dynamicznej zmiany prędkości procesora? Co można dzięki nim uzyskać? Dynamiczna zmiana częstotliwości pracy -- Zmiana częstotliwości taktowania procesora (lub poszczególnych rdzeni) w zależności od potrzeb Obniżanie częstotliwości (czasem też napięcia zasilania) -- Obniżenie wydajności gdy nie potrzebujemy pełnej mocy obliczeniowej -- Może dotyczyć całego procesora, pojedynczych rdzeni lub bloków » Niekiedy bloki mogą być nawet całkowicie wyłączone -- Niższa częstotliwość = » Oszczędność energii » Mniejsza emisja ciepła Zwiększenie częstotliwości -- Zwiększenie wydajności jednego rdzenia kosztem pozostałych gdy aplikacja nie korzysta z innych rdzeni Zapotrzebowanie na moc obliczeniową zgłasza system operacyjny, procesor dobiera parametry swojej pracy 16\. Opisz jedną z wybranych architektur wieloprocesorowych. Czy dodanie kolejnego procesora / rdzenia w systemie wieloprocesorowym liniowo przyśpieszy działanie całego systemu komputerowego? Dlaczego? Pamięć wspólna -- UMA -- Uniform Memory Access Cała pamięć jest ogólnodostępna Czas dostępu dla poszczególnych procesorów jest taki sam Konieczny jest protokół lub układ zarządzający dostępem Dodawanie kolejnych rdzeni / procesorów nie daje liniowego przyrostu prędkości Niektóre operacje nie mogą być rozłożone na operacje równoległe Wydajność szyn systemowych jest ograniczona (szczególnie wpływa to negatywnie na wydajność UMA) 17\. Czym jest i jak działa pamięć podręczna (cache). Opisz jedną z architektur pamięci cache. Pamięć podręczna -- (cache) -- Pamięć o bardzo krótkich czasach dostępu, połączona z jednostką obliczeniową bardzo szybką magistralą -- Zawiera najczęściej używane dane oraz dane, których prawdopodobnie będzie wkrótce potrzebował procesor Dzięki temu procesor nie musi czekać na dostęp do RAM, który trwa znacznie dłużej -- Dane w cache są kopią danych z pamięci operacyjnej (cache nie jest pamięcią operacyjną i nie zastępuje jej) -- Zwykle ma 2 lub 3 poziomy (kolejne poziomy coraz wolniejsze, ale o większej pojemności) -- Stosowane są też cache dla instrukcji, zwykle oddzielne od cache danych ![](media/image4.png)konwencjonalna (Look-Aside) \+ Niski koszt \+ Szybki dostęp do danych spoza cache \- Transfer CPU\Cache obciąża magistralę danych 18\. Jak zbudowany jest dysk twardy (fizycznie i logicznie)? W jaki sposób zapisuje się na nim dane? Czym różnią się klasyczne dyski twarde od dysków SSD? Uwagi do drugiej części pytania: znajomość szczegółów kodowania (np. RLL) nie jest wymagana, wystarczy opisać ogólną ideę. Dysk twardy składa się z: 1\. Obrotowych, sztywnych talerzy z nośnikiem magnetycznym 2\. Głowicy na ruchomym ramieniu 3\. Napędu talerzy 4\. Układu pozycjonowania głowicy Zwykle dysk ma kilka talerzy każdy talerz ma 2 strony czyli 2 głowice -- Dane zapisane są w sektorach na ścieżkach Informację niesie nie samo namagnesowanie ale zmiana jego polaryzacji Dane są przed zapisem kodowane 18\. Co kryje się pod pojęciem RAID? Po co stosuje się takie rozwiązanie? Opisz jeden z typów RAID (3, 5 lub 6). Jakie są jego główne wady i zalety? Redundant Array of Independent Disks Stosowane w systemach, w których konieczne jest zwiększenie niezawodności zabezpieczenie przed utratą danych przyspieszenie transmisji danych powiększenie przestrzeni dyskowej dostępnej jako jedna całość RAID 5 Dane dzielone na części ▪ Bloki sum kontrolnych rozłożone na wszystkich dyskach ▪ Minimum 3 dyski fizyczne ▪ Zalety i wady \+ Całkowita odporność na awarię 1 dysku, z możliwością jego odtworzenia \+ Duża szybkość odczytu \+ Duża pojemność \+ Możliwość odzyskania danych „w locie" (ale za cenę spowolnienia odczytu) \+ Wyeliminowane wady RAID 3 i 4 19\. Opisz działanie mechanizmu przerwań (IRQ). Do czego one służą. Czym różnią się jedno- od wielopoziomowy system priorytetów przerwań? Urządzenia zgłaszają do procesora żądanie obsługi zwykle oznacza to chęć wymiany danych\... \...lub już sam fakt zgłoszenia jest wystarczającą informacją -- np. przerwanie od zegara systemowego -- Jeśli procesor zaakceptuje zgłoszenie przerywa aktualny program (zapisuje stan rejestrów) wykonuje procedurę obsługi przerwania odtwarza stan rejestrów i kontynuuje program główny -- Aby obsłużyć wiele zgłoszeń od wielu urządzeń i dokonać ich arbitrażu potrzebny jest kontroler przerwań System jednopoziomowy Przerwać można tylko program główny System wielopoziomowy Można przerwać obsługę innego przerwania 20\. Na czym polega i dlaczego stosuje się mechanizm DMA? Problem: -- Kopiowanie danych z jednej komórki pamięci do drugiej wykonuje procesor -- Przy każdym przesłaniu konieczne jest wyznaczenie adresów pamięci -- Przy dużej ilości danych jest to powolne i mocno obciąża procesor Rozwiązanie: -- Bezpośredni dostęp do pamięci (DMA -- Direct Memory Access) Urządzenie przejmuje nadzór nad magistralą, a po transferze zwalnia ją Metody zarządzania i arbitrażu podobne jak dla IRQ Procesor inicjuje transfer, ale go nie wykonuje -- Zajmuje się tym osobny układ - kontroler DMA Zwykle urządzenie kopiuje blok danych z własnego bufora do pamięci RAM (lub odwrotnie) W czasie trwania transferu procesor może wykonywać inne zadania -- Nie wymagające dostępu do magistrali 21\. Czym jest i jaką rolę pełni protokół komunikacyjny? Co opisuje? Jakie są standardy / modele opisu protokołów? Czy wszystkie elementy modelu są realizowane w każdym protokole? Uwaga: zagadnienie poruszane w dwóch miejscach wykładu Protokół komunikacyjny to zbiór reguł i standardów określających sposób wymiany danych między urządzeniami w sieci komputerowej. Jego główną rolą jest zapewnienie zgodności i efektywności komunikacji, niezależnie od różnic w sprzęcie czy oprogramowaniu. Protokół określa: - Format i strukturę danych (np. nagłówki, pakiety, ramki). - Sposób adresowania i identyfikacji urządzeń. - Reguły inicjalizacji, synchronizacji i zakończenia transmisji. - Mechanizmy kontroli błędów i retransmisji. - Zasady priorytetyzacji i zarządzania przepływem danych. Nie, nie każdy protokół implementuje wszystkie warstwy. Przykłady: - **HTTP, FTP, SMTP** -- działają na poziomie aplikacji, nie obsługują niższych warstw. - **TCP i UDP** -- realizują funkcje warstwy transportowej. - **IP** -- odpowiada za adresowanie i routing (warstwa sieciowa). - **Ethernet, Wi-Fi** -- działają na warstwie łącza danych i fizycznej. 22\. Opisz procedurę transmisji / sprzężenia z potwierdzeniem Podpowiedź: Chodzi o zasadę (algorytm działania) i schemat, a nie konkretne rozwiązanie stosowane w którymś ze standardów transmisji. Po nawiązaniu połączeniu i wykonaniu synchronizacji następuje przesyłanie segmentów danych -- Teoretycznie połączenie TCP jest połączeniem symetrycznym, które może pracować w trybie full-duplex W praktyce dane są zwykle przesyłane w jednym kierunku, a w drugą stronę tylko potwierdzenia poprawności transmisji -- Dane są transmitowane segmentami i po każdym przesłanym segmencie następuje wysłanie potwierdzenia poprawnej transmisji Ponieważ zwykle dane zajmują więcej niż jeden segment, mechanizm jest nieefektywny By poprawić efektywność przesyła się tyle pakietów, ile zmieści się w buforze odbiorcy, jednocześnie czekając na ich potwierdzenie -- można więc w pewnym zakresie wysyłać kilka kolejnych segmentów, bez czekania na potwierdzenie poprzedniego 23\. Czym różni się transmisja równoległa od szeregowej? Czym różni się transmisja synchroniczna od asynchronicznej? Równoległe -- poszczególne bity jednego słowa danych przesyłane są jednocześnie po kilku równoległych liniach Szeregowe -- poszczególne bity jednego słowa danych przesyłane są po kolei, po jednej linii Synchroniczna Sygnały mogą się pojawiać wyłącznie w ściśle określonych momentach wyznaczonych przez tzw. cykl zegarowy Transmisja może trwać: -- Bez przerw (gdy nie ma danych wysyła się znaki puste lub synchronizujące) -- Z przerwami (wyłącza się sygnał zegarowy) W magistralach wewnętrznych często występuje osobna linia sygnału zegara W przypadku transmisji na odległość zwykle stosuje się znaki synchronizujące lub odpowiednio kształtuje przesyłane dane (kody samosynchronizujące) Zwykle duże szybkości transmisji Asynchroniczna Nadajnik i odbiornik nie są jawnie zsynchronizowane, początek transmisji może nastąpić w dowolnej chwili Sygnał zegarowy nie jest wysyłany Dane umieszczane są w tzw. ramkach -- Dodawane są do nich znaczniki oznaczających początek (np. bit startu) i koniec pakietu danych (np. bit stopu) -- Na podstawie znaczników, odbiornik może określić kiedy odczytywać kolejne stany na liniach danych Praca bez wysyłania znaków pustych -- Gdy nie ma danych, transmisja jest zatrzymywana 24\. Jakie są dwa podstawowe mechanizmy zapewniające detekcję błędów transmisji? Opisz ich najważniejsze zasady. Podpowiedź: parzystość, CRC. Parzystość -- Do ciągu danych dodawany jest bit o takiej wartości, by liczba jedynek w ciągu bitów (wraz z dodanym bitem) była parzysta (Even Parity) lub nieparzysta (Odd Parity) -- Pozwala wykryć pojedyncze błędy na pojedynczych bitach danych -- Zaleta: proste w realizacji -- Wada: nie pozwalają naprawić danych Suma kontrolna -- CRC -- Cyclic Redundancy Check -- Bity traktuje się jako współczynniki wielomianu, który dzieli się modulo 2 przez inny z góry wybrany wielomian (patrz normy), reszta z dzielenia to suma CRC (inaczej: dzielimy dane mod 2 przez inną, z góry wybraną liczbę) -- Zaleta: łatwa realizacja -- Stosowana najczęściej do detekcji błędów transmisji ponieważ szczególnie dobrze wykrywa błędy rozłożone przypadkowo -- Uwaga: dwa różne ciągi bitów mogą mieć taką samą sumę CRC 25\. Czego dotyczy i co opisuje standard RS232? Opisz budowę typowej ramki danych stosowanej przy transmisji asynchronicznej z wykorzystaniem RS232. Jaką rolę pełni ramka danych? Szeregowa transmisja danych -- zarówno synchroniczna jak i asynchroniczna z potwierdzeniem (asynchroniczna wykorzystywana znacznie częściej, jedyna obsługiwana w PC) -- Prędkości transmisji: do 20kb/s ‚ 115kb/s, kilku Mb/s -- transmisja asynchroniczna do 2Mb/s, kilku Mb/s -- transmisja synchroniczna -- Standard definiuje tylko warstwę fizyczną łącza: Stany logiczne na liniach danych i sterujących Rodzaje złącz Zależności czasowe pomiędzy poszczególnymi sygnałami RS232C Transmisja asynchroniczna -- każdy bajt jest przesyłany niezależnie, we własnej ramce -- na ramkę składa się: bit startu (stan niski) bity danych (od 5 do 8 bitów) opcjonalny bit parzystości bity stopu (stan 1) -- minimalny odstęp od następnej ramki -- dla słowa 5-bitowego 1 lub 1.5 bitu -- dla dłuższych 1 lub 2 -- bity mają czas trwania określony przez stronę wysyłającą, strona odbierająca odmierza czas od zbocza opadającego na początku bitu startu i próbkuje stan w połowie długości bitu 26\. Opisz podstawowe mechanizmy i założenia dotyczące komunikacji z użyciem magistrali USB. Podaj podstawowe elementy protokołu transmisji USB 2. Elementy protokołu komunikacji -- Kodowanie danych 8b/10b i NRZI -- Wszelkie akcje (w tym komunikację) inicjuje kontroler USB (host), przyłączone urządzenia muszą czekać na zapytanie przez kontroler o potrzebę komunikacji -- Podłączone do magistrali urządzenia muszą być jednoznacznie identyfikowane Kontroler przydziela numery ID Przydział następuje przy pierwszym przeglądzie magistrali przez kontroler lub po podłączeniu urządzenia -- Przy przeglądzie urządzenia zgłaszają swoja klasę (kilkanaście typów) i potrzebną szerokość pasma, kontroler gromadzi te dane by później przydzielać pasma transferu -- Komunikacja odbywa się na poziomie kanałów wirtualnych (pipelines) -- Każde urządzenie może mieć do 16. końcówek -- Kontroler tworzy kanały przesyłowe określonego typu, o ustalonej szerokości (tzn. częstotliwości wysyłania zapytań) i kierunku przepływu -- Ustalanie priorytetów urządzeń i przydział pasma polega na odpowiednio częstym lub rzadkim przesyłaniu do nich przez kontroler pakietów zapytań (token) -- Prośba o dostęp do magistrali może zostać zignorowana, ale rozpoczęta transmisja nie może być przerwana Transmisja -- Kontroler rozsyła pakiet token (żeton) W całej sieci, równocześnie do wszystkich urządzeń, ale dzięki ID urządzenia wiedzą, do którego z nich jest kierowany -- Jeśli urządzenie, do którego adresowany jest token żąda transmisji, odsyła odpowiedź pozytywną -- Jeśli kontroler dysponuje wolnym pasmem, rezerwuje je Przydziela dostęp do magistrali na określony czas W ten sposób tworzony jest kanał wirtualny pomiędzy hostem a końcówką w urządzeniu -- Następuje wymiana danych -- W przypadku wykrycia błędu, którego nie da się skorygować na podstawie CRC, pakiet jest przesyłany ponownie (dot. bulk transfer) 27\. Scharakteryzuj tryby transmisji dostępne w magistrali USB 2. Tryby transmisji -- Masowy -- bulk transfer -- podstawowy tryb transmisji, asynchroniczny, ma najniższy priorytet, nie daje gwarancji przepustowości, ale jest gwarancja poprawności i spójności danych (powtarzanie uszkodzonych i zaginionych pakietów) -- Izochroniczny -- isochronus transfer -- tryb używany do transmisji dużych ilości danych w regularnych odstępach czasu, kontroler rezerwuje pasmo i gwarantuje dostęp co określony czas, nie ma korekcji błędów ani powtarzania uszkodzonych czy zgubionych pakietów, używany np. do transmisji video i dźwięku -- Natychmiastowy -- interrupt transfer -- umożliwia szybkie przesłanie kilku bajtów danych, używany np. do obsługi myszy -- Sterujący -- control transfer -- używany podczas konfiguracji nowopodłączonego urządzenia 28\. Na czym polega transmisja izochroniczna i co oznacza „rezerwacja pasma transmisji" w magistrali USB. Izochroniczny -- isochronus transfer -- tryb używany do transmisji dużych ilości danych w regularnych odstępach czasu, kontroler rezerwuje pasmo i gwarantuje dostęp co określony czas, nie ma korekcji błędów ani powtarzania uszkodzonych czy zgubionych pakietów, używany np. do transmisji video i dźwięku Rezerwacja pasma transmisji w USB oznacza gwarantowanie określonej części dostępnej przepustowości dla wybranych typów transferów, aby zapewnić ich nieprzerwane działanie. 29\. Co to jest i jak jest zbudowany system operacyjny? Podpowiedź: przedstaw w odpowiedzi model warstwowy wraz z opisem funkcji warstw. System operacyjny (OS -- **Operating System**) to oprogramowanie zarządzające zasobami komputera oraz umożliwiające uruchamianie i kontrolę aplikacji użytkownika. Jego główne zadania to **zarządzanie sprzętem**, **alokacja zasobów**, **wielozadaniowość** oraz **interakcja z użytkownikiem**. 1.Jądro systemu (kernel) -- najważniejszy komponent każdego systemu operacyjnego -- wykonuje podstawowe operacje -- Ze sprzętem komunikuje się za pośrednictwem sterowników programowych oraz warstwy HAL -- Z użytkownikiem komunikuje się za pośrednictwem powłoki (shell) 2.Warstwa Abstrakcji Sprzętu -- HAL -- Znajduje się pomiędzy jądrem, a sprzętem i uniezależnia system od sprzętu -- Wszelkie odwołania do sprzętu wykonywane są wyłącznie za pośrednictwem HAL -- Systemu „nie interesuje", na jakim sprzęcie tak naprawdę działa, HAL tłumaczy polecenia systemu na polecenia zrozumiałe dla konkretnych typów urządzeń w konkretnym komputerze 3.Powłoka / interfejs użytkownika (shell) -- Pozwala na komunikację użytkownik system -- „Tłumaczy" polecenia użytkownika na funkcje kernela 4.Aplikacje / programy użytkownika 30\. Co oznacza skrót HAL w odniesieniu do systemów operacyjnych? Warstwa Abstrakcji Sprzętu -- HAL -- Hardware Abstraction Layer -- Znajduje się pomiędzy jądrem, a sprzętem i uniezależnia system od sprzętu -- Wszelkie odwołania do sprzętu wykonywane są wyłącznie za pośrednictwem HAL -- Systemu „nie interesuje", na jakim sprzęcie tak naprawdę działa, HAL tłumaczy polecenia systemu na polecenia zrozumiałe dla konkretnych typów urządzeń w konkretnym komputerze Pozwala to tworzyć system i oprogramowanie w sposób uniwersalny, niezależny od sprzętu **30. Co oznacza skrót HAL w odniesieniu do systemów operacyjnych?** HAL -- Hardware Abstraction Layer -- Znajduje się pomiędzy jądrem, a sprzętem i uniezależnia system od sprzętu -- Wszelkie odwołania do sprzętu wykonywane są wyłącznie za pośrednictwem HAL **31. Co oznacza skrót GUI w odniesieniu do systemów operacyjnych?** GUI -- Graphical User Interface (Okna, przyciski, ikony, paski) **32. Na czym polega mechanizm wielowątkowości? Czy przyśpiesza on wykonywanie programu? Czy jest to cecha procesora czy systemu operacyjnego?** -Każdy proces może mieć kilka równoległych wątków -Wielozadaniowość i wielowątkowość nie przyśpieszają pojedynczego programu ale dają możliwość wykonywania wielu programów (lub ich części) jednocześnie -- cecha systemu operacyjnego **33.Na czym polega wielozadaniowość systemu operacyjnego? Czym różnią się wielozadaniowość kooperacyjna i z wywłaszczeniem?** -- cecha systemu operacyjnego -- możliwość uruchomienia więcej niż jednej aplikacji / programu / procesu w tym samym czasie -- Procesy (zadania) wykonywane są na zmianę lub równolegle (na różnych rdzeniach lub procesorach) **-- Wielozadaniowość kooperacyjna-** programy, gdy nie potrzebują zasobów (zwłaszcza czasu procesora) same je zwalniają i przekazują systemowi, który przydziela je następnym procesom **-- Wielozadaniowość z wywłaszczenie** - system sam decyduje o wykorzystaniu zasobów (zwłaszcza czasu procesora i pamięci), może „wyrzucić" czyli wywłaszczyć proces **34. Co to jest i jaki wpływ na system operacyjny ma system plików? Za co odpowiada? Podaj kilka cech współczesnych systemów plików na przykładzie NTFS.** System plików to struktura organizacyjna używana przez system operacyjny do zarządzania danymi na nośnikach pamięci (np. dyskach twardych, SSD, pendrive'ach). Określa sposób przechowywania, odczytu, zapisu oraz organizowania plików i katalogów. ### **Wpływ systemu plików na system operacyjny** 1. **Zarządzanie przestrzenią dyskową** 2. **Szybkość dostępu do plików** 3. **Bezpieczeństwo danych** -- obsługa uprawnień użytkowników, szyfrowania i zabezpieczeń przed uszkodzeniami. 4. **Integralność systemu** -- zapobieganie uszkodzeniom plików i ich odzyskiwanie w razie awarii. 5. **Obsługa dużych plików i partycji** -- nowoczesne systemy plików pozwalają na pracę z plikami o dużych rozmiarach. ### **Funkcje systemu plików** - **Organizacja danych** -- hierarchiczna struktura katalogów i plików. - **Zarządzanie uprawnieniami** -- kontrola dostępu użytkowników do plików. - **Obsługa metadanych** -- informacje o pliku (np. nazwa, rozmiar, właściciel, data modyfikacji). - **Zapobieganie fragmentacji** -- optymalizacja rozmieszczenia plików na dysku. - **Odzyskiwanie danych** -- mechanizmy rejestrowania operacji (np. dziennikowanie). ### **Cechy współczesnych systemów plików na przykładzie NTFS (New Technology File System)** 1. **Wsparcie dla dużych plików i partycji** -- obsługuje pliki o rozmiarze do 16 TB i partycje do 256 TB. 2. **Dziennikowanie (Journaling)** -- zapisuje operacje plikowe, co pomaga w odzyskiwaniu danych po awarii. 3. **Uprawnienia i szyfrowanie** -- obsługuje listy kontroli dostępu (ACL) oraz szyfrowanie plików (EFS). 4. **Kompresja plików** -- zmniejsza rozmiar plików, oszczędzając miejsce na dysku. 5. **Obsługa twardych i symbolicznych dowiązań** -- ułatwia organizację plików w systemie. 6. **Redundancyjna tabela plików (MFT -- Master File Table)** -- umożliwia szybkie odnajdywanie plików. **35. Jakie znasz mechanizmy sterowania kolejnością wykonania instrukcji w programie? Opisz wybrane 2 sposoby na przykładzie Matlab'a.** -- Wykonywanie grupy odległych wyrażeń, po których sterowanie powraca do miejsca wywołania (podprogram, procedura, funkcja) -- Kontynuacja od innego punktu programu (skok) -- Warunkowe wykonanie grupy wyrażeń (wybór) -- Powtarzanie wykonywania grupy wyrażeń (pętla) -- Przerwanie wykonywania grupy wyrażeń lub całego programu #### **Pętla** for Pętla for pozwala na wielokrotne wykonanie bloku instrukcji przez określoną liczbę iteracji. **Przykład (Matlab)**: for i=1:5 disp(i); end Funkcja to blok kodu, który wykonuje określoną operację i może zwracać wyniki (wartości). Funkcje mogą być używane w programie wielokrotnie, co czyni kod bardziej przejrzystym i efektywnym. Funkcje w MATLAB są zazwyczaj definiowane w osobnych plikach, ale mogą być również osadzone wewnątrz skryptu. function wynik = dodaj(a, b) \% Funkcja dodaje dwie liczby wynik = a + b; end **36. Czym są procedury i funkcje w programowaniu? Podaj składnię nagłówka funkcji w Matlab** Procedury i funkcje -- Wyodrębnione części programu (podprogramy) wykonujące określone zadanie / operację, posiadające jednoznaczną nazwę i ustalony sposób wymiany informacji z pozostałymi częściami programu -- Mogą (nie muszą) mieć parametry wejściowe function y = blabla(x) y = x\^2; end **37. Na przykładzie Matlab omów budowę i działanie instrukcji warunkowych. Podaj składnię lub przykład użycia.** Budowa warunków logicznych ==, \, \=, \~= operacje porównania Wynik wyrażenia logicznego to zawsze: 0 -- „nie" -- wyrażenie nie jest spełnione 1 -- „tak" -- wyrażenie jest spełnione Przykład: Warunek (a\>=3) można rozumieć jako pytanie: „Czy wartość a jest większa od, lub równa 3?" Odpowiedzi: Tak, jest spełnione / nie, nie jest spełnione Składnia (MATLAB): if (wyrażenie logiczne 1) instrukcje 1; elseif (wyrażenie logiczne 2) instrukcje 2; else instrukcje 3; end **38. Na przykładzie Matlab omów budowę i działanie pętli for / while. Podaj składnię lub przykład użycia** Pętla for -- Instrukcje wewnątrz pętli wykonywane są tyle razy, ile wynika z zadanej listy wartości licznika -- Używana, gdy z góry (jeszcze przed wykonaniem pętli) znamy liczbę jej wywołań -- Iterator pętli zmienia się automatycznie -- Składnia (MATLAB) for iterator=wartości\_iteratora instrukcje; end Pętla while -- Instrukcje wewnątrz pętli wykonywane są tak długo, jak długo spełniony jest warunek -- Używana, gdy nie znamy z góry liczby wywołań znamy z góry liczę wywołań (można zastąpić pętlą for) lub znamy liczbę wywołań, ale iterator jest zmieniany w nietypowy / nielinowy sposób (np. wg ciągu geometrycznego) function \[pozycja\]=znajdz\_znak(tekst,znak) jest=0; %0 - nie znaleziono, 1 - znaleziono pozycja=0; while ((jest==0)&&(pozycja \ - Kolizje danych: Przy dużym ruchu dane mogą się zderzać, co obniża wydajność. - Trudna diagnostyka: Trudno zlokalizować miejsce awarii. - Awaria magistrali: Uszkodzenie przewodu powoduje wyłączenie całej sieci2. **2.Topologia pierścienia (ring)** Urządzenia są połączone w zamknięty pierścień, a dane przesyłane są w jednym kierunku. #### Zalety: - Brak kolizji danych: Dane przesyłane są w zorganizowany sposób (token passing). - Łatwe zarządzanie przepustowością: Ruch sieciowy jest przewidywalny. #### Wady: - Awaria jednego urządzenia: Przerywa cały obieg danych. - Kosztowne modyfikacje: Dodanie lub usunięcie urządzenia wymaga przerwania pracy sieci. - Wydłużenie czasu przesyłania danych: Przy dużej liczbie urządzeń. ### 3. **Topologia gwiazdy (star)** Wszystkie urządzenia są połączone z centralnym urządzeniem (np. przełącznikiem lub routerem). #### Zalety: - Łatwa diagnostyka i naprawa: Problemy z jednym urządzeniem nie wpływają na całą sieć. - Wysoka wydajność: Brak kolizji danych dzięki centralnemu zarządzaniu ruchem. - Elastyczność: Łatwe dodawanie i usuwanie urządzeń. #### Wady: - Centralny punkt awarii: Uszkodzenie centralnego urządzenia wyłącza całą sieć. - Wyższe koszty: Potrzebne więcej okablowania i kosztowny sprzęt. - ### 4. **Topologia siatki (mesh)** Każde urządzenie jest połączone z kilkoma lub wszystkimi innymi urządzeniami w sieci. #### Zalety: - Wysoka niezawodność: Awaria jednego połączenia nie wpływa na funkcjonowanie sieci. - Szybka transmisja danych: Wielościeżkowość skraca czas przesyłania. - Skalowalność: Łatwość rozbudowy o nowe węzły. #### Wady: - Bardzo wysokie koszty: Duża liczba połączeń i konieczność zaawansowanego sprzętu. - Skomplikowana instalacja: Trudność w zarządzaniu dużą liczbą połączeń. ### 5. **Topologia drzewa (hierarchiczna)** Urządzenia są połączone w strukturę hierarchiczną, przypominającą rozgałęziające się drzewo. #### Zalety: - Łatwe zarządzanie: Odpowiednie dla sieci o strukturze korporacyjnej. - Segmentacja sieci: Ułatwia izolowanie problemów i zarządzanie ruchem. #### Wady: - Centralny punkt awarii: Awaria wyższych węzłów wpływa na podłączone urządzenia. - Trudniejsza rozbudowa: Wymaga przemyślanego projektu przy dużych zmianach. ### 6. **Topologia hybrydowa** Łączy cechy różnych topologii (np. gwiazdy i magistrali). #### Zalety: - Elastyczność: Możliwość dostosowania do różnych potrzeb. - Wysoka niezawodność: Połączenie zalet użytych topologii. #### Wady: - Złożoność: Trudna instalacja i zarządzanie. - Koszty: Może być bardzo kosztowna w implementacji. - **46. Co to jest hub, switch i bridge w sieci komputerowej? Jakie pełnią role? Czym się różnią?** ### **Hub, Switch i Bridge** -- definicje, role i różnice: ### **1. Hub (koncentrator)** #### Definicja: Hub to urządzenie sieciowe działające na **warstwie fizycznej** (1. warstwa modelu OSI). Jego zadaniem jest połączenie kilku urządzeń w jednej sieci LAN. #### Rola: - Rozsyła dane odebrane z jednego portu do **wszystkich pozostałych portów**. - Działa w sposób pasywny, nie analizuje ani nie filtruje danych. #### Zalety: - Prosta budowa i łatwość instalacji. - Niski koszt. #### Wady: - **Brak inteligencji:** Dane są wysyłane do wszystkich urządzeń w sieci, co prowadzi do kolizji. - **Niska wydajność:** Im więcej urządzeń, tym większe ryzyko przeciążenia sieci. - **Brak separacji ruchu:** Każde urządzenie w sieci \"widzi\" dane przesyłane przez hub. ### **2. Switch (przełącznik)** Switch to urządzenie sieciowe działające na warstwie 2 (łącza danych), a czasami również na warstwie 3 (sieciowej) modelu OSI. Jego zadaniem jest przesyłanie danych między urządzeniami w sposób bardziej efektywny niż hub. #### Rola: - Analizuje adresy MAC urządzeń i przekazuje dane tylko do odpowiedniego portu (adresata). - Tworzy logiczne połączenia punkt-punkt między urządzeniami. #### Zalety: - Inteligencja: Przekazuje dane tylko tam, gdzie są potrzebne, eliminując kolizje. - Wysoka wydajność: Obsługuje wiele równoczesnych transmisji. - Bezpieczeństwo: Ogranicza ruch sieciowy i redukuje możliwość podsłuchiwania. #### Wady: - Wyższy koszt w porównaniu do hubów. - W ### **3. Bridge (most)** Bridge to urządzenie sieciowe działające na warstwie 2 (łącza danych) modelu OSI. Służy do łączenia dwóch lub więcej segmentów sieci LAN, tworząc jedną logiczną sieć. #### Rola: - Przekazuje dane między segmentami sieci, analizując adresy MAC. - Filtruje ruch, przepuszczając tylko te dane, które muszą przejść między segmentami. - Ogranicza rozgłaszanie niepotrzebnych pakietów między segmentami. #### Zalety: - Redukcja ruchu sieciowego: Przepuszcza tylko potrzebne dane. - Izolacja kolizji: Każdy segment działa jak oddzielna domena kolizji. - Prostota: Łatwe w konfiguracji. #### Wady: - Ograniczona liczba portów. - Niższa wydajność w porównaniu do nowoczesnych switchy. **47. Co to jest i jaką funkcję w sieci komputerowej pełni router?** Router to urządzenie sieciowe działające na warstwie 3 (sieciowej) modelu OSI. Jego główną funkcją jest łączenie różnych sieci i kierowanie ruchu danych pomiędzy nimi, na podstawie adresów IP. Funkcje routera: Routowanie (trasowanie danych) Łączenie różnych sieci Izolacja ruchu sieciowego Tłumaczenie adresów sieciowych Zapewnianie bezpieczeństwa Zarządzanie ruchem sieciowym **48. Za co odpowiadają i do czego służą protokoły Ethernet, IP, TCP, UDP? Jakie są ich najważniejsze cechy?** Protokoły Ethernet, IP, TCP i UDP pełnią kluczowe role w działaniu sieci komputerowych, umożliwiając komunikację między urządzeniami na różnych poziomach. Każdy z nich działa na innej warstwie modelu OSI i pełni inne funkcje ### **1. Ethernet** #### **Za co odpowiada:** - Ethernet to standard komunikacji w sieciach lokalnych (LAN) działający na warstwach łącza danych i fizycznej modelu OSI. Odpowiada za sposób przesyłania danych między urządzeniami w sieci lokalnej. ### **2. IP (Internet Protocol)** #### **Za co odpowiada:** - IP działa na warstwie sieciowej i odpowiada za adresowanie i przesyłanie danych między urządzeniami w różnych sieciach. ### **3. TCP (Transmission Control Protocol)** #### **Za co odpowiada:** - TCP działa na warstwie transportowej i odpowiada za niezawodne przesyłanie danych między urządzeniami. ### **4. UDP (User Datagram Protocol)** #### **Za co odpowiada:** - UDP to protokół działający na warstwie transportowej. Jest protokołem bezpołączeniowym i szybkim, ale mniej niezawodnym niż TCP. **49. Jak można podzielić protokoły warstwy transportowej modelu TCP/IP? Jak zaklasyfikować protokoły TCP i UDP w ramach w.w. podziałów?** 1\. Podział protokołów według charakteru połączenia 2\. Podział protokołów według niezawodności 3\. Podział protokołów według zastosowania TCP to protokół połączeniowy, niezawodny, przeznaczony dla aplikacji wymagających gwarancji dostarczenia danych. UDP to protokół bezpołączeniowy, nieniezawodny, optymalny dla aplikacji czasu rzeczywistego, gdzie liczy się szybkość transmisji i minimalizacja opóźnień. **50. Na czym polega enkapsulacja pakietów przy przesyłaniu danych przez sieć komputerową? Dlaczego jest ona konieczna?** Enkapsulacja to proces, w którym dane aplikacji są opakowywane (dodawane są kolejne nagłówki i czasami stopki) podczas przesyłania ich przez różne warstwy modelu OSI lub TCP/IP. Każda warstwa dodaje do danych informacje niezbędne do ich przetworzenia i przesłania, co pozwala na niezawodną komunikację między urządzeniami w sieci. **Dlaczego enkapsulacja jest konieczna?** Enkapsulacja umożliwia niezależną pracę warstw modelu OSI/TCP-IP. Każda warstwa odpowiada za swoją funkcję i nie musi „znać" działania innych warstw. umożliwiają przesłanie danych do właściwego odbiorcy. Dodawanie nagłówków pozwala na implementację zabezpieczeń (np. szyfrowanie na poziomie warstwy transportowej lub sieciowej) Dzięki enkapsulacji możliwe jest wykrywanie i korekcja błędów (np. mechanizmy CRC na warstwie łącza danych) Enkapsulacja pozwala na współpracę między różnymi sieciami i technologiami, np. Ethernetem, Wi-Fi, czy sieciami mobilnymi. **51. Do czego służy protokół SMTP? Jakie ma wady i jak je rozwiązano? Co to jest i do czego służy MIME?** Prosty protokół przesyłania poczty -- SMTP -- Simple Mail Transfer Protocol -- Służy tylko do przesyłania (wysyłania) poczty pomiędzy komputerami, nie pozwala na pobranie wiadomości z odległego komputera / serwera -- Definiuje format komunikatów wymienianych przez komputer nadający przesyłkę i odbierający ją -- Nie definiuje systemu pocztowego odbiorcy i nadawcy, nazw użytkowników, sposobu przechowywania poczty w skrzynce odbiorcy itp. -- Komunikacja opiera się na komunikatach tekstowych w standardzie ASCII (co uniezależnia protokół od systemów operacyjnych na poszczególnych komputerach) Wady SMTP -- Przesyłanie tylko danych tekstowych -- Brak weryfikacji nadawcy -- Łatwość podszycia się pod innego nadawcę **-- Mechanizmy rozwiązujące problemy** MIME ESMTP ### **MIME (Multipurpose Internet Mail Extensions)** #### **MIME** to rozszerzenie protokołu SMTP, które umożliwia przesyłanie wiadomości e-mail Dzięki MIME można wysyłać: - Załączniki (np. obrazy, pliki PDF, arkusze kalkulacyjne), - Tekst w różnych kodowaniach (np. Unicode), - Treści multimedialne (np. audio, wideo), - Wiadomości w formacie HTML (np. e-maile z grafikami i stylami). **52. Do czego służą protokoły POP3 i IMAP? Jakie mają wady, ograniczenia i zalety?** Protokół Skrzynki Pocztowej -- POP3 -- Post Office Protocol version 3 -- Protokół internetowy pozwalający na odbiór poczty elektronicznej ze zdalnego serwera do lokalnego komputera poprzez połączenie TCP/IP -- Stworzony dla użytkowników, którzy nie są cały czas obecni w internecie (nie można dostarczyć im poczty bezpośrednio, z użyciem SMTP) ** Cechy POP3 (wady)** -- Do jednej skrzynki może podłączyć się tylko jeden klient równocześnie -- Każdy list musi być pobierany razem z załącznikami i żadnej jego części nie można w łatwy sposób pominąć -- Wszystkie odbierane listy trafiają do jednej skrzynki -- Serwer POP3 nie potrafi sam przeszukiwać czekających w kolejce listów ** Protokół dostępu do poczty internetowej -- IMAP** -- Internet Message Access Protocol -- Następca POP3 (choć oba są popularne i używane) -- Pozwala na zarządzanie wieloma folderami pocztowymi oraz pobieranie i operowanie na wiadomościach znajdujących się na zdalnym serwerze -- Pozwala pobrać nagłówki wiadomości i wybranie, które z wiadomości chcemy ściągnąć na komputer lokalny -- Jest bardziej złożony od POP3 i ma więcej poleceń -- Komendy przesyłane w trybie tekstowym, kodowanie base64 ** Zalety** -- Możliwość pobrania tylko nagłówków wiadomości -- Zarządzenie folderami i wiadomościami na serwerze -- Dostęp do poszczególnych części wiadomości MIME -- Dostęp do jednej skrzynki przez wielu klientów jednocześnie -- Obsługa wielu skrzynek jednego użytkownika na jednym serwerze ** Wady** -- Brak automatycznego pobierania nowych wiadomości -- Wyszukiwanie po stronie serwera może mocno obciążać serwer **53. Do czego służy protokół HTTP? Krótko opisz proces pobrania strony html.** Protokół Przesyłania Dokumentów Hipertekstowych -- HTTP -- Umożliwia przesyłanie Od klienta do serwera -- żądań udostępnienia dokumentów WWW -- danych z formularzy -- plików Od serwera do klienta -- plików / danych -- Protokół bezstanowy, stosunkowo prosty działa na zasadzie zapytanie-odpowiedź -- Zwykle usługa HTTP uruchomiona jest na porcie 80 **54. Czym jest tzw. malware? Co to jest i jak działa wirus / robak / koń trojański / exlpoit / dialer / ransomware?** ### **Malware (złośliwe oprogramowanie)** Malware to ogólne określenie oprogramowania stworzonego w celu wyrządzania szkód użytkownikowi, jego urządzeniom, danym lub sieciom. Może kraść dane, niszczyć pliki, szpiegować użytkownika lub blokować dostęp do zasobów. Malware obejmuje różne typy złośliwego oprogramowania, takie jak wirusy, robaki, konie trojańskie, ransomware, dialery czy exploity. #### **1. Wirus** - **Co to jest:** Fragment kodu, który dołącza się do plików lub programów i rozprzestrzenia się podczas ich uruchamiania. - **Jak działa:** 1. Zakaża plik/program na komputerze. 2. Aktywuje się po uruchomieniu zainfekowanego pliku. 3. Rozprzestrzenia się na inne pliki, programy lub urządzenia. #### **2. Robak** - **Co to jest:** Samodzielne złośliwe oprogramowanie, które rozprzestrzenia się przez sieć bez potrzeby infekowania plików. - **Jak działa:** 1. Wykorzystuje luki w zabezpieczeniach systemów lub sieci. 2. Samodzielnie kopiuje się na inne urządzenia w sieci (np. e-mailem lub przez protokoły sieciowe). #### **3. Koń trojański** - **Co to jest:** Złośliwe oprogramowanie podszywające się pod legalne aplikacje lub pliki, aby nakłonić użytkownika do jego uruchomienia. - **Jak działa:** 1. Użytkownik pobiera i uruchamia „fałszywy" program. 2. Trojan wykonuje ukryte działania, np. instalację dodatkowego malware, szpiegowanie lub otwieranie tylnego wejścia (backdoor). #### **4. Exploit** - **Co to jest:** Kod lub narzędzie, które wykorzystuje luki w oprogramowaniu, by przejąć kontrolę nad urządzeniem lub systemem. - **Jak działa:** 1. Wyszukuje podatności w oprogramowaniu (np. brak aktualizacji). 2. Wykorzystuje te luki do wykonania złośliwych działań, np. zainstalowania innego malware. #### **5. Dialer** - **Co to jest:** Złośliwy program zmieniający połączenia telefoniczne komputera, zwykle w celu naliczania opłat. - **Jak działa:** 1. Łączy się z płatnymi numerami premium, generując wysokie rachunki telefoniczne. 2. Działa najczęściej w systemach korzystających z modemów telefonicznych. #### **6. Ransomware** - **Co to jest:** Oprogramowanie, które szyfruje dane ofiary i żąda okupu w zamian za klucz deszyfrujący. - **Jak działa:** 1. Infekuje system przez załączniki e-mail, linki lub exploity. 2. Szyfruje pliki użytkownika lub blokuje dostęp do całego systemu. 3. Wyświetla żądanie zapłaty **55. Jakie znasz sposoby ukrywania obecności malware i utrudniania ich usuwania?** 1\. Polimorfizm i Metamorfizm 2\. Ukrywanie w pamięci 3\. Zmiana nazwy i ukrywanie plików 4.Ukrywanie w rejestrze 5.Używanie legalnych narzędzi systemowych 6.Czasowe lub cykliczne uruchamianie 7.Utrudnianie usuwania przez manipulację procesami

Use Quizgecko on...
Browser
Browser