ODPOWIEDZI infa.doc

(359 KB) Pobierz
1

1. 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:

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 komunikatorach tekstowych w standardzie ASCII( co uniezależnia protokół od systemów na poszczególnych komputerach)

Wady:

dane przesyłane tekstowo

brak weryfikacji nadawcy

łatwość podszycia się pod innego nadawcę

Mechanizmy rozwiązujące: MIME, ESMTP

 

MIME- uniwersalne rozszerzenia poczty internetowej:

standard przesyłania poczty elektronicznej

definiuje budowę komunikatu poczty

kodowanie MIME może zwiększyć objętość danych

Zalety: pozwala przesyłać dane binarne, pozwala przesyłać załączniki, pozwala zawrzeć w jednej wiadomości kilka jej wersji

 

 

2. Za co odpowiada i co określa protokół IP? Jakie są najważniejsze jego cechy?

 

Podstawowa funkcja to wybór optymalnej drogi i przesyłanie nią pakietów. W przypadku awarii protokół próbuje dostarczyć pakiety drogami alternatywnymi, nie zawsze optymalnymi. Protokół IP:

jest protokołem warstwy sieciowej

protokół bezpołączeniowy

w celu przesłania pakietów nie jest nawiązywane połączenie z hostem docelowym

pakiety mogą być przesyłane różnymi trasami

odbiorca składa dane z pakietów w całość

jest protokołem zawodnym

sam protokół IP nie sprawdza poprawności danych

 

3. Przedstaw kaskadowy model cyklu życia programu. Krótko scharakteryzuj jego etapy.

 

Model kaskadowy:

studium potrzeb i możliwości- ogólne sformułowanie problemu, analiza czy nowy program jest potrzebny, opłacalny i czy da się go zrealizować

specyfikacja- szczegółowe sformułowanie problemu, określenie wymagań stawianych przez użytkownika(funkcjonalne i pozafunkcjonalne), określenie wymagań wynikających ze środowiska pracy systemu, wymagania projektowo wdrożeniowe, dokładnie określa co należy do programu/systemu a co nie, tworzona jest w ścisłej współpracy z użytkownikiem, specyfikacja wymagań systemowych

projektowanie- analiza problemu, znalezienie algorytmu rozwiązania, opis sposobu rozwiązania, projekt struktury programu, projekt struktury danych, projekt komunikacji z użytkownikiem, projekt testowania programu

kodowanie/ programowanie- zapis elementów programu( w szczególności algorytmu) z użyciem języka programowania, należy wybrać odpowiednie narzędzie, należy stosować dobre praktyki pisania kodu zwiększając jego czytelność

uruchamianie, testowanie, walidacja- sprawdzanie poprawności działania programu w praktyce, potwierdzenie w sposób udokumentowany i zgodny z założeniami że procedury i procesy działania rzeczywiście prowadzą do zaplanowania wyników, prowadzone według specyfikacji

konserwacja- wprowadzenie poprawek w istniejącym i działającym programie, dodawanie nowych elementów i funkcji

 

 

4.Na przykładzie Matlab omów budowę i działanie pętli for/while.

 

For- instrukcje wewnątrz pętli wykonywane tyle razy ile wynika z zadanego zakresu, licznik pętli zmienia się automatycznie, używana gdy z góry znamy liczbę wywołań

 

while- instrukcje wewnątrz pętli wykonywane są tak długo jak długo spełniony jest warunek, ewentualny licznik pętli musimy zmieniać sami, używana gdy nie znamy z góry liczby wywołań, gdy licznik jest zmieniany w sposób nietypowy

 

5. Na czym polega wielozadaniowość systemu operacyjnego? Czym różni się wielozadaniowość kooperacyjna i z wywłaszczeniem? Wielowatkowość a wielozadaniowość

 

Wielozadaniowość:

cecha systemu operacyjnego- możliwość uruchomienia więcej niż jednej aplikacji/ programu/ procesu w tym samym czasie

 

Wielozadaniowość kooperacyjna:

programy, gdy nie potrzebują zasobów same je zwalniają i przekazują systemowi, który przydziela je następnym procesom

 

Wielozadaniowość z wywłaszczeniem:

system sam decyduje o wykorzystaniu zasobów( zwłaszcza czasu procesora i pamięci), może ‘wyrzucić’ czyli wywłaszczyć proces

zaleta: zablokowany program nie blokuje systemu

współczesne systemy operacyjne są systemami wielozadaniowymi z wywłaszczeniem

 

 

Wielowątkowość (ang. multithreading) – cecha systemu operacyjnego, dzięki której w ramach jednego procesu może wykonywać kilka wątków lub jednostek wykonawczych. Nowe wątki to kolejne ciągi instrukcji wykonywane oddzielnie. Wszystkie wątki tego samego procesu współdzielą kod programu i dane. W systemach nie obsługujących wielowątkowości pojęcia procesu i wątku utożsamiają się.

Wielowątkowość może także odnosić się do samych procesorów. W takim wypadku oznacza możliwość jednoczesnego wykonywania wielu wątków sprzętowych na pojedynczej jednostce wykonawczej – rdzeniu (ang. core). Wielowątkowość w procesorach możliwa jest dzięki temu że nie wszystkie części jednostki wykonawczej są w jednakowym stopniu wykorzystywane przez pojedynczy wątek (ciąg instrukcji). Nieaktywne części jednostki wykonawczej mogą w tym czasie wykonywać inny wątek zwiększając efektywność wykorzystania całego procesora. W zależności od rodzaju technik zastosowanych do obsługi dodatkowych wątków sprzętowych spotyka się od 2 (najczęściej) do nawet 8 wątków sprzętowych na pojedynczy rdzeń procesora (core).

Cechy wielowątkowości

·         wszystkie wątki wykonują się w ramach tylko jednego programu (procesu) - innymi słowy jeden proces posiada wiele instancji wykonawczych (wątków)

·         wątki zostały wprowadzone aby umożliwić przetwarzanie współbieżne, np gdy zachodzi potrzeba wykonania wielu zadań jednocześnie. Może się to wiązać również ze zwiększeniem wydajności o ile istnieją odpowiednie zasoby sprzętowe (wiele procesorów lub obsługa wielowątkowości przez pojedynczy procesor). Należy pamiętać iż wprowadzenie wątków może obniżyć wydajność ponieważ najczęściej wymagane jest przy tym wprowadzenie odpowiednich mechanizmów synchronizacji;

·         wszystkie wątki procesu współdzielą tę samą wirtualną przestrzeń adresową (mają dostęp do tych samych "egzemplarzy" zmiennych, obiektów i struktur) i korzystają z tych samych zasobów systemowych;

·         komunikacja między wątkami w odróżnieniu od procesów jest bardzo łatwa do wykonania – w przypadku wątków wystarczy odwoływać się do tych samych zmiennych i obiektów – komunikacja między procesami wymaga zastosowania mechanizmów IPC (ang. InterProcess Communication);

·         współdzielenie wirtualnej przestrzeni adresowej niesie zagrożenie – jeden "wadliwy" wątek może zagrozić wykonaniu całego programu;

·         każdy wielowątkowy system operacyjny zapewnia specyficzne metody synchronizacji wątków, które z wyżej wymienionych przyczyn należy bezwzględnie zaimplementować.

 

6  a) Czym są instrukcje SIMD? Kiedy się je stosuje?

Są to instrukcje dotyczące systemów, w których przetwarzanych jest wiele strumieni danych w oparciu o pojedynczy strumień rozkazów. Instrukcja szczególnie przydatna w multimediach np. rozjaśnienie obrazu to dodanie pewnej stałej wartości opisującej kolejne piksele. Stosowane są także do obliczeń naukowo-technicznych.

 

6 b) Opisz działanie mechanizmu przerwań (IRQ). Jakie są zalety wielopoziomowego systemu priorytetów przerwań?

 

Urządzenie zgłasza o procesora żądanie dostępu do magistrali. Jeśli procesor zaakceptuje zgłoszenie przerywa aktualny program zapisując stan rejestrów, zezwala na podłączenie urządzenia do magistrali, 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ń. Zaletą wielopoziomowego systemu przerwań jest to że można przerwań obsługę innego przerwania.

 

7. Opisz mechanizm potokowego przetwarzania instrukcji. W jaki sposób rozwiązano problemy występujące przy tego typu przetwarzaniu instrukcji?

Przetwarzanie potokowe polega na ułożeniu rozkazów w sposób zbliżony do linii produkcyjnej. Przetwarzanie pojedynczego rozkazu można podzielić na kilka etapów, które mogą być realizowane przez niezależne podukłady procesora. W potoku znajdują się rozkazy w różnym stadium przetwarzania, co prowadzi do zwiększenia szybkości przetwarzania. Największy wpływ na efektywność potoku ma jego głębokość(liczba poziomów).

Problemy:

·                     różny czas trwania poszczególnych etapów prowadzi do powstawania opóźnień i wymusza stosowanie dodatkowych buforów

·                     nie wszystkie etapy mogą być zawsze realizowane równolegle( możliwość wystąpienia konfliktów gdy sąsiednie instrukcje odwołują się do tej samej komórki pamięci)

·                     wystąpienie instrukcji rozgałęzienia warunkowego może prowadzić do unieważnienia następnych rozkazów w potoku

 

 

Rozwiązania:

·                     pobieranie rozkazu docelowego z wyprzedzeniem

·                     zwielokrotnienie strumienia

·                     przewidywanie rozgałęzień

·                     stosowanie bufora pętli

·                     zmiana porządku wykonywanych rozkazów

 

8. Co to jest i jak jest zbudowany  system operacyjny? Podpowiedź: przedstaw w odpowiedzi model warstwowy wraz z opisem funkcji warstw.  Co oznacza skrót HAL w odniesieniu do systemów operacyjnych?

 

 

Jądro:

najważniejszy komponent każdego systemu operacyjnego

wykonuje podstawowe operacje- uruchamianie programów, przyznawanie zasobów aplikacjom, obsługa wielozadaniowości, obsługa urządzeń

Sterownik:

program kontrolujące pracę przyłączonego do komputera urządzenia

systemy zawierają często wbudowane sterowniki do popularnych typów urządzeń, do innych trzeba  zainstalować

Powłoka/ interfejs użytkownika(shell):

pozwala na komunikację użytkownika z systemem

‘tłumaczy’ polecania użytkownika na funkcje kerrnela

każdy system oferuje swoja powłokę( zwykle jedną tekstową i jedną graficzną)

powłokę zwykle można zmienić na inną

 

Warstwa Abstrakcji Sprzętu-HAL- Hardware Abstraction Layer

znajduje się pomiędzy systemem a sprzętem i uniezależnia system od sprzętu

wszelkie odwołania do sprzętu wykonywane wyłącznie za pośrednictwem HAL

wybór HAL w momencie instalacji systemu

system ‘nie wie’, na jakim sprzęcie tak naprawdę działa

 

9. Opisz podstawowe mechanizmy i założenia dotyczące komunikacji z użyciem magistrali USB. Na czym polega transmisja izochroniczna i co oznacza „rezerwacja pasma transmisji” w magistrali USB.

 

 

Transmisja szeregowa, asynchroniczna i izochroniczna.

wszelkie akcje w tym komunikację inicjuje kontroler USB, przyłączone urządzenia muszą czekać na zapytanie o potrzebę komunikacji

podłączone do magistrali urządzenia muszą być jednoznacznie identyfikowane, każdemu przydzielany jest kontroler numer ID

przydział następuje przy pierwszym przeglądzie magistrali przez kontroler lub po podłączeniu urządzenia

przy przeglądzie urządzenia zgłaszają swoją klasę i potrzebną szerokość pasma, kontroler gromadzi te dane by później przydzielać pasma transferu

komunikacja odbywa się na poziomie kanałów wirtualnych

na końcach kanału wirtualnego znajdują się końcówki będące źródłem albo odbiornikiem

każde urządzenie może mieć około 16 końcówek

kontroler tworzy kanały przesyłowe określonego typu, o ustalonej szerokości i kierunku przepływu

ustalanie priorytetów urządzeń i przydział pasma polega na odpowiednio częstym lub żadkim przesyłaniu do nich przez kontroler pakietów zapytań

prośba o dostęp może zostać zignorowana ale trwająca transmisja nie jest przerywana

 

Tryb masowy- podstawowy tryb transmisji, asynchroniczny, ma najniższy priorytet, nie daje gwarancji przepustowości, jest gwarancja poprawności i spójności danych( powtarzanie uszkodzonych i zagubionych pakietów)

Tryb izochroniczny- 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 pakietów, używany np. do transmisji video i dźwięku

Tryb natychmiastowy- umożliwia szybkie przesłanie kilku bajtów danych, używany np. do obsługi myszy

Tryb sterujący- używany podczas konfiguracji nowopodłączonego urządzenia.

 

10. Przedstaw typowe topologie sieci komputerowych, podaj ich wady i zalety.

 

Gwiazda- komputery są podłączone do jednego punktu centralnego

Gwiazda rozszerzona- punkt centralny i punkty poboczne

 

Zalety: duża niezawodność

Wady: wysoki koszt okablowania

Obecnie najpopularniejsze

 

 

 

 

 

 

 

Magistrala: komputery podłączone do wspólnego medium transmisyjnego

Pierścień: łączenie sąsiednich komputerów tworzące pierścień 

Podwójny pierścień: niezawodność

 

Zalety: niższe koszty

Wady: podatność na awarie, utrudniona rozbudowa

 

Hierarchiczna: podobna do gwiazdy, ale urządzenia w węzłach nie tylko rozdzielają sygnał ale też sterują przepływem informacji

 

Sieć, siatka( mesh): każde z urządzeń połączone z więcej niż jednym innym urządzeniem

Zalety: bardzo duża niezawodność

Wady: wysokie koszty

Topologia stosowana w sieciach szkieletowych

 

 

 

 

 

 

...

Zgłoś jeśli naruszono regulamin