obrona

Pytania KIERUNKOWE

Analiza i projektowanie systemów informatycznych:

1. Co to jest system informacyjny?

Jest to struktura posiadająca wiele poziomów, która pozwala użytkownikowi na przetwarzanie, za pomocą procedur i modeli, informacji wejściowych w wyjściowe.

2. Jaka jest różnica między systemem informacyjnym a informatycznym?

System informacyjny, w którym procesy przetwarzania danych i procesy komunikacyjne realizowane są technikami tradycyjnymi nazywamy tradycyjnym systemem informacyjnym, o systemie z zastosowaniem technik komputerowych mówimy, że to system informatyczny.

System informatyczny rozumiany jest jako oprogramowanie i sprzęt komputerowy prowadzący do udoskonalenia funkcji, szybkości i precyzji działania algorytmów oraz do zwiększenia możliwości przetwarzania, zabezpieczania i przekazywania informacji użytkownikom

3. Wyjaśnij celowość różnicowania tych pojęć.

Podstawowym celem systemu jest: zbieranie, gromadzenie przetwarzanie, przechowywanie i przekazywanie decydentom informacji, służących do podejmowania przez nich racjonalnych decyzji i pomocy w sprawnym zarządzaniu.

W systemie informacyjnym procesy przetwarzania danych i procesy komunikacyjne mogą być realizowane ręcznie i automatycznie.

System informacyjny, w którym procesy przetwarzania danych i procesy komunikacyjne realizowane są technikami tradycyjnymi nazywamy tradycyjnym systemem informacyjnym, o systemie z zastosowaniem technik komputerowych mówimy, że to system informatyczny.

4. Przedstaw etapy klasycznego cyklu projektowania systemów informatycznych.

- planowanie

- analiza wymagań

- projektowanie

- implementacja

- testowanie i integracja

- wdrożenie

- utrzymanie

5. Kto to jest analityk systemowy?

Analityk systemowy— osoba, która potrafi analizować złożone problemy organizacyjne i strukturalne w celu przedstawienia ich w formie abstrakcyjnych modeli możliwych do przetwarzania w technologii informatycznej.

6. Architektury typu peer to peer, client-server, main frame.

Peer-to-peer — architektura sieci lokalnej, w której nie ma serwera, a każda stacja robocza (mikrokomputer) połączona jest z pozostałymi. Architektura wykorzystująca bezpośrednią komunikację w sieci.

Klient-serwer – architektura systemu komputerowego, w szczególności oprogramowania, umożliwiająca podział zadań (ról). Polega to na ustaleniu, że serwer zapewnia usługi dla klientów, zgłaszających do serwera żądania obsługi.

main Frame -  komputery używane głównie przez duże organizacje dla krytycznych aplikacji (np. finansowych, statystycznych). Są systemami o dużej wydajności przetwarzania danych Mainframe zostały zaprojektowane tak, aby obsłużyć wysokie obciążenie urządzeń wejścia/wyjścia (I/O), dlatego kładzie się duży nacisk na wydajność przetwarzanych danych Celem systemu mainframe jest świadczenie usług dużej liczbie użytkowników. W odróżnieniu od superkomputera mainframe nie posiada dużej mocy obliczeniowej, a specjalizuje się w wydajnych operacjach I/O

7. Co to jest model typu ERM i z jakich elementów jest budowany?

Model danych zaliczany do modeli pojęciowych. Podstawowym celem modelu encja-związek jest koncepcyjne odwzorowanie istniejącego, potencjalnego lub wyobrażanego fragmentu świata rzeczywistego modelowanego przez system z bazą danych. Model encja-związek znalazł zastosowanie przy projektowaniu baz danych, m.in. relacyjnych. Jego odmiana jest też często podstawowym składnikiem modeli lub metodyk obiektowych. Jest on także często podstawą systemów CASE. Zasadniczą zaletą modelu jest język wizualnych diagramów (entity-relationship diagrams, ERD) pozwalający poglądowo odwzorować obiekty modelowanej rzeczywistości oraz powiązania pomiędzy nimi w postaci grafu.

Elementy budowy:

- obiekty, o których informacje są istotne z punktu widzenia realizacji celów strategicznych firmy;

- atrybuty obiektów;

- związki pomiędzy obiektami.

8. Co to jest model DFM i z jakich elementów jest zbudowany?

DFM (ang. Date flow model), czyli model przepływu danych.

- Są intuicyjnym sposobem przedstawienia, jak dane są przetwarzane przez system.

- Na etapie analizy należy ich użyć do modelowania przetwarzania danych w istniejącym systemie.

- Notacje używane w tych modelach służą do przedstawiania przetwarzania funkcjonalnego, magazynów danych i przekazywania danych między funkcjami.

- Modele przepływu danych są powszechnie stosowane w analizie o analizie strukturalnej systemów.

9. Z czego powinna się składać dokumentacja projektowa systemu informatycznego?

Składa się z 2 części: dokumentacji kodu oraz dokumentów uzupełniających, omawiających sposób kompilacji i ogólną architekturę kodów źródłowych systemu.

Niezbędne elementy dokumentacji projektowej:

● Opis plików programu – każdy plik powinien zawierać informacje o autorze, dacie

modyfikacji i nazwie

● Opis klas – każda klasa powinna zwierać opis dotyczący jej przeznaczenia

● Opis zmiennych i atrybutów klas – każda zmienna powinna zawierać komentarz na

temat jej przeznaczenia oraz możliwych wartości które możne przyjmować

● Opis metod i funkcji – każda funkcja powinna zawierać opis jej działania, dokładny

opis jej parametrów (co oznaczają) oraz opis wartości przekazywanej przez funkcję

● Ponadto w dokumentacji powinny zostać opisane mechanizmy tj. protokoły

transmisji danych, formatu plików itp.

10. Jaka powinna być organizacja zespołów projektowych?

Organizacja zespołu projektowego wskazuje na dojrzałość organizacji i jej podejście do tego zagadnienia.

Można wyróżnić następujące modele budowy zespołów projektowych:

- ocena umiejętności wewnętrznych

- Rozmowy kwalifikacyjne z potencjalnymi

członkami zespołu

- Rozwiązywanie problemów wewnętrznych

grupy

- Wynajęcie podwykonawców

11. Wyjaśnij kilka charakterystycznych skrótów dla zintegrowanych aplikacji programowych (np. ERP, CAD,

CRM, CASE).

ERP - Planowanie zasobów przedsiębiorstwa (ang. Enterprise Resource Planning (ERP), tłumaczone przez producentów też jako Zaawansowane Zarządzanie Zasobami) – określenie klasy systemów informatycznych służących wspomaganiu zarządzania przedsiębiorstwem lub współdziałania grupy współpracujących ze sobą przedsiębiorstw, poprzez gromadzenie danych oraz umożliwienie wykonywania operacji na zebranych danych

CAD - Komputerowe wspomaganie projektowania, CAD (ang. Computer Aided Design) – projektowanie wspomagane komputerowo, czyli zastosowanie sprzętu i oprogramowania komputerowego w projektowaniu technicznym. 

CRM - Zarządzanie relacjami z klientami lub System relacji z klientami, CRM (ang. Customer Relationship Management) – to zestaw procedur i narzędzi istotnych w zarządzaniu kontaktami z klientami.

Sprawne działanie systemu CRM nie byłoby możliwe bez systemów baz danych i systemów informatycznych.

CASE (Computer-Aided Software Engineering, Computer-Aided Systems Engineering) - oprogramowanie używane do komputerowego wspomagania projektowania oprogramowania.

- Funkcje CASE to analiza, projektowanie i programowanie

- Narzędzia CASE automatyzują metody projektowania, dokumentacji oraz tworzenia struktury kodu programu w wybranym języku programowania, najczęściej w programowaniu obiektowym.

Bazy danych:

1. Typy i modele baz danych

Typy modeli baz danych:

- Proste modele danych - Dane zorganizowane są w strukturę rekordów zgrupowanych w plikach. Głównymi dostępnymi operacjami są operacje na rekordach.

- Klasyczne modele danych - Należą do nich modele hierarchiczne, sieciowe i relacyjne.

- Semantyczne modele danych - Klasyczne modele danych nie dostarczają łatwego sposobu odczytania informacji o semantyce danych, stąd podejmuje się próby stworzenia innych modeli, uzupełniających ten brak.

2. Systemy zarządzania bazami danych

to oprogramowanie bądź system informatyczny służący do zarządzania komputerowymi bazami danych. Systemy baz danych mogą być sieciowymi serwerami baz danych lub udostępniać bazę danych lokalnie. (Firebird, Oracle, MySQL)

3. Zarządzanie hurtowniami danych

- odtwarzanie bazy danych po awarii

- dublowanie – serwer zapasowy

- partycjonowanie obiektów – każda partycja przechowywania jest w odzielnym TBSie

4. Architektura baz danych i hurtowni danych.

5. Relacje w bazach danych

- jeden do jednego - każdy rekord w tabeli A może mieć tylko jeden dopasowany rekord z tabeli B

- jeden do wielu - rekord w tabeli A może mieć wiele dopasowanych do niego rekordów z tabeli B

- wiele do wielu - rekord w tabeli A może mieć wiele dopasowanych do niego rekordów z tabeli B i tak samo rekord w tabeli B może mieć wiele dopasowanych do niego rekordów z tabeli A

6. Klucze w bazach danych

Klucz podstawowy (ang. primary key) zwany też kluczem głównym to jedno lub więcej pól, których wartość jednoznacznie identyfikuje każdy rekord w tabeli.

Klucz obcy występuje wtedy gdy odwołuje się do innej tabeli.

7. Architektura klient-serwer

Polega to na ustaleniu, że serwer zapewnia usługi dla klientów, którzy mogą komunikować się z serwerem wysyłając żądanie

8. Rozproszone systemy baz i hurtowni danych

Podstawowym celem komputerowych baz danych jest tworzenie tzw. kwerend, czyli różnorodnych raportów i statystyk. Istotne znaczenie ma niezawodność i bezpieczeństwo danych. Z tego względu dane zapisywane na dyskach są szyfrowane a ponadto stosowane są rozproszone systemy baz danych (np. macierze dyskowe).

Hurtownia danych (ang. data warehouse) – rodzaj bazy danych, która jest zorganizowana i zoptymalizowana pod kątem pewnego wycinka rzeczywistości. Hurtownia danych jest wyższym szczeblem abstrakcji niż zwykła relacyjna baza danych (choć do jej tworzenia używane są także podobne technologie). W skład hurtowni wchodzą zbiory danych zorientowanych tematycznie (np. hurtownia danych klientów). Dane te często pochodzą z wielu źródeł, są one zintegrowane i przeznaczone wyłącznie do odczytu.

9. Systemy OLAP

Systemy informowania kierownictwa oparte na technikach OLAP (ang. Online Analytical Processing) są narzędziem pozwalającym na wielowymiarową analizę danych biznesowych zgromadzonych w hurtowni oraz na spersonalizowany dostęp do wyników analizy za pomocą wybranych mediów komunikacji.

10. Operatory, funkcje i frazy SQL

Operator UNION w języku SQL łączy rezultaty dwóch zapytań w jedną tabelę (bądź inną postać wyniku) zawierającą wszystkie pasujące do nich wiersze. Oba zapytania biorące udział w złączeniu muszą generować jednakową liczbę kolumn o odpowiednio kompatybilnych typach danych. Zdublowane rekordy są automatycznie usuwane, z wyjątkiem sytuacji, w której zostało użyte UNION ALL .

11. Projektowanie oraz bezpieczeństwo baz i hurtowni danych

12. Normalizacja bazy danych

Jest to proces mający na celu eliminację powtarzających się danych w relacyjnej bazie danych

13. Implementacja baz danych

14. Tworzenie baz danych w środowisku C++ Builder

Grafika komputerowa:

1. Przykłady zastosowań grafiki komputerowej.

2. Percepcja wrażeń wzrokowych przez człowieka.

- Obraz powstaje w siatkówce.

- Człowiek posiada dwa rodzaje receptorów przy pomocy których jest w stanie widzieć za równo w dzień jak i w nocy. Czopki – odpowiedzialne za widzenie dzienne oraz Pręciki – odpowiedzialne za widzenie nocne

3. Wyjaśnij pojęcia: barwy chromatyczne i achromatyczne.

Barwy achromatyczne (barwy niekolorowe) – wszystkie barwy nieposiadające dominanty barwnej, a więc: biały, czarny oraz wszystkie stopnie szarości.

Barwy chromatyczne (barwy kolorowe) - wszystkie kolory, w których można wyróżnić dominantę, choćby niewielką, jakiejś barwy - a więc są to wszystkie kolory prócz czerni, bieli i wszystkich szarości

4. Jakie są różnice między mieszaniem addytywnym i subtraktywnym?

Mieszanie addytywne polega na nakładaniu się na siebie świateł trzech barw podstawowych - czerwonej, zielonej i niebieskiej, dla uzyskania barwy wynikowej. Utworzona barwa zawsze będzie jaśniejsza niż tworzące ja barwy podstawowe - ponieważ barwa mieszana zostaje uzupełniona barwami widma światła białego.

Mieszanie subtraktywne - mieszanie farb („kolorów”). Podstawowa różnica - są barwniki, które nakłada lub miesza się ze sobą tak aby powstała oczekiwana barwa wynikowa. Otrzymany pigment, jest zawsze ciemniejszy od tych które brały udział w jego tworzeniu. Jest to zjawisko odwrotnie jak w metodzie addytywnej. Wypadkowa mieszania subtraktywnego dąży do czerni

5. Podstawowe różnice między grafiką rastrową i wektorową.

Grafika wektorowa jest to rodzaj grafiki komputerowej w której obraz jest opisany za pomocą figur geometrycznych(w przypadku grafiku dwuwymiarowej) lub brył geometrycznych(w przypadku grafiki trójwymiarowej) umiejscowionych w matematycznie zdefiniowanym układzie współrzędnych, odpowiednio dwu- lub trójwymiarowym.

Grafika rastrowa - prezentacja obrazu za pomocą pionowo-poziomej siatki odpowiednio kolorowanych pikseli na monitorze komputera, drukarce lub innym urządzeniu wyjściowym.

6. Omów i porównaj podstawowe miary rozdzielczości obrazu.

XGA/ XVGA - jeden ze standardów rozdzielczości ekranu 1024x768 pikseli , XGA pozwala na wyświetlenie obrazu w rozdzielczości 1024x768 punktów i 256 kolorach.

SXGA

UXGA

WXGA

WSXGA+

WUXGA

WQXGA

7. Omów i wyjaśnij różnice między modelami barw CMYK oraz RGB.

RGB odnoszą się do barw podstawowych światła R (ang. Red - Czerwony), G (ang. Green – Zielony) i B (ang. Blue – Niebieski) używanych w monitorach, telewizorach, kamerach cyfrowych i skanerach. Barwy CMYK odpowiadają podstawowym barwom światła odbitego: Cyan (jasnoniebieski), Magenta (purpura), Yellow (żółty) i Black (czarny). Są to barwy najczęściej używane przy druku.

Kombinacja świateł RGB daje światło białe, mówi się, że barwy "dopełniają się do szarości", dlatego model barwny RGB jest modelem addytywnym, podczas gdy kombinacja CMYK daje czerń, a wszystkie kolory uzyskujemy odejmując poszczególne barwy w różnych proporcjach - stąd model substraktywny.

8. Omów i wyjaśnij różnice między modelami barw Lab oraz HSV.

9. Wyjaśnij pojęcie histogramu obrazu.

10. Wyjaśnij definicję krzywej Bezier.

Pojedynczą krzywą Béziera jednoznacznie identyfikują cztery punkty: p0, p1, p2, p3

Krzywa zaczyna się w punkcie p0 i kończy w p3. Punkt p0 jest zatem punktem początkowym, a p3 – punktem końcowym (punkty p0 i p3 są często nazywane końcowymi).

Punkty p1 i p2 - punkty kontrolne

Punkty kontrolne działają jak „magnesy” i „przyciągają” do siebie krzywą

11. Co to są fraktale, jakie znasz ich przykłady?

Fraktal (łac. fractus - złamany, cząstkowy) w znaczeniu potocznym oznacza zwykle obiekt samo-podobny (tzn. taki, którego części są podobne do całości). Ze względu na olbrzymią różnorodność przykładów matematycy obecnie unikają podawania ścisłej definicji i proponują określać fraktal jako zbiór, który:

- ma nietrywialną strukturę w każdej skali

- struktura ta nie daje się łatwo opisać w języku tradycyjnej geometrii euklidesowej

- jest samopodobny, jeśli nie w sensie dokładnym, to przybliżonym lub stochastycznym

- ma względnie prostą definicję rekurencyjną

- ma naturalny ("poszarpany", "kłębiasty" itp.) wygląd

Przykłady: trójkąt Sierpińskiego, dywan Sierpińskiego, piramida Sierpińskiego kostka (gąbka) Mengera.

12. Zastosowanie warstw w grafice wektorowej i rastrowej.

13. Przedstaw algorytm drzew czwórkowych na dowolnym przykładzie.

Podstawy elektroniki i elektrotechniki:

1. Wymień i opisz typy elementów biernych i aktywnych.

2. Porównaj metody: prądów obwodowych i potencjałów węzłowych.

3. Przedstaw zasady Thevenina i Nortona.

4. Wyjaśnij zasadę superpozycji.

5. Wymień cechy idealnego wzmacniacza operacyjnego.

6. Przedstaw budowę wzmacniaczy wielostopniowych.

7. Wyjaśnij zasadę działania stabilizatora napięcia.

8. Wyjaśnij pojęcia moc czynna i moc bierna.

Moc czynna- część mocy, którą odbiornik pobiera ze źródła i zamienia na pracę lub ciepło.

Moc bierna - jest to ta część energii, która pulsuje między źródłem energii a odbiornikiem i nie jest zamieniana na pracę.

9. Jak działa układ całkujący oraz różniczkujący?

10. Opisz działanie ujemnego sprzężenia zwrotnego.

Sieci komputerowe:

1. Sprzętowe i programowe składniki sieci komputerowych.

- sprzętowe składniki sieci – urządzenia transmisji (światłowody, skrętka), urządzenia dostępu (karty sieciowe), urządzenia wzmacniania sygnału (wzmacniacz – odbiera sygnały, wzmacnia i wysyła dalej).

- programowe składniki sieci – protokoły (sposób komunikowania się komputerów przyłączonych do sieci), sterowniki urządzeń (program sprzętowy obsługujący urządzenie), oprogramowanie komunikacyjne (oprogramowanie sterujące komunikacją).

2. Efektywny transfer informacji w sieciach komputerowych.

Efektywny transfer oznacza szybkie przysyłanie danych w sieci, przy jak najmniejszej liczbie zgubionych pakietów. Najważniejszym parametrem określającym efektywność transferu jest przepustowość łącza.

3. Routing w sieciach komputerowych.

Routing ( ang.- trasowanie) jest to algorytm dzięki któremu możliwa jest wymiana pakietów pomiędzy dwiema sieciami. Jest to o tyle istotne, ponieważ gdyby nie urządzenia routujące to niemożliwe byłoby tworzenie dużych sieci.

4. Siedmiowarstwowy model OSI/ISO.

7. aplikacji

6. prezentacji

5. sesji

4. transportowa

3. sieci

2. łącza danych

1.fizyczna

5. Media transmisyjne w sieciach LAN.

Kabel koncentryczny, cienki koncentryk, gruby koncentryk, skrętka dwużyłowa, ekranowana skrętka dwużyłowa, nieekranowana skrętka dwużyłowa, światłowody.

6. Regenerator, most (bridge), koncentrator i przełącznik w sieci Ethernet.

7. Struktury sieci komputerowych. Co to jest siec peer to peer?

model komunikacji w sieci komputerowej, który gwarantuje obydwu stronom równorzędne prawa (w przeciwieństwie do modelu klient-serwer).

W sieciach P2P, każdy komputer może jednocześnie pełnić zarówno funkcję klienta, jak i serwera.

8. Funkcje serwera plików, aplikacji i wydruku w sieci komputerowej.

- serwer plików - to komputer (serwer) lub program, który udostępnia zasoby dyskowe danego komputera.

- serwer aplikacji - Serwery aplikacji są projektowane w celu zapewnienia zestawu usług dla określonego typu aplikacji.

- serwer wydruku - serwer, który udostępnia obsługę zadań drukowania

9. Bezprzewodowe sieci komputerowe (Wi-Fi, WLAN).

Wifi - zestaw standardów stworzonych do budowy bezprzewodowych sieci komputerowych. Szczególnym zastosowaniem WiFi jest budowanie sieci lokalnych opartych na komunikacji radiowej czyli WLAN. WiFi jest obecnie wykorzystywane do budowania rozległych sieci

10. Omów przeznaczenie i zasady działania usług SMTP, POP3, FTP.

- SMTP – (ang. Simple Mail Transfer Protocol) – protokół komunikacyjny opisujący sposób przekazywania poczty elektronicznej w Internecie.

- POP3 (ang. Post Office Protocol version 3) - to protokół internetowy pozwalający na odbiór poczty elektronicznej ze zdalnego serwera do lokalnego komputera.

- FTP - (ang. File Transfer Protocol) - protokół typu klient-serwer, który umożliwia przesyłanie plików z i na serwer.

Struktury danych i programowanie obiektowe:

1. Wyjaśnij pojęcie enkapsulacja w programowaniu obiektowo zorientowanym?

Enkapsulacja – inaczej hermetyzacja, jedno z założeń paradygmatu programowania obiektowego. Polega ono na ukrywaniu pewnych danych składowych lub metod obiektów danej klasy tak, aby były one (i ich modyfikacja) dostępne tylko metodom wewnętrznym danej klasy lub funkcjom z nią zaprzyjaźnionym. Z pełną hermetyzacją mamy do czynienia wtedy, gdy dostęp do wszystkich pól w klasie jest możliwy tylko i wyłącznie poprzez metody, lub inaczej mówiąc gdy wszystkie pola w klasie znajdują się w sekcji prywatnej (lub chronionej).

2. Na czym polega i do czego służy przeładowanie operatorów?

Przeciążanie operatorów (przeładowanie operatorów) to rodzaj polimorfizmu występującego w niektórych językach programowania, polegający na tym, że operator może mieć różne implementacje w zależności od typów użytych argumentów (operandów). Trzeba zapamiętać że można przeciążać TYLKO te operatory. Próba przeciążania innych (tudzież tworzenia nowych jak np @) skończy się błędem kompilacji. Nadanie im nowych funkcji.

3. Co oznacza dziedziczenie w programowaniu obiektowo zorientowanym?

Dziedziczenie daje nam możliwość wykorzystania nowych klas w oparciu o stare klasy. Dzięki mechanizmowi rzutowania możliwe jest interpretowanie obiektu klasy tak, jakby był obiektem klasy z której się wywodzi. Umożliwia to skonstruowanie szeregu klas wywodzących się z tej samej klasy i korzystanie w przejrzysty i spójny sposób z ich wspólnych możliwości. Należy dodać, że dziedziczenie jest jednym z czterech elementów programowania obiektowego (obok abstrakcji, enkapsulacji i polimorfizmu). Klasę z której dziedziczymy nazywamy klasą bazową, zaś klasę, która po niej dziedziczy nazywamy klasą pochodną. Klasa pochodna może korzystać z funkcjonalności klasy bazowej i z założenia powinna rozszerzać jej możliwości (poprzez dodanie nowych metod, lub modyfikację metod klasy bazowej)

4. Na czym polega polimorfizm programu obiektowo-zorientowanego?

- Polimorfizm jest trzecim podstawowym składnikiem języka programowania zorientowanego obiektowo. Jest również zwany dynamicznym, późnym wiązaniem, bądź wiązaniem czasu wykonania.

- Dostaracza on kolejną metodę separacji interfejsu od implementacji, oddzielenia co od jak. Polepsza organizację i czytelność kodu. Umożliwia rozszerzalność programów.

- Polimorfizm zajmuje się rozróżnianiem typów danych.

- Odróżnianie to polega na odmiennym działaniu metod, które mogą być wywoływane poprzez interfejs wspólnej klasy bazowej.

5. Na czym polega problem wieloznaczności w programie obiektowo-zorientowanym?

Wieloznaczność – podczas dziedziczenia, klasa może wywodzić się od 2 klas, te klasy mogą mieć tak samo nazwaną zmienną i kompilator stwierdzi niejednoznaczność

6. Jak definiuje się wzorce funkcji i klas?

Mechanizm wzorców (zwanych też szablonami) to cecha charakterystyczna języka C++. Szablony pozwalają na abstrakcyjne definiowanie funkcji i klas w terminach parametrów, którymi są typy danych. Na podstawie szablonu kompilator może sam wygenerować wiele definicji konkretnych funkcji i klas wtedy, kiedy będą potrzebne. W ten sposób działa standardowa biblioteka C++, która tak naprawdę składa się w dużej mierze właśnie z szablonów - dlatego jest znana pod tradycyjną nazwą STL: Standard Template Library.

7. Co to są klasy pojemnikowe?

Pojemnik to obiekt (klasy pojemnikowej) zdolny do przechowywania obiektów innej klasy i do zarządzania nimi. Ponieważ pojemniki mają służyć do przechowywania obiektów różnych klas, dlatego klasy pojemnikowe definiuje się w formie szablonów (wzorców).

Jeśli do poszczególnych obiektów przechowywanych w pojemniku można dotrzeć podając jego numer, to taki pojemnik nazywamy

pojemnikiem sekwencyjnym

Typowe pojemniki sekwencyjne:

wektor,

lista,

talia.

8. Jakie są podobieństwa i różnice między pojemnikami wektor i lista?

Jeśli operujemy na pojedynczych elementach kontenera, lepszym rozwiązaniem są wektory, gdyż podajemy po prostu indeks do interesującego nas elementu. Gdy nasze algorytmy za każdym razem przetwarzają cały kontener od początku do końca, bez cienia wątpliwości lepszym rozwiązaniem są listy. Jeżeli zdarza się, że dodajemy/usuwamy elementy umieszczone gdzieś w środku kontenera, tutaj bez wątpienia powinniśmy wybrać listy.

aspekt vector list
dostęp przez podanie indeksu lub przez iteratory tylko przez iteratory
dodawanie/usuwanie jeśli nie chodzi o końcowy element - powolne dodawanie i usuwanie elementów jest bardzo szybkie i odbywa się w stałym czasie
adresy elementów ulegają zmianom, wskaźniki często tracą ważność niezmienne

9. Co to jest kolejka i stos?

Stos (ang. Stack) – liniowa struktura danych, w której dane dokładane są na wierzch stosu i z wierzchołka stosu są pobierane (bufor typu LIFO, Last In, First Out; ostatni na wejściu, pierwszy na wyjściu). Ideę stosu danych można zilustrować jako stos położonych jedna na drugiej książek – nowy egzemplarz kładzie się na wierzch stosu i z wierzchu stosu zdejmuje się kolejne egzemplarze. Elementy stosu poniżej wierzchołka stosu można wyłącznie obejrzeć, aby je ściągnąć, trzeba najpierw po kolei ściągnąć to, co jest nad nimi.

Kolejka (ang. queue) – liniowa struktura danych, w której nowe dane dopisywane są na końcu kolejki, a z początku kolejki pobierane są dane do dalszego przetwarzania (bufor typu FIFO, First In, First Out; pierwszy na wejściu, pierwszy na wyjściu). Kolejkę spotyka się przede wszystkim w sytuacjach związanych z różnego rodzaju obsługą zdarzeń. W szczególności w systemach operacyjnych ma zastosowanie kolejka priorytetowa, przydzielająca zasoby sprzętowe uruchomionym procesom

10. W jaki sposób obsługuje się tzw. sytuacje wyjątkowe?

1. Fragmenty programu, którym zapewniamy obsługę sytuacji wyjątkowych umieszczamy w bloku try.

2. Po wykryciu nieprawidłowości stosujemy frazę throw do zgłoszenia typu sytuacji wyjątkowej związanej z wychwytywaną nieprawidłowością.

3. Zależnie od typu zgłoszonego wyjątku wywołuje się odpowiednia procedura obsługi zadana tzw. frazą catch .

4. Zakończenie procedury obsługi jest równoważne z zakończeniem wykonywania bloku try, w którym nastąpiło zgłoszenie

Sztuczna inteligencja:

1. Pojęcie sztucznej sieci neuronowej. Omówić wybrany model sztucznego neuronu.

Sztuczna sieć neuronowa - ogólna nazwa struktur matematycznych i ich programowych lub sprzętowych modeli, realizujących obliczenia lub przetwarzanie sygnałów poprzez rzędy elementów, zwanych sztucznymi neuronami, wykonujących pewną podstawową operację na swoim wejściu

2. Metody uczenia sztucznych sieci neuronowych.

3. Algorytm wstecznej propagacji błędu.

4. Sieci Kohonena (SOM). Podać przykład zastosowania.

Samoorganizujące się mapy (Self Organizing Maps, SOM), zwane też sieciami Kohonena, to sieci neuronów, z którymi są stowarzyszone współrzędne na prostej, płaszczyźnie lub w dowolnej n-wymiarowej przestrzeni.

Uczenie tego rodzaju sieci polega na zmianach współrzędnych neuronów, tak, by dążyły one do wzorca zgodnego ze strukturą analizowanych danych. Sieci zatem "rozpinają się" wokół zbiorów danych, dopasowując do nich swoją strukturę.

Sieci te stosowane są do klasyfikacji wzorców, np. głosek mowy ciągłej, tekstu, muzyki. Do najciekawszych zastosowań należy rozpinanie siatki wokół komputerowego modelu skanowanego obiektu.

5. Algorytm symulowanego wyżarzania. Przykład zastosowania.

6. Różnice pomiędzy algorytmami genetycznymi a tradycyjnymi metodami optymalizacyjnymi.

7. Omówić klasyczny algorytm genetyczny.

8. Operatory genetyczne (krzyżowanie, mutacja).

Krzyżowanie polega na połączeniu niektórych (wybierane losowo) genotypów w jeden. Kojarzenie ma sprawić, że potomek dwóch osobników rodzicielskich ma zespół cech, który jest kombinacją ich cech (może się zdarzyć, że tych najlepszych).

Sposób krzyżowania jest zależny od kodowania chromosomów i specyfiki problemu. Jednak można wskazać kilka standardowych metod krzyżowania:

Mutacja wprowadza do genotypu losowe zmiany. Jej zadaniem jest wprowadzanie różnorodności w populacji, czyli zapobieganie (przynajmniej częściowe) przedwczesnej zbieżności algorytmu. Mutacja zachodzi z pewnym przyjętym prawdopodobieństwem - zazwyczaj rzędu 1%. Jest ono niskie, ponieważ zbyt silna mutacja przynosi efekt odwrotny do zamierzonego: zamiast subtelnie różnicować dobre rozwiązania - niszczy je. Stąd w procesie ewolucji mutacja ma znaczenie drugorzędne, szczególnie w przypadku długich chromosomów. W przypadku chromosomów kodowanych binarnie losuje się zazwyczaj dwa geny i zamienia się je miejscami bądź np. neguje pewien wylosowany gen.

W przypadku genotypów zakodowanych liczbami całkowitymi stosuje się permutacje. W przypadku genotypów zakodowanych liczbami rzeczywistymi wprowadza się do przypadkowych genów losowe zmiany o danym rozkładzie - najczęściej normalnym.

Systemy wbudowane:

1. Scharakteryzuj właściwości systemu operacyjnego czasu rzeczywistego.

2. Omów podstawowe właściwości mikrokontrolera.

3. Przedstaw architekturę mikrokontrolera 8051.

architektura harwardzka – rozdzielenie przestrzeni adresowej

pamięci programu i przestrzeni adresowej pamięci danych

(oddzielne magistrale adresowe),

• słowa pamięci programu i danych o różnej długości,

• architektura RISC (ang. Reduced Instruction Set Computer) –

większość rozkazów realizowana jest w jednym takcie zegara,

• rejestry wewnętrzne pełnią funkcje akumulatora podczas realizacji

operacji arytmetyczno‐logicznych,

• trzy pary rejestrów jako rejestry indeksowe (używane w trybach

adresowania),

• 16‐bitowe słowo instrukcji,

• ATtiny – układy z rdzeniem AVR w mniejszych obudowach, z

niewielką liczbą urządzeń peryferyjnych, przeznaczone do prostych

aplikacji, często zasilane bateryjnie,

• ATmega – układy z bogatym wyposażeniem (wiele linii we/wy,

przetworniki A/C),

• układy zintegrowane z logiką programowalną FPSLIC – rdzeń AVR i

matryca FPGA oraz kontrolerami CAN i USB.

Przestrzeń adresowa

• 32‐bajtowy obszar rejestrów roboczych (bezpośredni dostęp przez

ALU),

• duża pojemność pamięci podręcznej pozwala na programowanie w

językach wysokiego poziomu,

Przestrzeń adresowa

• rejestry funkcyjne – dostarczają informacji o aktualnym stanie

mikrokontrolera i umożliwiają sterowanie pracą rdzenia i układów

wewnętrznych,

• rejestry funkcyjne rozciągają się na przestrzeń pamięci SRAM (duża

liczba wewnętrznych urządzeń peryferyjnych),

• pamięć SRAM (od 512 do 4096 bajtów),

• dostęp do pamięci trwa dwa cykle zegarowe,

• nie można przeprowadzać na niej operacji arytmetyczno‐logicznych

w sposób bezpośredni,

• stos implementuje się w pamięci SRAM.

Pamięć programu

• pamięć programu typu flash może być programowana w systemie

(ISP – In System Programming),

• w mikrokontrolerach AVR nie przewidziano możliwości

zewnętrznego rozszerzenia pamięci programu,

• szeroki zakres pojemności: 1kB – 128kB,

• gwarantowana liczba cykli programowania: min. 10 tys. razy,

• mimo dwubajtowego słowa rozkazowego programy dla

mikrokontrolerów AVR są krótsze w porównaniu z programami dla

układów o architekturze CISC,

• możliwość przeprogramowania układu z poziomu samego

oprogramowania – wydzielenie w pamięci sekcji bootloadera (kod

modyfikujący oprogramowanie układu).

ALU

􀁺 jednostka ALU umożliwia wykonywanie operacji arytmetycznych i

logicznych między rejestrami, miedzy stałą a rejestrem oraz

operacje na pojedynczym rejestrze,

􀁺 po wykonaniu operacji uaktualniany jest rejestr statusowy

informacje o rezultacie operacji,

􀁺 działanie programu jest możliwe dzięki skokom warunkowym i

bezwarunkowym oraz instrukcjom rozgałęziającym, dającym

bezpośredni dostęp do całej przestrzeni adresowej.

􀁺 większa część instrukcji AVR ma format pojedynczego słowa16‐

bitowego,

􀁺 adres pamięci programu zawiera 16 lub 32‐bitową instrukcję.

Pamięć programu

• pamięć programu typu flash może być programowana w systemie (ISP –In System Programming),

•W mikrokontrolerach AVR nie przewidziano możliwości zewnętrznego rozszerzenia pamięci programu,

• szeroki zakres pojemności: 1kB – 128kB,

• gwarantowana liczba cykli programowania: min. 10 tys. razy,

•Mimo dwubajtowego słowa rozkazowego programy dla mikrokontrolerów AVR są krótsze w porównaniu z programami dla układów o architekturze CISC,

•możliwość przeprogramowania układu z poziomu samego oprogramowania – wydzielenie w pamięci sekcji bootloadera (kod modyfikujący oprogramowanie układu).

Przerwania

• mikrokontrolerze ATMega32 dostępnych jest 21 rodzajów przerwań, które mogą być wywoływane na skutek jeszcze większej liczby zdarzeń,

• globalna flaga odblokowania przerwań znajduje się w głównym rejestrze kontrolnym SREG,

•podczas przerwań i wywołań procedur podrzędnych adres powrotny licznika programu jest przechowywany w pamięci stosu,

•rejestr GICR służy konfiguracji systemu przerwań: - IVSEL –bit wyboru początku wektora przerwań (0 –początek obszaru pamięci Flash, 1 – przesunięcie do miejsca wybranego przez konfigurację bitów bezpiecznikowych BOOTZS), - IVCE – odblokowanie wyboru wektora przerwań.

Timery/liczniki –timer0

• trzy moduły liczników: dwa 8-bitowe i jeden 16-bitowy,

• specjalizowany licznik Watchdog Timer.

Timer 0

•licznik jednokanałowy,

• automatyczne kasowanie i restart timera w trybie porównania.

• generator częstotliwości,

• generator przebiegu PWM,

• licznik zdarzeń zewnętrznych,

• 0-bitowy programowalny preskaler,

• źródło przerwań (przepełnienie, zrównanie),

• rejestr licznika (TCNT0) oraz rejestr Output Compare (OCR0) są 8-bitowe,

• licznik może być taktowany wewnętrznie poprzez układ preskalera lub przez zewnętrzne źródło podłączone do pinu T0,

w trybie Output Compare zawartość rejestru OCR0 jest stale porównywana z wartością rejestru licznika TCNT0,

•zdarzenie zrównania wartości licznika i rejestru OCR0 ustawi flagę OCF0, która może być źródłem żądania przerwania,

•przerwanie Output Compare może zostać wygenerowane, jeśli ustawiona jest flaga przerwań OCIE0 oraz globalna flaga przerwań w SREG,

•wynik porównania może służyć generowaniu przebiegów PWM lub sygnału o zmiennej częstotliwości na wyjściu pinu OC0,

•tryb Normal: licznik zawsze zlicza przez inkrementowanie, a po osiągnięciu maksymalnej wartości TOP = 0xFF licznik „przekręca się” i restartuje od 0, 

• flaga TOV0 zostaje ustawiona, gdy licznik osiągnie wartość 0,

• normalnie ta flaga nie jest kasowana.

Rejestr SREG

•Rejestr statusowy SREG zawiera informacje o rezultacie ostatnio wykonywanej operacji arytmetycznej –informacja ta może być użyta przez instrukcje warunkowe sprawdzające stan wyniku poprzedniej operacji,

•rejestr statusowy jest aktualizowany przez operacje wykonane przez ALU,

•dzięki wykorzystaniu tych właściwości możliwe jest tworzenie bardziej zoptymalizowanego kodu pod względem szybkości i objętości,

•zawartość rejestru SREG nie jest automatycznie zapamiętywana przy wejściu w kod obsługi przerwania i odzyskiwana po jego wykonaniu (należy to wykonywać programowo).

4. Przedstaw architekturę mikrokontrolera z rdzeniem AVR.

• rdzeń CPU z jednostką artymetyczno‐logiczną (ALU) do obliczeń na

liczbach 8‐bitowych,

• uniwersalne dwukierunkowe porty wejścia/wyjścia (zapis do portu,

odczyt z portu) danych cyfrowych; czasami wejścia/wyjścia

przetwornika A/C i C/A,

• programowany dwukierunkowy port transmisji szeregowej UART

(wymagany konwerter do standardu RS‐232C),

• dwa (w niektórych modelach trzy) liczniki/timery do dowolnego

wykorzystania,

• układ generowania przerwań systemowych z możliwością

generowania przerwań zewnętrznych,

• wewnętrzny oscylator (wymagany zewn. rezonator kwarcowy).

• pamięć wewnętrzna RAM do

przechowywania danych i wyników obliczeń,

• pamięć wewnętrzna ROM do

przechowywania programu,

• możliwość dołączenia zewnętrznej pamięci

RAM i ROM/EPROM/EEPROM,

5. Omów charakterystykę i zastosowania magistrali CAN.

Wstęp do informatyki, architektura systemów komputerowych:

1. Budowa komputera i zasady jego działania.

Komputer jako urządzenie elektryczne pracuje na zasadzie zmiennego napięcia elektrycznego. Każda informacja jaką chcemy wprowadzić do niego musi być zamieniona na impuls elektryczny. Z tych impulsów powstają bajty. Informacje te są przetwarzane przez procesor i inne urządzenia zdolne do jej przetwarzania. Tego efekty widzimy na ekranie, czy w głośnikach czy w innym urządzeniu peryferyjnym. Budowa: Płyta główna, karta graficzna, procesor, dysk twardy, Pamięć RAM, karta dźwiękowa, monitor.

2. W jaki sposób przedstawiamy informacje wewnątrz komputera?

Zgodnie z definicją, komputer jest urządzeniem elektronicznym, a zatem nośnikami informacji muszą w nim być sygnały elektryczne. Są to sygnały dwustanowe, tzn. takie, że ich parametry zawsze mieszczą się w jednym z dwóch dopuszczalnych przedziałów. W celu rozróżnienia obu stanów przypisuje im się dwa różne symbole – cyfry 0 i 1. Wszystkie informacje przechowywane i przekazywane przez komputer są zapisywane w systemie dwójkowym.

3. Jak są reprezentowane wewnątrz komputera informacje, które nie są liczbami?

Ponieważ komputer jest urządzeniem elektrycznym, to wszelkie informacje, jakie do niego docierają muszą być reprezentowane również przez sygnały elektryczne. Wszystkie dzisiejsze komputery budowane są w taki sposób, że rozróżniają jedynie dwa stany elektryczne: 1 – gdy sygnał elektryczny dochodzi do komputera, oraz 0 – gdy sygnału brak. Można to porównać do sposobu działania lampki, która zaświeca się, gdy dochodzi do niej prąd elektryczny i gaśnie, gdy ten prąd zanika.

4. W jaki sposób komputer współpracuje z urządzeniami wejścia/wyjścia?

Urządzenia takie jak: klawiatura, mysz, monitor, pad, drukarka, głośniki mają przygotowane dla siebie specjalne porty i gniazda do których są podpinane, a dzięki odpowiednim sterownikom działają wraz naszym komputerem.

Są też urządzenia ze zgodnością plug and play, co wystarczy podłączyć urządzenie, a windows sam znajdzie i zainstaluje urządzenie (np. pendrive). Urządzenie wejścia-wyjścia służy do komunikacji systemu przetwarzania danych (np. komputera) ze światem zewnętrznym – użytkownikiem, urządzeniem lub innym systemem przetwarzania danych. Wszystkie urządzenia wejścia-wyjścia są wyposażone w interfejs, który pozwala na komunikację z systemem oraz jednoznaczne adresowanie urządzenia. Interfejs charakteryzuje odpowiednia specyfikacja elektryczna i logiczna, pozwalającą na komunikację z systemem, do którego jest dołączone. Najpopularniejsze interfejsy urządzeń wejścia-wyjścia to: RS-232, IDE, USB.

5. W jaki sposób procesor komunikuje się z pamięcią operacyjną?

Mostek północny - w większości współczesnych płyt głównych mostek północny pełni rolę kontrolera pamięci oraz pośrednika pomiędzy procesorem, pamięcią operacyjną i kartą graficzną. Komunikacja pomiędzy procesorem a resztą podzespołów płyty głównej odbywa się przy pomocy mostka południowego. W starszych modelach płyt głównych mostek północny i południowy były połączone szyną PCI, obecnie stosuje się do tego celu dedykowane magistrale o dużej przepustowości. Niektórzy producenci płyt głównych integrują z mostkiem północnym układ graficzny lub kontroler Gigabit Ethernet.

6. Jak jest zbudowany i jak działa procesor?

CPU (central processing unit) urządzenie cyfrowe sekwencyjne, które pobiera dane z pamięci, interpretuje je i wykonuje rozkazy. Jest sercem komputera. Składa się z rejestrów do przechowywania danych i wyników; jednostki arytmetycznej do obliczania danych; układ sterujący przebiegiem wykonania programu.

Mikroprocesor jest skomplikowanym automatem, który może wykonywać kilkaset dosyć prostych czynności - tzn. rozkazów maszynowych. Każdy rozkaz ma własny kod, liczbę zapisaną w jednym lub kilku bajtach. Procesor pobiera z pamięci kolejne bajty traktując je jako rozkazy lub dane i wykonuje zaprogramowane operacje. Wszystkie mikroprocesory zawierają podobne elementy:

7. Co to jest stos i do czego służy?

Liniowa struktura danych, w której dane dokładane są na wierzch stosu i z wierzchołka stosu są pobierane(przykład stos książek jedna na drugiej). Używany przez procesory do chwilowego zapamiętywania rejestrów procesora do przechowywania zmiennych lokalnych.

Stos jest stosowany w systemach komputerowych na wszystkich poziomach funkcjonowania systemów informatycznych, używane są przez procesory do chwilowego zapamiętywania rejestrów procesora, do przechowywania zmiennych lokalnych, a także w programowaniu wysokopoziomowym.

8. Na czym polega przerwanie i jakie są rodzaje przerwań?

Sygnał powodujący zmianę przepływu sterowania, niezależnie od aktualnego wykonywanego programu. Pojawienie się przerwania powoduje wstrzymanie aktualnego wykorzystywanego programu. Rodzaje: sprzętowe, wewnętrzne, programowe i wykonanie przez procesor kodu procedury obsługi przerwania.

9. Jak przebiega obsługa przerwania?

Kod mający na celu obsługę konkretnego sygnału żądania przerwania. Procedury obsługi przerwań określa system operacyjny lub BIOS.

  1. Procesor czeka aż wcześniejsze instrukcje zostaną ukończone.

  2. Mechanizm przerwania sprzętowo zapisuje adres następnej instrukcji do rejestru SRR0 (ang. Save/Restore Register), a rejestr MSR kopiuje do rejestru SRR1.

  3. Nowa wartość dla rejestru MSR jest wpisywana (na podstawie typu przerwania, które nastąpiło).

  4. Bit MSR[RI] jest wyzerowany. MSR[RI]=0 oznacza, że program obsługi przerwania jest w trakcie inicjacji

  5. Gdy program obsługi przerwania zapisze na stosie SRR0 oraz SRR1, a wskaźnik stosu zostanie zaktualizowany, bit MSR[RI] jest ustawiany na 1 przez program obsługi przerwania.

  6. Procesor wykonuje pierwszą instrukcję procedury obsługi przerwania zgodnie z nową wartością rejestru MSR. Początek procedury obsługi przerwania jest wyliczany na podstawie typu przerwania.

  7. Powrót do przerwanego programu za pomocą instrukcji rfi (ang. return from interrupt).

10. Jakie rodzaje liczb można przedstawić w komputerze?

Binarne, dziesiętne, szesnastkowe.

11. Od czego zależy szybkość działania komputera?

- od części sprzętowych komputera

- porządku na dysku twardym –braku wirusów

- zachowanie czystości w obudowie komputera

12. Jakie nośniki informacji stosuje się w pamięciach komputerów?

-dyski elastyczne (dyskietki)

- dyski twarde

-dyski kompaktowe(CD,DVD)

-dyski magnetyczno-optyczne (Read-write)

-miniaturowe pamięci USB

13. Jak klasyfikuje się pamięci komputerów?

- pamięć rejestrowa procesora

- pamięć cache

- pamięć operacyjna RAM

- pamięć operacyjna ROM

-pamięć masowa

14. Co to jest pamięć podręczna cache i dlaczego się ją stosuje?

Jest to pamięć przyspieszająca pracę procesora o dostępnie swobodnym zintegrowana z procesorem. Jej zawartość istnieje tylko w czasie podłączenia zasilania. W pamięci tej przechowywane są fragmenty pamięci operacyjnej

15. Co to jest pamięć wirtualną?

Mechanizm komputerowy zapewniający procesorowi wrażenie pracy w jednym dużym ciągłym obszarze pamięci operacyjnej, podczas gdy fizycznie może być ona pofragmentowana, nieciągła i przechowywana na urządzeniach pamięci masowej.

16. W jaki sposób archiwizuje się informacje?

Archiwizacja informacji to jeden ze sposób ochrony informacji przez zniszczeniem. Do archiwizacji wykorzystujemy dyski CD, DVD, kasetki ZIP. Archiwizacja powinna być wykonana w czasie najmniejszego obciążenia systemu komputerowego, gdyż ten proces znacznie spowalnia jego pracę.

17. Co to jest mirroring?

Jest to metoda ochrony danych przed błędami twardego dysku komputera. Polega ona na zapisywaniu tych samych informacji na dwóch zestawach dyskowych jednocześnie.

18. Na czym polega kompresja archiwizowanych informacji?

Kompresja danych polega na zmianie sposobu zapisu informacji tak, aby zmniejszyć redundancję i tym samym objętość zbioru. Innymi słowy chodzi o wyrażenie tego samego zestawu informacji, lecz za pomocą mniejszej liczby bitów.

19. Jakie środki ostrożności należy zachowywać przy przechowywaniu nośników magnetycznych i optycznych?

-nie dotykać tej strony dysku optycznego na której są zapisywane dane

-przechowywać w miejscach ciemnych, suchych i chłodnych

-utrzymywać w czystości

-delikatnie obchodzić się z nimi

-dokładnie dobierać miejsce przyklejania naklejek

-pisać tylko po tej stronie co można i odpowiednim pisakiem

20. Jakie stosujemy urządzenia wejścia/wyjścia?

Urządzenia wejścia to takie, za których pomocą użytkownik wprowadza dane do komputera. Klawiatura, mysz, kontroler gier, mikrofon, skaner. Urządzenia wyjścia to takie, gdzie komputer komunikuje się z użytkownikiem. Monitor, drukarka, modem, głośniki, słuchawki.

21. Co to jest modem i jak się komunikuje z komputerem?

Urządzenie elektroniczne, które zamienia dane cyfrowe na dane analogowe i na odwrót, aby były przesyłane i obierane poprzez linie telefoniczną

22. Jak klasyfikujemy systemy komputerowe?

System operacyjny (nadzorczy, nadrzędny, sterujący) jest to zorganizowany zespół programów, które pośredniczą między sprzętem a użytkownikami, dostarczając użytkownikom zestawu środków ułatwiających projektowanie, kodowanie, uruchamianie i eksploatację programów oraz w tym samym czasie sterują przydziałem zasobów dla zapewnienia efektywnego działania. System operacyjny działa jako pośrednik między użytkownikiem komputera a sprzętem komputerowym. Zadaniem systemu operacyjnego jest tworzenie środowiska, w którym użytkownik może wykonywać programy w sposób wygodny i wydajny.

Klasyfikacja systemów operacyjnych ze względu na sposób przetwarzania:

Ze względu na sposób przetwarzania systemy operacyjne można podzielić na:

Klasyfikacja systemów operacyjnych ze względu na liczbę wykonywanych programów

23. Co to jest skalowalność?

Jest to zapewnienie coraz wydajniejszej pracy w miarę zwiększania liczby elementów składowych. Jest to cecha sieci komputerowych polegająca na zdolności do dalszej rozbudowy.

24. Na czym polega wieloprogramowość (wielozadaniowość)?

To cecha systemu operacyjnego umożliwiająca mu równoczesne wykorzystywanie więcej niż jednego programu. Za poprawną realizacje wieloprogramowości odpowiedzialne jest jądro systemu operacyjnego.

25. Dlaczego języki asemblerowe są nadal stosowane mimo ich wad w porównaniu z językami wysokiego

poziomu?

Języki asemblera (zwyczajowo asemblery) to rodzina języków programowania niskiego poziomu, których jedno polecenie odpowiada zasadniczo jednemu rozkazowi procesora. W wyniku poszukiwania efektywniejszych metod programowania i pojawianiem się kolejnych języków interpretowanych i kompilowanych języki asemblerów straciły na znaczeniu. Jednak istnieją zastosowania, np. w przypadku programowania mikrokontrolerów, systemów wbudowanych, sterowników sprzętu, gdzie nadal znajdują one swoje miejsce. Korzysta się z nich także do pisania kluczowych fragmentów kodu wymagających najwyższej wydajności, wyjątkowo małych rozmiarów kodu wynikowego lub również niewielkich fragmentów systemów operacyjnych.

26. Dlaczego języki wysokiego poziomu stanowią duże ułatwienie w pracy programisty?

Język wysokiego poziomu to typ języka programowania którego składnia i słowa kluczowe maja maksymalnie ułatwić rozumienie kodu programu dla człowieka tym samy zwiększając poziom abstrakcji i dystansując się od sprzętowych niuansów. Ten kod nie jest bezpośrednio zrozumiały dla komputera. Aby umożliwić wykonywanie programu należy dokonać procesu kompilacji.

27. Jakie są najważniejsze języki wysokiego poziomu? Co to są języki skryptowe?

Najważniejszymi językami wysokiego poziomu są: C, C++, C#, Java.

Programy napisane w językach skryptowych wykonywane są wewnątrz pewnej aplikacji, w odróżnieniu od programów nie skryptowych, które wykonują się niezależnie od innych aplikacji.

28. Co to jest programowanie strukturalne i obiektowe?

Programowanie obiektowe to takie programowanie, w którym programy definiuje sie za pomocą obiektów-elementów łączących stan (czyli dane nazywane polami) i zachowanie czyli procedury i metody. Obiektowy program komputerowy wyrażony jest jako zbiór takich obiektów komunikujących sie pomiędzy sobą w celu wykonania zadań. Programowanie strukturalne to dzielenie kodu na bloki z jednym punktem wejścia i jednym lub wieloma punktami wyjścia. Chodzi tu o nie używanie instrukcji skoku(go-to). Dobrymi strukturami są instrukcje warunkowe if, if ..else pętle for While, wyboru case.

29. Jakie cechy powinien mieć dobry i przyjazny dla użytkownika program?

-prosty w obsłudze

-przejrzysty interfejs

-niesprawiający kłopotów

- poprawnie wykonujący stawiane mu zadania

30. Co to jest system operacyjny i do czego służy? Przedstaw jego model warstwowy.?

System operacyjny – oprogramowanie zarządzające sprzętem komputerowym, tworzące środowisko do uruchamiania i kontroli zadań użytkownika.

Przyjęto podział na trzy główne elementy budowy systemu operacyjnego:

Jądro składa się z następujących elementów funkcjonalnych:

31. Jaka jest różnica między procesem a programem?

Proces jest instancja działającego programu która powstała w wyniku jego uruchomienia. Każdy proces posiada przydzielony przez system numeryczny identyfikator PID. Program jest to plik wykonywalny, czyli taki który potrafi uruchomić. Działaniem może być kliknięcie na ikonę powiązaną z danym programem.

32. Na czym polega działanie sytemu operacyjnego?

Oprogramowanie zarządzające sprzętem komputerowym, tworzące środowisko do uruchamiania i kontroli zadań użytkownika. Zajmuje się planowaniem oraz przydzielaniem czasu procesora poszczególnym zadaniom, kontrola i przydziałem pamięci operacyjnej dla uruchomionych zadań, obsługuje sprzęt, dostarcza mechanizmy do synchronizacji zadań, zarządzanie plikami, ustalanie połączeń sieciowych.

Bezpieczeństwo systemów informatycznych:

1. Co to jest polityka bezpieczeństwa informatycznego i jakie elementy powinna zawierać?

Zestaw praw i reguł oraz zasad regulujących sposób w jaki informacja jak i inne aktywa są zarządzane, zabezpieczane i udostępniane w systemach informatycznych.

Polityka powinna zawierać:

- wyjaśnienia – Powinna zawierać uzasadnienia, dlaczego zasady postępowania, które ją określają, są takie a nie inne.

- jasne sformułowania - język, którym jest napisany powinien być prosty i zrozumiały

- podział odpowiedzialności - podział kompetencji i odpowiedzialności. Informacje takie pozytywnie wpływają na organizację działań

- opis mechanizmów realizacji polityki bezpieczeństwa - Aby polityka bezpieczeństwa była realizowana muszą istnieć mechanizmy wymuszające jej realizację w praktyce

2. Wyjaśnij skrót abi.

Application Binary Interface - zespół reguł i ustaleń, które decydują o współpracy między programami a bibliotekami, oprogramowaniem a systemem operacyjnym lub pomiędzy różnymi komponentami aplikacji.

3. Wyjaśnij zasadę działania podpisu elektronicznego.

Dokument opatrzony podpisem elektronicznym może być równoważny pod względem skutków prawnych dokumentowi opatrzonemu podpisem własnoręcznym. Podpis elektroniczny będzie mógł być uznany za równoważny podpisowi własnoręcznemu jeśli spełnia warunki umożliwiające uznanie go za podpis elektroniczny bezpieczny.

4. Wymień i krótko omów rodzaje kart elektronicznych.

- karty stykowe - osiadają prostą konstrukcję łącza, składającą się z zespołu metalicznych, pokrytych złotem styków; poprzez styki odbywa się komunikacja oraz zasilanie całego układu elektronicznego na karcie.

- karty bezstykowe - stosowane wówczas, gdy jest potrzeba wykonania bardzo szybkiej operacji np. przy bramkach wejściowych; trudno je podrobić; oferują tańszą i mniej kłopotliwą modernizację w przeciwieństwie do kart stykowych

5. Wyjaśnij, na czym polega różnica pomiędzy szyfrowanie symetrycznym a asymetrycznym.

- symetryczne - Szyfrowanie symetryczne wykorzystuje jeden tajny kod (klucz). Odbiorca jak i nadawca posługują się tylko jednym kluczem.

- asymetryczne - Szyfrowanie asymetryczne wykorzystuje dwa klucze: publiczny (dostępny dla wszystkich) i prywatny (znany tylko właścicielowi).

6. Wyjaśnij znaczenie pojęć: tajność, integralność.

- integralność danych - określenie sytuacji, w której dane zachowują prawidłową postać podczas operacji takich jak odczyt, zapis, transmisja lub magazynowanie.

- tajność – określenie sytuacji w której dane są szyfrowane a tym samym zachowują tajność przed niepowołanym użytkownikiem.

7. Wyjaśnij zasadę działania programu typu „zapora ogniowa”.

Podstawowym zadaniem zapory ogniowej jest analizowanie wszystkich danych, które przychodzą do komputera i z niego wychodzą. Narzędzie to działa jak filtr — stanowi barierę między światem zewnętrznym (Internetem) a danymi pochodzącymi z komputera. Bada dane i blokuje je lub przepuszcza zależnie od ich rodzaju, odbiorcy bądź nadawcy.

8. Wymień i o omów 5 wybranych technik włamań do systemów informatycznych.

- wirusy (konie trojańskie)

- łamanie haseł (metoda brute force lub słownikowa)

- podsłuch sieci (sniffing)

- wykorzystywanie luk systemowych

9. Na czy polega atak słownikowy.

Jest to technika łamania haseł systemowych. Różnica pomiędzy brute force a słownikowym polega na tym, że atak słownikowy korzysta z gotowych słów (słownik). Metoda brute force polega na łamaniu hasła badając kolejno wszystkich kombinacji znaków. Atak słownikowy jest o wiele krótszy lecz mniej efektywnym.

10. Wyjaśnij zasadę działania elektronicznego znacznika czasy.

Znacznik czasu jednoznacznie identyfikuje dokument. Znakowanie czasem jest usługą umożliwiającą oznaczenie wiarygodnym czasem dokumentów elektronicznych.Czas, którym znakowany jest dokument nie jest związany z czasem systemowym.

11. Omów metody szyfrowania danych.

12. Wyjaśnij skrót PKI.

Public Key Infrastructure - Infrastruktura klucza publicznego

Pytania SPECJALNOŚCIOWE

Specjalność : Teleinformatyka

Technologie internetowe:

1. Scharakteryzuj protokół HTTP.

2. Wymień i scharakteryzuj technologie internetowe typu server-side.

3. Omów właściwości i zastosowanie języka XML.

XML - uniwersalny język formalny przeznaczony do reprezentowania różnych danych w strukturalizowany sposób.

4. Wymień rodzaje ataków na aplikacje internetowe, przedstaw metody zabezpieczania aplikacji.

5. Scharakteryzuj technikę CGI i podaj przykłady aplikacji CGI.

Teoria obwodów i sygnałów:

1. Podaj definicję czwórnika liniowego.

2. Wyjaśnij działanie linii długiej.

3. Podaj definicję transmitancji i sposoby jej obliczania.

4. Przedstaw metody rozwiązywania obwodów w stanie nieustalonym.

5. Scharakteryzuj obwody S.C. z przełączanymi pojemnościami.

6. Wymień parametry charakteryzujące sygnały przypadkowe.

7. Podaj definicję napięcia skutecznego.

8. Jaka powinna być częstotliwość próbkowania sygnału?

Przynajmniej dwa razy większa od najwyższej częstotliwości występującej w sygnale.

9. Co nazywamy widmem sygnału i w jaki sposób się je oblicza?

Układy analogowe, układy cyfrowe:

1. Półprzewodniki (podstawowe własności półprzewodnika, złącze p-n).

Półprzewodnik jest to materiał wykazujący w określonych warunkach własności izolatora, a w innych - właściwości przewodnika prądu. W dostatecznie niskich temperaturach półprzewodnik staje się izolatorem. Przewodnictwo rośnie wraz ze wzrostem temperatury. Popularnymi półprzewodnikami są krzem, german, arsenek i antymonek galu. Złączem p-n nazywamy granicę istniejącą w półprzewodniku między dwoma obszarami typu n (negative) i typu p (positive). Złącze p-n umożliwia przepływ prądu tylko w jednym kierunku - w kierunku przewodzenia. Złącze p-n stanowi podstawę diod półprzewodnikowych.

2. Półprzewodnikowe elementy aktywne (cechy wyróżniające element aktywny, przykłady, parametry).

Elementy aktywne umożliwiają przekształcanie energii elektrycznej. Wymagają do pracy energii lub same stanowią jej źródło.

3. Układy scalone (przyczyny i cele scalania, rodzaje układów scalonych).

Układy scalone są rezultatem prac zmierzających do jak największej miniaturyzacji sprzętu elektronicznego, przy jednocześnie zwiększonej niezawodności. Do najistotniejszych zalet układów scalonych, oprócz zmniejszenia wymiarów i masy, zalicza się: zwiększoną niezawodność, małe koszty, dobre parametry, dużą szybkość działania i mały pobór mocy.

Podział układów scalonych:

4. Wzmacniacze (podział, podstawowe parametry, charakterystyki częstotliwościowe).

Wzmacniacz to układ elektroniczny, którego zadaniem jest wytworzenie na wyjściu sygnału o wartości większej, proporcjonalnej do sygnału wejściowego. Dzieje się to kosztem energii pobieranej z zewnętrznego źródła zasilania. Wzmacniacze są budowane przy użyciu elementów aktywnych (niegdyś lamp elektronowych, obecnie tranzystorów).

Ze względu na parametr sygnału:

Ze względu na rodzaj wzmacnianego sygnału:

Najważniejsze parametry elektryczne wzmacniaczy to:

5. Wzmacniacz stałoprądowy (zasada działania, podstawowe parametry, zakres stosowania).

Wzmacniacze prądu stałego są układami dolnoprzepustowymi, które służą do wzmacniania sygnałów w określonym paśmie częstotliwości. Wzmacniacz prądu stałego powinien wzmacniać tylko sygnał użyteczny, zaś tłumić sygnały szkodliwe.

6. Sprzężenie zwrotne w układach analogowych (zasada sprzężenia zwrotnego, rodzaje sprzężeń, korzyścii niebezpieczeństwa stosowania sprzężenia zwrotnego).

Sprzężenie zwrotne polega na doprowadzeniu części sygnału wyjściowego z powrotem do wejścia. Część sygnału wyjściowego, zwana sygnałem zwrotnym, zostaje skierowana do wejścia układu i zsumowana z sygnałem wejściowym, wskutek czego ulegają zmianie warunki sterowania układu.

Ujemne sprzężenie zwrotne, szeroko stosowane w układach wzmacniających, wpływa na ogół korzystnie na większość parametrów wzmacniaczy:

7. Wzmacniacze operacyjne (parametry, przykłady zastosowań).

Wzmacniacz operacyjny to różnicowy wzmacniacz prądu stałego o bardzo dużym wzmocnieniu. Wzmacniacz operacyjny posiada dwa wejścia: odwracające i nieodwracające, oraz jedno wyjście. Różnica napięć wejściowych nazywa się napięciem różnicowym. Najważniejsze parametry wzmacniacza odwracającego:

8. Filtry (rodzaje filtrów, podstawowe charakterystyki częstotliwościowe i parametry).

Filtr jest odpowiedzialny za przepuszczanie lub blokowanie sygnałów o określonym zakresie częstotliwości.

Ze względu na przeznaczenie filtry można podzielić:

Podstawowym parametrem filtrów jest częstotliwość graniczna.

9. Przetworniki A/C, (rodzaje, podstawowe parametry).

Przetwornik a/c ma za zadanie zamienić sygnał analogowy na odpowiadający mu sygnał cyfrowy.

Metody przetwarzania a/c:

Parametry przetworników a/c:

10. Przetworniki C/A (rodzaje, podstawowe parametry).

Przetwornik c/a ma za zadanie zamienić sygnał cyfrowy na odpowiadający mu sygnał analogowy.

Parametry przetworników c/a:

11. Układy zasilania (schemat blokowy, zadania bloków).

Na układ zasilania składają się:

12. Stabilizatory (rodzaje, podstawowe parametry).

Stabilizatory to układ elektroniczny, którego zadaniem jest utrzymywanie na wyjściu stałego napięcia lub prądu niezależnie od obciążenia układu i wahań napięcia zasilającego. W praktyce stabilizatory prądu buduje się w oparciu o stabilizatory napięcia.

Parametry:

* nominalna wartość napięcia wyjściowego i jego tolerancja

* maksymalny prąd wyjściowy

* maksymalny prąd zwarcia

* zakres dopuszczalnych zmian napięcia wejściowego od minimalnego do maksylanego

* minimalny spadek napięcia pomiędzy wyjściem, a wejściem potrzebny do właściwej stabilizacji napięcia wyjściowego

* współczynnik stabilizacji napięciowej (im mniejsza jego wartość tym lepiej)

* współczynnik stabilizacji prądowej lub jak kto woli obciążeniowej (load regulation)

* rezystancja wyjściowa

* sprawność energetyczna

Rodzaje:

- stabilizatory liniowe

- stabilizatory impulsowe

13. Co to są układy kombinacyjne, jakie znamy podstawowe funktory logiczne?

Układ kombinacyjny jest jednym z rodzajów układów cyfrowych. Charakteryzuje się tym, że stan wyjść zależy wyłącznie od stanu wejść; stan wyjść opisują funkcje boolowskie - w przeciwieństwie do układów sekwencyjnych, których stan wyjść zależy od stanu wejść oraz od poprzedniego stanu wyjść. W układach kombinacyjnych nie występuje sprzężenie zwrotne.

Funktory logiczne:

- negacje(NOT)

- sume (OR)

- iloczyn (AND)

14. Metody analizy układów kombinacyjnych.

1. Symulacja układu kombinacyjnego „na papierze"

2. Metoda analityczna

2. Tworzenie tabeli prawdy

3. Minimalizacja funkcji boolowskiej

4. Rysowanie schematu logicznego

15. Na czym polega kodowanie binarne i jakie znamy podstawowe kody?

Układy sekwencyjne są to takie układy w których stan wyjściowy zależy od stanu na

wejściu układu oraz od poprzedniego stanu układu. Do układów sekwencyjnych możemy zaliczyć:

● Przerzutniki

● Rejestry

● Liczniki

● Układy pamięci

Układy sekwencyjne możemy podzielić na układy synchroniczne oraz asynchroniczne.

16. Omówić metody przedstawiania funkcji boolowskich.

1. Tablica prawdy (tabela, która pokazuje wejściowe i wyjściowe stany logiczne bramek)

2. Kanoniczna postać funkcji (algebraiczny zapis sumy logicznej wszystkich implikantów lub iloczynu logicznego wszystkich implicentów)

3. Dziesiętny zapis funkcji (najczęściej odpowiednim kombinacjom zmiennych przyporządkowuje się liczby dziesiętne i je podaje się jako elementy zbioru)

4. Siatka karnota (jest to zapis graficzny przedstawiający wartości funkcji dla poszczególnych kombinacji zmiennych w odpowiednich polach prostokąta)

17. Omówić wykorzystanie multiplekserów, demultiplekserów i pamięci do projektowania układów

kombinacyjnych.

Multiplekser na swoim wyjściu powtarza sygnał tylko z jednego wejścia informacyjnego o numerze dziesiętnym będącym odpowiednikiem zapisanego adresu na wejściach informacyjnych. Multiplekser jest więc alternatywnym generatorem wszystkich możliwych pełnych iloczynów zmiennych adresowych. Przez zakazywanie zerem lub zezwalanie jedynką (na wejściach informacyjnych) można uzyskać w formie boolowskiej, opisującej wyjście multipleksera, interesujący nas zestaw pełnych iloczynów, a tym samym zrealizować dowolną funkcję boolowską o liczbie zmiennych równej liczbie wejść adresowych. Zatem dowolna funkcja boolowska k zmiennych może być zrealizowana przy użyciu multipleksera o k wejściach adresowych.

Demultiplekser – układ kombinacyjny, posiadający jedno wejście oraz kilka wyjść, którego działanie polega na przekazaniu sygnału z wejścia na jedno z wyjść. Numer wyjścia jest określany przez podanie jego numeru na linie adresowe. Na pozostałych wyjściach panuje stan zera logicznego.

18. Co to są układy sekwencyjne i jak możemy je podzielić?

Układy sekwencyjne są to takie układy w których stan wyjściowy zależy od stanu na

wejściu układu oraz od poprzedniego stanu układu. Do układów sekwencyjnych możemy zaliczyć:

● Przerzutniki

● Rejestry

● Liczniki

● Układy pamięci

Układy sekwencyjne możemy podzielić na układy synchroniczne oraz asynchroniczne.

Zarządzanie sieciami teleinformatycznymi:

1. Do czego służą łącza typu trunk?

Trunking - to pojęcie z dziedziny techniki radiowej, telefonicznej i informatycznej. We wszystkich trzech przypadkach oznacza łączenie danych w jeden wspólny kanał, w którym przesyłane są dane.

Obecnie pojęcie trunking najczęściej stosowane jest w odniesieniu do tworzenia jednego kanału fizycznego w przełącznikach, w przypadku zastosowania wirtualnych LAN-ów (VLAN). Polega ono na skonfigurowaniu jednego z portów jako trunkowego i przypisaniu do niego odpowiednich VLAN-ów.

2. Opisz różnicę między protokołami routingu opartymi na algorytmie wektora odległości i algorytmie stanu

łącza.

Według stanu łącza

- każdy router posiada pełną bazę danych stanów łączy, a nie tylko trasę do wybranej sieci

- aktualizacje rozsyłane tylko po zmianie w sieci, a nie co 30 sekund

- posiadają szybszą zbieżność i lepsze wykorzystanie pasma

- obsługują notację CIDR i VLSM(nadają się do pracy w złożonych i skalowalnych sieciach)

- bardziej wydajne

- wymagają większej ilości pamięci i mocy obliczeniowej

- są dość złożone i przez to nie są, aż tak rozpowszechnione

- wymagają pracy dobrze wyszkolonych administratorów

3. Opisz budowę tablicy routingu i jej przeznaczenie. Na czym polega agregacja tras?

4. W jaki sposób można zapobiec powstawaniu pętli routingu w protokole RIP?

Eliminacja pętli routingu przy użyciu metody split horizon

Niektóre pętle routingu powstają, gdy nieprawidłowe informacje powracające do routera są sprzeczne z poprawnymi informacjami, które ten router pierwotnie wysłał. Reguła Split horizon zmniejsza liczbę nieprawidłowych informacji oraz narzut routingu.

Metoda route poisoning

Metoda route poisoning jest używana przez różne protokoły z wektorem odległości w celu zapobieżenia powstawaniu większych pętli routingu oraz dostarczenia dokładnych informacji o niedostępności podsieci lub sieci. W tym celu licznikowi przeskoków jest nadawana wartość o jeden większa niż maksymalna.

Użycie wyzwalanych aktualizacji w celu uniknięcia powstawania pętli Routingu

Nowe tablice routingu są regularnie wysyłane do sąsiednich routerów. Na przykład w przypadku protokołu RIP aktualizacje następują co 30 sekund. Wyzwalane aktualizacje są wysyłane natychmiast, gdy wystąpi zmiana w tablicy routingu. Router, który wykrył zmianę topologii, natychmiast wysyła komunikat aktualizacyjny do sąsiednich routerów. Routery te generują wyzwalane aktualizacje, aby powiadomić sąsiednie urządzenia o zmianie. W przypadku awarii trasy aktualizacja jest wysyłana natychmiast.

Zapobieganie występowaniu pętli routingu przy użyciu zegarów przetrzymania (hold down).

- Gdy router otrzymuje od sąsiada aktualizację, która wskazuje, że dotychczas dostępna sieć jest niedostępna, oznacza tę sieć jako niedostępną i uruchamia zegar przetrzymania. Jeśli przed upływem czasu na zegarze przetrzymania odbierze od tego samego sąsiada aktualizację, która wskazuje, że sieć jest znowu dostępna, oznacza ją jako dostępną i usuwa zegar przetrzymania.

- Jeśli od innego sąsiedniego routera odebrana zostanie aktualizacja zawierająca lepszą metrykę dla tej sieci, router oznacza tę sieć jako dostępną i usuwa zegar przetrzymania.

- Jeśli przed upłynięciem czasu zegara przetrzymania od innego routera zostanie odebrana aktualizacja z większą metryką, zostanie ona zignorowana. Aktualizacja ta jest ignorowana, aby przedłużyć czas propagacji w sieci informacji o szkodliwej zmianie.

5. Na czym polega translacja adresów sieciowych (uwzględnij warianty SNAT i DNAT) i jaki jest cel jej

stosowania?

6. Opisz przeznaczenie i zasadę działania usługi DNS.

- DNS (Domain Name System) - to system serwerów zapewniający zamianę adresów znanych użytkownikom Internetu na adresy zrozumiałe dla urządzeń tworzących sieć komputerową. (wikipedia.pl 145.97.39.155)

7. Porównaj algorytmy WEP, WPA, WPA2 (w wariantach PSK i Enterprise).

8. Opisz przeznaczenie i zasadę działania protokołu IPSec.

To zbiór protokołów służących implementacji bezpiecznych połączeń oraz wymiany kluczy szyfrowania pomiędzy komputerami.

9. Opisz mechanizm uwierzytelniania użytkowników za pomocą usługi Radius i standardu 802.1X.

10. Opisz budowę i przeznaczenie mechanizmu iptables (uwzględnij łańcuchy INPUT, FORWARD, OUTPUT,

PREROUTING, POSTROUTING).


Wyszukiwarka