Okna.  Wirusy.  Notatniki.  Internet.  biuro.  Narzędzia.  Kierowcy

Oprogramowanie narzędziowe lub systemy programowania to systemy automatyzujące tworzenie nowych programów w języku programowania. W najbardziej ogólnym przypadku do stworzenia programu w wybranym języku programowania (systemowym języku programowania) potrzebne są następujące komponenty: 1. Edytor tekstu do utworzenia pliku z kodem źródłowym programu. 2. Kompilator lub interpreter. Tekst źródłowy jest tłumaczony na pośredni kod wynikowy przy użyciu programu kompilatora. Kod źródłowy dużego programu składa się z kilku moduły(pliki źródłowe). Każdy moduł jest kompilowany do osobnego pliku z kodem wynikowym, który następnie musi zostać połączony w jedną całość. 3. Linker lub asembler, który łączy moduły obiektów i generuje działającą aplikację na wyjściu - kod wykonywalny. Kod wykonywalny to kompletny program, który można uruchomić na dowolnym komputerze z systemem operacyjnym, dla którego program został utworzony. Z reguły plik wynikowy ma rozszerzenie .EXE lub .COM. 4. W ostatnim czasie rozpowszechniły się metody programowania wizualnego (wykorzystujące języki skryptowe) zorientowane na tworzenie aplikacji Windows. Ten proces jest zautomatyzowany w środowiskach szybkiego projektowania. W tym przypadku wykorzystywane są gotowe komponenty wizualne, które są konfigurowane za pomocą specjalnych edytorów. Najpopularniejsze edytory (programowanie systemów z wykorzystaniem narzędzi wizualnych) do projektowania wizualnego:

 Borland Delphi – przeznaczony do rozwiązywania niemal każdego problemu programowania aplikacji

 Borland C++ Builder jest doskonałym narzędziem do tworzenia DOS i Aplikacje Windowsowe

 Microsoft Visual Basic to popularne narzędzie do tworzenia programów Windows.

 Microsoft Visual C++ – narzędzie to pozwala na tworzenie dowolnych aplikacji działających w środowisku SO np Microsoft Windows

1.3.2. Systemy plików

Wszystkie nowoczesne systemy operacyjne zapewniają tworzenie systemu plików, który jest przeznaczony do przechowywania danych na dyskach i zapewniania do nich dostępu. Główne funkcje systemu plików można podzielić na dwie grupy:

 Funkcje do pracy z plikami (tworzenie, usuwanie, zmiana nazwy plików itp.)

 Funkcje do pracy z danymi zapisanymi w plikach (zapis, odczyt, wyszukiwanie danych itp.)

Wiadomo, że pliki służą do organizowania i przechowywania danych na nośnikach maszynowych. Plik to sekwencja dowolnej liczby bajtów, która ma własną unikalną nazwę lub nazwany obszar na nośniku maszynowym. Strukturyzacja zbioru plików na nośnikach maszynowych odbywa się za pomocą katalogów, w których przechowywane są atrybuty (parametry i szczegóły) plików. Katalog może zawierać wiele podkatalogów, co skutkuje rozgałęzionymi strukturami plików na dyskach.Organizacja plików w strukturze drzewa nazywana jest systemem plików. Zasada organizacji systemu plików jest tabelaryczna. Tam, gdzie plik jest przechowywany na dysku, jest przechowywany w tabeli alokacji plików (FAT). Tabelę umieszczono na początku tomu. Aby chronić wolumin, przechowywane są na nim dwie kopie FAT. Jeśli pierwsza kopia FAT jest uszkodzona, narzędzia dyskowe mogą użyć drugiej kopii do naprawy woluminu. FAT jest podobny do spisu treści książki pod względem sposobu, w jaki system operacyjny używa go do znalezienia pliku i określenia klastrów, które ten plik zajmuje na dysku twardym. Najmniejszą fizyczną jednostką przechowywania danych jest sektor. Rozmiar sektora wynosi 512 bajtów. Ponieważ rozmiar tablicy FAT jest ograniczony, w przypadku dysków większych niż 32 MB nie jest możliwe adresowanie do każdego sektora z osobna. W tym zakresie grupy sektorów są warunkowo łączone w klastry. Klaster to najmniejsza jednostka adresowania danych. Rozmiar klastra, w przeciwieństwie do rozmiaru sektora, nie jest stały i zależy od pojemności dysku.

Początkowo dyskietki i małe dyski twarde (poniżej 16 MB) wykorzystywały 12-bitową wersję FAT (zwaną FAT12). Następnie MS-DOS wprowadził 16-bitową wersję FAT dla większych dysków. Systemy operacyjne MS DOS, Win 95, Win NT implementują 16-bitowe pola w tablicach alokacji plików. System plików FAT32 został wprowadzony w systemie Windows 95 OSR2 i jest obsługiwany w systemach Windows 98 i Windows 2000. FAT32 jest rozszerzeniem FAT przeznaczonym do użytku na woluminach większych niż 2 GB. FAT32 zapewnia obsługę dysków o pojemności do 2 TB i bardziej efektywne wykorzystanie miejsca na dysku. FAT32 używa mniejszych klastrów w celu poprawy wydajności miejsca na dysku. Windows XP używa FAT32 i NTFS. Bardziej obiecujący kierunek rozwoju systemy plików było przejście na NTFS (New Technology System plików- system plików nowej technologii) z długimi nazwami plików i niezawodnym systemem bezpieczeństwa. Rozmiar partycji NTFS nie jest ograniczony. NTFS minimalizuje głośność miejsca na dysku, utracone z powodu zapisywania małych plików w dużych klastrach. Ponadto NTFS pozwala zaoszczędzić miejsce na dysku poprzez kompresję samego dysku, poszczególnych folderów i plików.

Zgodnie ze sposobami nazywania plików istnieją nazwy „krótkie” i „długie”. Zgodnie z konwencją przyjętą w systemie MS-DOS sposobem nazywania plików na komputerach IBM PC była konwencja 8.3., tj. Nazwa pliku składa się z dwóch części: samej nazwy i rozszerzenia nazwy. Nazwa pliku to 8 znaków, a rozszerzenie to 3 znaki. Nazwa jest oddzielona od rozszerzenia kropką. Zarówno nazwa, jak i rozszerzenie mogą zawierać tylko łacińskie znaki alfanumeryczne. Nazwy plików napisane zgodnie z konwencją 8.3 są uważane za „krótkie”. Wraz z pojawieniem się systemu operacyjnego Windows 95 wprowadzono koncepcję „długiej” nazwy. Ta nazwa może zawierać do 256 znaków. To wystarczy, aby utworzyć znaczące nazwy plików. „Długa” nazwa może zawierać dowolne znaki z wyjątkiem dziewięciu znaków specjalnych: \ / : * ? “< >|. W nazwie dozwolone są spacje i wielokrotne kropki. Nazwa pliku kończy się trzyznakowym rozszerzeniem. Rozszerzenie służy do klasyfikowania plików według typu. Niepowtarzalność nazwy pliku zapewnia fakt, że pełna nazwa pliku jest nazwą własną pliku wraz ze ścieżką do niego. Ścieżka pliku zaczyna się od nazwy urządzenia i zawiera wszystkie nazwy katalogów (folderów), przez które przechodzi. Znak „\” używany jest jako separator (ukośnik odwrotny - ukośnik odwrotny).Przykładowo: D:\Documents and Settings\TVA\Moje dokumenty\lessons-tva\robots.txt, prezentowane są one użytkownikowi w postaci hierarchiczna struktura - jest wygodniejsza dla ludzi, a system operacyjny dba o wszystkie niezbędne przekształcenia. Funkcja utrzymania struktury plików obejmuje następujące operacje, które zachodzą pod kontrolą systemu operacyjnego:

 tworzenie plików i nazywanie ich;

 tworzenie katalogów (folderów) i nadawanie im nazw;

 zmiana nazw plików i katalogów (folderów);

 kopiowanie i przenoszenie plików pomiędzy dyskami komputera oraz pomiędzy katalogami (folderami) jednego dysku;

 usuwanie plików i katalogów (folderów);

 nawigacja struktura plików w celu uzyskania dostępu do danego pliku, katalogu (folderu);

 zarządzanie atrybutami plików.

Oprogramowanie narzędziowe, jako szczególny rodzaj oprogramowania, charakteryzuje się cechami ogólnymi i szczegółowymi

funkcji, jak w przypadku wszelkiego oprogramowania w ogólności. Funkcje ogólne są przez nas rozważane powyżej, a funkcje specjalistyczne są nieodłączne ten typ programy to:

1. Stworzenie tekstu opracowanego programu za pomocą specjalnie ustalonych słów kodowych (języka programowania), a także określonego zestawu znaków i ich lokalizacji w tworzonym pliku - składnia programu.

2. Tłumaczenie tekstu utworzonego programu na kod maszynowy dostępny do rozpoznawania przez komputer. W przypadku znacznej objętości tworzonego programu jest on dzielony na osobne moduły i każdy z modułów tłumaczony jest osobno.

3. Połączenie poszczególnych modułów w jeden wykonywalny kod, zgodnie z niezbędną strukturą, zapewniając koordynację interakcji poszczególnych części ze sobą.

4. Testowanie i kontrola tworzonego programu, wykrywanie i eliminacja błędów formalnych, logicznych i składniowych, sprawdzanie programów pod kątem niedozwolonych kodów, a także ocena wydajności i potencjału stworzonego programu.

Rodzaje oprogramowania narzędziowego

Na podstawie zadań przypisanych oprogramowaniu instrumentalnemu można wyróżnić dużą liczbę różnych typów oprogramowania instrumentalnego:

1) Edytory tekstu

2) Zintegrowane środowiska programistyczne

4) Kompilatory

5) Tłumacze ustni

6) Łączniki

7) Parsery i generatory parserów (patrz Javacc)

8) Asemblery

9) Debugery

10) Profilerzy

11) Generatory dokumentów

12) Narzędzia do analizy pokrycia kodu

13) Narzędzia ciągłej integracji

14) Zautomatyzowane narzędzia do testowania

15) Systemy kontroli wersji itp.

Należy zauważyć, że powłoki do tworzenia programów aplikacyjnych są również tworzone przez programy narzędziowe i dlatego można je sklasyfikować jako programy użytkowe. Rozważ krótko cel niektórych programów instrumentalnych.

Edytory tekstu.

Edytor tekstu-- program komputerowy przeznaczony do przetwarzania plików tekstowych, takich jak tworzenie i dokonywanie zmian.

Rodzaje edytorów tekstu.

Konwencjonalnie istnieją dwa rodzaje edytorów: strumieniowe edytory tekstu i interaktywny.

1) Strumieniowe edytory tekstu

Strumieniowe edytory tekstu są programy komputerowe do których są przeznaczone zautomatyzowane przetwarzanie wprowadzania danych tekstowych uzyskanych z pliku tekstowego, zgodnie z zasadami zdefiniowanymi przez użytkowników. Najczęściej są to zasady wyrażenia regularne, w dialekcie specyficznym dla tego konkretnego edytora tekstu. Przykładem takiego edytora tekstu jest edytor Sed.

2) Interaktywne edytory tekstu

Interaktywne edytory tekstu to rodzina programów komputerowych przeznaczonych do wprowadzania zmian plik tekstowy interaktywnie. Takie programy pozwalają wyświetlać aktualny stan danych tekstowych w pliku i wykonywać na nich różne akcje.

Często interaktywne edytory tekstu zawierają znaczące dodatkowe funkcje przeznaczone do automatyzacji niektórych czynności edycyjnych lub do zmiany sposobu wyświetlania danych tekstowych, w zależności od ich semantyki. Podświetlanie składni jest przykładem tego drugiego rodzaju funkcjonalności.

Edytory tekstu służą do tworzenia i edytowania dokumentów tekstowych. Najpopularniejsze to MS WORD, Leksykon. Główne funkcje edytorów tekstu to:

1) praca z fragmentami dokumentów,

2) wstawianie obiektów utworzonych w innych programach

3) paginację tekstu dokumentu

4) wprowadzanie i edycja tabel

5) wprowadzanie i edycja formuł

6) formatowanie akapitów

7) automatyczne tworzenie listy

8) automatyczne tworzenie spisu treści.

Znane są dziesiątki edytorów tekstu. Najbardziej dostępne to NOTEPAD(notatnik), WORDPAD, WORD. O pracy danego edytora tekstu decydują zwykle funkcje, których przeznaczenie jest odzwierciedlone w pozycjach menu oraz w systemie pomocy.

Zintegrowane środowisko programistyczne

Zintegrowane środowisko programistyczne (IDE) to system oprogramowania używany przez programistów do tworzenia oprogramowania (SW). Środowisko programistyczne zwykle obejmuje:

1) edytor tekstu

2) kompilator i/lub interpreter

3) narzędzia do automatyzacji montażu

4) debuger.

Czasami zawiera również narzędzia do integracji z systemami kontroli wersji oraz różne narzędzia upraszczające konstrukcję GUI użytkownik. Wiele nowoczesnych środowisk programistycznych obejmuje również przeglądarkę klas, inspektora obiektów i diagram hierarchii klas do wykorzystania w programowaniu zorientowanym obiektowo. Chociaż istnieją środowiska programistyczne zaprojektowane dla wielu języków programowania, takich jak Eclipse, NetBeans, Embarcadero RAD Studio, Qt Creator lub Microsoft Visual Studio, środowisko programistyczne jest zwykle przeznaczone dla jednego określonego języka programowania, takiego jak Visual Basic, Delphi, Dev-C++ .

Szczególnym przypadkiem ISR są wizualne środowiska programistyczne, które obejmują możliwość wizualnej edycji interfejsu programu.

SDK(z angielskiego Software Development Kit) lub „devkit” – zestaw narzędzi programistycznych umożliwiający specjalistom ds. oprogramowania tworzenie aplikacji dla określonego pakietu oprogramowania, narzędzi programistycznych, platformy sprzętowej, systemu komputerowego, konsol do gier wideo, systemów operacyjnych i innych platform .

Programista zwykle uzyskuje SDK bezpośrednio od twórcy docelowej technologii lub systemu. Często pakiet SDK jest dystrybuowany przez Internet. Wiele zestawów SDK jest dystrybuowanych bezpłatnie, aby zachęcić programistów do korzystania z nich ta technologia lub platforma.

Dostawcy zestawów SDK czasami zastępują termin „Oprogramowanie w pakiecie Software Development Kit” słowem „więcej”. dokładne słowo. Na przykład Microsoft i Apple dostarczają zestawy Driver Development Kit (DDK) do opracowywania sterowników urządzeń, podczas gdy PalmSource nazywa swój zestaw narzędzi programistycznych „PalmOS Development Kit (PDK)”.

Przykłady SDK:

5) Zestaw programistyczny Javy

6) Pakiet SDK urządzeń Opery

Kompilatory.

Kompilator --

1) Program lub narzędzie sprzętowe wykonujące kompilację.

2) Program maszynowy użyty do kompilacji.

3) Translator konwertujący program napisany w języku źródłowym na moduł obiektowy.

4) Program, który tłumaczy tekst programu w języku wysokiego poziomu na równoważny program w języku maszynowym.

5) Program przeznaczony do tłumaczenia języka wysokiego poziomu na kod absolutny lub czasami na język asemblera. Informacje wejściowe dla kompilatora (kod źródłowy) to opis algorytmu lub programu w języku specyficznym dla domeny, a dane wyjściowe kompilatora to równoważny opis algorytmu w języku zorientowanym maszynowo (kod obiektowy).

Kompilowanie --

1) Tłumaczenie programu na język zbliżony do maszyny.

2) Tłumaczenie programu napisanego w języku źródłowym na moduł obiektowy. Implementowane przez kompilator.

Kompiluj — tłumacz program maszynowy z języka specyficznego dla domeny na język specyficzny dla maszyny.

Typy kompilatorów:

1) Wektoryzacja. Tłumaczy kod źródłowy na kod maszynowy komputerów wyposażonych w procesor wektorowy.

2) Elastyczny. Skompilowany w sposób modułowy, sterowany przez tabele i zaprogramowany w języku wysokiego poziomu lub zaimplementowany za pomocą kompilatora kompilatora.

3) Dialog.

4) Przyrostowy. Ponowne tłumaczenie fragmentów programu i rozszerzeń bez ponownej kompilacji całego programu.

5) Interpretacja (krok po kroku). Sekwencyjnie wykonuje niezależną kompilację każdej indywidualnej instrukcji (polecenia) programu źródłowego.

6) Kompilator kompilatorów. Tłumacz, który pobiera formalny opis języka programowania i generuje kompilator dla tego języka.

7) Debuguj. Eliminuje niektóre rodzaje błędów składniowych.

8) Mieszkaniec. Trwale rezyduje w pamięci głównej i jest dostępny do ponownego wykorzystania w wielu zadaniach.

9) Opracowane samodzielnie. Napisany w tym samym języku, z którego prowadzona jest transmisja.

10) Uniwersalny. Na podstawie formalnego opisu składni i semantyki języka wejściowego. Komponentami takiego kompilatora są: jądro, programy ładujące składnię i semantykę.

Rodzaje kompilacji:

1) Seria. Kompilowanie wielu modułów źródłowych w jednym elemencie zadania.

2) Linia po linii.

3) Warunkowe. Kompilacja, w której przetłumaczony tekst zależy od warunków określonych w programie źródłowym. Tak więc, w zależności od wartości jakiejś stałej, możesz włączyć lub wyłączyć tłumaczenie fragmentu tekstu programu.

struktura kompilatora.

Proces kompilacji składa się z następujących kroków:

1) Analiza leksykalna. Na tym etapie sekwencja znaków w pliku źródłowym jest konwertowana na sekwencję tokenów.

2) Analiza składniowa (gramatyczna). Sekwencja tokenów jest przekształcana w drzewo analizy.

3) Analiza semantyczna. Drzewo analizy jest przetwarzane w celu ustalenia jego semantyki (znaczenia) - na przykład powiązania identyfikatorów z ich deklaracjami, typami, sprawdzaniem zgodności, określaniem typów wyrażeń itp. Wynik jest zwykle nazywany „pośrednią reprezentacją/kodem” i może zostać rozszerzony o drzewo analizy, nowe drzewo, abstrakcyjny zestaw poleceń lub coś innego wygodnego do dalszego przetwarzania.

4) Optymalizacja. Zbędne konstrukcje są usuwane, a kod jest uproszczony przy zachowaniu jego znaczenia. Optymalizacja może odbywać się na różnych poziomach i etapach - na przykład nad kodem pośrednim lub nad końcowym kodem maszynowym.

5) Generowanie kodu. Z reprezentacji pośredniej generowany jest kod w języku docelowym.

W określonych implementacjach kompilatorów etapy te można rozdzielić lub połączyć w takiej czy innej formie.

Nadawanie i komponowanie.

Ważna historyczna cecha kompilatora, odzwierciedlona w jego nazwie ( język angielski kompiluj — montuj razem, komponuj), polegał na tym, że mógł również wykonywać linkowanie (to znaczy zawierał dwie części - translator i linker). Wynika to z faktu, że oddzielna kompilacja i linkowanie jako odrębny etap asemblera pojawiły się znacznie później niż pojawienie się kompilatorów. W związku z tym zamiast terminu „kompilator” termin „tłumacz” jest czasami używany jako jego synonim: albo w dawnej literaturze, albo gdy chce się podkreślić jego zdolność do tłumaczenia programu na kod maszynowy (i vice versa, używają terminu „kompilator”, aby podkreślić możliwość złożenia z wielu plików jednego).

Tłumacze ustni.

Tłumacz (język programowania) --

1) Program lub narzędzie techniczne, które wykonuje interpretację.

2) Typ translatora, który wykonuje przetwarzanie i wykonywanie programu źródłowego lub zapytania w trybie operator po operatorze (polecenie po poleceniu) (w przeciwieństwie do kompilatora, który tłumaczy cały program bez jego wykonywania).

3) Program (czasami sprzętowy), który analizuje polecenia lub instrukcje programu i natychmiast je wykonuje.

4) Procesor języka, który analizuje program źródłowy wiersz po wierszu i jednocześnie wykonuje określone działania, a nie tworzy skompilowanego programu w języku maszynowym, który jest następnie wykonywany.

Typy tłumaczy ustnych.

prosty tłumacz analizuje i natychmiast wykonuje (sama interpretacja) program polecenie po poleceniu (lub wiersz po wierszu), gdy jego kod źródłowy dociera do wejścia interpretera. Zaletą tego podejścia jest natychmiastowa reakcja. Wadą jest to, że taki interpreter wykrywa błędy w tekście programu tylko w przypadku próby wykonania polecenia (lub linii) z błędem.

Interpreter typu kompilator to system kompilatora, który tłumaczy kod źródłowy programu na reprezentację pośrednią, na przykład kod bajtowy lub p-kod, oraz samego interpretera, który wykonuje wynikowy kod pośredni (tzw. ). Zaletą takich systemów jest większa szybkość wykonywania programu (dzięki usunięciu analizy kodu źródłowego do osobnego, jednorazowego przebiegu oraz zminimalizowaniu tej analizy w interpreterze). Wady -- większe zapotrzebowanie na zasoby i wymaganie poprawnego kodu źródłowego. Jest używany w językach takich jak Java, PHP, Python, Perl (wykorzystywany jest kod bajtowy), REXX (wynik parsowania kodu źródłowego jest zapisywany), a także w różnych DBMS (wykorzystywany jest p-kod).

Jeśli interpreter typu kompilującego zostanie podzielony na komponenty, otrzymamy kompilator języka i prosty interpreter ze zminimalizowaną analizą kodu źródłowego. Co więcej, kod źródłowy takiego interpretera nie musi być w formacie tekstowym ani być kodem bajtowym, który rozumie tylko ten interpreter, może to być kod maszynowy jakiejś istniejącej platformy sprzętowej. Np, wirtualne maszyny takie jak QEMU, Bochs, VMware zawierają interpretery kodu maszynowego dla procesorów z rodziny x86.

Niektóre interpretery (na przykład Lisp, Scheme, Python, BASIC i inne) mogą pracować w trybie dialogowym lub w tzw. W tym trybie interpreter czyta pełną konstrukcję językową (na przykład s-expression w Lispie), wykonuje ją, drukuje wyniki, a następnie czeka, aż użytkownik wprowadzi następną konstrukcję.

Unikalny jest język Forth, który może pracować zarówno w trybie interpretacji danych wejściowych, jak i kompilacji, umożliwiając przełączanie się między tymi trybami w dowolnym momencie, zarówno podczas tłumaczenia kodu źródłowego, jak i podczas działania programów.

Należy również zauważyć, że tryby interpretacji można znaleźć nie tylko w oprogramowaniu, ale także w sprzęt komputerowy. Tak więc wiele mikroprocesorów interpretuje kod maszynowy za pomocą wbudowanych mikroprogramów, a procesory z rodziny x86, począwszy od Pentium (na przykład na architekturze Intel P6), podczas wykonywania kodu maszynowego wstępnie tłumaczą go na format wewnętrzny (na sekwencję mikrooperacje).

Algorytm prostego interpretera:

2. przeanalizować instrukcję i określić odpowiednie działania;

3. podjąć odpowiednie działania;

4. jeżeli warunek zakończenia programu nie został osiągnięty, przeczytaj następną instrukcję i przejdź do punktu 2.

Wady i zalety tłumaczy.

Zalety:

1) Duży przenośność interpretowanych programów – program będzie działał na dowolnej platformie, która ma odpowiedniego tłumacza.

2) Z reguły bardziej zaawansowane i wizualne sposoby diagnozowania błędów w kodach źródłowych.

3) Uproszczenie debugowania kodów źródłowych programów.

4) Mniejsze rozmiary kodu w porównaniu z kodem maszynowym uzyskanym po konwencjonalnych kompilatorach.

Wady:

1) Interpretowany program nie może być wykonywany oddzielnie bez programu interpretującego. Sam tłumacz może być bardzo zwarty.

2) Zinterpretowany program działa wolniej, ponieważ pośrednia analiza kodu źródłowego i zaplanowanie jego wykonania wymaga dodatkowego czasu w porównaniu z bezpośrednim wykonaniem kodu maszynowego, do którego kod źródłowy mógłby zostać skompilowany.

3) Praktycznie nie ma optymalizacji kodu, co prowadzi do dodatkowych strat w szybkości interpretowanych programów.

Łącznik.

łącznik(również linker, linker) - program wykonujący linkowanie - pobiera jeden lub więcej modułów obiektowych jako dane wejściowe i składa z nich wykonywalny moduł.

Aby połączyć moduły, linker używa tabel nazw utworzonych przez kompilator w każdym z modułów obiektowych. Takie nazwy mogą być dwojakiego rodzaju:

1) Nazwy zdefiniowane lub wyeksportowane - funkcje i zmienne zdefiniowane w danym module i przewidziane do wykorzystania przez inne moduły.

2) Nazwy niezdefiniowane lub zaimportowane - funkcje i zmienne, do których moduł się odwołuje, ale sam ich nie definiuje.

Zadaniem linkera jest rozwiązanie odwołań do niezdefiniowanych nazw w każdym module. Dla każdej zaimportowanej nazwy jej definicja znajduje się w innych modułach, wzmianka o nazwie jest zastępowana jej adresem.

Konsolidator zwykle nie sprawdza typu ani liczby parametrów procedury i funkcji. Jeśli konieczne jest łączenie modułów obiektowych programów napisanych w językach o silnej typizacji, to przed uruchomieniem konsolidatora należy przeprowadzić niezbędne kontrole za pomocą dodatkowego narzędzia.

monter.

monter(z angielskiego asembler - asembler) - program komputerowy, kompilator kodu źródłowego programu napisanego w asemblerze na program w języku maszynowym.

Podobnie jak sam język (asembler), asemblery są zwykle specyficzne dla określonej architektury, systemu operacyjnego i wariantu składni języka. Jednocześnie istnieją asemblery wieloplatformowe lub całkowicie uniwersalne (a dokładniej ograniczone-uniwersalne, ponieważ nie da się pisać programów niezależnych od sprzętu w języku niskiego poziomu), które mogą działać na różnych platformach i systemach operacyjnych. Wśród tych ostatnich można również wyróżnić grupę cross-assemblerów zdolnych do asemblacji kodu maszynowego i modułów wykonywalnych (plików) dla innych architektur i systemów operacyjnych.

Montaż może nie być pierwszym ani ostatnim krokiem na drodze do uzyskania wykonywalnego modułu programu. Tak więc wiele kompilatorów z języków programowania wysokiego poziomu generuje wynik w postaci programu w języku asemblera, który jest dalej przetwarzany przez asembler. Również wynikiem asemblera może nie być plik wykonywalny, ale moduł obiektowy zawierający oddzielne i niezwiązane części kodu maszynowego i danych programu, z którego (lub z kilku modułów obiektowych) w przyszłości za pomocą programu konsolidującego (" linker”) plik wykonywalny.

Debuger lub debugger to moduł środowiska programistycznego lub oddzielna aplikacja, przeznaczony do wyszukiwania błędów w programie. Debuger umożliwia przechodzenie przez śledzenie, monitorowanie, ustawianie lub zmianę wartości zmiennych podczas wykonywania programu, ustawianie i usuwanie punktów przerwania lub warunków przerwania i tak dalej.

Lista debuggerów.

1) AQtime to komercyjny debugger dla aplikacji zbudowanych dla platformy .NET Wersja ramowa 1.0, 1.1, 2.0, 3.0, 3.5 (w tym aplikacje ASP.NET), a także dla aplikacji Windows 32- i 64-bitowych.

2) DTrace to platforma dynamicznego śledzenia dla systemów Solaris, OpenSolaris, FreeBSD, Mac OS X i QNX.

3) Ogrodzenie elektryczne — debugger pamięci.

4) GNU Debugger (GDB) to debugger programu z projektu GNU.

5) IDA -- potężny deasembler i debugger niskiego poziomu dla systemów operacyjnych Rodziny okien i Linuksa.

6) Microsoft Visual Studio to środowisko programistyczne zawierające narzędzia do debugowania firmy Microsoft Corporation.

7) OllyDbg to darmowy debugger niskiego poziomu dla systemów operacyjnych z rodziny Windows.

8) SoftICE jest debuggerem niskiego poziomu dla systemów operacyjnych z rodziny Windows.

9) Sun Studio to środowisko programistyczne zawierające debugger dbx dla systemów operacyjnych Solaris i Linux firmy Sun Microsystems Corporation.

10) Dr. Watson to standardowy debugger Windows, który umożliwia tworzenie zrzutów pamięci.

11) TotalView jest jednym z komercyjnych debuggerów dla systemu UNIX.

12) WinDbg to darmowy debugger firmy Microsoft Corporation.

Generator dokumentacji – program lub pakiet oprogramowania umożliwiający otrzymywanie dokumentacji przeznaczonej dla programistów (dokumentacja API) i/lub dla użytkowników końcowych systemu, ze specjalnie skomentowanego kodu źródłowego oraz w niektórych przypadkach z modułów wykonywalnych (uzyskanych z danych wyjściowych kompilatora).

Zwykle generator analizuje kod źródłowy programu, podkreślając konstrukcje składniowe odpowiadające istotnym obiektom programu (typy, klasy i ich składowe/właściwości/metody, procedury/funkcje itp.). W analizie wykorzystywane są również metainformacje o obiektach programu, prezentowane w formie komentarzy dokumentacyjnych. Na podstawie wszystkich zebranych informacji powstaje gotowa dokumentacja, zwykle w jednym z ogólnie przyjętych formatów - HTML, HTMLHelp, PDF, RTF i inne.

Komentarze do dokumentacji.

Komentarz dokumentalny jest specjalnie zaprojektowany

instrumentalny oprogramowanie(IPO) - oprogramowanie przeznaczone do użytku w projektowaniu, rozwijaniu i utrzymywaniu programów.

Stosowane oprzyrządowanie w fazie rozwoju. Oprogramowanie narzędziowe to zestaw programów służących do pomocy programistom w ich pracy, aby pomóc menedżerom rozwoju oprogramowania w ich chęci kontrolowania procesu rozwoju i powstających produktów. Najbardziej znanymi przedstawicielami tego oprogramowania są programy tłumaczy z języków programowania, które pomagają programistom pisać instrukcje maszynowe. Programy narzędziowe to tłumacze z języków Fortran, Cobol, Jovial, BASIC, APL i Pascal. Ułatwiają proces tworzenia nowych programów pracy. Jednak tłumacze z języków to tylko najbardziej znana część programów narzędziowych; jest ich bardzo dużo.

Wykorzystanie komputerów do tworzenia nowych programów nie jest oczywiste dla osób, które nie są zawodowymi programistami. Często zdarza się, że profesjonaliści jednym tchem rozmawiają o oprogramowaniu narzędziowym (faza rozwojowa) i systemowym (faza użytkowa), zakładając, że niewtajemniczeni w tajniki swoich umiejętności są świadomi takiej roli oprogramowania narzędziowego. Podobnie jak w fazie użytkowania (dla programów aplikacyjnych), oprogramowanie systemowe działa w fazie rozwoju, ale tylko w połączeniu z oprzyrządowaniem. Oprogramowanie narzędziowe lub systemy programowania to systemy automatyzujące tworzenie nowych programów w języku programowania.

W najbardziej ogólnym przypadku do stworzenia programu w wybranym języku programowania (systemowym języku programowania) potrzebne są następujące komponenty:

1. Edytor tekstu do tworzenia pliku z kodem źródłowym programu.

2. Kompilator lub interpreter. Tekst źródłowy jest tłumaczony na pośredni kod wynikowy przy użyciu programu kompilatora. Tekst źródłowy dużego programu składa się z kilku modułów (plików z tekstami źródłowymi). Każdy moduł jest kompilowany do osobnego pliku z kodem wynikowym, który następnie musi zostać połączony w jedną całość.

3. Linker lub asembler, który łączy moduły obiektowe i generuje działającą aplikację - kod wykonywalny.

Kod wykonywalny to kompletny program, który można uruchomić na dowolnym komputerze z systemem operacyjnym, dla którego program został utworzony. Z reguły plik wynikowy ma rozszerzenie .EXE lub .COM.

Ostatnio upowszechniły się metody programowania wizualnego (wykorzystujące języki skryptowe), ukierunkowane na tworzenie aplikacji Windows. Ten proces jest zautomatyzowany w środowiskach szybki projekt. W tym przypadku wykorzystywane są gotowe komponenty wizualne, które są konfigurowane za pomocą specjalnych edytorów.

Najpopularniejsze edytory (programowanie systemów z wykorzystaniem narzędzi wizualnych) do projektowania wizualnego:

Borland Delphi - zaprojektowany do rozwiązywania prawie każdego problemu z programowaniem aplikacji.

Borland C++ Builder to doskonałe narzędzie do tworzenia aplikacji DOS i Windows.

Microsoft Visual Basic to popularne narzędzie do tworzenia programów Windows.

Microsoft Visual C++ - to narzędzie umożliwia tworzenie dowolnych aplikacji działających w środowisku systemu operacyjnego, takim jak Microsoft Windows

Zatem istotą oprogramowania narzędziowego jest tworzenie dowolnego programu wykonywalnego, poprzez formalną konwersję wyrażenia boolowskie na wykonywalny kod maszynowy, a także jego kontrolę i korektę.

Zadania i funkcje oprogramowania narzędziowego

Oprogramowanie narzędziowe, jako szczególny rodzaj oprogramowania, charakteryzuje się cechami ogólnymi i szczegółowymi

funkcji, jak w przypadku wszelkiego oprogramowania w ogólności. Powyżej omówiliśmy funkcje ogólne, a wyspecjalizowane funkcje charakterystyczne tylko dla tego typu programów to:

1. Stworzenie tekstu opracowanego programu za pomocą specjalnie ustalonych słów kodowych (języka programowania), a także określonego zestawu znaków i ich lokalizacji w tworzonym pliku - składnia programu.

2. Tłumaczenie tekstu utworzonego programu na kod maszynowy dostępny do rozpoznawania przez komputer. W przypadku znacznej objętości tworzonego programu jest on dzielony na osobne moduły i każdy z modułów tłumaczony jest osobno.

3. Połączenie poszczególnych modułów w jeden wykonywalny kod, zgodnie z niezbędną strukturą, zapewniając koordynację interakcji poszczególnych części ze sobą.

4. Testowanie i kontrola tworzonego programu, wykrywanie i eliminacja błędów formalnych, logicznych i składniowych, sprawdzanie programów pod kątem niedozwolonych kodów, a także ocena wydajności i potencjału stworzonego programu.

Rodzaje oprogramowania narzędziowego

Na podstawie zadań przypisanych oprogramowaniu instrumentalnemu można wyróżnić dużą liczbę różnych typów oprogramowania instrumentalnego:

Edytory tekstu

Zintegrowane środowiska programistyczne

Kompilatory

Tłumacze ustni

Wyrazy łączące

Parsery i generatory parserów (patrz Javacc)

Asemblery

Debugery

Profilery

Generatory dokumentów

Narzędzia do analizy pokrycia kodu

Narzędzia ciągłej integracji

Zautomatyzowane narzędzia do testowania

Systemy kontroli wersji itp.

Należy zauważyć, że powłoki do tworzenia programów aplikacyjnych są również tworzone przez programy narzędziowe i dlatego można je nazwać programami aplikacyjnymi. Rozważ krótko cel niektórych programów instrumentalnych.

Edytory tekstu.

Edytor tekstu to program komputerowy przeznaczony do przetwarzania plików tekstowych, takich jak tworzenie i wprowadzanie zmian.

Kompozycja CAD

CAD jest systemem łączącym środki techniczne, matematyczne i programowe, którego parametry i charakterystyki dobierane są z maksymalnym uwzględnieniem cech projektu inżynierskiego i zadań konstrukcyjnych. W CAD wygodę korzystania z programów zapewniają środki komunikacji operacyjnej między inżynierem a komputerem, specjalne języki problemowe oraz dostępność bazy informacyjnej i referencyjnej.

Składnikami strukturalnymi CAD są podsystemy, które posiadają wszystkie właściwości systemów i są tworzone jako niezależne systemy. Są to części CAD wyselekcjonowane według pewnych kryteriów, które zapewniają wykonanie części zrealizowanych zadań projektowych wraz z otrzymaniem odpowiednich rozwiązań projektowych i dokumentów projektowych.

Zgodnie z przeznaczeniem podsystemu CAD dzielą się one na dwa rodzaje: projektowe i konserwacyjne.

Projektowanie obejmuje podsystemy, które wykonują procedury i operacje projektowe, na przykład:

podsystem układu maszyny;

podsystem do projektowania jednostek montażowych;

Podsystem projektowania części;

· podsystem projektowania układów sterowania;

· podsystem projektowania technologicznego.

Serwisowanie obejmuje podsystemy zaprojektowane w celu utrzymania wydajności podsystemów projektowych, na przykład:

· podsystem graficznej prezentacji obiektów projektowych;

podsystem dokumentacji;

Podsystem wyszukiwania informacji itp.

W zależności od stosunku do obiektu projektowego wyróżnia się dwa typy podsystemów projektowych:

obiektowy (obiektywny);

Niezależny od obiektu (niezmienny).

Podsystemy obiektowe obejmują podsystemy, które wykonują jedną lub więcej procedur projektowych lub operacji bezpośrednio zależnych od określonego obiektu projektowego, na przykład:

podsystem do projektowania układów technologicznych;

podsystem do modelowania dynamiki, projektowanej konstrukcji itp.

Podsystemy niezmienne obejmują podsystemy, które wykonują ujednolicone procedury projektowe i operacje, na przykład:

podsystem do obliczania części maszyn;

podsystem do obliczania warunków skrawania;

podsystem wyliczania wskaźników techniczno-ekonomicznych itp.

Proces projektowania realizowany jest w podsystemach w postaci określonej sekwencji procedur i operacji projektowych. Procedura projektowania odpowiada części podsystemu projektowania, w wyniku której podejmowana jest określona decyzja projektowa. Składa się z elementarnych operacji projektowych, ma ściśle ustaloną kolejność ich realizacji i ma na celu osiągnięcie lokalnego celu w procesie projektowania. Operacja projektowa jest rozumiana jako warunkowo przydzielona część procedury projektowej lub elementarna czynność wykonywana przez projektanta w procesie projektowania. Przykładami procedur projektowych mogą być procedury opracowywania schematu kinematycznego lub układu obrabiarki, technologii przetwarzania produktów itp., a przykładami operacji projektowych są obliczenia naddatków, rozwiązanie równania itp.

Strukturalną jedność podsystemów CAD zapewnia ścisła regulacja powiązań między różnymi typami podpór, połączona wspólną funkcją docelową dla tego podsystemu. Istnieją następujące rodzaje zabezpieczeń:

wsparcie metodyczne - dokumenty odzwierciedlające skład, zasady doboru i działania narzędzi automatyzacji projektowania;

· wsparcie językowe - języki projektowania, terminologia;

oprogramowanie matematyczne - metody, modele matematyczne, algorytmy;

oprogramowanie - dokumenty z tekstami programowymi, programy na nośnikach maszynowych oraz dokumenty eksploatacyjne;

· zaplecze techniczne - urządzenia sprzętu komputerowego i organizacyjnego, środki transmisji danych, urządzenia pomiarowe i inne oraz ich kombinacje;

· wsparcie informacyjne - dokumenty zawierające opis standardowych procedur projektowych, standardowe rozwiązania projektowe, typowe elementy, komponenty, materiały i inne dane;

wsparcie organizacyjne - regulaminy i instrukcje, zarządzenia, kadry i inne dokumenty regulujące strukturę organizacyjną jednostek i ich interakcję z zestawem narzędzi do automatyzacji projektowania.

· 64 technologie CALS.

Technologie CALS służą jako sposób na integrację zautomatyzowanych systemów przemysłowych w jeden wielofunkcyjny system. Cel integracji zautomatyzowane systemy projektowania i zarządzania ma na celu zwiększenie efektywności tworzenia i wykorzystania złożonej technologii.

We współczesnych warunkach kształtowania się świata społeczeństwo informacyjne rola informacji i Technologie informacyjne w przygotowaniu przyszłego specjalisty znacznie wzrasta. W niedalekiej przyszłości strategicznym potencjałem społeczeństwa nie będą zasoby energii, ale informacja i wiedza naukowa. Informacja staje się głównym zasobem naukowego, technicznego i społeczno-gospodarczego rozwoju społeczeństwa, znacząco wpływa na przyspieszenie rozwoju nauki, techniki i różnych gałęzi przemysłu, odgrywa znaczącą rolę w procesie unowocześniania edukacji. Cecha semantyczno-wartościowa kształcenia na uczelni i aktywność zawodowa specjalistów powinna wyrażać się w kształtowaniu intelektualnego środowiska zawodowego, które najpełniej realizuje zadania badawcze i działania projektowe.

Powszechna informatyzacja wszystkich rodzajów działalności człowieka: od tradycyjnych zadań intelektualnych o charakterze naukowym po automatyzację produkcji, handlu, działalności handlowej, bankowej i innych służy zwiększeniu efektywności produkcji. W gospodarce rynkowej konkurencję skutecznie utrzymują tylko przedsiębiorstwa wykorzystujące w swojej działalności nowoczesne technologie informacyjne.

To właśnie technologie informacyjne, wraz z postępowymi technologiami produkcji materiałów, mogą znacznie zwiększyć wydajność pracy i jakość produktów, a jednocześnie znacznie skrócić czas wprowadzania na rynek nowych produktów spełniających potrzeby i oczekiwania konsumentów. Wszystkie powyższe dotyczą przede wszystkim złożonych produktów wymagających intensywnych badań naukowych, w tym produktów do celów technicznych.

Doświadczenie zdobyte w procesie wdrażania różnorodnych rozwiązań autonomicznych systemy informacyjne, pozwoliły uświadomić sobie potrzebę integracji różnych technologii informatycznych w jeden kompleks, polegający na stworzeniu w ramach przedsiębiorstwa lub grupy przedsiębiorstw (wirtualnego przedsiębiorstwa) zintegrowanego środowiska informacyjnego obsługującego wszystkie etapy cyklu życia produktów. Profesjonalne środowisko najpełniej ujawnia możliwości rozwoju zawodowego, wykorzystując nowe technologie informacyjne w nauce oraz w zakresie zarządzania procesami produkcyjnymi. Innowacyjne technologie w dziedzinie przemysłu przetwarzania informacji wraz z wprowadzeniem technologii CALS- (Continuous Acquisition and Life cycle Support) - ciągłego informacyjnego wsparcia cyklu życia projektowanego obiektu, przenosi automatyzację zarządzania procesami produkcyjnymi na nowy poziom.

Wykorzystanie technologii informatycznych opartych na ideologii CALS jest jednym z czynników przyczyniających się do sprawniejszego wdrożenia zautomatyzowanego systemu zarządzania przedsiębiorstwem.

Technologie CALS służą jako sposób na integrację zautomatyzowanych systemów przemysłowych w jeden wielofunkcyjny system. Celem integracji zautomatyzowanych systemów projektowania i sterowania jest zwiększenie efektywności tworzenia i użytkowania skomplikowanych urządzeń.

Istotą koncepcji CALS jest zastosowanie zasad i technologii wsparcia informacyjnego na wszystkich etapach cyklu życia produktu, w oparciu o wykorzystanie zintegrowanego środowiska informacyjnego, które zapewnia jednolite metody zarządzania procesami i interakcji ze wszystkimi uczestnikami tego cyklu : klienci produktów (w tym agencje rządowe i departamenty), dostawcy (producenci) produkty, personel obsługujący i konserwujący. Te zasady i technologie są wdrażane zgodnie z wymaganiami międzynarodowych standardów regulujących zasady zarządzania i interakcji, głównie poprzez elektroniczną wymianę danych.

Podczas korzystania z technologii CALS poprawia się jakość produktów dzięki pełniejszemu uwzględnieniu dostępnych informacji w decyzjach projektowych i zarządczych, a także zmniejszają się koszty materiałowe i czasowe związane z projektowaniem i wytwarzaniem produktów. W procesie wdrażania tej technologii ważność decyzji podejmowanych w zautomatyzowanym systemie zarządzania przedsiębiorstwem (SSZ) będzie większa, jeżeli decydent i odpowiadające mu programy sterujące będą miały dostęp online nie tylko do bazy danych AMMS, ale także do baz danych innych zautomatyzowanych systemów, dzięki czemu może optymalizować plany pracy, treść wniosków, dystrybucję wykonawców, alokację środków finansowych itp. Jednocześnie dostęp online należy rozumieć nie tylko jako możliwość odczytu danych z bazy danych, ale również jako łatwość ich poprawnej interpretacji, tj. spójność składni i semantyki z protokołami przyjętymi w APCS. Podsystemy technologiczne muszą dokładnie odbierać i poprawnie interpretować dane pochodzące z podsystemów projektowania wspomaganego komputerowo. Nie jest to takie łatwe do osiągnięcia, jeśli główne przedsiębiorstwo i powiązane organizacje pracują z różnymi zautomatyzowanymi systemami. Ponadto istotny staje się problem ochrony informacji na całym obwodzie działania podsystemów technologicznych.

Wykorzystanie technologii CALS może znacznie zmniejszyć ilość prac projektowych, ponieważ opisy zakończonych sukcesem opracowań komponentów i urządzeń, wielu wcześniej zaprojektowanych komponentów urządzeń, maszyn i systemów są przechowywane w bazach danych serwerów sieciowych dostępnych dla każdego użytkownika technologii CALS . Dostępność i ochronę ponownie zapewnia spójność formatów, metod i instrukcji w różnych częściach całego zintegrowanego systemu. Ponadto pojawia się więcej możliwości specjalizacji przedsiębiorstw, aż do tworzenia przedsiębiorstw wirtualnych, co również sprzyja redukcji kosztów.

W procesie wdrażania technologii CALS koszty operacyjne ulegają znacznemu obniżeniu dzięki wdrożeniu zintegrowanych funkcji wsparcia logistycznego. Rozwiązanie problemów związanych z utrzymaniem, integracją produktów z różnymi systemami i środowiskami, dostosowaniem do zmieniających się warunków pracy itp. jest znacznie ułatwione. Te korzyści z integracji danych są osiągane dzięki zastosowaniu nowoczesnych technologii CALS.

Przemysłowe systemy automatyki mogą pracować autonomicznie i obecnie na tej podstawie odbywa się organizacja procesu zarządzania produkcją. Jednak efektywność automatyzacji będzie zauważalnie wyższa, jeśli dane wygenerowane w jednym z systemów będą dostępne w innych systemach, ponieważ podejmowane w nich decyzje staną się bardziej świadome.

Doświadczenia we wdrażaniu technologii CALS pokazują, że dla osiągnięcia odpowiedniego poziomu interakcji między systemami automatyki przemysłowej konieczne jest stworzenie jednej przestrzeni informacyjnej zarówno w ramach poszczególnych przedsiębiorstw, jak i, co ważniejsze, w ramach zrzeszenia przedsiębiorstw. Zjednoczony przestrzeń informacyjna Jest to zapewnione dzięki ujednoliceniu zarówno formy, jak i treści informacji o konkretnych produktach na różnych etapach ich cyklu życia.

Ujednolicenie formy osiąga się dzięki zastosowaniu standardowych formatów i języków do przedstawiania informacji w wymianach międzyprogramowych i dokumentacji.

Ujednolicenie treści, rozumiane jako jednoznaczna, poprawna interpretacja danych o konkretnym produkcie na wszystkich etapach jego cyklu życia, zapewnia tworzenie ontologii (metaopisów) aplikacji utrwalonych w protokołach aplikacji CALS.

MINISTERSTWO ROLNICTWA FEDERACJI ROSYJSKIEJ

FSBEI HPE „Woroneż Państwowy Uniwersytet Rolniczy imienia cesarza Piotra I”

Departament Wsparcia Informacyjnego

i modelowanie systemów agroekonomicznych

Test

Według dyscypliny

„Informatyka gospodarcza”

Ukończone: studenckie EP-1

Dział korespondencyjny

Mamychev DA

Kod UEeco-15126

Sprawdzony:_________________

Woroneż 2016

1. Oprogramowanie narzędziowe. Tłumacze i ich rodzaje. Systemy programowania.

2. Przetwarzanie paczek informacje graficzne.

3. Globalny komputer sieć internetowa: podstawowe koncepcje.

4. Lista referencji.

Oprogramowanie narzędziowe. Tłumacze i ich rodzaje. Systemy programowania.

Narzędzia – programy umożliwiające modyfikację plików multimedialnych oraz tworzenie aplikacji multimedialnych.

Narzędzia to pakiety oprogramowania do tworzenia aplikacji multimedialnych:

− edytorów nieruchomych obrazów graficznych,

− narzędzia do tworzenia animowanych GIF-ów,

− środki edycji audio i wideo,

− sposoby tworzenia prezentacji,



− środki rozpoznawania tekstów wprowadzanych ze skanera,

− środki tworzenia programów szkoleniowych,

− systemy tworzenia aplikacji Wirtualna rzeczywistość i inni.

Narzędzia znacznie rozszerzają kontrolę nad urządzeniami multimedialnymi w porównaniu z tymi, które zapewniają narzędzia systemowe, ale są to zawsze produkty płatne, a niektóre z nich są bardzo drogie, jak na przykład profesjonalne systemy do edycji wideo.

Tłumacze i ich rodzaje.

Ponieważ tekst napisany w języku programowania jest niezrozumiały dla komputera, konieczne jest przetłumaczenie go na kod maszynowy. Takie tłumaczenie programu z języka programowania na język kodu maszynowego nazywa się tłumaczeniem i jest wykonywane przez specjalne programy - translatory.

Translator – program narzędziowy, który konwertuje program źródłowy dostarczony w wejściowym języku programowania na program pracy przedstawione w języku przedmiotowym.

Obecnie kompilatory dzielą się na trzy główne grupy: asemblery, kompilatory i interpretery.

Asembler to narzędzie systemowe, które konwertuje konstrukcje symboliczne na instrukcje języka maszynowego. Cechą charakterystyczną asemblerów jest to, że dosłownie tłumaczą jedną instrukcję symboliczną na jedną instrukcję maszynową. Tak więc język asemblera (zwany także autokodem) ma na celu ułatwienie postrzegania zestawu instrukcji komputera i przyspieszenie programowania w tym zestawie instrukcji. Znacznie łatwiejszy do zapamiętania dla programisty notacja mnemoniczna instrukcji maszynowych niż ich kod binarny.Jednocześnie język asemblera, oprócz analogów instrukcji maszynowych, zawiera wiele dodatkowych dyrektyw ułatwiających w szczególności zarządzanie zasobami komputera, pisanie powtarzalnych fragmentów oraz budowanie programów wielomodułowych. Dlatego ekspresyjność języka jest znacznie bogatsza niż tylko symboliczny język kodowania, co znacznie zwiększa efektywność programowania.

Kompilator to program narzędziowy, który tłumaczy na język maszynowy program napisany w źródłowym języku programowania. Podobnie jak asembler, kompilator konwertuje program z jednego języka na inny (najczęściej na język konkretnego komputera). Jednak drużyny język źródłowy znacznie różnią się organizacją i mocą od poleceń języka maszynowego. Istnieją języki, w których jedna instrukcja języka źródłowego jest tłumaczona na 7-10 instrukcji maszynowych. Istnieją jednak również języki, w których każda instrukcja może odpowiadać 100 lub więcej instrukcji maszynowych (na przykład Prolog). Ponadto w językach źródłowych często stosuje się ścisłe typowanie danych, które odbywa się poprzez ich wstępny opis. Programowanie może nie polegać na kodowaniu algorytmu, ale na starannym przemyśleniu struktur danych lub klas. Proces tłumaczenia z takich języków jest zwykle nazywany kompilacją, a języki źródłowe są zwykle określane jako języki programowania wysokiego poziomu (lub języki wysokiego poziomu). Abstrakcja języka programowania z systemu poleceń komputera doprowadziła do niezależnego stworzenia szerokiej gamy języków zorientowanych na rozwiązania. specyficzne zadania. Pojawiły się języki do obliczeń naukowych, obliczeń ekonomicznych, dostępu do baz danych i innych.

Interpreter to program lub urządzenie, które dokonuje tłumaczenia i wykonania programu źródłowego przez operatora. W przeciwieństwie do kompilatora, interpreter nie generuje programu w języku maszynowym jako wyjścia. Po rozpoznaniu polecenia języka źródłowego natychmiast je wykonuje. Zarówno kompilatory, jak i interpretery używają tych samych metod analizowania kodu źródłowego programu. Ale interpreter pozwala rozpocząć przetwarzanie danych po napisaniu nawet jednego polecenia. Dzięki temu proces tworzenia i debugowania programów jest bardziej elastyczny. Dodatkowo brak wyjściowego kodu maszynowego pozwala nie „zaśmiecać” urządzenia zewnętrzne dodatkowe pliki, a sam interpreter można dość łatwo dostosować do dowolnej architektury maszyny, opracowując go tylko raz w powszechnie używanym języku programowania. Dlatego języki interpretowane, takie jak Java Script, VB Script, stały się powszechne. Wadą tłumaczy jest niska szybkość wykonywania programu. Zazwyczaj interpretowane programy działają 50 do 100 razy wolniej niż programy napisane w kodzie maszynowym.

Każdy tłumacz wykonuje następujące główne zadania:

Analizuje tłumaczony program, w szczególności określa, czy nie zawiera on błędów składniowych;

Generuje program wyjściowy (często nazywany programem obiektowym) w języku instrukcji maszynowych;

Przydziela pamięć dla programu obiektowego.

Systemy programowania.

Systemy programistyczne to zestaw narzędzi programistycznych przeznaczonych do pracy z programami w jednym z języków programowania. Systemy programowania zapewniają programistom usługi tworzenia własnych programów komputerowych.

Obecnie rozwój dowolnego oprogramowania systemowego i aplikacyjnego odbywa się przy użyciu systemów programistycznych, do których należą:

Tłumacze z języków wysokiego poziomu;

Narzędzia do edycji, łączenia i ładowania programów;

Makroasemblery (języki zorientowane maszynowo);

Debugery programów maszynowych.

Systemy programowania zazwyczaj obejmują:

Edytor tekstu (Edit), który realizuje funkcje nagrywania i edycji tekstu źródłowego programu;

Program ładujący (Załaduj), który pozwala wybrać żądany plik tekstowy programu z katalogu;

Program uruchamiający (Uruchom), przeprowadzający proces wykonywania programu;

Kompilator (Compile), przeznaczony do kompilacji lub interpretacji kodu źródłowego programu na kod maszynowy z diagnozą błędów składniowych i semantycznych (logicznych);

Debuger (debugowanie), wykonywanie funkcje serwisowe debugowanie i testowanie programu;

Menedżer plików (Plik), który zapewnia możliwość wykonywania operacji na plikach: zapisywania, wyszukiwania, niszczenia itp.

2. Pakiety do przetwarzania informacji graficznych.

Narzędzia programowe do tworzenia i przetwarzania informacji graficznych dzielą się na:

Edytory graficzne przeznaczone głównie do tworzenia i przetwarzania obrazów planarnych;

Pakiety grafiki komputerowej do druku, pozwalające na uzupełnienie tekstu ilustracjami o różnych formatach, tworzenie projektów stron i drukowanie produktów poligraficznych;

Programy do animacji 2D używane do tworzenia obrazy dynamiczne i efekty specjalne w filmach;

Pakiety animacji 3D służące do tworzenia reklam, teledysków i filmów.

Wszystkie obrazy komputerowe dzielą się na dwa rodzaje: rastrowe i wektorowe.

Grafika rastrowa. Rastrowe obrazy graficzne powstają w procesie przetwarzania informacji graficznej z postaci analogowej na cyfrową.

Graficzny obraz bitmapowy można utworzyć bezpośrednio na komputerze za pomocą edytora graficznego, pobrać z płyt CD-ROM lub DVD-ROM lub „pobrać” z Internetu.

Obraz bitmapowy jest zapisywany przy użyciu kropek o różnych kolorach (pikselach), które tworzą wiersze i kolumny. Każdy piksel ma określoną pozycję i kolor. Piksel to najmniejszy obszar obrazu, któremu można niezależnie przypisać kolor.

Jakość mapy bitowej zależy od rozmiaru obrazu (liczby pikseli w poziomie iw pionie) oraz liczby kolorów, jakie mogą przyjąć piksele. Przechowywanie każdego piksela wymaga określonej liczby bitów (głębi koloru), która zależy od liczby kolorów w obrazie.

Rastrowe obrazy graficzne wielobarwnych fotografii i ilustracji uzyskuje się za pomocą skanera. Takie obrazy mają zwykle duży rozmiar i dużą głębię kolorów (24 lub 36 bitów na piksel). W rezultacie pliki przechowujące obrazy bitmapowe zawierają dużą ilość informacji.

Obrazy rastrowe są bardzo wrażliwe na skalowanie (powiększanie lub zmniejszanie). Gdy obraz rastrowy jest zmniejszany, kilka sąsiednich pikseli jest przekształcanych w jeden, co powoduje utratę zrozumiałości drobnych szczegółów obrazu. Powiększanie zwiększa rozmiar każdej kropki i daje efekt stopniowania widoczny gołym okiem.

Grafika wektorowa. Obrazy grafiki wektorowej są optymalnym nośnikiem do przechowywania precyzyjnych obiektów graficznych (rysunków, diagramów itp.), dla których ważne jest zachowanie wyraźnych i wyraźnych konturów. Systemy komputerowego wspomagania rysowania i projektowania (CAD), programy do obróbki grafiki 3D oparte są na grafice wektorowej.

Obrazy wektorowe składają się z obiektów (punkt, prosta, okrąg, prostokąt itp.), które są przechowywane w pamięci komputera w postaci prymitywów graficznych i opisujących je wzorów matematycznych.

Godność Grafika wektorowa polega na tym, że pliki przechowujące grafikę wektorową są stosunkowo małe. Istotne jest również to, że grafikę wektorową można powiększać lub zmniejszać bez utraty jakości. Jest to możliwe, ponieważ skalowanie obrazu odbywa się za pomocą prostych operacji matematycznych (mnożenie parametrów prymitywów graficznych przez współczynnik skalowania).

W zależności od sposobu opisu danych graficznych przeprowadza się również podział na typy edytorów graficznych.

Edytor graficzny to program przeznaczony do tworzenia różnego rodzaju obrazów, od najprostszych po materiały wideo.

Raster edytor graficzny(PaintBrush, PhotoShop) oparte są na bitowej metodzie przesyłania obrazu. Przetwarzają wystarczająco szczegółowe zeskanowane obrazy. Wykonywanie retuszu, zmiana kolorów, ich odcieni i kontrastów, przecieranie i cieniowanie, zmiana kierunku cieni i konturów. Długość plików bitowych jest duża ze względu na dużą liczbę przetwarzanych punktów ekranowych, co pozwala na dużą liczbę kolorów i szczegółową edycję obrazu. Skanowanie obrazów może odbywać się w trybie czarno-białym, w skali szarości iw kolorze. W przypadku edytorów grafiki rastrowej konieczne jest wybranie kąta i rodzaju rastra (blok, linia, kropka itp.), rozdzielczości. W przypadku obrazów kolorowych dostosuj jasność i kontrast dla każdego koloru tworzącego gamę obrazu graficznego. Gotowe rysunki są przechowywane w osobne pliki i może być oddany do użytku.

Edytory grafiki wektorowej (Adobe Fireworks, ConceptDraw PRO, CorelDRAW)

Do tworzenia złożonych rysunków z precyzyjnymi, złożonymi i wyraźnymi granicami używany jest głównie edytor wektorów, którego jednym z głównych narzędzi są krzywe Beziera, które pozwalają rysować krzywe (wielokątne, proste i gładkie) w segmentach z precyzyjnym umieszczeniem kotwicy punkty i kontrolę nad kształtem każdego segmentu. Krzywą Beziera można traktować jako wynik stopniowego udoskonalania kształtu wielokąta, tworzonego przez kolejne łączenie punktów kontrolnych definiujących kształt. Krzywa biegnąca od punktu początkowego wielokąta do jego punktu końcowego jest przyciągana jak magnes do pośrednich, decydujących o kształcie punktów odniesienia, przez które nie przechodzi. Ze względu na swoje szczególne właściwości, łatwość definiowania i możliwość manipulacji, krzywe Beziera są szeroko stosowane do modelowania gładkich linii w grafice komputerowej. W arsenale narzędzi, jakie posiada każdy edytor grafiki wektorowej, zawsze znajdują się „Wypełnij”, „Tekst”, „Ołówek” oraz podstawowy zestaw kształtów geometrycznych (tzw. prymitywy), które stanowią podstawę większości projektów graficznych.

3. Globalna sieć komputerowa Internet: podstawowe pojęcia.

Internet (z angielskiego inter - „między” i sieć - „sieć, sieć”) to zbiór sieci komputerowych łączących instytucje wojskowe, rządowe, edukacyjne, komercyjne, a także indywidualnych obywateli.

Serwer internetowy (serwer WWW lub serwer http) to system sprzętowy i programowy zainstalowany na komputerze podłączonym do szybkiej sieci szkieletowej Internetu. Takie komputery są również nazywane serwerami. Główną funkcją serwera jest wyszukiwanie i przesyłanie do komputer użytkownika informacje wymagane przez programy klienckie, w szczególności przeglądarki.

Istnieją różne zastosowania terminu serwer. Internauci nazywają serwer dużymi witrynami internetowymi wraz z ich zawartością, projektanci stron internetowych i programiści rozumieją serwer specjalne programy do przesyłania danych z sieci Internet na komputer użytkownika, administratorzy systemu i profesjonaliści obsługujący sieci lokalne, - same komputery, na których zainstalowane są takie programy.

Przeglądarka to internetowy program kliencki, który uzyskuje dostęp do serwera, odczytuje dokument HTML, interpretuje otrzymane informacje i wyświetla zawartość dokumentu. Najbardziej znane przeglądarki w Rosji to Internet Explorera Opera, Google Chrome, Mozilla Firefox itd.

Strona internetowa (z angielskiego site – „area”) to zestaw stron internetowych połączonych linkami i przechowywanych na jednym serwerze. Zestaw witryn sieci Web, które są ze sobą połączone i przechowywane na różnych serwerach, nazywa się portalem sieci Web.

Funkcjonowanie technologii internetowej zależy bezpośrednio od protokołu - zestawu reguł rządzących wszystkim, co dotyczy pracy w sieci. Technologia przesyłania danych w Internecie oparta jest na protokole TCP/IP (IP (Internet Protocol) – „Internet protocol”, TCP (Transmission Control Protocol) – „transmission control protocol”) – ogólnie przyjęty standard opisujący zasady do wysyłania i odbierania informacji między kilkoma komputerami podłączonymi do sieci.

Protokół TCP/IP definiuje własny adres IP dla każdego komputera w Internecie, składający się z czterech sekwencji numerycznych oddzielonych kropką (na przykład 195.85.105.160). W dowolnej pozycji każda wartość może zmieniać się od 0 do 255. Dla wygody internautów opracowano system nazw domen (DNS). Usługa nazw domen konwertuje nazwę domeny na liczbę adres IP. Komputery wykonujące tę translację nazywane są serwerami DNS.

Zgodnie ze specyfikacją DNS cała wirtualna przestrzeń Internetu jest podzielona na domeny - strefy logiczne kontrolowane przez jeden lub więcej specjalnych komputerów. Hierarchia adresów domen może być zarówno regionalna, jak i zależna od rodzaju działalności podmiotu gospodarczego.Największe jednostki DNS nazywane są domenami pierwszego poziomu, które obejmują globalne sekcje Internetu według następujących cech:

Com, .biz - przedsiębiorstwa handlowe;

Net – pierwotnie przypisany organizacjom odpowiedzialnym za obsługę Internetu, obecnie wykorzystywany również przez komercyjne podmioty gospodarcze;

Edu - instytucje edukacyjne;

Org - organizacje non-profit i publiczne;

Gov - agencje rządowe;

Mil - placówki wojskowe;

Int – organizacje międzynarodowe, które powstają na podstawie umów lub są częścią infrastruktury internetowej;

Imię - osoby;

Informacje - bez ograniczeń;

Ru, .ua itp. - skróty krajów przyjęte przez komitet normalizacyjny ISO.

O jeden stopień niżej w hierarchii DNS są domeny drugiego poziomu, które są bezpośrednio zależne od domeny pierwszego poziomu. Domeny drugiego poziomu należą do organizacji miejskich lub komercyjnych (na przykład spb.ru, ifmo.ru).

Domena drugiego poziomu może zawierać tylko 22 znaki (litery, cyfry i myślniki). Nie możesz jednak zarejestrować już istniejącej nazwy domeny.

Istnieją również domeny trzeciego poziomu, które są częścią domeny nadrzędnej (na przykład nazwa domeny warunkowej.spb.ru). Można też spotkać domenę czwartą, piątą itd. poziomy.

Adres URL (Uniform Resource Locator) to uniwersalne oznaczenie lokalizacji zasobu (na przykład www.ifmo.ru).

Dlatego w Internecie używanych jest kilka rodzajów adresów:

1) Adres IP - główny adres sieciowy, który jest przypisywany każdemu komputerowi podczas wchodzenia do sieci. Jest to numeracja globalna, ponieważ komputer podłączony do Internetu ma swój własny, unikalny adres IP. Adresy IP są podzielone na klasy w zależności od skali sieci, do której łączy się użytkownik.

2) adres domeny. Tłumaczenie adresu domeny na adres IP odbywa się automatycznie za pomocą systemu DNS.

3) URL - uniwersalny adres, który służy do oznaczania nazwy każdego obiektu przechowywania w Internecie.

Hosting (z angielskiego hosting) to usługa polegająca na udostępnianiu miejsca na dysku do fizycznego umieszczenia informacji na serwerze, który jest stale online. Co do zasady usługa hostingu obejmuje udostępnianie miejsca na korespondencję pocztową, bazy danych, DNS, przechowywanie plików itp., a także wspomaganie funkcjonowania odpowiednich usług.

Elektroniczne tablice ogłoszeń (BBS - Bulletin Board System) tworzą specjalistyczne usługi sieciowe, których działalność poświęcona jest określonej tematyce. BBS zazwyczaj zawiera pliki z informacjami interesującymi określone grupy użytkowników, a także narzędzia, które umożliwiają użytkownikom tablicy ogłoszeń wymianę informacji w interesujących ich kwestiach. Konserwacja odbywa się za pośrednictwem BBS: użytkownicy wysyłają pytania, a personel na nie odpowiada.

Społeczności internetowe są wspierane finansowo przez różne firmy i są witrynami, których członkowie wymieniają poglądy na interesujące ich tematy na podstawie wspólnych zainteresowań.

E-mail (z ang. e-mail, email, skrót od poczty elektronicznej) – metoda przesyłania informacji w sieciach komputerowych, szeroko stosowana w Internecie. Główna cecha E-mail polega na tym, że informacja nie jest przesyłana bezpośrednio do odbiorcy, ale poprzez łącze pośrednie - elektroniczną skrzynkę pocztową, która jest miejscem na serwerze, w którym wiadomość jest przechowywana do momentu, gdy odbiorca o to poprosi. W większości przypadków dostęp do skrzynka pocztowa wymagane jest hasło. Dostęp do serwer poczty elektronicznej mogą być dostarczane zarówno za pośrednictwem specjalnych programów pocztowych ( Microsoft Outlook, Nietoperz itp.) oraz za pośrednictwem interfejsu internetowego.

ICQ (skrót od szukam cię – „szukam cię”) to usługa, która umożliwia użytkownikom sieci wymianę wiadomości w czasie rzeczywistym, a także organizowanie czatu, przesyłanie plików itp. Program działa z wykorzystaniem protokołu OSCAR , która zapewnia błyskawiczne i offline wiadomości tekstowe. Obecnie właścicielem serwisu jest fundusz inwestycyjny Mail.ru Group (rosyjska grupa inwestycyjna specjalizująca się w inwestycjach w projekty internetowe).

IRC (z angielskiego Internet Relay Chat - „relayed Internet chat”) to usługa, w której wiadomości są wymieniane bez opóźnień.

Telefonia IP to technologia, która pozwala na wykorzystanie Internetu lub dowolnej innej sieci IP jako środka do organizowania i prowadzenia rozmów telefonicznych.

Skype to bezpłatne, zastrzeżone oprogramowanie o zamkniętym kodzie źródłowym, które zapewnia szyfrowaną komunikację głosową przez Internet między komputerami, a także płatne usługi komunikować się ze stałymi abonentami sieć telefoniczna. Skype został stworzony przez Niklasa Zennströma i Janusa Friisa. Pierwsze wydanie programu i strony internetowej ukazało się we wrześniu 2003 roku.

Tabela 1. Obliczenie zysku firmy

Nr str./str Wskaźniki Rok Razem za rok
1 mkw. 2 mkw. 3 kwadraty 4 mkw.
Dochód z handlu
Koszty handlowe
Zysk brutto
Koszty płac
Wydatki reklamowe
Koszty ogólne
Koszty ogólne
Zysk z działalności operacyjnej
Konkretny zysk brutto 0,099010177 0,118613565 0,074808144 0,121404967 0,4138369

Tabela 2. Struktura kosztów firmy

Schemat 1. Struktura kosztów firmy

Bibliografia:

1. Zasób internetowy http://eclib.net/

2. Zasób internetowy https://ru.wikipedia.org/

3. Zasób internetowy http://studopedia.ru/

Do oprogramowania narzędziowego obejmują narzędzia do tworzenia oprogramowania. Są to systemy programistyczne, które zawierają narzędzia programowe niezbędne do automatycznego konstruowania kodu maszynowego. Są narzędziami dla profesjonalnych programistów i pozwalają tworzyć programy w różnych językach programowania.

Narzędzia programistyczne obejmują następujące programy:

  • asemblery – programy komputerowe konwertujące program w postaci kodu źródłowego w języku asemblerowym na instrukcje maszynowe w postaci kodu obiektowego;
  • translatory - programy wykonujące tłumaczenie programu;
  • kompilatory - programy tłumaczące tekst programu w języku wysokiego poziomu na równoważny program w języku maszynowym;
  • interpretery - programy, które analizują polecenia lub instrukcje programu i natychmiast je wykonują;
  • linkery (linkery) - programy wykonujące łączenie - pobierają jeden lub więcej modułów obiektowych jako dane wejściowe i składają z nich moduł wykonywalny;
  • preprocesory kodu źródłowego to programy komputerowe, które pobierają dane wejściowe i wytwarzają dane wejściowe dla innego programu, takiego jak na przykład kompilator;
  • debuggery – programy będące modułem środowiska programistycznego lub oddzielną aplikacją służącą do wyszukiwania błędów w programie;
  • wyspecjalizowane edytory kodu źródłowego – programy niezbędne do tworzenia i edycji kodu źródłowego programów. Specjalistyczny edytor kodu źródłowego może być oddzielną aplikacją lub wbudowany w zintegrowane środowisko programistyczne itp.

Języki reprezentujące algorytmy jako sekwencję czytelnych (nie zakodowanych binarnie) instrukcji nazywane są językami algorytmicznymi. Języki algorytmiczne dzielą się na zorientowane maszynowo, zorientowane na procedury i zorientowane na problemy.

Języki zorientowane maszynowo to języki programowania niskiego poziomu – programowanie na nich jest najbardziej pracochłonne, ale pozwala tworzyć optymalne programy, które w jak największym stopniu uwzględniają cechy funkcjonalne i strukturalne konkretnego komputera. Programy w tych językach, przy pozostałych parametrach równych, będą krótsze i szybsze. Ponadto znajomość podstaw programowania w języku zorientowanym maszynowo pozwala specjaliście szczegółowo zrozumieć architekturę komputera. Większość poleceń języków zorientowanych maszynowo po przetłumaczeniu (przetłumaczeniu) na język maszynowy (binarny) generuje jedno polecenie maszynowe.

Języki zorientowane na procedury i specyficzne dla domeny to języki wysokiego poziomu, które wykorzystują makra. Makroinstrukcja podczas translacji generuje wiele instrukcji maszynowych (dla języka zorientowanego proceduralnie stosunek ten wynosi średnio „1 do dziesiątek instrukcji maszynowych”, a dla języka zorientowanego dziedzinowo „1 do setek instrukcji maszynowych”. Programowanie zorientowane proceduralnie najczęściej używane są języki (Basic, Visual Basic, Pascal, Borland Delphi, C itp.) W takim przypadku programista musi opisać całą procedurę rozwiązania problemu, natomiast języki specyficzne dla domeny (tzw. -proceduralne) pozwalają jedynie formalnie zidentyfikować problem i określić skład, struktury reprezentacji oraz formaty informacji wejściowych i wyjściowych dla zadania.

Podczas wykonywania instrukcji programu komputer musi konwertować instrukcje czytelne dla człowieka napisane w języku programowania na formę zrozumiałą dla komputera. Oprogramowanie narzędziowe posiada specjalne programy, które tłumaczą (tłumaczą) tekst programów napisanych w różnych językach programowania na kody maszynowe, które są następnie wykonywane przez komputer. Ten rodzaj oprogramowania to tzw kompilator Lub interpretator. Tekst programu napisanego w języku programowania wysokiego poziomu, przed konwersją na kod maszynowy, nazywa się kod źródłowy (kod źródłowy). Kompilator (kompilator) przetwarza kod źródłowy na kody maszynowe, tzw kod obiektowy (kod obiektowy) – program w języku wyjściowym tłumacza. Przed wykonaniem następuje proces edycji powiązań, który polega na tym, że moduły programu wyjściowego są łączone z innymi modułami kodu obiektowego zawierającymi np. dane. Wynikowy moduł rozruchowy to polecenia wykonywane bezpośrednio przez komputer. Niektóre języki programowania nie zawierają kompilatora, ale interpreter, który konwertuje każde indywidualne wyrażenie kodu źródłowego na kody maszynowe i natychmiast je wykonuje. Interpreter jest wygodny na etapie debugowania programu, ponieważ zapewnia szybkie informacja zwrotna gdy zostanie znaleziony błąd w kod źródłowy. Podstawy programowania w języku wysokiego poziomu Visual Basic przedstawiono w rozdz. 12 tego podręcznika.

Do oprogramowania narzędziowego obejmują również niektóre systemy zarządzania bazami danych (DBMS). DBMS to wyspecjalizowany zestaw programów przeznaczonych do organizowania i utrzymywania baz danych. Ponieważ systemy zarządzania bazami danych nie są wymaganym komponentem system komputerowy, nie są klasyfikowane jako oprogramowanie systemowe. A ponieważ poszczególne DBMS pełnią tylko funkcję usługową, gdy działają inne typy programów (serwery WWW, serwery aplikacji), nie zawsze można je przypisać oprogramowaniu aplikacyjnemu. Z tych powodów często określa się je mianem oprogramowania narzędziowego.

Główne funkcje takiego DBMS:

  • zarządzanie danymi w pamięć zewnętrzna(na dyskach);
  • zarządzanie danymi w pamięć o swobodnym dostępie korzystanie z pamięci podręcznej dysku;
  • naprawianie zmian w specjalnych logach, tworzenie kopii zapasowych i przywracanie bazy danych po awariach;
  • obsługa języków baz danych (język definicji danych, język manipulacji danymi).

Teoretyczne podstawy DBMS opisano powyżej (sekcja 3.2), a praktyczne zastosowanie opisano w rozdz. 10.

Jeśli zauważysz błąd, zaznacz fragment tekstu i naciśnij Ctrl + Enter
UDZIAŁ: