WERSJA POPRAWIONA I SPRAWDZONA ALE NADAL BRAKUJE 6 PYTAN :P BEDZIEMY DZIAŁAC ŻEBY I TE PYTANKA WYKREŚLIŁ Z EGAZAMA :P MOŻNA ZAKUWAC :P /poprawki i nowe opracowania na czerwono, {} moim skromnym zdaniem można sobie darować w zakuwaniu :P/
Co to jest maszynowy język programowania. Jakie są wady i zalety stosowania języka maszynowego?
Język maszynowy jest wyrażony w formie binarnej, każda operacja, adres, każdy element danych zawiera określoną sekwencję bitów. Są one bezpośrednio rozumiane i wykonywane przez procesor. Pisanie programów na tym poziomie wymaga znajomości architektury komputera, między innymi szczegółów dotyczących rejestrów procesora, rozkazów, które procesor może wykonać (listy rozkazów), oraz różnych sposobów adresowania pamięci przez rozkazy. Programowanie na poziomie maszyny nosi nazwę programowania w języku niskiego poziomu.
Wady:
trudno i niewygodnie jest pisać program w kodzie maszynowym
program napisany w kodzie maszynowym trudno jest czytać i zrozumieć
silna zależność od sprzętu (rejestry, rozkazy, pamięć)
pierwotne (prymitywne) elementy z których budowane są programy
trudność, czasochłonność, podatność na błędy
Zalety:
instrukcje są bezpośrednio wykonywane przez procesor
Co to jest język assemblera. Czym różni się od języka maszynowego?
Asembler jest językiem najbliższym kodu maszynowego. Grupom instrukcji maszynowych, bezpośrednio wykonywalnych przez dany procesor, nadaje się mnemoniczne, krótkie nazwy. Instrukcje odnoszące się przede wszystkim doładowania danych do rejestrów procesora i wykonywania prostych operacji na tych danych. Język ten jest łatwy w czytaniu i wygodny w zapisie (z punktu widzenia człowieka), służący do reprezentowania programu w kodzie maszynowym. Język asemblerowy został utworzony dla uniknięcia żmudnego i czasochłonnego zapisywania programów w kodzie maszynowym.
Z jakich 4 faz składa się etap tworzenia programu w C/C++ w tradycyjnym środowisku uruchomieniowym tych języków. Co to jest źródło programu, pliki obiektowe i wykonywalne. Czym różnią się pliki obiektowe od wykonywalnych?
I KOD ŹRÓDŁOWY napisany przez programistę w danym języku programowania
/tu:C++/.
Źródło - Język Wysokiego Poziomu
II KOMPILACJA proces tłumaczenia z całej napisanej przez programistę formy
źródłowej na KOD WYNIKOWY-zrozumiały dla komputera.
III KOD OBIEKTOWY linkowanie do bibliotek programowych powiązanych z
Określonymiw danym programie np. funkcjami,
procedurami (napisanymi przez programistę).
Pliki obiektowe
IV KOD WYKONYWALNY aplikacja, czyli gotowy już program po poprawie błędów i
KOMPILACJI. Może być on użytkowany przez każdego, bo nie wymaga
Obecności ŹRÓDŁA, a więc konkretnego języka
Programowania /tu:C++/.
{Fazy tworzenia programu:
stworzenie algorytmu programu (projekt programu)
napisanie programu
uruchamianie (edycja - poprawianie, translacja, wykonanie)
testowanie, rozwijanie , naprawianie i pielęgnacja programu}
Źródło programu - plik tekstowy zawierający zapis algorytmu, tzw. kod źródłowy programu, plik z rozszerzeniem: c lub cpp
Plik obiektowy - skompilowany plik źródłowy ma rozszerzenie: obj
Plik wykonywalny - plik który służy do uruchamiania programu o rozszerzeniu exe
Co to jest maszyna wirtualna języka programowania i jaka jest jej rola. Wymień dwie dominujące na rynku metodologie programowania oparte na maszynach wirtualnych.
Programowanie Wysokiego Poziomu:
- STRUKTURALNE /np. Pascal, C/
Metoda tworzenia programu wg ustalonego ALGORYTMU, gdzie
każda z instrukcji posiada ściśle opisany pkt wejścia i wyjścia oraz
ściśle określoną kolejność występowania i miejsca.
- OBIEKTOWE /np. Delhi. C++/
Metoda programowania, gdzie każda struktura /OBIEKT/ danych
Jest zawarta jednym osobnym module pamięci, dzięki czemu zawsze
można się odwołać do niej z jednej linii kodu.
{Własną wirtualną maszynę mają także aplety Javy, co daje gwarancję działania niezależnie od systemu operacyjnego, na jakim są uruchamiane.
CRL - Common Languaage Runtime}
Co to jest maszyna wirtualna systemu operacyjnego. Wymień dwie popularne maszyny wirtualne pozwalające na uruchomienie Linuksa w oknie Windows
KONSOLA, PLATFORMA WIRTUALNA systemu operacyjnego:
OGÓLNIE System operacyjny komunikujący się z użytkownikeim głównie za pomocą
klawiatury i monitora /wiersz poleceń - MS DOS, UNIX - tryb rzeczywisty/, oraz
myszy /GUI - GRAPHICAL USER INTERFACE - interfejs graficzny
- WINDOWS, X-WINDOW Linuxa - tryb chroniony/
Tryb chroniony z wierszem poleceń /shell/ - to np.:
- nakładka DOS - w WINDOWS,
- powłoka BASH - w LINUX.
I TELNET /należy do środowiska WINDOWS/
II
{wirtualna maszyna:
Samodzielne środowisko w systemie operacyjnym, które zachowuje się jak osobny komputer (komputer wewnątrz komputera). Gdy program działający w wirtualnej maszynie zawiesi się, nie powinno mieć to wpływu na inne wirtualne maszyny działające w komputerze. W Windows 95/98/Me programy trybu MS-DOS działają w osobnych wirtualnych maszynach.
Maszyny wirtualne pozwalające na uruchomienie linuxa:}
Wymień 5 najpopularniejszych języków programowania dla platformy .NET.
NET to nowej generacji platforma do tworzenia oprogramowania dla Windows i oprogramowania internetowego. Najpopularniejsze języki programowania dla platformy NET:
C#
Eclipse
C# Builder Borlanda
Foundation
Delphi
Visual Studio
Co to jest CLR (common language runtime)?
CLR - wspólne środowisko uruchomieniowe, podstawa architektury .NET, wspólny system typów danych dla języków NET, dziedziczenie klas napisanych w różnych językach.
CLR: odpowiedzialne za uruchamianie programów.
Niektóre Cele CLR:
Łatwiejsze i szybsze tworzenie oprogramowania.
Obsługa zarządzania pamięcią i procesami.
Sprawna Obsługa Narzędzi.
Prostsze instalowanie i wdrażanie.
Skalowalność.
Co to jest MSIL (Microsoft Intermediate Language).
MSIL - język pośredni przy platformie NET
Standardowy język pośredni Microsoft (MSIL - Microsoft Intermediate Language) (rz.)
Niezależny od procesora zestaw instrukcji tworzony przez kompilatory platformy Microsoft .NET Framework i interpretowany przez wspólne środowisko uruchomieniowe (CLR) platformy .NET Framework. Zanim kod MSIL może być wykonany, musi być przetłumaczony przez wspólne środowisko uruchomieniowe na język maszynowy procesora, na którym ma być uruchomiony.
Co to jest JVM, JRE, JDK. Czym różni się JRE od JDK?
JVM - Java Virtual Machine
JRE - Java Runtime Environment
JDK - Java Development Kit
Różnice: JRE służy wyłącznie do uruchamiania skompilowanych już programów, natomiast JDK służy do uruchamianie i kompilowania.
Rozwikłaj nazwę LINUX. Od czego pochodzi litera L?
Linux jest darmową formą unixa napisaną przez Linusa Torvaldsa. Litera L pochodzi od pierwszej litery imienia programisty który go stworzył.
Co to jest projekt GNU? Rozwikłaj nazwę FSF w kontekście darmowego oprogramowania? Co to jest GPL i LGPL - rozwikłaj nazwy i omów czym różni się GPL od LGPL.
GNU - projekt zapoczątkowany w 1984 r. przez Richarda Stallmana (Free Software Foundation), który miał na celu stworzenie podobnego do UNIX-a systemu operacyjnego wraz z niezbędnym do pracy oprogramowaniem, dostępny za darmo i rozpowszechniany jako Open Source.
FSF - Free Software Foundation
GPL - opis zasad dystrybucji oprogramowania komputerowego. Podstawową ideą licencji GPL jest swoboda modyfikowania i rozpowszechniania oprogramowania. W praktyce oznacza to, że każdy, kto rozpowszechnia (zmodyfikowane lub nie) oprogramowanie GPL, musi zagwarantować przyszłym użytkownikom prawo do dalszego kopiowania i modyfikowania rozpowszechnianej aplikacji.
LGPL
???
Podaj przykład i omów mechanizm komunikacji w architekturze klient-serwer.
SERWER obsługuje inne stanowiska w sieci np. LAN udostępniając im swoje zasoby, np. pliki, aplikacje.
KLIENT WORKSTATION, terminal, stanowisko robocze korzysta z zasobów i usług udostępnionych przez SERWER.
Przeciwieństwem sieci typu KLIENT_SERWER są sieci Peer-to-Peer, gdzie każdy z użytkowników jest jednocześnie i klientem, i serwerem.
Serwer może być zarówno komputerem niezależnym, czyli takim, na którym się nie pracuje, jak i stanowiskiem, gdzie pracuje np.. admin.
Serwer plików udostępnia pliki, np. bazy danych;
Serwer splikacji udostępnia oprogramowanie, którego nie trzeba wówczas instalować na stanowiskach roboczych.
Serwer wydruku współużytkowanie jednej drukarki sieciowej podłączonej do jednego komputera, który ma kontakt z jej oprogramowaniem
{Klient/serwer - aplikacje (programy użytkowe) postrzegane są przez system operacyjny jako klienci dostarczających im swoich usług serwerów.
Klienci komunikują się z serwerami poprzez jądro systemu, każdy proces pracuje w własnej, wydzielonej i chronionej przestrzeni adresowej pamięci operacyjnej, dobrze odizolowany od innych procesów.
Trzy wersje klient/serwer:
a) wszystkie aplikacje wykonywane są przez serwer a wyniki wyświetlane na ekranie klienta;
b) serwer dostarcza danych dla aplikacji uruchamianych na komputerze klienta;
c) wszystkie komputery współpracują ze sobą jak równy z równym (peer-to-peer), korzystając wzajemnie ze swoich zasobów.}
Co to są sygnały UNIXA/LINUXA i przerwania sprzętowe. Omów mechanizm obsługi przerwań.
PRZERWANIE zawieszenie przez procesor pracy jednego programu, aby wykonać inny.
PRZERWANIE PROGRAMOWE.
Wywołane zdarzeniami IRL. Urządzeniach peryferyjnych /IRQ/.
PRZERWANIE SPRZĘTOWE.
Początkowy obszar pamięci konwencjonalnej zawiera wektory przerwań, czyli adresy programów i funkcji wywołanych danymi przerwaniami. IRL. Wyniku przyjęcia żądania przerwania procesor zawiesza wykonywany program, odczytuje numer przyczyny tego przerwania i na tej podstawie wylicza numer wektora, zawierający adres programu obsługi przerwania.
System operacyjny składa się IRL. Tzw. Funkcji obsługujących różne zadania systemowe.
Każda IRL. Tych funkcji uruchamiana jest po przyjęciu przez procesor rządania przerwania.
IRQ - żądanie przerwania - sygnał wysyłany przez przypisane danemu IRQ urządzenie.
Co to jest biblioteka z kodem oprogramowania - co zawiera, po co stosuje się biblioteki? Jakie mamy dwa zasadnicze rodzaje bibliotek z kodem programowania? Jakie rozszerzenia mają oba rodzaje bibliotek pod Windows i pod Linuxem?
Windows: biblioteki dynamiczne - DLL
1. Dynamiczna systemowa / oprogramowania biblioteka procedur
przechowywanych w osobnych plikach ładowanych, jeśli zajdzie potrzeba, do pamięci. /programy biblioteczne/
.dll WINDOWS
/lib LINUX
Omów mechanizm przekazywania argumentów w wywołaniu funkcji. Jaki element systemu operacyjnego bierze udział w tym procesie?
Powiązany z wykonywaniem procedur i FUNKCJI.
STOS pushdown list lista w pamięci operacyjnej skonstruowana tak, że
dane mogą być wprowadzane i usuwane tylko z jej jednego
końca - szczytu, czyli ostatnio wproazdzany element będzie
pierwszym do usunięcia. LIFO
KOLEJKA pushup list lista w pamięci operacyjnej skonstruowana tak, że
dane mogą być wprowadzane na jednym końcu listy,
a usuwane na przeciwnym. FIFO
Używane do przechowywania żądań dostępu do urządzeń
peryferyjnych.
Co to jest przestrzeń wymiany w systemie operacyjnym (swap)?
Metoda operowania pamięcią główną, w której zawartości obszarów pamięci głównej są wymieniane z zawartościami obszarów pamięci pomocniczej. Zawartości te są zapisywane w pamięci pomocniczej w okresach, kiedy nie istnieje na nie zapotrzebowanie ze strony procesora i są z powrotem przekazywane do pamięci głównej, kiedy zachodzi taka potrzeba. Wymiana jest sterowana automatycznie przez system operacyjny komputera i używana w systemach, gdzie dostępna jest pamięć wirtualna.
Co to jest pixel? Rozwikłaj nazwę pixel.
Pixel - picture element - element obrazu
Piksel - fragment obrazu o elementarnej wielkości, czyli najmniejszy punkt, jaki może zostać wyświetlony lub wydrukowany. Piksele tworzą obraz widoczny na ekranie monitora oraz to, co widnieje na wydrukach. Piksele widać dokładnie na bardzo mocno powiększonych (od 10 do 20 razy) ilustracjach; w normalnej skali poszczególne piksele są niewidoczne, dzięki czemu tworzą ciągłe kontury obiektów.
Wymień 3 podstawowe współczesne sposoby programowania grafiki trójwymiarowej (tj. biblioteki do programowania grafiki trójwymiarowej).
- GRAFIKA RASTROWA zbiór punktów -bitmapa.
- GRAFIKA WEKTOROWA oparta na krzywych Bezier'a.
- GRAFIKA OBIEKTOWA za pomocą poleceń matematycznych.
{Projekty, modele
OpenGL}
???
Wymień nazwisko autora i jednego z pierwszych implementatorów biblioteki OpenGL.
OpenGL jest specyfikacją niskopoziomowej biblioteki graficznej pierwotnie opracowanej przez Silicon Graphics Inc. Konkretna implementacja tej specyfikacji, jaką posiadasz w swoim systemie, często nazywana sterownikiem OpenGL, umożliwia używanie zestawu podstawowych elementów geometrycznych (punktów, linii, wielokątów, obrazów, itd) do opisu scen, jakie zamierzasz stworzyć. Wizualizacja kompletnej zmodyfikowanej sceny wymaga kilku milisekund czasu, co oznacza, że ta biblioteka posiada wystarczającą wydajność do obsługi tworzenia animacji i obrazów wirtualnego świata.
Sterowniki OpenGL są generalnie dostarczane w formie binarnych bibliotek, z przeznaczeniem do dynamicznego dolinkowania do Twojego programu. Dla systemu Windows będą to biblioteki DLL (szukaj opengl.dll w katalogu systemowym). Jako że Delphi może używać wszystkich bibliotek DLL, programowanie grafiki w OpenGL 3D stało się tak łatwe, jak w innych językach. Przeznaczeniem niniejszego artykułu jest wprowadzenie do zastosowania techniki OpenGL w środowisku Delphi.
Kto to był Seymour Cray?
Założył w 1972r. CRAY RESEARCH INCORPORATED, producent superkomputerów (np. Cray-1, 1975; Cray-2, 1985) o wielkiej mocy obliczeniowej, uzyskiwanej dzięki oryginalnym rozwiązaniom techn.; superkomputery Cray są używane do przeprowadzania najbardziej złożonych obliczeń naukowych.
Kto to jest Jim Clark?
W 1994r założył firmę Netscape communications.
Kto to jest Marc Anderseen?
W 1994r założył firmę Netscape communications.
Wymień nazwę pierwszej graficznej przeglądarki WWW. Kiedy powstała?
Mosaic - pierwsza graficzna przeglądarka, powstała w 1993r.
Co to jest język skryptowy?
Język skryptowy - prosty, nieskompilowany język programowania zaprojektowany do wykonywania wyspecjalizowanych czynności. Na przykład w języku skryptowym VBScript łatwo jest tworzyć dynamiczne strony WWW, ale niemożliwe jest stworzenie gry FPP. Taki jest również JavaScript.
Co to jest interpreter a co to jest kompilator. Czym się różnią?
interpretery - każde polecenie jest na bieżąco zamieniane na kod maszynowy, łatwa praca interakcyjna i rekursja.
kompilatory - cały program przekładany jest na kod maszynowy, duża szybkość wykonywania programu.
Jaka jest podstawowa różnica między Managed C++ Microsoftu a tradycyjnym C++?
Managed C++ oparty jest na maszynie wirtualnej, natomiast C++ nie jest wirtualne. Są też inne biblioteki.
Wymień 4 podstawowe środowiska developerskie do pisania w językach ogólnego przeznaczenia.
BORLAND /TP,C,C++,Delphi/
SUMmicrosystems /Java/
Microsoft /Visual Basic/
ADOBEsystems
????
Co to jest projekt MONO?
Wymień 5 twoim zdaniem najpopularniejszych dystrybucji Linuxa.
Mandrakelinux
RetHat
SUSE
Cnopix
Czym zajmuje się teoria złożoności?
Określa zachłanność algorytmu w odniesieniu do różnych zasobów.
ALGORYTM sposób ba takie rozwiązanie problemu, aby osiągnąć zamierzony efekt, czyli
skończony ciąg operacji o ścisłym porządku ich wykonywania, co na
zakończenie prowadzi do rozwiązania zadanego problemu.
Umożliwia określenie żarłoczności algorytmu w odniesieniu do różnych zasobów, z których najważniejszy jest zazwyczaj czas realizacji i zajętość pamięci. Dla większości rozwiązywanych problemów wybór konkretnego algorytmu to sprawa kompromisu między czasem realizacji a zajętością pamięci - szybsze algorytmy na ogół wymagają większych pamięci.
Jak zdefiniujesz miarę efektywności algorytmu?
Rozwiązywanie problemu w jak naj prostszy sposób. /Unikanie zapętleń, zbyt wielu nieczytelnych zmiennych itp./
Efektywność rozwiązania danego problemu przy użyciu danego algorytmu - czy to pod względem szybkości czy zasobów, z których najważniejszy jest zazwyczaj czas realizacji i zajętość pamięci.
Podstawową miarą efektywności algorytmu jest zależność czynnika stanowiącego o tej efektywności (najczęściej czasu wykonania) od rozmiaru problemu.
Podaj definicję i omów notację „dużego O”
Wprowadzono w matematyce notację odzwierciedlającą wzajemny związek pomiędzy asymptotycznym zachowaniem się dwu funkcji.
Def: Mówimy że funkcja f jest rzędu funkcji g, co zapisujemy ƒ = O(g), jeżeli funkcje te w nieskończoności zbliżają się do siebie z dokładnością do stałego czynnika, tj. istnieje taka stała dodatnia C, że
lim sup |f(x)| / |g(x)| = C
x→∞ 7
Dotyczy funkcji np. czas i złożoność problemu (czas wykonywania wzrasta wraz z kwadratem liczby elementów - to jest złożoność kwadratowa)
Jakie wady ma język maszynowy i język asemblera?
Wady języka maszynowego i asemblera (języki I i II generacji):
- silna zależność od sprzętu (rejestry, rozkazy, pamięć)
- pierwotne (prymitywne) elementy z których budowane są programy: przykład domu (deski, gwoździe, cegły | okna, drzwi itd. - gotowe elementy)
Omów funkcyjny i obiektowy paradygmat programowania. Na co kładzie się główny nacisk w programowaniu funkcyjnym a na co w obiektowym?
- STRUKTURALNE wszystko zamknięte w jednym głównym algorytmie, czyli
wystarczy jeden błąd, aby nie działał cały program.
- OBIEKTOWE jeżeli jest bład w którymś z obiektów, to nie dziła tylko ten
obiekt. Reszta działa.
Paradygmat funkcyjny: konstruowanie „czarnych skrzynek”, każda pobiera dane i produkuje wyniki. Takie skrzynki nazywamy funkcjami. Funkcje tworzy się z elementarnych elementów, funkcje wyższego poziomu tworzy się z funkcji niższych poziomów. Problem dzieli się na elementy i każdy element reprezentuje jako funkcję. Mówimy że programy mają w tym podejściu strukturę blokową.
Paradygmat obiektowy: Dane traktuje się jako aktywne obiekty a nie pasywne jednostki. Przykład sortowania listy:
- Podejście funkcyjne: elementy listy i zestaw operacji (funkcji) operującymi elementami. Elementy i funkcje są niezależne.
- Podejście obiektowe: konkretna lista jest obiektem, posiada dane (elementy) i zestaw operacji (tzw. interfejs) przeznaczony do operowania tymi danymi. Dane i operacje są związane i stanowią jedność.
Od jakich języków programowania pochodzi język C?
Język C pochodzi od BCPL i B - są to języki proste, element danych zajmuje słowo komputera, programista decyduje czy to jest liczba rzeczywista czy całkowita.
Jak ma się język C++ do języka C?
C jest wcześniejszą wersją, podzbiorem języka C++.
Kto był głównym twórcą języka C++?
Bjane Stroustrup.
Kto był głównym twórcą języka C?
Denis Richie z Bell Labs.
Rozszyfruj nazwę ANSI.
ANSI - American National Standard Instytut
/ Amerykański Narodowy Instytut Stamdardów/
Amerykański odpowiednik ISO
Rozszyfruj nazwę ISO.
ISO - International Standards Organization
Kto był twórcą języka Pascal?
Niklaus Wirth (1971)
Powiedz coś krótko o języku ADA.
ADA - język do celów wojskowych rozwinięty dla potrzeb departamentu obrony w latach 70 i 80. Nowatorstwo polega na wprowadzeniu wielozadaniowości).
Obecnie międzynarodowy standard.
Nazwa pochodzi od niemieckiej matematyczki.
Zaprojektowany do użycia we wbudowanych systemach komputerowych, czyli w sytuacjach, gdy komputer jest częścią wyspecjalizowanego systemu.
Co to było „C z klasami"?
Wczesna nazwa późniejszego C++.
Kto był głównym motorem stojącym za stworzeniem języka Java: podaj nazwę firmy i nazwisko?
Sun Microsystems, James Gosling.
Omów krótko historię języka Java.
Historia języka Java
Początkowo Internet przeznaczony tylko do poczty elektronicznej, przesyłania plików (FTP) i pracy zdalnej (telnet).
W latach dziewiędziesiątych pojawia się WWW, początkowo tylko w formie tekstowej.
Pierwsza przeglądarka graficzna (Mosaic) rewolucjonizuje dostęp do internetu.
Pojawiają się pierwsze usługi komercyjne jednak strony WWW są statyczne.
Pojawia się Java: aplety umożliwiają umieszczanie na stronach WWW interaktywnych aplikacji.
Obecnie Java oferuje cały zestaw technologii WWW.
Przeliczanie liczb całkowitych z zakresu 0-255 pomiędzy systemem dwójkowym, dziesiątkowym i szesnastkowym.
System dziesiętny
dn dn-1 … d2 d1 d0 ← zapis liczby dziesiętnej, d0 - jedności, d1 - dziesiątki
W=d0 + d1101 + d2102 + … + dn10n
np.: 3786(10)=6+8101+7102+3103
System dwójkowy (binarny)
0 lub 1
W=d0+d121+d222+…+dn2n
np.:
1101(2)=1+021+122+123=1+0+4+8=13
System szesnastkowy (heksadecymalny)
0…9 |
A |
B |
C |
D |
E |
F |
|
10 |
11 |
12 |
13 |
14 |
15 |
AB12(16)=2+1161+11162+10163=2+16+11256+104096=18+2816+40960=43794(10)
Konwersja liczby dwójkowej na szesnastkową polega na zamianie kolejnych 4 cyfr w zapisie dwójkowym na jedną cyfrę w zapisie szesnastkowym.
np.:
1236(10)=10011010100(2)=0100 1101 0100(2)=4D4(16)
Rozwikłaj nazwę „bit".
Bit - binary dight, czyli cyfra dwójkowa , (0, 1)
Co to jest bit?
Bit - najmniejsza jednostka informacji, jaka może być przetwarzana przez komputer. Bit przekazuje jedną z dwóch wiadomości: prąd płynie bądź prąd nie płynie. Zjawiskom tym przyporządkowane są odpowiednio liczby 1 i 0. Liczbę informacji, jaką można przekazać, używając konkretnej liczby bitów, oblicza się według wzoru 2 do potęgi x, gdzie x to liczba używanych bitów.
Omów operacje logiczne „and", „or", „xor", „not" i podaj ich tabelki działania.
Operacja OR (LUB - suma logiczna) - podobnie jak AND, jest operacją łączącą dwa prostsze zdania w jedno złożone Tego typu zdania są prawdziwe, gdy co najmniej jedno ze zdań składowych jest prawdziwe.
|
|
Operacja AND (I - koniunkcja - iloczyn)- odzwierciedla wartość logiczną zdania złożonego, zbudowanego z prostszych zdań połączonych spójnikiem I (AND). Argumenty operacji AND reprezentują wartość logiczną (prawdziwość lub nieprawdziwość poszczególnych zdań składowych, zdania złożonego). Wynik reprezentuje wartość logiczną całego zdania. |
|
Operacja XOR (ALBO - nierównoważność) - wartością operacji XOR jest 1 (prawda), jeśli jeden z jej argumentów jest równy 1 (prawda), a drugi 0 (fałsz). |
|
Operacja NOT (NIE - negacja) - w odróżnieniu od poprzednich operacji, operacja negacji NOT jest jednoargumentowa. Jej wynikiem jest wartość przeciwna do wartości argumentu. |
|
Dlaczego operacje logiczne są nazywane czasami w informatyce operacjami boolowskimi?
Ponieważ operacja wykonywana jest wartościach którym można przypisać wartość prawdy lub fałszu zgodnie z prawami algebry Boole'a. Algebra Boole'a ma zastosowanie do ostrzygania, czy zdania logiczne są prawdziwe, czy fałszywe. Zmienne w tej algebrze mogą przyjmować tylko jedną z dwóch dopuszczalnych wartości: prawda i fałsz, a więc mają one charakter binarny.
Jakie mamy 3 fizyczne mechanizmy (sposoby) przechowywania bitu?
Przerzutnik, rdzeń (core), kondensator
Przerzutnik
Przerzutnik jest ważnym układem, gdyż idealnie nadaje się do zapamiętania jednego bitu.
Pamiętana w nim wartość to wartość znajdująca się na wyjściu.
Inne układy mogą łatwo zmieniać zapamiętaną w przerzutniku wartość, przesyłając impulsy na jego odpowiednie wejścia.
Podobnie inne układy mogą wykorzystywać wyjście przerzutnika jako swoje wejście i w ten sposób odczytywać zapamiętaną w nim wartość.
Inne techniki przechowywania informacji: rdzeń (core)
W latach sześćdziesiątych do zapamiętywania bitów w komputerach stosowano małe pierścienie materiału magnetycznego w kształcie obwarzanków, zwane rdzeniami, na które nawijano przewody.
Przesyłając prąd przez te przewody, można było namagnesować każdy rdzeń w jednym z dwóch możliwych kierunków.
Następnie, kierunek namagnesowania rdzenia można było wykryć obserwując jego wpływ na prąd elektryczny przepływający przez środek rdzenia. Rdzeń dawał zatem możliwość przechowywania jednego bitu: wartość 1 reprezentowano za pomocą pola magnetycznego skierowanego w jednym kierunku, wartość 0 - w przeciwnym.
Inne techniki przechowywania informacji: kondensator
Bardziej współczesną metodą przechowywania bitu jest kondensator, który składa się z dwóch małych metalowych płytek umieszczonych równolegle w niewielkiej odległości od siebie.
Po podłączeniu źródła napięcia do płytek, biegun ujemny do jednej, a dodatni do drugiej, ładunki ze źródła napięcia rozpraszają się na płytkach. Po odłączeniu napięcia ładunki pozostają na płytkach. Po ich późniejszym zwarciu, popłynie prąd i kondensator rozładuje się.
Zatem kondensator znajduje się zawsze w jednym z dwóch stanów, jest naładowany lub rozładowany. Jednego można użyć do reprezentowania wartości zero a drugiego - jeden.
Współczesna technika daje możliwość umieszczania milionów maleńkich kondensatorów wraz z połączeniami na pojedynczej płytce zwanej kością (chip).
Co to są bajty, kilobajty, megabajty i gigabajty?
Bajt - jednostka danych składająca się z ośmiu bitów.
Kilobajt - to 1024 bajty (około tysiąc bajtów)
Megabajt - to 220, czyli 1 048 576 bajtów (około milion bajtów)
Gigabajt - 230 = 1 073 741 824 bajtów (około miliard bajtów)
Rozszyfruj nazwę RAM i podaj o co w niej chodzi!
RAM - random-access memory - pamięć o dostępie bezpośrednim
RAM - pamięć, do której komputer ładuje aktualnie używane dane tak, aby były one błyskawicznie dostępne dla procesora. RAM jest dużo szybszy (tzn. ma znacznie krótszy czas dostępu, liczony w nanosekundach) od pamięci masowych, takich jak dyski twarde, napędy CD-ROM czy napędy dyskietek. Jednak w przeciwieństwie do pamięci masowych, dane zawarte w pamięci RAM giną po wyłączeniu komputera - a więc RAM do pracy wymaga stałego źródła zasilania.
Omów dokładnie cykl rozkazowy w maszynie von Neumanna.
Cykl rozkazowy w maszynie von Neumanna zaczyna się od pobrania rozkazu z pamięci i umieszczenia go w rejestrze rozkazów. Rozkaz jest następnie dekodowany i realizowany. Może to wymagać pobrania argumentów z pamięci do rejestrów. Po wykonaniu można przechować wynik z powrotem w pamięci.
Rozszyfruj nazwę CPU.
CPU - central processing unit (jednostka centralna komputera - procesor centralny). Jest to podstawowa jednostka działająca w komputerze. Składa się z jednostki arytmetyczno logicznej i jednostki sterującej, w których instrukcje programowe są interpretowane i wykonywane.
Jaką zasadniczą wadę ma taśma magnetyczna w kontekście dostępu do danych?
Długi czas dostępu do danych, ze względu na konieczność przewijania taśmy, aby odczytać ją następnie na streamer'ze/głowicy/.
Dostęp losowy do taśmy jest tysiące razy wolniejszy niż do dysku dlatego taśmy służą głównie do rzadkiego archiwizowania danych.
W przypadku innych współczesnych pamięci masowych dostęp do danych jest swobodny.
Co to jest plik, rekord, co to są rekordy logiczne i fizyczne?
Plik - podstawowa jednostka przechowywania informacji na nośnikach danych.
Struktura logiczna i fizyczna dysku: jeden dysk fizyczny można podzielić na kilka logicznych, kilka dysków fizycznych można traktować jako jeden logiczny.
Plik, jednostka zapisu i przechowywania danych w komputerze. Plik jest to ciąg bitów danych, opatrzony nazwą i atrybutami. Dane są zapisane w odpowiednim formacie, zależnie od zawartości pliku. Plik (ang. file), jest to nazwany ciąg danych (inaczej zbiór danych), o skończonej długości, posiadający szereg atrybutów i stanowiący dla systemu operacyjnego całość.
Atrybutami mogą być: rozmiar, przestrzeń, nazwa, data utworzenia, modyfikacji, ostatniego dostępu, usunięcia itp.; właściciel i grupa pliku, prawa (zapisu, odczytu itd. - mogą być odmienne dla różnych grup użytkowników); położenie, czyli wskaźnik do miejsca na urządzeniu, na którym plik został zapisany (często tablica wskaźników), czy jest to katalog, plik wykonywalny.
Pliki dzielimy na kilka typów: katalogi (stosuje się też nazwy foldery lub kartoteki) - (ang. directory), pliki zawierające spis odwołań do innych plików (w tym także do katalogów), dowiązania symboliczne - (ang. symbolic link) odwołanie do innego pliku; większość operacji na tego typu plikach będzie w rzeczywistości wywoływane na plikach, na które one wskazują, kolejki FIFO (ang. First In, First Out, w skrócie FIFO), gniazda (ang. sockets), strumienie danych itd. - realizujące bardziej złożone zadania, występują nie w każdym systemie; pliki wykonywalne (ang. executable files), skrypty (ang. scripts), pliki wsadowe (ang. batch files) - zawierające program do wykonania lub polecenia dla interpretera (często powłoki). Ponadto system DOS rozróżnia pliki binarne i tekstowe (ASCII). W systemach uniksowych pliki binarne i tekstowe są tożsame.
Rekord na dysku magnetycznym
Rekordem jest również najmniejszy zapisywalny element dysku komputerowego, np. dyskietki mają rekordy długości 512 B (dawniej 128 B). W przypadku większych dysków często nie można odnieść (adresować) się do rekordu a jedynie do grupy rekordów, zwanych klasterami (ang. en:cluster (może to wynikać z rodzaju stosowanego systemu operacyjnego albo sposobu formatowania dysku umożliwiającego przyspieszenie odczytu dużych plików).
Rekord logiczny a fizyczny Buforowanie danych · Zapis danych na taśmie magnetycznej ·
Obsługa buforów · Formaty rekordów.
rekord logiczny
logiczna jednostka informacji w pliku (pewna liczba bajtów); rekord logiczny może być uzależniony np. od wielkości ramki pamięci, jest niezależny od wielkości rekordu fizycznego.
Rekord fizyczny blok fizyczny; fizyczna jednostka informacji w pliku (pewna liczba bajtów); rekord fizyczny jest zazwyczaj uzależniony od typu i budowy urządzenia.
Co to jest bufor, co daje buforowanie, podaj przykład jakiejś techniki w której zastosowano buforowanie.
Bufor - obszar pamięci, w którym dane umieszczane są na krótko. Pamięć buforowa to zazwyczaj kilkanaście kilobajtów i jest wykorzystywana, gdy jedno z urządzeń komputera nie jest w stanie w danej chwili odebrać danych kierowanych do niego. Przykładem jest bufor klawiatury, który zapełnia się wpisywanymi przez użytkownika znakami, jeżeli ten robi to na tyle szybko, że komputer nie jest w stanie ich wyświetlać. Po przepełnieniu buforu klawiatury (czyli gdy wprowadzone zostanie do niego więcej danych, niż jest w stanie przechować) można usłyszeć charakterystyczny sygnał dźwiękowy. W wypadku innych urządzeń może nastąpić spowolnienie pracy komputera.
Czym zajmuje się inżynieria oprogramowania?
Przedsięwzięcia Informatyczne: ryzyko ogromne, 30% projektów kończy się niepowodzeniem, dalsze 40% wymaga znacznego wydłużenia czasu, zwiększenia budżetu i powiększenia personelu lub ograniczenia jakości i funkcjonalności.
.Pytania które stawiają sobie szefowie projektów (niektóre problemy inżynierii programowania):
Od czego zacząć duże przedsięwzięcie informatyczne?
Jak je prowadzić?
Na jakie etapy podzielić?
Jakie dokumenty należy sporządzić na każdym etapie?
Jak ustalić funkcjonalność przyszłego systemu z punktu widzenia kosztów budowy i oczekiwań przyszłych użytkowników?
Jak zapewnić biznesową opłacalność przedsięwzięcia zarówno z punktu widzenia wykonawcy, jak i jego użytkownika?
Jak ocenić rozmiar przedsięwzięcia jak i rozmiar zespołu projektowego?
Co zrobić, aby końcowy produkt przedsięwzięcia posiadał jakość satysfakcjonującą użytkowników?
W tworzenie dużych systemów informatycznych wchodzi wiele aspektów nie tylko ze sfery technologii komputerowych ale i ze sfer:
Organizacji
Zarządzania
Psychologii
Ergonomii
Ekonomii
Socjologii
Innych dziedzin.
Inżynieria Programowania: dziedzina empiryczna, synteza doświadczeń w projektach, dyscyplina ta nie poddaje się jednolitej akademickiej dziedzinie.
Mechanizm powstawania wiedzy w tej dziedzinie odbiega od stereotypu „od teorii do praktyki”.
Można powiedzieć, że praktycznie wszystkie teorie akademickie dotyczące inżynierii oprogramowania nie spełniły pokładanych w nich nadziei (zwłaszcza teorie matematyczne).
Tak więc wiedza w inżynierii programowania to synteza wielu praktyk programistycznych.
Nie ma jednej uniwersalnej teorii, jest wiele standardów, metodologii, sposobów postępowania.
Co to jest „kryzys oprogramowania"? Omów przynajmniej trzy jego znamiona.
Od lat 60-tych zwraca się uwagę na zespół negatywnych zjawisk określany jako kryzys oprogramowania. Niektóre znamiona tego kryzysu to:
Sprzeczność między ogromną odpowiedzialnością, jaka spoczywa na współczesnych systemach informatycznych a ich zawodnością wynikającą ze złożoności oprogramowania i ciągle niedojrzałych metod jego tworzenia i weryfikacji.
Ogromne koszty utrzymywania oprogramowania. Niska kultura ponownego użycia wytworzonych komponentów projektów i oprogramowania. Niski stopień powtarzalności poszczególnych przedsięwzięć.
Długi i kosztowny cykl tworzenia oprogramowania, wysokie prawdopodobieństwo niepowodzenia projektu.
Nieregularny, niesystematyczny zestaw narzędzi i języków programowania. Nieprzejrzystość wytworzonego oprogramowania. Ogromna trudność przystosowania go do zmieniających się wymagań.
Frustracje projektantów oprogramowania i programistów wynikające ze zbyt szybkiego postępu i zmian w zakresie języków, narzędzi i metod oraz uciążliwości i długotrwałości procesu produkcji, utrzymywania i pielęgnacji oprogramowania.
Uzależnienie organizacji od systemów komputerowych i przyjętych technologii, które nie są dostatecznie stabilne w długim horyzoncie czasowym.
Problemy ze współdziałaniem niezależnie wytworzonych produktów softwareowych (zwłaszcza istotne przy dzisiejszych tendencjach integracyjnych).
Problemy systemów „spadkowych”, czyli przystosowanie istniejących oraz działających systemów do nowych tendencji wymagań i platform sprzętowo-programowych.
Co jest podstawowym powodem „kryzysu oprogramowania".
Podstawowym powodem kryzysu oprogramowania jest złożoność systemów informatycznych.
Omów cykl życiowy oprogramowania.
- ANALIZA WYMAGAŃ
- PROJEKTOWANIE
- IMPLEMENTACJA
- TESTOWANIE
- INSTALACJA
- EKSPLOATACJA
- WYCOFANIE
{Cykl życiowy oprogramowania
Faza strategiczna: określenie strategicznych celów, planowanie i definicja projektu
Określenie wymagań
Analiza: dziedziny przedsiębiorczości, wymagań systemowych
Projektowanie: projektowanie pojęciowe i logiczne.
Implementacja/konstrukcja: rozwijanie, testowanie, dokumentacja
Testowanie
Dokumentacja
Instalacja
Przygotowanie użytkowników, akceptacja, szkolenie
Działanie
Utrzymywanie, konserwacja, pielęgnacja.}
Wymień 3 modele cyklu życia oprogramowania i omów jeden z nich.
TRADYCYJNY/KASKADOWY/:
- analiza potrzeb
- specyfikacja
- projektowanie
- programowanie
- testowanie
- integracja
- adaptacja i modyfikacja
- eksploatacja
- dezaktualizacja
FRY'ego:
- etap projektowania
- wdrażanie i eksploatacja
SPIRALNY
4 wielokrotnie powtarzane etapy:
weryfikacja, planowanie, analiza ryzyka i konstruowanie.
Z PROTOTYPEM
Realizacja prototypu modyfikowanoego w trakcie współpracy z użytkownikiem, aż
do celu, jakim jest ostateczna postać projektu.
{Modele cyklu życia oprogramowania
Model kaskadowy (wodospadowy)
Model spiralny
Prototypowanie
Montaż z gotowych komponentów}
Montaż z gotowych komponentów
Kładzie nacisk na możliwość redukcji nakładów poprzez wykorzystanie podobieństwa do wcześniej tworzonych systemów oraz wykorzystanie gotowych komponentów dostępnych na rynku.
Metody
Zakup elementów ponownego użycia od dostawców
Przygotowanie elementów poprzednich przedsięwzięć do ponownego użycia
Zalety
Wysoka niezawodność,
zmniejszenie ryzyka,
Efektywne wykorzystanie specjalistów,
Narzucenie standardów
Wady
dodatkowy koszt przygotowania elementów ponownego użycia
ryzyko uzależnienia się od dostawców elementów
niedostatki narzędzi wspomagające ten rodzaj pracy
Co to jest prototypowanie oprogramowania? Po co stosuje się budowanie prototypów systemów informatycznych. Omów 3 metody prototypowania oprogramowania.
PATRZ POPRZEDNIE PYTANIE
Prototypowanie
Sposób na uniknięcie zbyt wysokich kosztów błędów popełnianych w fazie określania wymagań. Model zalecany w przypadku, gdy określanie wymagań jest stosunkowo łatwe.
Buforowanie prototypów systemów informatycznych stosuje się ... ???
Metody prototypowania oprogramowania:
Niepełna realizacja: objęcie tylko części funkcji
Języki wysokiego poziomu: Smalltalk, Lisp, Prolog, 4GL,...
Wykorzystanie gotowych komponentów
Generatory interfejsu użytkownika: wykonywany jest wyłącznie interfejs, wnętrze systemy jest „podróbką”
Szybkie programowanie „quick and dirty”: normalne programowanie całego systemu, ale bez zwracania uwagi na niektóre jego elementy, np. zaniechanie testowania.
Co to jest UML? Omów i rozwikłaj nazwę.
UML (Unified Modelling Language) to graficzny język do obrazowania, specyfikowania i dokumentowania elementów systemów informatycznych. Umożliwia standaryzację sposobu opracowania przekrojów systemu, obejmujących obiekty pojęciowe, takie jak procesy przedsiębiorstwa i funkcje systemowe, a także obiekty konkretne, takie jak klasy zaprogramowane w konkretnym języku, schematy baz danych i komponenty programowe nadające się do ponownego użycia.
Wymień 3 nazwiska twórców UML.
Twórcami języka UML są Grady Booch, James Rumbaugh i Ivar Jacobson (nazywani często "trzej amigos"), którzy postanowili połączyć swoje wizje. Początkowo język był wspierany głównie przez firmę Rational, obecnie opiekuje się nim Object Management Group (OMG).
Co to jest MDA? Rozwikłaj nazwę. Chodzi o metody oprogramowania opartego na modelach. Scharakteryzuj cele MDA.
???
Co to są i co ilustrują przypadki użycia?
Przypadki użycia mówią co system powinien zapewniać i robić ale nie pokazują (i nie mogą) jak dane cechy zrealizować.
Diagramy przypadków użycia ilustrują zależności i relacje pomiędzy grupą przypadków użycia (use cases) a użytkownikami systemu (aktorami - actors).
Te diagramy nie reprezentują projektu ani szczegółów systemu.
Te diagramy mają na celu zilustrować komunikację między przyszłymi użytkownikami systemu i klientami i są bardzo przydatne do określenia jakie cechy system powinien mieć.
Co to są klasy w językach obiektowych programowania. Jak mają się klasy do obiektów? Jak mają się klasy do struktur danych?
Klasy definiują atrybuty (zmienne) i metody grupy obiektów. Obiekty są instancjami klas, tj. mają te same metody i własny zestaw atrybutów czyli mają wspólne zachowanie narzucone przez klasę.
Obiekty i struktury danych są elementami klas.
Z czego składają się klasy C++?
Klasy składają się z obiektów które zawierają w sobie zarówno metody (funkcje i procedury) jak i dane.
Omów koncepcję interfejsu jako ogólnego pojęcia. Co to jest interfejs klasy języka programowania obiektowego?
interfejs
zdefiniowany przez autora programu sposób komunikowania się użytkownika z programem i programu z użytkownikiem. Może być graficzny (GUI) bądź tekstowy (starsze systemy operacyjne, np. MS-DOS).
urządzenie elektroniczne, które umożliwia połączenie ze sobą dwóch lub więcej urządzeń. Przykładami interfejsów są: SCSI, IDE, EIDE, port USB.
Interfejs klasy - umożliwia obiektom wzajemną komunikację
Jak nazywają się po angielsku wzorce/szablony w C++ i Javie?
C++: Templates
Java: Generis
Co to jest programowanie generyczne (tj. programowanie oparte na wzorcach: podaj zalety tego podejścia).
Zalety programowania na wzorcach:
oszczędza się czas dzięki wykorzystaniu istniejących już dziedziczonych obiektów zawartych w bibliotekach
bez pisania procedur składa się program niejako z klocków
Co to jest i co zawiera biblioteka STL C++? Rozwikłaj nazwę STL.
???
Czym różni się model dziedziczenia stosowany w C++ od tego w Java?
Mechanizm dziedziczenia dostępny w Javie nazywany jest dziedziczeniem pojedynczym. Oznacza to, że każda klasa w Javie może posiadać tylko jedną klasę bazową (chociaż każda klasa może posiadać wiele klas potomnych). W C++ klasy mogą mieć wiele klas bazowych dziedzicząc metody i atrybuty z nich wszystkich. Takie dziedziczenie określane jest mianem wielokrotnego.
Co zyskujemy stosując dziedziczenie w językach obiektowych?
Dzięki dziedziczeniu można korzystać z gotowych obiektów, a nawet dowolnie modyfikować je w swoim programie bez obawy, że PRZODEK ulegnie zmianom POTOMKA.
Tym sposobem można tym samym samemu tworzyć nowe obiekty, a potem wykorzystywać je lub/i nawet ponownie stosować, czy modyfikować podczas tworzenia nowych programów.
Dziedziczenie jest jednym z najistotniejszych pojęć programowania obiektowego i jest to mechanizm potężny, dzięki niemu tworząc klasę wystarczy podać jedynie sposób, w jaki różni się ona od wybranej innej klasy, a mechanizm dziedziczenia automatycznie udostępni informacje zawarte w klasie bazowej.
Co to jest Extreme Programming (XP)? Jak po polsku nazywamy tę metodologię? Na co kładzie nacisk Extreme Programming?
Wydajne Programowane (extreme programming) to nowe podejście do tworzenia oprogramowania oparte o najlepsze z technik ze szczególnym uwzględnieniem prostoty i pracy zespołowej.
XP to ciągłe testowanie i przeglądanie kodu oraz zaangażowanie klienta w proces tworzenia aplikacji.
XP to sposób tworzenia oprogramowania, który kładzie nacisk na prostotę, reakcję zwrotną, odwagę i komunikację. Stanowi w zasadzie reakcję na przekonanie, iż zmiana jest zła i można jej uniknąć.
Z jakich podstawowych 4 elementów (wartości) składa się 12 technik Extreme Programming?
XP jest doskonałym rozwiązaniem, ponieważ 12 jego głównych technik polega na sobie i jest ściśle związanych. Siła jednej z technik neutralizuje słabość innej.
XP składa się z czterech podstawowych wartości:
komunikacji,
odpowiedzi na pytania (pętla zwrotna),
prostoty,
odwagi.
Wymień 2 z 4 technik kodowania Extreme Programming i podaj ich cele.
???
Omów historię platformy .NET i powiedz dlaczego wizja .NET Microsoftu jest tak ważna, i co umożliwia?
Histora NET w skrócie:
Początek 1998 r.: zespół Microsoftu kończy pracę nad serwerem IIS 4.0 (Internet Information Service) - nowe możliwości ASP.
Widać perspektywy ulepszenia dla tworzenia aplikacji Internetowych, projekt „Next Generation Windows Services”.
Prace nad kolejną 7 wersją Visual Studio włączono do w/w projektu. Stworzono CLR (Common Language Runtime) - maszynę wirtualną wzorując się na maszynie wirtualnej języka Java.
Dalsze prace w tajemnicy. Dopiero po 3 latach ogłoszono koncepcję .NET.
Wizja .NET - koncepcja skopiowana od innych i rozszerzona na system Operacyjny Windows a nie tylko na sam język jak Java. Opowiedź Microsoftu na popularność i wyzwanie jakie stawiają technologie Javy.
Platforma .NET: Nowa wizja Microsoftu oprogramowania jako usługi.
NET - nowej generacji platforma do tworzenia oprogramowania dla Windows i oprogramowania internetowego.
Wg. Microsoftu przejście na .NET to tak wielki krok jak przejście z DOS na Windows i z systemów 16 bitowych na 32 bitowe.
NET obejmuje swym zakresem wszystkie warstwy tworzenia oprogramowania.
Umożliwia niespotykany dotąd w platformach Microsoftu poziom technologii prezentacji, komponentów oraz danych.
Cała architektura zaprojektowana z naciskiem na rozwiązania sieciowe (aby tworzenie aplikacji internetowych było równie łatwe, jak stacjonarnych).
Omów popularną strukturę danych zwaną tablicą. Jakie zalety i wady ma ta struktura danych? Jaka jest złożoność wyszukiwania, wstawiania i usuwania w tablicy?
Tablica jest metodą gromadzenia wielu podobnych informacji w jednym miejscu. Tablice posiadają określoną liczbę komórek z których każda zawierać może pojedynczy element. Elementy można umieszczać oraz usuwać z komórek według potrzeb.
Zalety: szybkie wstawianie, szybki dostęp, o ile znany jest index
Wady: wolne wyszukiwanie, wolne usuwanie, stały rozmiar
Wyszukiwanie Wstawianie Usuwanie Obchód
O(N) O(1) O(N) - -
liniowe
Co to jest tablica uporządkowana? Jakie są zalety i wady tej struktury danych? Jaką złożoność ma wyszukiwanie, wstawianie, usuwanie i obchód?
Tablica uporządkowana - to tablica posortowana
Zalety: szybsze wyszukiwanie niż w tablicy nieuporządkowanej
Wady: wolne ustawianie, usuwanie, stały rozmiar
Wyszukiwanie Wstawianie Usuwanie Obchód
O(log N) O(N) O(N) O(N)
binarne
Omów dokładnie co to jest za struktura danych zwana stosem? Jakie zalety i wady ma stos? Jaką złożoność ma wstawianie i usuwanie elementów w tej strukturze danych?
Stos - lista, która jest konstruowana i utrzymywana w pamięci komputerowej, tak że dane mogą być wprowadzane i usuwane tylko z jednego końca listy (zwanego szczytem). Ostatnio wprowadzony element jest więc pierwszym do usunięcia, to znaczy stos pracuje według zasady LIFO (last in first out) - ostatni na wejściu, pierwszy na wyjściu.
Zalety: dostęp typu „ ostatni na wejściu, pierwszy na wyjściu” (LIFO)
Wady: wolny dostęp do innych elementów
Wstawianie Usuwanie
O(1) O(1) usuwa ostatnio wstawiony wiersz
Omów dokładnie strukturę danych zwaną kolejką. Jakie zalety i wady ma kolejka? Jaka jest złożoność obliczeniowa wstawiania i usuwania w kolejce implementowanej za pomocą tablicy.
Kolejka - lista która jest konstruowana i utrzymywana w pamięci komputerowej według takiej zasady, że elementy są wstawiane po kolei na jednym z końców listy, natomiast są z niej usuwane na drugim końcu listy. Kolejny element, który ma być usunięty jest zatem elementem, który został najwcześniej wprowadzony do listy. Oznacz to że kolejka pracuje według schematu: pierwszy do środka, pierwszy na zewnątrz (FIFO - first in first out).
Zalety: dostęp typu „pierwszy na wejściu, pierwszy na wyjściu” (FIFO)
Wady: wolny dostęp do innych elementów
Wstawianie Usuwanie
O(1) O(1) usuwa najdawniej wstawiony element
Co to jest kolejka priorytetowa? Jaka jest złożoność obliczeniowa wstawiania i usuwania elementów w kolejce priorytetowej implementowanej tablicą uporządkowaną?
Kolejka priorytetowa - to kolejka posortowana, implementowana za pomocą sterty. Początek kolejki jest na najmniejszym elemencie, koniec na największym.
Wstawianie Usuwanie
O(N) O(1) usuwa element o najwyższym priorytecie(czyli z początku kolejki)
Omów dokładnie co to jest lista powiązana, jakie ma zalety i wady? Jaka jest złożoność obliczeniowa wyszukiwania, wstawiania i usuwania elementów w tej strukturze danych i dodatkowo w uporządkowanej liście powiązanej?
W liście powiązanej każda lokalizacja zawiera element danych i odnośnik (link) zawierający adres następnego elementu listy. Ostatnia pozycja na liście na specjalny odnośnik wskazujący, że nie ma już więcej elementów na liście. Różne operacje mogą być wykonywane na danych poza przesuwaniem elementów danych. Jedynie odnośniki mogą być modyfikowane. Np. nowy element może zostać włożony we właściwe miejsce w taki sposób, że w elemencie, który poprzedza element nowy, odnośnik będzie wskazywał lokalizacje nowego elementu, a odnośnik w nowym elemencie będzie wskazywał lokalizację starego elementu listy, który ma następować po nowym, wkładanym właśnie elemencie listy.
Zalety: szybkie wstawianie i usuwanie
Wady: wolne wyszukanie
Wyszukiwanie Wstawianie Usuwanie
O(N) O(1) O(N)
Co to jest drzewo binarne? Jakie są zalety i wady drzewa binarnego? Jaka jest złożoność obliczeniowa wyszukiwania, wstawiania, usuwania i obchodu w przypadku średnim i najgorszym?
Drzewo binarne - jest to drzewo w którym każdy wierzchołek ma połączenia - łuki - do więcej niż dwóch innych wierzchołków. Każdy wierzchołek zawiera więc dany element i dwa połączenia, lewe i prawe.
Zalety: szybkie wyszukiwanie, wstawianie i usuwanie (o ile drzewo jest zrównoważone)
Wady: skomplikowany algorytm usuwania
Średni przypadek |
Wyszukiwanie Wstawianie Usuwanie Obchód w miarę zrównoważone O(log N) O(log N) O(log N) O(N) drzewo |
Najgorszy przypadek |
Wyszukiwanie Wstawianie Usuwanie Obchód drzewo nie jest O(N) O(N) O(N) O(N) zrównoważone |
Omów dokładnie strukturę danych zwaną drzewem czerwono- czarnym. Jakie zalety i wady ma ta struktura danych? Jaka jest złożoność obliczeniowa wyszukiwania wstawiania usuwania i obchodu?
Drzewo czerwono-czarne - ???
Zalety: szybkie wyszukiwanie, wstawianie i usuwanie. Drzewo zawsze zrównoważone
Wady: skomplikowane
Wyszukiwanie Wstawianie Usuwanie Obchód
O(log N) O(log N) O(log N) O(N)
Omów dokładnie strukturę danych zwanych drzewem 2-3-4. Jakie są zalety a jakie wady tej struktury danych? Jaka jest złożoność obliczeniowa wyszukiwania, wstawiania usuwania i obchodu?
Drzewo 2-3-4 - ????
Zalety: szybkie wyszukiwanie, wstawianie i usuwanie. Drzewo zawsze zrównoważone. Nadaje się do przechowywania danych w pamięci dyskowej.
Wady: skomplikowane
Wyszukiwanie Wstawianie Usuwanie Obchód
O(log N) O(log N) O(log N) O(N)
Omów jak najdokładniej potrafisz tablice przemieszczania. Jakie są zalety i wady tej struktury. Jaka jest złożoność, wyszukiwania wstawiania i usuwania w tej strukturze?
Tablica przemieszczania - ???
Zalety: bardzo szybki dostęp o ile znany jest klucz (index), szybkie wstawianie.
Wady: wolne usuwanie, wolny dostęp, jeśli nie jest znany klucz, nieefektywne wykorzystanie pamięci.
Wyszukiwanie Wstawianie Usuwanie Obchód
O(1) O(1) O(1) - -
Wymień 3 dowolne algorytmy sortowania elementów tablic i podaj ich złożoność obliczeniową.
Sortowanie bąbelkowe: O(N^2)
Sortowanie przez wstawianie: O(N^2)
Sortowanie kolumnowe: O(N^3/2)
Omów budowę dysku twardego.
Dyski magnetyczne
|
|
Powierzchnia płyty jest logicznie podzielona na koliste ścieżki (tracs) które dzielą się na sektory (sectors). Zbiór scieżek przy danym położeniu ramienia tworzy cylinder. Pojemność pamięci dysków mierzy się w gigabajtach (1024^3 bajtów). Często producenci zaokrąglają te wartości podając że gigabajt to 1000^3 bajtów.
Omów budowę wewnętrzną typowego komputera. Jaką rolę spełniaj ą poszczególne elementy?
Co musi być w komputerze:
Zegar: wytwarza prostokątne impulsy synchronizując działanie układów logicznych i pamięci;
częstości 1MHz -3000 MHz, czas cyklu od 0.3 nanosekundy do 1 mikrosekundy (neurony - 1-100 Hz).
CPU: Centralna Jednostka Przetwarzająca (Central Processing Unit).
Mikroprocesor - procesor wykonany w technologii VLSI.
FPU (Floating Point Unit), czyli jednostka zmiennoprzecinkowa, zwykle (od Pentium) wbudowana w FPU, dawniej osobna.
Pamięć stała ROM, Read Only Memory (pamięć pozwalająca tylko na odczyt)
Pamięć zapisywalna RAM, „bufor pamięci” - obszar wydzielony pamięci.
Pamięć cache: L1, L2 cache,
L1 - w procesorze, do 512 KB
L2 - zwykle pamięć statyczna SDRAM o krótkim czasie dostępu, droga, zwykle 32-1024 KB, niektóre mikroprocesory (np. Xenon) do 4 MB, czasami wbudowana w procesor (np. P4 ma 256 lub 512 KB).
Magistrale (szyny): przysyłanie danych do urządzeń zamontowanych wewnątrz komputera, dysków i kart rozszerzeń.
Szyna adresowa: wysyła informację z CPU do pamięci pozwalając odszukać adres komórki pamięci.
Szyna danych: przesyła dane, znajdujące się w pamięci pod wskazanym adresem do/z CPU.
Adresowanie, przestrzeń adresowa.
Komórki pamięci (memory cells) - najmniejsza bezpośrednio adresowalna grupa bitów pamięci RAM
Adresowanie pamięci = odnajdywanie miejsc, z których chcemy pobrać lub wpisać bajty.
Szerokość = liczba równoległych połączeń w szynie.
Szerokość 8 (szyna 8-bitowa) pozwala rozróżnić 28=256 komórek.
Szerokość 16 (szyna 16-bitowa) daje 65536 czyli 64k możliwości.
Szerokość 20, 1M adresów.
Szerokość 32, 4G adresów.
Szerokość 64, 16 mld mld adresów! Na jakiś czas wystarczy ...
Przestrzeń adresowa rośnie bardzo szybko wraz ze wzrostem szerokości szyny adresów.
Typowe szyny 20, 24, 32, 64-bity, 128 i 256 bitów (karty graficzne).
Oprócz szerokości szyny ważna jest szybkość taktowania.
FSB (Front Side Bus), 64-bitowa szyna danych, wymaga szybkich pamięci:
standardowa 66 MHz, 528 MB/sec;
nowsze płyty 100 MHz, 800 MB/sec, PIII mają 133 MHz, 1.06 GB/sec lub więcej;
szyna taktowana 400 do 800 MHz na płytach z P4, przesyła do 6.4 GB/s!
Układy I/O (Input/Output), wejścia/wyjścia: komunikacja procesora ze światem zewnętrznym.
Kanały I/O: wyspecjalizowane procesory służące komunikacji.
Kontrolery I/O, graficzne: obsługa komunikacji
Szyny przesyłające dane do grafiki:
Nazwa |
Szerokość |
Częstość |
Przepustowość |
AGP 8X |
32-bit |
533MHz |
2.12 GB/sec |
AGP 4X |
32-bit |
266MHz |
1.06 GB/sec |
AGP 2X |
32-bit |
133MHz |
528 MB/sec |
AGP 1X |
32-bit |
66MHz |
264 MB/sec |
PCI 2.2 |
64-bit |
66MHz |
528 MB/sec |
PCI 2.1 |
32-bit |
66MHz |
266 MB/sec |
PCI |
32-bit |
33MHz |
133 MB/sec |
Koprocesory: graficzne/numeryczne, dodatkowe transformacje danych.
Kanały bezpośredniego dostępu (DMA): omijanie mikroprocesora przy transmisji danych z urządzeń zewnętrznych.
Łącza (porty) zewnętrzne: dołączone do układów I/O porty, np. szeregowy (serial port), równoległy (parallel port), port USB.
Układy wspomagające mikroprocesor (chipset): decydują o integracji całości.
Chipset obsługuje pamięć i złącza PCI, AGP, IDE do urządzeń zewnętrznych.
Popularne: starsze Intel Chipset 440BX, nowsze 845E lub 850 do płyt dla P4.
Co to jest internet?
Internet - to sieć komputerowa o światowym zasięgu.
Internet to sieć komputerowa składająca się z wielu sieci oplatających kulę ziemską.
Do internetu podłączone są komputery różnych typów na których działają różne Systemy Operacyjne. Dzięki oprogramowaniu Internetu ani osoby korzystające z internetu ani z WWW nie widzą tych różnic.
Internet jest fundamentem dla komunikacji (strukturą umożliwiającą wymianę danych) w
ramach sieci WWW.
Co to jest WWW? Rozwikłaj nazwę i podaj jak ma się WWW do internetu.
(World Wide Web)
Definicja Sieci WWW: największy na świecie elektroniczny zbiór informacji. Zbiór milionów połączonych ze sobą dokumentów, znajdujących się na komputerach rozrzuconych po świecie.
Do dostępu do informacji potrzebna jest przeglądarka.
Komunikacja pomiędzy komputerami odbywa się za pomocą internetu.
Sieć WWW: ogólnoświatowy system komunikacyjny umożliwiający wymianę danych hipermedialnych pomiędzy komputerami podłączonymi do internetu .
WWW to system oprogramowania i powiązanych ze sobą dokumentów, który jest nałożony na Internet (jego osprzęt i oprogramowanie).
Jednym słowem WWW do warstwa nałożona na internet.
Co to jest sieć? Co to jest LAN, MAŃ, WAN - rozwikłaj nazwy i wyjaśnij.
Aby komputery mogły się ze sobą komunikować muszą posiadać interfejs sieciowy, czyli kartę, a komunikacja musi przebiegać po odpowiednim medium medium transmisyjnym.
LAN Local area Network
WAN Wide Area Network
MAN Metropolita Area Network
WLAN Wireless LAN lokalna sieć bezprzewodowa
Sieć jest głównym elementem internetu i każdej międzysieci.
Najprostsza sieć: 2 komunikujące się komputery.
Sieć lokalna i rozległa (LAN - local area network i WAN - wide area network)
Sieć lokalna LAN łączy komputery znajdujące się blisko siebie (w jednym pokoju lub budynku). Czasami odległości w LAN są rzędu kilkunastu kilometrów).
W skład sieci rozległej (WAN) wchodzą komputery znajdujące się w różnych miastach, województwach, państwach.
MAN - metropolitan area network - miejska sieć komputerowa. Sieć charakteryzująca się zazwyczaj bardzo dużą szybkością połączeń, używająca kabli światłowodowych lub innych nośników cyfrowych. Składa się z wielu sieci lokalnych. Jest mniejsza ale szybsza niż WAN.
Co to jest intranet?
Intranet to sieć o możliwościach podobnych do Internetu, w której dostępne są narzędzia typowe dla sieci światowej, takie jak poczta elektroniczna, przeglądarki, przesyłanie plików.
Różnica między internetem a intranetem jest taka, że intranet jest wewnętrzną siecią przedsiębiorstwa lub organizacji i może ale nie musi być podłączony do internetu. W intranecie mamy narzędzia typowe dla internetu, jest to jednak sieć prywatna i na ogół
część danych jest tajna nie tylko dla użytkowników internetu ale i samego intranetu. W intranecie przechowuje się dane danego przedsiębiorstwa/organizacji.
Omów historyczne cele i początki internetu? Na jakie lata datuje się początki badań nad sieciami i internetem?
Ogólnoświatowy system sieci i bramek internetowych opartych na protokole TCP/IP.
Początkiem Internetu była zdecentralizowana sieć o nazwie ARPANET założona w 1969roku przez DoD /Departament of Defence - Amerykański Departament Obrony/
Po dołączeniu innych sieci mógł oferować: pocztę elektroniczną, WWW, IRC, telnet, FTP, kanały informacyjne itd.
Nie jest on kontrolowany centralnie i nikt formalnie nie ustala treści oraz dostępnych informacji.
Omów historię WWW. Kiedy powstało WWW? Gdzie powstało? Kto był głównym twórcą? Jakie były początkowe cele WWW?
Początki Internetu sięgają końca lat sześćdziesiątych, jednakże WWW powstała dopiero w Marcu 1989. Jej twórcą jest Tim Berners-Lee. Bezpośrednią przyczyną utworzenia WWW była potrzeba udostępnienia badaczom z całego świata rezultatów badań prowadzonych w CERN-nie pod Genewą. Właśnie w Cernie (Europejskie Centrum Badań Fizyki Cząstek Elementarnych) Tim Berners- Lee zaproponował system komunikacji komputerów za pomocą hipertekstu. Sieć w Cernie z czasem rozrosła się zatem do sieci globalnej.
Sieć WWW udostępniono w Genewie w Szwajcarii w styczniu 1992 r. Na początku sieć udostępniała tylko dokumenty CERN-u, przeglądarka była tekstowa, Już w kwietniu 1993 było 60 serwerów WWW.
Wymień dwie organizacje czuwające nad rozwojem internetu i WWW.
WWW Consortium
Internet Advisory Board (IAB)
Co to jest protokół komunikacyjny sieci?
Protokół to zbiór reguł, które normują transmisję danych oraz formaty komunikatów. W sieci dane są przesyłane w formie komunikatów zdefiniowanych przez protokół komunikacyjny. Wszystkie programy sieciowe współpracują z odpowiednimi protokołami.
Rozwikłaj nazwę i powiedz co to jest HTTP?
HTTP (HyperText Transport Protocol), to protokół sieciowy opracowany specjalnie dla sieci WWW. Definiuje on sposób wzajemnej komunikacji między przeglądarką a serwerem WWW.
Sposób komunikacji przeglądarki z serwerem:
Podczas nawiązywania łączności z serwerem przeglądarka (klient) prosi o przesłanie odpowiedniej strony. Strona jest to tekst + tagi HTML. Serwer przesyła kopię żądanego
pliku przeglądarce, która interpretuje tagi HTML i formatuje stronę. Gdy zachodzi potrzeba wyświetlenia grafiki, przeglądarka żąda przesłania odpowiednich plików i potem je wyświetla.
Rozwikłaj nazwę i powiedz co to jest HTML?
Dokumenty WWW muszą być zrozumiałe dla przeglądarki.
Przeglądarka wyświetla strony w formacie HTML (nie tylko).
HTML (HyperText Markup Language) jest językiem opisu dokumentów WWW zawierającym łącza do innych stron WWW.
HTML nie jest językiem programowania, lecz zbiorem reguł umożliwiających formatowanie dokumentów WWW. Język ten umożliwia zapisanie różnych informacji dotyczących wyglądu strony.
Co to jest URL: zdefiniuj i rozwikłaj nazwę.
Identyfikatory URL
W sieci WWW można się poruszać na 2 sposoby. 1. Wpisując identyfikator URL (uniform resorce locator) w polu adresu. URL zawiera informacje o poszukiwanych zasobach, np. Pliku. Innymi słowy jest on adresem zasobów dostępnych w sieci, takich jak dokumenty WWW, pliki, programy. np. http://www.wp.pl/
Po wpisaniu URL-a w oknie przeglądarki przeglądarka łączy się z serwerem i po nawiązaniu łączności wyświetla dane wysłane przez serwer 2. Użycie łączy hipertekstowych i obszarów aktywnych i innych elementów strony jak menu itp.
W celu pobrania dokumentu z Internetu przeglądarka potrzebuje informacji na temat miejsca w którym on się znajduje, oraz sposobu porozumiewania się z odpowiednim serwerem.
Twórcy sieci WWW wprowadzili identyfikatory URL w celu ogólnego sposobu adresowania różnych zasobów internetowych.
Tak więc identyfikatory URL są używane wyłącznie do zapisania informacji umożliwiającej odnalezienie zasobów w internecie.
URL należy traktować jako specjalny rodzaj adresu sieciowego. Jednakże nie odnosi się on do samego komputera głównego lecz do konkretnego dokumentu udostępnianego na tym serwerze.
W dokumencie RFC numer 1738 zatytułowanym „Uniform Resource Locators”, napisanym przez Bernersa-Lee, Masintera i McCahilla, sposoby dostępu są określane
mianem schematów.
Schemat URL opisuje sposób w jaki program może sięgnąć do danego obiektu w sieci.
Dla większości zastosowań sposób dostępu można utożsamić z protokołem.
Podstawowa składnia URL: <scheme>:<scheme-specific-part> I tak w adresie http://www.wp.pl/ http to nazwa schematu czyli protokół http. Inne schematy to ftp, https, mailto.
Co to jest hipertekst?
Oznacza pewien fragment dokumentu opisanego w języku HTML.
Do czego służą programy FTP i TELNET? Rozwikłaj nazwę FTP
FTP - File Transfer Protocol - Przy pomocy FTP można przenosić pliki między systemami. Wraz ze wzrostem liczby plików odnajdywanie informacji stało się trudne. W internecie znajdowały się miliony publicznie dostępnych dokumentów o których większość użytkowników nie wiedziała.
TELNET - program terminalowy.
Są oparte ściśle o TCP/IP.
Róznica pomiędzy telnetem a FTO polega na tym, że telnet polega na współpracy z odległym serwerem, na którym zalogowany jest użytkownik, natomiast FTP pracuje jedynie na transmisji/transferze plików, czyli ich kopiowaniu z jednego odległego komputera na inny.
Omów składnię URL - z jakich dwu części składa się adres URL?
URL należy traktować jako specjalny rodzaj adresu sieciowego. Jednakże nie odnosi się on do samego komputera głównego lecz do konkretnego dokumentu udostępnianego na tym serwerze.
Podstawowa składnia URL: <scheme>:<scheme-specific-part> I tak w adresie http://www.wp.pl/ http to nazwa schematu czyli protokół http. Inne schematy to ftp, https, mailto.
Wylicz trzy dowolne schematy URL i powiedz jaką spełniają rolę?
Schemat URL opisuje sposób w jaki program może sięgnąć do danego obiektu w sieci.
Podstawowa składnia URL: <scheme>:<scheme-specific-part> I tak w adresie http://www.wp.pl/ http to nazwa schematu czyli protokół http. Inne schematy to ftp, https, mailto.
Jaki jest cel nadrzędny stosowania protokołów sieciowych?
POROZUMIEWANIE SIĘ POMIĘDZY RÓŻNYMI SYSTEMAMI OPERACYJNYMI W SIECI !!!!
PROTOKOŁY MOGĄ STAĆ SIĘ STANDARDEM KOMUNIKACJI, ALE NIGDY FORMALNIE STANDARDAMI NIE SĄ !!!! STANDARDY MUSZĄ BYĆ ZATWIERDZONE, NP. P[RZEZ ISO JEŚLI CHDZI U WSZYSTKO ZWIĄZANE Z SIECIĄ !!!!
można realizować usługi wspomagające komunikację między komputerami.
Podstawowym celem protokołów jest umożliwienie wymiany informacji niezależnie od rodzaju sieci i dołączonego do niej sprzętu.
Najważniejszym zadaniem protokołu jest stworzenie warunków do komunikacji między komputerami różnych typów.
Scharakteryzuj sieciowe podsystemy komunikacyjne z przełączaniem obwodów i komutacją pakietów.
W systemie z przełączaniem obwodów tworzy się ciągłe pojedyncze połączenie między komunikującymi się urządzeniami. Po zakończeniu wymiany informacji linia jest zwalniana, tak aby była dostępna dla innych. Dzięki przełączaniu obwodów możliwe jest współużytkowanie fizycznych linii jednak każde z urządzeń musi czekać na dostęp do
linii. HUB
Rozwiązanie z przełączaniem obwodów nie nadaje się do zastosowania w internecie, gdyż nie umożliwia jednoczesnej realizacji kilku połączeń z tym samym komputerem. Zatem nie możliwe jest np. stworzenie serwera. MODEM
Wymień kilka przełączników sieciowych. Jaką rolę spełniają?
SWITCH przełączanie pakietów na podstawie adresów NAC kart sieciowych.
MOST/BRIDGE/ przesyłanie danych pomiędzy dwoma sieciami.
ROUTER wyznaczanie trasy pomiędzy dwoma sieciami róznego typu.
GATEWAY/BRAMA/ przsyłanie danych pomiędzy dwoma sieciemi różnych typów.
{Funkcję elementu przełączającego może spełniać komputer główny lub inne urządzenie, np. most lub ruter. Most służy do łączenia dwóch sieci takiego samego typu i przekierowuje pakiety z danymi do odpowiedniej sieci. Ruter natomiast łączy dwie sieci nawet różnych typów. Dzięki niemu można połączyć sieci połączone w takich samych lub różnych technologiach.}
Co to jest siedmio-warstwowy model ISO/OSI?
Składa się z 7 warstw, z których każda opisuje teoretycznie określone procesy zachodzące podczas połączenia z innym komputerem, serwerem itp. W celu wymiany informacji.
Ponieważ z każdą z warstw wiążą się określone protokoly w praktyce stosuje się ogólny model DoD związany z TCP/IP.
warstwa aplikacji
warstwa prezentacji
warstwa sesji
warstwa transportowa
warstwa sieci
warstwa łącza danych
warstwa fizyczna
Siedmiowarstwowy model sieci opracowany przez ISO/OSI.
Referencyjny model sieci opracowany przez organizacje ISO/OSI (International Standards Organization/Open System Interconnect) jest wzorcem, z którego czerpać mogą projektanci sieci. Model ten nie zawiera szczegółowych wskazówek dt. ich tworzenia, mimo to jednak intensywnie się z niego korzysta.
Wymień kilka podstawowych usług jakie daje sieć?
- komunikacja pomiędzy komputerami
- rozpowszechnianie danych
- transfery finansowe
Co to są superkomputery? Wymień kilka firm produkujących superkomputery?
Superkomputer - komputer, który potrafi pracować z wielką szybkością i może przetwarzać wielkie ilości danych w określonym przedziale czasu. Zaawansowane technicznie komputery mogą wykonywać dziesiątki miliardów operacji zmiennoprzecinkowych na sekundę. (są to komputery wieloprocesorowe)
Głównymi producentami superkomputerów są:
Cray Research, NEC, Fujitsu, Hitachi
Podaj podstawowe typy/kategorie na jakie można podzielić superkomputery pod względem architektury i scharakteryzuj każdą z nich.
??? architektura wektorowa i masowa równoległość
Wymień dwie podstawowe biblioteki stosowane do umożliwienia programowania superkomputerów równoległych?
Co było powodem kryzysu gigantów superkomputerowych (np. takich jak Convex i Cray) który rozpoczął się w latach 90-tych?
Kłopoty finansowe. Convex został wykupiony przez Hewlett Packard
Wysokie ceny superkomputerów - dziesiątki milionów dolarów
Co powiesz o języku Java w kontekście programowania superkomputerów i obliczeń na superkomputerach?
Wymień kilka najważniejszych zastosowań superkomputerów.
- przeznaczone do szybkich obliczeń numerycznych
- rozwiązywanie zagadnień naukowych
- modelowanie finansowe giełdy
Podaj jakieś przykłady co udało się zrobić znaczącego dzięki superkomputerom?
Co to są superkomputery wektorowe? Podaj nazwę pierwszego superkomputera wektorowego.
Superkomputery mające architekturę wektorową wykonywały jednocześnie operacje na wielu liczbach będących elementami wektora lub macierzy.
Nazwa I-go superkomputera: Cray 1
Omów budowę nośników i czytników optycznych.
Nie pisałam :P Każdy coś sam wyduma, jak sądzę :P
Dyski optyczne: laser - element światłoczuły,
Omów wewnętrzną budowę procesora współczesnego komputera.
Mikroprocesor zawiera:
Arytmometr - wykonuje operacje logiczne i arytmetyczne na 4-64 bitach.
Rejestry - podręczne komórki pamięci: licznik rozkazów, rejestr rozkazów, akumulator, rejestry pomocnicze.
Pamięci półprzewodnikowe
Układy wejścia/wyjścia
Jak się mierzy szybkość działania komputerów?
Omów jaką rolę spełnia cache procesora? Omów dokładnie sposób komunikacji procesora z pamięcią z uwzględnieniem cache.
CACHE pamięć podręczna procesora o bardzo krótkim czasie dostępu, używana do
Tymczasowego przechowywania danych przeznaczonych do dalszego
Przetwarzania.
L1 pamięć wbudowana w procesor /niewielka/.
L2 pamięć najczęściej na płycie głównej-pomiędzy procesorem a pamięcią RAM.
L3 pamięć ZAWSZE na płycie głównej /rozszerzenie L2/.
L2 jest zintegrowana procesorem i L1.
Jakie wyróżniamy dwa podstawowe rodzaje pamięci RAM?
DRAM (Dynamic RAM) tańsze, wolniejsze, wymagają odświeżania,
SRAM (Static RAM) droższe i szybsze
Podaj w przybliżeniu liczbę tranzystorów w procesorze Pentium 2 i Pentium 4. Dopuszczalny błąd: 20%.
7,5 mln /P II/
40 mln /P IV/
Sformułuj prawo Moore'a.
Prawo Moore'a określa szybkość rozwoju sprzętu.
W 1965 roku Gordon Moore zauważył, że wykres wzrostu wydajności obwodów scalonych pamięci komputerowych widać, że każda nowa kość zawiera około dwa razy więcej elementów niż poprzednia a przerwa pomiędzy kolejnymi generacjami wynosi 18-24 miesięcy. Wynika stąd eksponencjalny wzrost wydajności komputerów.
Uwaga Moore'a, znana obecnie jako prawo Moore'a, opisuje tendencje, która jest słuszna do tej pory i używana jest do przewidywania przyszłych możliwości komputerów. Przez 26 lat liczba tranzystorów w obwodzie scalonym wzrosła 3,200 razy, od 2.300 w Intel-4004 w 1971 do 7.5 miliona w Pentium II, a teraz do 40 mln w Pentium 4 i 170 mln w IBM Power4.
Ile razy wzrosła liczba tranzystorów w obwodzie scalonym w ciągu ostatnich około 25 1at? Dopuszczalny błąd: 20%.
3.200 RAZY
Wyjaśnij podział procesorów na RISC i CISC. Rozwiń nazwy.
RISC udoskonalenie dla CISC, dzięki czemu procesory są tańsze.
/obliczenia ze zredukowanym zestawem instrukcji/
CISC wyparta przez RISC po tym, jak zauważono, że praktyce w zaledwie 80% przypadków wykorzystywanych było zaledwie 20% dostępnych instrukcji, a i pozostałe sporadycznie.
/obliczenia z rozbudowanym zestawem instrukcji/
RISC (Reduced Instruction Set Computer), 1-5 instrukcji/cykl.
CISC (Complex Instruction Set Computer), 2-10 cykli/instrukcję.
W technologii ilu nanometrów są obecnie wykonywane ścieżki procesorów popularnych PC? Dopuszczalny błąd około 50%.
Wymień 3 rodzaje komputerów innych niż PC-ty i notebooki.
PC WATCH - komputer w zegarku
Palmtop, P/PC
Mainframes - komputer centralny
Superkomputer - wieloprocesorowy
Co to są interfejsy dysków i innych urządzeń? Wymień co najmniej 2 rodzaje interfejsów.
Wewnątrz komputera połączenie z magistralą dokonuje się za pomocą interfejsów:
Typ |
Zastosowanie |
Prędkość |
Uwagi |
ATA/EIDE |
dyski, CD-ROM, DVD |
0,4-4 |
standard dla dysków, |
SATA and SATA II |
dyski, CD-ROM, DVD, skanery ... |
150 |
nowy standard dla dysków, |
SCSI |
dyski stałe i wymienne, skanery |
0,8-10 |
dawny standard dla szybkich dysków |
Co to są magistrale na płycie głównej? Wymień dwa standardy.
Magistrale (złącza) na płycie głównej, doporowadzające sygnały do procesora/pamięci, przesyłane są nimi dane do urządzeń zamontowanych wewnątrz komputera, dysków i kart rozszerzeń.
Nazwa |
Zastosowanie |
Prędkość |
Uwagi |
ISA |
modemy, karty sieciowe, dźwiękowe, sprzęgi ... |
0,2-1 |
powoli zanika, zwykle wbudowany w płytę |
PCI, |
grafika, dźwięk, modemy, multimedia |
16,6/33,3/132 |
obecny standard |
AGP |
grafika |
66 |
standard w komputerach z P II/III |
Wypowiedz się na temat co to jest i czym się zajmuje sztuczna inteligencja i inteligencja obliczeniowa.
Inteligencja Obliczeniowa (Computational Intelligence, CI) - dziedzina nauki, zajmująca się rozwiązywaniem problemów, które nie są efektywnie algorytmizowalne, za pomocą obliczeń.
Częścią CI jest sztuczna inteligencja (Artificial Intelligence, AI), zajmująca się modelowaniem wiedzy, rozwiązywaniem problemów niealgorytmizowalnych w oparciu o symboliczną reprezentację wiedzy.
Kto i kiedy odkrył układ dwójkowy?
1673r. - Gottfried Lebniz
Skąd pochodzi nazwa „algorytm"?
Pochodzi od nazwiska arabskiego matematyka AL Chwarazmi (Algorismus, Algorithmus)
Podaj datę i trzy nazwiska związane z powstaniem rachunku logicznego.
1854r. - Leibnitz, Euler. Morgan, George Boole
Podaj nazwisko badacza uważanego za bezpośredniego i najważniejszego twórcę komputera. Kiedy to było?
John von Neumann
Podaj w przybliżeniu datę powstania firm IBM i INTEL? Dopuszczalny błąd: 10 lat.
IBM - 1911r.
INTEL - 1968r.
Podaj nazwiska twórców systemu UNIX. Kiedy to było i w jakiej firmie powstał ten system?
UNIX powstał w 1970r. w laboratoriach Bella firmy AT&T.
Opracowany przez grupę naukowców prowadzących obliczenia w tym laboratorium, m.in. Ken Tompson i Denis Ritchie.
Na jakie lata datuje się powstanie pierwszych superkomputerów? Dopuszczalny błąd: l0 lat.
Pierwszy superkomputer powstał w 1997r. Intel ASCI Red , 9152 procesorów
Superkomputer wektorowy CRAY-1 w 1976r.
Podaj datę założenia (dopuszczalny błąd: 10 lat) i 3 nazwiska związane z firmą Microsoft.
MICROSOFT, właściwie Microsoft Corporation, przedsiębiorstwo amerykańskie, zał. 1975r. Przez:
W.H. (Billa) Gatesa
P.G. Allena
Steve Balmer
Kiedy rozpoczęła się era komputerów osobistych? Dopuszczalny błąd: l0 lat.
Komputery osobiste powstały w 1981r.
Wymień i scharakteryzuj generacje komputerów. Podaj szacunkowe lata na jakie datuje się czas trwania tych generacji.
Generacje komputerów
Zerowa generacja: komputery na przekaźnikach
Pierwsza generacja: komputery na lampach radiowych, 1945-59
Druga generacja: komputery na tranzystorach, 1959 -64
1959 - obwód scalony: Jack Kilby, Texas Instruments,
Robert Noyce, Fairchild Semiconductors.
Trzecia generacja: układy scalone, 1965-70, seria IBM 360
1965 - pierwszy minikomputer (DEC PDP)
1968 - powstał Intel, obecnie największy producent mikroprocesorów
1969 - pamięci półprzewodnikowe
Czwarta generacja: układy scalone VLSI, od 1971
1971 - mikroprocesor wynaleziony przez Teda Hoffa z firmy Intel
1976 - firma Apple i pierwsze udane mikrokomputery
1981 - era komputerów osobistych: pierwszy IBM PC
Piąta generacja: sztuczna inteligencja
Szósta generacja: nowe architektury, neurokomputery, biokomputery, obliczenia przy pomocy DNA, komputery kwantowe.
6