Dzwon.

Są ci, którzy przeczytali tę wiadomość przed tobą.
Subskrybuj odbieranie artykułów świeżych.
E-mail
Nazwa
Nazwisko
Jak chcesz przeczytać dzwonek
Bez spamu

Nawet z setkami tysięcy programów PC użytkownicy mogą potrzebować czegoś, co nie jest wykonywane (lub zrobić, ale nie tak) dostępne programy. W tych przypadkach stosuje się nowe programy, oprogramowanie instrumentalne, umożliwiające rozwijanie obu systemów i zastosowano oprogramowanie. W związku z tym gra w programowaniu roli środków produkcji.

Systemy programowania.- Są to kompleksy programów i innych środków przeznaczonych do rozwoju i działania programów w określonym języku programowania dla określonej architektury PC (platformę).

System programowania zwykle wchodzi edytor tekstu programy, tłumaczprogramy, biblioteki Subogram I. redakcja wersji, debugujący, Systemy odniesienia, a czasami różne programy pomocnicze.

Język programowania- Jest to sztuczny język, z pomocą, którego algorytm rozwiązania problemu w formie zrozumiałego komputera jest rejestrowany.

Istnieje wiele języków programowania, a każdy może mieć dziesiątki wersji. Każdy programista pisze programy w języku wygodnym dla niego, a nie ma języka programowania, który jest uważany za ogólnie akceptowany.

Ale wszystkie języki programowania mają jedną wspólną własność. Są zrozumiałe dla programistów, ale niezrozumiałe dla procesora, ponieważ procesor może pracować tylko z liczbami binarnymi, a zatem rozumie programy zarejestrowane tylko w kod maszynowy. Dlatego programy odnotowane w dowolnym języku programowania najpierw "tłumacz" do języka procesora, tj. Skręć w kod maszyny. To tłumaczenie jest wykonywane przez specjalnych tłumaczy programów. W języku angielskim "tłumaczenie" nazywa się transmisja (tłumaczenie), więc nazywane są programy, które tłumaczą programy do języka kodu maszyny tłumacz.

Na scenie nadawaniewystępuje konwersja kod źródłowyprogramy B. kod obiektu.który jest dalej przetwarzany redaktor połączeń.Edytor połączeń - program specjalny.Zapewnienie budowy moduł rozruchowy.Nadaje się do wykonania (rys. 6.2).

Figa. 6.2. Schemat procesu tworzenia modułu rozruchowego programu

Następujące typy tłumaczy odróżniają: tłumacza, kompilator.

Interpretator Bierze następnego operatora języka z tekstu programu, analizuje jego strukturę i natychmiast wykonuje. Następnie trafia do następnego operatora. Kompilatortłumaczy cały program w poleceń maszynowych.

Poniżej znajduje się najpopularniejsze od Universal Programowanie języków: Basic (Basic), Pascal (Pascal), C ++ (C ++), Java (Java).

Dla każdego z tych języków programowania jest już wiele systemów programowania produkowanych przez różne firmy i zorientowane komputery i systemy operacyjne. Najbardziej popularne są następujące Środowiska wizualne. Szybkie programy projektowe dla systemu Windows: Microsoft Visual Basic; Borland Delphi; Borland C ++ Builder; Microsoft Visual Studio (Visual Basic.net, C ++, C #, J #).

Nowoczesne systemy. Programowanie umożliwia tworzenie programów o nazwie podczas przeglądania stron internetowych w globalnym Internecie.

Specjalna klasa systemów programistycznych to systemy tworzenia aplikacji klient-serwer. Systemy te pozwalają szybko tworzyć systemy informacyjne. W przypadku podziałów, a nawet dużych przedsiębiorstw. Zawierają środki do tworzenia interfejs użytkownika, Opisy procedur przetwarzania danych, puste miejsca do wykonywania standardowych działań przetwarzania danych itp. Systemy te mają tendencję do pracy z najbardziej innym DBMS - Oracle, Sybase, Microsoft SQL. Serwer i in. Wśród najbardziej popularne systemy Ten rodzaj można nazwać PowerBuilder Sybase, Delphi Company Borland, Visual Basic Firmy Microsoft. Oczywiście narzędzia do tworzenia aplikacji typu Client-Server są również w ramach programu Client-Server typu DBMS (Oracle, Sybase itp.), Ale koncentrują się tylko na tym DBMS.

1. Klasyfikacja oprogramowania

Powołanie komputera jest wykonaniem programów. Program zawiera polecenia określające procedurę działania komputera. Kombinacja formularzy programów komputerowych oprogramowanie (oprogramowanie) . Funkcja funkcjonalna rozróżnia oprogramowanie systemu i aplikacji.

W pierwszym przybliżeniu wszystkie programy działające na komputerze można podzielić na trzy kategorie (patrz rysunek):

1. Programy aplikacji.bezpośrednio zapewnienie wykonania użytkowników niezbędnych użytkowników;

2. programy systemowe. Wykonywanie różnych funkcji pomocniczych, na przykład:

    zarządzanie zasobami komputerowymi;

    tworzenie kopii używanych informacji;

    sprawdzanie wydajności urządzeń komputerowych;

    wydanie informacje referencyjne o komputerze i innych;

3. instrumentalny systemy oprogramowania Ułatwianie procesu tworzenia nowych programów.

Podczas budowy klasyfikacji musisz rozważyć fakt, że szybki rozwój wyposażenie komputera A rozszerzenie zakresu aplikacji komputerowej ostro przyspieszyło proces ewolucji oprogramowania.

Jeśli wcześniej można wymienić główne kategorie systemów operacyjnych, tłumaczy, pakietów aplikacji, obecnie sytuacja zmieniła się radykalnie.

Rozwój oprogramowania poszedł jak głęboko (nowe podejścia wydawało się budować systemy operacyjne, języki programowania itp.) I stylizacji (stosowane programy przestały być stosowane i nabyte niezależną wartość).

Stosunek między oprogramowaniem związanym z oprogramowaniem a dostępnym rynkiem jest bardzo szybko zmienia. Nawet klasyczne produkty oprogramowania, takie jak systemy operacyjne, są stale rozwijające się i podawane przez funkcje intelektualne, z których wiele było wcześniej traktowane tylko do intelektualnych ludzkich możliwości.

Ponadto pojawiły się niekonwencjonalne programy, które są bardzo trudne do sklasyfikowania, które w ugruntowanych kryteriach i jest po prostu niemożliwe, ponieważ na przykład program jest elektronicznym rozmówcem.

Do tej pory możemy powiedzieć, że następujące grupy oprogramowania opracowały mniej więcej:

    systemy operacyjne i skorupy;

    systemy programowania (tłumacze, biblioteki podprogramów, debugnerów itp.);

    systemy instrumentalne;

    zintegrowane pakiety oprogramowania;

    dynamiczne arkusze kalkulacyjne;

    system graficzny maszyny;

    systemy zarządzania bazami danych (DBMS);

    oprogramowanie.

Struktura oprogramowania jest wyświetlana na rysunku. Oczywiście, ta klasyfikacja nie może być uznana za wyczerpującą, ale bardziej lub mniej wyraźnie odzwierciedla kierunki poprawy i rozwijania oprogramowania.

System operacyjny (OS) -Systemowe programy przeznaczone do zarządzania urządzeniami komputerowymi, przetwarzaniem i zarządzania pamięcią masową, interfejs użytkownika.

System operacyjny jest zwykle przechowywany pamięć zewnętrzna Komputer - na dysku. Po włączeniu komputera odczytuje się z pamięci dysku i jest umieszczony w pamięci RAM.
Ten proces nazywa się ładowaniem system operacyjny.

Funkcja systemu operacyjnego obejmuje:

Ćwicz dialog z użytkownikiem;
Wchodzenie i zarządzanie danymi;
Planowanie i organizowanie procesu przetwarzania programu;
Dystrybucja zasobów (pamięć RAM i pamięci podręcznej, procesora, urządzeń zewnętrznych);
Uruchomienie programów do wykonania;
wszelkiego rodzaju operacje wsparcia;
Przeniesienie informacji między innymi urządzenia wewnętrzne.;
obsługa oprogramowania Działanie urządzeń peryferyjnych (wyświetlanie, klawiatury, dyski dyskowe, drukarki itp.).

W zależności od liczby jednocześnie przetworzonych zadań i numerów użytkowników, którzy mogą obsługiwać system operacyjny, istnieją cztery głównej klasy systemów operacyjnych:

1. pojedyncze wymiana pojedynczych użytkowników, który obsługuje jedną klawiaturę i może pracować tylko z jednym (w ten moment) zadanie;

2. pojedynczy użytkownik nieprzyjemny z pieczęcią tłaCo pozwala na rozpoczęcie dodatkowego zadania zorientowanego na zadanie oprócz głównego zadania, jako reguły, do informacji o wydaniu drukowania. Przyspiesza pracę przy wydawaniu dużych ilości informacji na temat drukowania;

3. wielozadaniowość pojedynczych użytkownikówktóre zapewniają jednoczesne przetwarzanie równoległego użytkownika kilku zadań. Na przykład można podłączyć wiele drukarek do jednego komputera, z których każda będzie działać na "Twoim" zadaniu;

4. multiplayer Multitasking.Umożliwienie jednego komputera, aby uruchomić wiele zadań do wielu użytkowników. Te system operacyjny są bardzo złożone i wymagają znacznych zasobów maszynowych.

W różnych modelach komputerów używanych jest systemy operacyjne z różnymi architekturami i możliwościami. Wymaga pracy różnych zasobów. Zapewniają inny stopień usługi do programowania i pracy z gotowymi programami.

System operacyjny komputer osobistyPrzedstawiony profesjonalnie musi zawierać następujące główne składniki:

Programy zarządzania wejściem / wyjściem;
Programy Menedżer plików i planowanie pracy dla komputera;
Procesor języka polecenia, który akceptuje, analizuje i wykonuje polecenia adresowane do systemu operacyjnego.
Każdy system operacyjny ma swój własny język poleceń, który umożliwia użytkownikowi wykonywanie pewnych czynności:
Skontaktuj się z katalogiem;
Wykonywać znaczniki przewoźnicy zewnętrzni.;
Uruchom programy;
... inne akcje.

Analiza i wykonanie poleceń użytkownika, w tym pobieranie gotowych oprogramowania z plików baran I ich uruchomienie, wykonuje procesor polecenia systemu operacyjnego.

Specjalne programy systemowe służą do zarządzania zewnętrznymi urządzeniami komputerowymi, używane są sterowniki. Standardowe sterowniki urządzeń są utworzone przez podstawowy system we / wy (BIOS), który jest zwykle wprowadzany do stałych komputerów.

Nowoczesne systemy operacyjne dla PEVM różnią się od siebie, przede wszystkim orientację maszyn określonej klasy, wspieranych przez tryby przetwarzania dostarczone przez możliwości serwisowe. Przykłady systemu operacyjnego dla PEVM są CP / M, MS DOS, OS / 2 Warp (IBM), Windows 95 (Microsoft).

Instrumentalny oprogramowanie - Są to programy używane podczas opracowywania, dostosowania lub rozwoju innych zastosowanych lub systemowych programów.

W swoim celu są one blisko systemów programowania. Do programów instrumentalnych, na przykład należą:

    redakcja;

    środki układów układu;

    programy debugowania, tj. programy, które pomogą znaleźć i wyeliminować błędy w programie;

    programy pomocnicze, które wdrażają często używane działania systemowe;

    pakiety graficzne. programy itp.

Oprogramowanie instrumentalne może pomóc na wszystkich etapach rozwoju oprogramowania.

Na podstawie zadań ustawionych przed oprogramowaniem narzędziowym można wyróżnić dużą liczbę różnych typów oprogramowania narzędziowego:

1) Edytora tekstu

2) Zintegrowane środowiska programistyczne

4) kompilatory

5) tłumaczy

6) Lynolovers.

7) gracze parser graczy (patrz Javacc)

8) Zestawy

9) Debugger.

10) Profilizers.

11) Generatory dokumentacji

12) Analiza pokrywy kodu

13) Ciągłe narzędzia do integracji

14) Zautomatyzowane narzędzia do testowania

15) Systemy kontroli wersji Dr.

Należy zauważyć, że powstają również skorupy do tworzenia aplikacji programy instrumentalne Dlatego można przypisać programom aplikacji. Rozważmy krótko wyznaczanie niektórych programów instrumentalnych.

Wniosek

Więc podsumowując wszystkie powyższe, należy zauważyć, że oprogramowanie instrumentalne jest jednym z rodzajów oprogramowania, posiadające jego wspólne zadania i funkcje.

Jednakże, będąc wysoce wyspecjalizowanym typem oprogramowania, ma pewien zestaw unikalnych właściwości i funkcji, które zapewniają rozwiązanie zadań związanych z tym.

Konieczne jest zwrócenie się wschodzącą tendencję do uproszczenia procesu programowania i tworzenia określonej podklasu - półprofesjonalne programowanie do zastosowanych celów.

Pozwoli to doświadczonym użytkownikowi użytkownikowi, ale nie profesjonalny programator, utwórz niektóre aplikacje i małe pliki wykonywane w środowisku Microsoft Office używane przede wszystkim do celów księgowych i zarządzania dokumentami w małych firmach.

W tym celu Microsoft został opracowany przez Visual Basic dla pakietu oprogramowania aplikacyjnego, co ułatwia ułatwienie procesu programowania i dało możliwość świadczenia użytkownikom programowania aplikacji, a nie programistów. Funkcja ta została zaimplementowana głównie poprzez tworzenie sekcji programu - "Edytor skryptu" i możliwość nagrywania i wykonania "makra" jako oddzielne gatunki graficznie programowalne moduły. Zaimplementował możliwość tworzenia aplikacji przez interfejs oddziału MSWINDOWS. Również zaletą tego typu oprogramowania instrumentalnego jest Eatersintaxis, pozwalając szybko opanować język i zastosować go do programowania standardowe zastosowania Microsoft Office.

Dlatego trudno jest przecenić znaczenie wsparcia instrumentalnego w ogóle, a wizualne podstawowe dla wniosku w szczególności, chociaż wady i zostały wymienione powyżej, również mają miejsce. Ale to raczej nawet negatywne aspekty produktu oraz wytyczne dotyczące dalszej poprawy wsparcia instrumentalnego w obliczu wizualnej podstawowej do zastosowania.

Lista używanych źródeł

1. Języki algorytmiczne. Czas w czasie rzeczywistym / ed. Yang S. / 2004

2. Magazyn PC Magazine Russian Edition №2 2008. Komputer już dziś.

3. Informatyka. / Ed. Mohylew a.v., Pak N.i., Henner EK / - M.: Academia, 2000.

4. Informatyka i technologia informacyjna: Podręcznik / wyd. Romanova D.YU. / LLC "Wydawca" Eksmo ", 2007.

5. Najnowsza encyklopedia komputera osobistego / ed. Leontiev V. / Moskwa, 1999. - 271 p.

6. Nowe języki programowania i trendy w ich rozwoju / ed. Ushkova V. / 2001

7. Pedagogika / ed. Pidciste P.I. / - M.: Towarzystwo Pedagogiczne, Rosja, 2000.

8. Programowanie Microsoft Excel. 2000 przez 21 dni. / Ed. Harisa M. / - M.: Williams, 2000.

9. Simonovich S. Informatyka: Kurs podstawowy. Studia. Na uniwersytety. Petersburg, Peter, 2002

10. Z programem Excel 2000 bez problemów. / Ed. Kovalski / - M.: Binin, 2000.

11. "Skuteczna praca w systemie Windows 98" / Ed. Stinson K./2000. - 247 p.

12. Języki programowania. kn.5 / ed. Vauina A.S. / 2003

13. Języki programowania: rozwój i implementacja / ed. Terrens P. / 2001

14. Elektroniczny podręcznik informatyki. Alekseev e.g. http://www.stf.mrsu.ru/economic/lib/informatyka/text/progr.html.\

W przypadku oprogramowania instrumentalnego oba specjalne typy oprogramowania charakteryzują się ogólnym i prywatnym

funkcje, a także na całe oprogramowanie jako całość. Ogólne funkcje są uważane powyżej i specjalistyczne funkcje związane tylko w ten typ Programy to:

1. Tworzenie tekstu opracowywania programu przy użyciu specjalnie zainstalowanych słów kodów (język programowania), a także określony zestaw znaków i ich lokalizację w utworzonym pliku - składni programu.

2. Tłumaczenie tekstowe. utworzony program. W kodzie zorientowanym na maszynie, dostępny do rozpoznawania komputera. W przypadku znacznej ilości utworzonych programu jest on podzielony na oddzielne moduły, a każdy z modułów jest tłumaczony oddzielnie.

3. Podłączenie poszczególnych modułów do jednego kodu wykonywalnego, zgodnie z niezbędną strukturą, zapewniając koordynację interakcji poszczególnych części.

4. Testowanie i kontrola utworzonego programu, identyfikacji i eliminacji formalnych, logicznych i błędy syntaktyczne., Sprawdź programy dla zakazanych kodów, a także ocenę wydajności i potencjału utworzonego programu.

Rodzaje oprogramowania instrumentalnego

Na podstawie zadań ustawionych przed oprogramowaniem narzędziowym można wyróżnić dużą liczbę różnych typów oprogramowania narzędziowego:

1) Edytora tekstu

2) Zintegrowane środowiska programistyczne

4) kompilatory

5) tłumaczy

6) Lynolovers.

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

8) Zestawy

9) Debugger.

10) Profilizers.

11) Generatory dokumentacji

12) Analiza pokrywy kodu

13) Ciągłe narzędzia do integracji

14) Zautomatyzowane narzędzia do testowania

15) Systemy sterowania wersji itp.

Należy zauważyć, że skorupy do tworzenia aplikacji są również tworzone przez programy instrumentalne i dlatego można przypisać programy zastosowane. Rozważmy krótko wyznaczanie niektórych programów instrumentalnych.

Redakcja tekstu.

Edytor tekstu -- program komputerowyPrzeznaczony do przetwarzania plików tekstowych, takich jak tworzenie i wprowadzanie zmian.

Typy redakcja tekstowa.

Warunkowo przeznaczyć dwa typy redaktorów: redaktorów tekstowych strumieniowych iinteraktywny.

1) Edytora tekstu strumieniowego

Strumień edytora tekstu to programy komputerowe, które są przeznaczone do automatycznego przetwarzania danych wejściowych danych tekstowych uzyskanych z pliku tekstowego, zgodnie z z góry określonych użytkowników zasad. Najczęściej zasady są wyrażenia regularneNa określonym dialekcie edytora tekstu. Przykładem takiego edytora tekstu może być edytor sed.

2) Interaktywne edytora tekstu

Interaktywne edytory tekstowe są rodziną programów komputerowych przeznaczonych do zmian plik tekstowy w tryb interaktywny. Takie programy umożliwiają wyświetlanie bieżącego stanu danych tekstowych w pliku i wytwarzać różne działania nad nimi.

Często interaktywne redaktorzy tekstu zawierają znaczną dodatkową funkcjonalność zaprojektowaną do automatyzacji części edycji działań, lub dokonać zmiany na wyświetlaczu danych tekstowych, w zależności od ich semantyki. Przykładem funkcjonalności ostatniego rodzaju może służyć jako podświetlanie składni.

Redakcja tekstu są przeznaczone do tworzenia i edycji dokumenty tekstowe. MS Word, Lexicon są najczęstsze. Główne funkcje edytorów tekstu to:

1) Pracuj z fragmentami dokumentu,

2) Wstaw obiekty utworzone w innych programach

3) Dokument tekstu podziału na stronach

4) Wprowadź i edytuj tabele

5) Wpisz i edytuj wzory

6) Formatowanie akapitu

7) automatyczne tworzenie Lista

8) Automatyczne tworzenie zawartości tabeli.

Znane są dziesiątki edytorów tekstowych. Najbardziej dostępny jest Notatnik (Notatnik), WordPad, Word. Konkretny edytor tekstu jest zwykle określany przez funkcje, których celem jest odzwierciedlenie w elementach menu i w systemie pomocy.

Zintegrowane środowisko programistyczne

Zintegrowane środowisko programistyczne, system oprogramowania ISRA używany przez programistów do tworzenia oprogramowania (oprogramowanie). Zwykle środowisko programistyczne obejmuje:

1) Edytor tekstu

2) kompilator i / lub tłumacz

3) Narzędzia automatyki montażowej

4) Debugger.

Czasami zawiera również narzędzia do integracji z systemami kontroli wersji i różnych narzędzi do uproszczenia konstrukcji graficznego interfejsu użytkownika. Wiele nowoczesne media Rozwój obejmują również przeglądarkę klasową, inspektora obiektów i wykres hierarchii klas - do stosowania w rozwoju oprogramowania zorientowanego na obiekt. Chociaż istnieją rozwój środowisk przeznaczonych do wielu języków programowania - takich jak Eclipse, NetBeans, Embarcadero Rad Studio, Creator QT lub Microsoft Visual Studio, zwykle środowisko programistyczne jest przeznaczone dla jednego konkretnego języka programowania - np. Na przykład Visual Basic, Delphi, Dev-C ++.

Wymagany przypadek środowiska programistycznego wizualnego, które obejmują możliwość wizualnej edycji interfejsu programu.

SDK. (z angielskiego zestawu rozwoju oprogramowania) lub "DEVKIT" - zestaw narzędzi programistycznych, które umożliwia specjalistom oprogramowania do tworzenia aplikacji dla określonego pakietu oprogramowania, oprogramowania podstawowego rozwoju, platformy sprzętowej, system komputerowy, Konsole do gier wideo, systemy operacyjne i inne platformy.

Programista zwykle dostaje SDK bezpośrednio z dewelopera technologii docelowej lub systemu. Często SDK dotyczy Internetu. Wiele SDK są dystrybuowane za darmo, aby zachęcić deweloperzy do wykorzystania ta technologia lub platforma.

Dostawcy SDK zastępują czasami kadencję oprogramowania w zestawie rozwoju oprogramowania zwrotnego, aby uzyskać dokładniejsze słowo. Na przykład "Microsoft" i "Apple" zapewniają zestawy rozwoju kierowców (DDK) do opracowania sterowników urządzeń, a "Palmsource" nazywa swojego zestawu narzędzi do rozwoju "Zestaw Rozwoju Palm) (PDK)".

Przykłady SDK:

5) Zestaw Rozwoju Java

6) Opery SDK SDK

Kompilatory.

Kompilator -

1) program lub lekarstwo techniczneUkończenie.

2) Program maszyny używany do kompilacji.

3) tłumacz, który wykonuje program konwertowany na języku źródłowym do modułu obiektu.

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

5) Program zaprojektowany do nadawania języka wysokiego poziomu do kodu bezwzględnego lub czasami w języku asemblera. Informacje wejściowe dla kompilatora ( źródło) Jest opis algorytmu lub programu w języku zorientowanym na problem, a na wyjściu kompilatora - równoważny opis algorytmu języka zorientowanego na maszynę (kod obiektu).

Kompilacja -

1) nadawanie programu w pobliżu maszyny.

2) Nadawanie programu skompilowanego w języku źródłowym do modułu obiektu. Wykonywane przez kompilatora.

Kompilacja - transmisja postępowań program maszynowy. Z języka zorientowanego na problem z ukierunkowanym językiem.

Rodzaje kompilatorów:

1) Vectorizing.. Przekłada kod źródłowy do kodu maszyny komputerów wyposażonych w procesor wektorowy.

2) Elastyczne. Sporządzono zgodnie z zasadą modułową, zarządzane przez tabele i jest zaprogramowany w języku wysokiego poziomu lub wdrożonych przy użyciu kompilatorów kompilatorów.

3) Dialog.

4) Przyrost. Wielokrotnie nadaje fragmenty programu i dodatków do niego bez rekompilowania całego programu.

5) tłumaczenie (krok po kroku). Konsekwentnie wykonuje niezależną kompilację każdego indywidualnego operatora (polecenie) programu źródłowego.

6) Kompilator kompilatora. Tłumacz, który postrzega formalny opis języka programowania i kompilatora generującego dla tego języka.

7) debugowanie. Eliminuje pojedyncze typy błędów składniowych.

8) rezydent. Stale jest w pamięci głównej i jest dostępna do ponownego użycia przez wiele zadań.

9) Samozpozytowany. Napisane w tym samym języku, z którego przeprowadza się transmisja.

10) Uniwersalny. Na podstawie formalnego opisu składni i semantyki języka wejściowego. Części składowe Ten kompilator jest: jądro, składniowe i semantyczne ładowarki.

Rodzaje kompilacji:

1) Paczka. Kompiluj wiele modułów źródłowych w jednym elemencie zadania.

2) Linia.

3) warunkowy. Kompilacja, w której przetłumaczony tekst zależy od warunków określonych w oryginalnym programie. Tak więc, w zależności od wartości pewnej stałej, możesz włączyć lub wyłączyć transmisję tekstu programu.

Struktura kompilatora.

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

1) Analiza leksykalna. Na tym etapie sekwencja symboli pliku źródłowego jest konwertowana na sekwencję Lex.

2) analiza składniowa (gramatyczna). Sekwencja Lex jest konwertowana na drzewo parsowanie.

3) Analiza semantyczna. Drzewo analizujące jest przetwarzane w celu ustanowienia semantyki (znaczenia) - na przykład wiążące identyfikatory do ich deklaracji, typów, sprawdzanie zgodności, określenie rodzajów wyrażeń itp. Wynik jest zwykle nazywany "pośrednim reprezentacją / kodem", I może być rozszerzone drzewo parsowanie, nowe drzewo, abstrakcyjny zestaw drużyn lub coś innego, wygodne do dalszego przetwarzania.

4) Optymalizacja. Usuwanie nadmiernych struktur i upraszczają konserwację kodu jego znaczenia. Optymalizacja może być na różnych poziomach i etapach - na przykład przez kod pośredni lub powyżej końcowego kodu maszyny.

5) Generowanie kodu. Od widoku pośredniego, kod jest generowany na języku docelowym.

W szczególnych implementacjach kompilatorów etapy te można podzielić lub połączone w jednej formie lub innej.

Transmisja i układ.

Ważna historyczna cecha kompilatora odzwierciedlona w jego imieniu (język angielski Skompiluj - zebrać razem, sporządzić), było to, że może produkować i układ (czyli, zawierał dwie części - tłumacz i linker). Wynika to z faktu, że oddzielne kompilacja i układ jako oddzielny etap montażu został określony znacznie później niż pojawienie się kompilatorów. W tym względzie zamiast terminu "kompilator" czasami używaj terminu "tłumacz", ponieważ jest synonimem: w starej literaturze, lub gdy chcą podkreślić swoją zdolność do tłumaczenia programu w kodzie maszyny (i przeciwnie , Użyj terminu "kompilator", aby podkreślić możliwość gromadzenia się z wielu plików).

Tłumaczy.

Tłumacz (język programowania) -

1) Program lub środki techniczne wykonywanie interpretacji.

2) Widok tłumacza, który wykonuje przetwarzanie gracza (Deadose) i wykonanie programu źródłowego lub żądania (w przeciwieństwie do kompilatora nadawania całego programu bez wykonania).

3) program (czasami sprzęt komputerowy), analizowanie poleceń lub operatorów programów i natychmiast ich wykonuje.

4) Procesor językowy, który łączy analizy program źródłowy. W tym samym czasie, przepisane działania i nie tworzy skompilowanego programu w silniku, który jest następnie wdrażany.

Rodzaje tłumaczy.

Prosty tłumacz Analizuje i natychmiast wykonuje (faktycznie interpretacja), program na Podkomandnno (lub linii), ponieważ jego kod źródłowy przybywa na wejście tłumaczeniowe. Zaletą tego podejścia jest natychmiastowa reakcja. Wada - taki tłumacz wykrywa błędy w tekście programu tylko podczas próby wykonania polecenia (lub łańcucha) z błędem.

Interpreter kompilacji jest systemem kompilatora, który tłumaczy kod źródłowy programu do reprezentacji pośredniej, na przykład do kodu bajtu lub kodu P, oraz rzeczywistym tłumacznikiem, który wykonuje wynikowy kod pośredni (tzw. Wirtualna maszyna) . Zaletą takich systemów jest większa wydajność wdrażania programów (ze względu na usunięcie analizy kodu źródłowego w oddzielne, jednorazowe przejście i minimalizowanie tej analizy w tłumaczeniu). Wady - więcej zapotrzebowania na zasoby i wymóg prawidłowości kodu źródłowego. Jest stosowany w językach takich jak Java, PHP, Python, Perl (kod Bajtu), Rexx (utrzymuje wynik analizowania kodu źródłowego), a także w różnych dBM (stosowany jest kod P).

W przypadku tłumacza typu kompilacji składniki są uzyskiwane przez kompilator językowy i prosty tłumacz z zminimalizowaną analizą kodu źródłowego. Ponadto kod źródłowy dla takiego tłumacza nie musi mieć formatu tekstowego lub kodu bajtu, że tylko ten tłumacz rozumie, może być kodem maszyny niektórych istniejących platformy sprzętowej. Na przykład, wirtualne maszyny Podobnie jak QEMU, BOCHS, VMware obejmuje tłumaczy kodu maszynowego procesorów X86.

Niektóre tłumacze (na przykład, dla LISP, schematu, Pythona, Beisik i innych języków) mogą pracować w trybie dialogowym lub tak zwanym cyklu przelotowym (angielski pętla odczytu odczytu, REPT). W tym trybie tłumacz odczytuje zakończoną konstrukcję językową (na przykład, S-Expression w Lisp Language), wykonuje go, drukuje wyniki, po którym przenosi się do oczekiwania na wprowadzeniu wejścia następnego projektu użytkownika.

Unikalny jest w stanie pracować zarówno w interpretacji, jak i kompilacji danych wejściowych, umożliwiając przełączenie między tymi trybami w dowolnym momencie, zarówno podczas transmisji kodu źródłowego, jak i podczas pracy programów.

Należy również zauważyć, że tryby interpretacji można znaleźć nie tylko w oprogramowaniu, ale także sprzęcie. Tak więc wiele mikroprocesorów interpretuje kod maszyny za pomocą wbudowanego oprogramowania układowego, a procesory rodzinne X86 zaczynające się od Pentium (na przykład, na architektura Intel P6) Podczas wykonywania kodu maszyny jest wstępnie załadowany w formacie wewnętrznym (w sekwencji mikro operacji).

Algorytm prostego tłumacza:

2. Przeanalizuj instrukcje i określ odpowiednie działania;

3. Wykonaj odpowiednie działania;

4. Jeśli program nie zostanie osiągnięty, czytaj następna instrukcja I przejdź do klauzuli 2.

Zalety i wady tłumaczy.

Zalety:

1) Dużyprzenośność programów interpretacyjnych - Program będzie działał na dowolnej platformie, na której istnieje odpowiedni interpreter.

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

3) Uprość kodu kodu źródłowego debugowania.

4) Mniejsze rozmiary kodu w porównaniu do kodu maszyny otrzymanego po konwencjonalnych kompilatorach.

Niedogodności:

1) Program interpretacyjny nie może być wykonywany oddzielnie bez tłumacza programu. Sam tłumacz może być bardzo zwarty.

2) Program interpretowalny jest wolniejszy, ponieważ tymczasowe analiza kodu źródłowego i planowanie jego wykonania wymaga dodatkowego czasu w porównaniu z bezpośrednimi wersjami kodu maszyny, którą kod źródłowy można skompilować.

3) Praktycznie nie ma optymalizacji kodu, która prowadzi do dodatkowych strat z szybkością programów interpretacyjnych.

Łącznik.

Łącznik (Ponadto edytor łącza, Linker) to program, który wytwarza układ - przybiera wkład jednego lub kilku modułów obiektowych i zbiera moduł wykonywalny zgodnie z nimi.

Aby powiązać moduły, łącznik wykorzystuje nazwy nazw utworzonych przez kompilator w każdym z modułów obiektów. Takie nazwy mogą być dwa typy:

1) Niektóre lub wyeksportowane nazwy - funkcje i zmienne zdefiniowane w tym module i dostarczone w stosowaniu innych modułów.

2) niepewne lub importowane nazwy - funkcje i zmienne odniesienia modułu, ale nie determinuje ich w sobie.

Praca Linkera jest zezwolenie na linki do niepewnych nazw w każdym module. Dla każdej importowanej nazwy jego definicja jest zdefiniowana w innych modułach, nazwa wymieniona jest wymieniana jego adresem.

Linker zwykle nie sprawdza typów i liczby parametrów procedur i funkcji. Jeśli potrzebujesz połączenia modułów obiektów obiektów napisanych w ścisłym językach pisania, konieczne kontrole muszą być zakończone za pomocą dodatkowego narzędzia przed uruchomieniem edytora łącza.

Monter.

Monter (Z angielskiego. Assembler - kolekcjoner) - program komputerowy, kompilator tekstu źródłowego programu napisanego w języku asemblera do języka maszyny.

Podobnie jak sam język (asembler), zespoły są zazwyczaj specyficzne dla określonej architektury, systemu operacyjnego i opcji składni języka. Jednocześnie istnieją wielokrotne lub uniwersalne (dokładniej, ograniczone uniwersalne, ponieważ w języku niskiego poziomu nie można pisać programów niezależnych od sprzętu) zgromadzenia, które mogą pracować na różnych platformach i systemach operacyjnych. Wśród tych ostatnich możesz również podkreślić grupę krzyżową, która może zbierać kod maszyny i modułów wykonywalnych (plików) dla innych architektur i os.

Montaż może nie być pierwszym i ostatnim krokiem na drodze, aby uzyskać moduł programu wykonywalnego. Tak więc wiele kompilatorów z języków programowania wysokiego szczebla wydają wynik w formie programu w języku asemblera, który procesy asemblera w przyszłości. Ponadto wynik montażowy nie może być wykonywany, a moduł obiektu zawierający rozproszone i niepotrzebne części kodu maszyny oraz danych programu, z którego (lub z kilku modułów obiektów), w przyszłości za pomocą programu Linkera ("Linker ") można zorganizować plik wykonywalny.

Debuger lub debugger to moduł środowiska programistycznego lub oddzielna aplikacja przeznaczona do wyszukiwania błędów w programie. Debugger umożliwia wykonanie śladu krok po kroku, śledzeniu, instalacji lub zmianie wartości zmiennych podczas wykonywania programu, instalacji i usuwania punktów kontrolnych lub warunków zatrzymać itp.

Lista debugentów.

1) AqTIME - ABUGGER COMMERY dla aplikacji utworzonych dla wersji .NET Framework w wersji 1.0, 1.1, 2,0, 3.0, 3.5 (w tym aplikacje ASP.NET), a także dla aplikacji 32- i 64-bitowych.

2) DRACE - Dynamic Trace Framework dla Solaris, OpenSolaris, FreeBSD, Mac OS X i QNX.

3) Elektryczny ogrodzenie - debuger pamięci.

4) GNU Debugger (GDB) - programy debugger z projektu GNU.

5) IDA jest potężnym demonstaturem i niskopoziomowym debugerem dla systemów operacyjnych Windows i Linux i Linux.

6) Microsoft Visual Studio - środowisko rozwoju oprogramowania, które obejmuje debugowanie do Microsoft Corporation.

7) Ollydbg to darmowy debuger na niskim poziomie dla systemów operacyjnych Windows.

8) Debuger Softice - Niski poziom dla systemów operacyjnych Windows.

9) SUN STUDIO - środowisko rozwoju oprogramowania, w tym debuger DBX dla Solaris i Linux, ze Sun Microsystems.

10) Dr. Watson jest standardowym debuggerem systemu Windows, umożliwia tworzenie wysypisk pamięci.

11) TotalView jest jednym z handlowych debugnerów dla UNIX.

12) Windbg to darmowy debugger z Microsoft Corporation.

Generator dokumentacji to pakiet programu lub oprogramowania, który umożliwia odbieranie dokumentacji dla programistów (dokumentacja API) i / lub dla użytkowników końcowych systemu, zgodnie z specjalnie komentowanym kodem źródłowym i, w niektórych przypadkach, na modułach wykonywalnych (uzyskanych w Wyjście kompilatora).

Zwykle generator analizuje kod źródłowy programu, podkreślając konstrukcje składniowe odpowiadające znaczącym obiektom programu (typy, klas i ich członkom / właściwości / metod, procedur / funkcji itp.). Analiza wykorzystuje również meta-informacje o obiektach programu, przedstawiony w formie dokumentowania komentarzy. Na podstawie wszystkich informacji zebranych informacji utworzono gotową dokumentację, z reguły, w jednym z ogólnie akceptowanych formatów - HTML, HTMLHelp, PDF, RTF i innych.

Dokumentowanie komentarzy.

Dokumentowanie komentarza jest specjalnie urządzony

Oprogramowanie instrumentalne lub system programowania jest systemem automatyzacji rozwoju nowych programów programistycznych. W najbardziej ogólnym przypadku, aby utworzyć program w wybranym języku programowania (język programowania systemu), musisz mieć następujące elementy: 1. Edytor tekstu, aby utworzyć plik z programem tekstowym źródłowym. 2. Kompilator lub tłumacz. Tekst źródłowy za pomocą programu kompilatora jest tłumaczone na pośredni kod obiektu. Tekst źródłowy wielkiego programu składa się z kilku moduły(Pliki ze tekstami źródłowymi). Każdy moduł jest kompilowany oddzielny plik Z kodem obiektu, który następnie musi połączyć się w jeden. 3. Edytor połączeń lub kolektor, który wymieniają wiązanie modułów obiektów i generuje aplikację do pracy w kodzie Wyjście - wykonywanie. Kod wykonywalny jest kompletnym programem, który można uruchomić na dowolnym komputerze, w którym zainstalowany jest system operacyjny, dla którego ten program został utworzony. Z reguły końcowy plik ma przedłużenie. Lee lub. 4. Ostatnio rozpowszechniono wzrokowe metody programowania (przy użyciu języków opisu scenariusza), zorientowane na utworzenie aplikacji Windows. Ten proces jest zautomatyzowany w środowiskach szybkiego projektowania. Wykorzystuje to gotowe elementy wizualne skonfigurowane za pomocą specjalnych redaktorów. Najbardziej popularni redaktorzy (systemy programowania oprogramowania przy użyciu znaków wizualnych) Projekt wizualny:

 Borland Delphi - zaprojektowany, aby rozwiązać prawie wszelkie zadanie zastosowanego programowania

 Borland C ++ Builder jest doskonałym urządzeniem do rozwijania DOS i Aplikacje Windows.

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

 Microsoft Visual C ++ - To narzędzie umożliwia opracowanie dowolnych aplikacji działających w systemie Microsoft Windows typu OS

1.3.2. Systemy plików.

Wszystkie nowoczesne systemy operacyjne zapewniają system plików przeznaczony do przechowywania danych na dyskach i zapewnić dostęp do nich. Główne funkcje systemu plików można podzielić na dwie grupy:

 Funkcje obsługi plików (tworzenie, usuwanie, zmień nazw pliki itp.)

 Funkcje pracy z danymi, które są przechowywane w plikach (nagrywanie, odczyt, wyszukiwanie danych itp.)

Wiadomo, że pliki są używane do organizowania i przechowywania danych na nośnikach maszynowych. Plik jest sekwencją dowolnej liczby bajtów, która ma unikalną nazwę lub nazwany obszar na nośnikach maszynowych. Strukturyzacja zestawu plików na nośnikach maszynowych jest przeprowadzana za pomocą katalogów, w których zapisywane są atrybuty (parametry i szczegóły) plików. Katalog może zawierać wiele podkatalogów, w wyniku których rozgałęzione struktury plików są utworzone na dyskach. Plik organizujący w formie struktury drzewa jest nazywany systemem plików. Zasada organizowania systemu plików jest tabelaryczna. Dane na gdy plik jest rejestrowany na dysku jest przechowywany w tabeli umieszczania plików (tabela alokacji plików, tłuszcz). Ta tabela jest opublikowana na początku głośności. W celu ochrony objętości przechowywane są dwie kopie tłuszczu. W przypadku uszkodzenia pierwszej kopii tłuszczu narzędzia dyskowe. Może skorzystać z drugiej kopii, aby odzyskać Tom. Zgodnie z zasadą budowania tłuszczu zawartość książki jest podobna, ponieważ system operacyjny używa go do wyszukiwania pliku i definicji klastrów, że ten plik zajmuje na dysku twardym. Najmniejsza fizyczna jednostka pamięci masowej jest sektor. Sektor rozmiarów 512 bajtów. Ponieważ rozmiar tłuszczu - stół jest ograniczony, a następnie do dysków, których rozmiar przekracza 32 MB, aby zapewnić, że adresowanie do każdego sektora nie jest możliwe. W związku z tym grupy sektorowe są konwencjonalnie łączone w klastry. Klaster jest najmniejszą jednostką adresowania do danych. Rozmiar klastra, w przeciwieństwie do rozmiaru sektora, nie jest ustalany i zależy od pojemności dysku.

Po pierwsze, 12-bitowa wersja tłuszczu (tak zwana tłuszczowa12) zastosowano do dyskietek i małych dysków twardych (mniej niż 16 MB). Następnie wprowadzono 16-bitową wersję tłuszczu do MS-DOS dla większych dysków. Systemy operacyjne MS DOS, Win 95, Win NT implementuje 16-bitowe pola w tabelach lokalizacji plików. System plików FAT32 został wprowadzony do systemu Windows 95 OSR2 i obsługiwany w systemie Windows 98 i Windows 2000. FAT32 jest zaawansowaną wersją tłuszczu przeznaczoną do stosowania na woluminach przekraczających 2 GB. FAT32 zapewnia obsługę dysku do 2 TB i bardziej wydajne miejsce na dysku. FAT32 wykorzystuje mniejsze klastry, co umożliwia zwiększenie wydajności korzystania z miejsca na dysku. Windows XP wykorzystuje FAT32 i NTFS. Bardziej obiecujący kierunek rozwoju systemy plików. Został przejściem do NTFS (nowy system plików technologicznych - nowy system plików technologicznych) z długimi nazwami plików i niezawodnym systemem bezpieczeństwa. Głośność sekcji NTFS nie jest ograniczona. NTFS minimalizuje ilość miejsca na dysku, utracone ze względu na nagrywanie małych plików na duże klastry. Ponadto NTFS zapisuje miejsce na dysku, ściskając dysk, oddzielne foldery i pliki.

Według sposobów nazywania plików rozróżniają nazwę "krótkiej" i "długiej" nazwy. Zgodnie z umową przyjętą w MS-DOS metoda nazywania plików na komputerach IBM PC była umowa 8.3., I.e. Nazwa pliku składa się z dwóch części: samej nazwy i rozszerzalności nazwy. 8 znaków są przypisane do nazwy pliku, a 3 znaki są na rozszerzeniu. Nazwa z ekspansji jest oddzielona punktem. Zarówno nazwa, jak i ekspansja mogą obejmować tylko alfabetycznie cyfrowe symbole alfabetu łacińskiego. Nazwy plików odnotowane zgodnie z umową 8.3 są uważane za krótkie. Wraz z pojawieniem się systemu operacyjnego Windows 95 koncepcja "długiej" nazwy została wprowadzona. Taka nazwa może zawierać do 256 znaków. To wystarczy, aby utworzyć znaczące nazwy plików. Nazwa "Długa" może zawierać dowolne znaki z wyjątkiem dziewięciu Special: /: *? "< > |. Nazwa jest dozwolona do używania przestrzeni i kilku punktów. Nazwa pliku kończy się przedłużenie składające się z trzech znaków. Rozszerzenie służy do klasyfikowania plików według typu. Wyjątkowość nazwy pliku jest zapewniona przez fakt, że pełna nazwa pliku jest uważana za pełną nazwę pliku wraz z dostępem do niego. Ścieżka dostępu do plików Zaczyna się od nazwy urządzenia i zawiera wszystkie nazwy katalogów (folderów), przez które przechodzi. Jako separator używany jest symbol "" Subble (odwrócona flasher). Na przykład: D: Dokumenty i ustawienia Telewizor My Dokumenty Lekcje-TVA Robots.txt Pomimo faktu, że dane lokalizacji są przechowywane W tabeli struktury, do użytkownika, są one prezentowane w postaci hierarchicznej struktury - ludzie są tak wygodniejsze, a wszystkie niezbędne transformacje zakładają system operacyjny. Funkcje struktury plików obejmują następujące operacje występujące pod kontrolą systemu operacyjnego:

 Tworzenie plików i przypisuj ich nazwy;

 Tworzenie katalogów (folderów) i przypisz im nazwy;

 Zmień nazwę plików i katalogów (foldery);

 Kopiowanie i przenoszenie plików między płytami komputerowymi i między katalogami (folderów) jednego dysku;

 Usuń pliki i katalogi (foldery);

 Nawigacja w strukturze pliku w celu uzyskania dostępu do danego pliku, katalogu (folderu);

 Zarządzanie atrybutem pliku.

Dzwon.

Są ci, którzy przeczytali tę wiadomość przed tobą.
Subskrybuj odbieranie artykułów świeżych.
E-mail
Nazwa
Nazwisko
Jak chcesz przeczytać dzwonek
Bez spamu