Program (informatică)

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Esempo o diagramă a unui algoritm al unui program

Un program, în calcul , este un proces algoritmic aplicat unei probleme date de automat , de obicei codificat într-o serie de linii de cod scrise într-un limbaj de programare de către un programator în timpul programării pentru a forma un software , care poate fi executat de un procesor , primind ca intrare anumite date și returnând ieșiri în eventualele rezultate obținute în urma executării / procesării instrucțiunilor sale.

Descriere

Pictogramă lupă mgx2.svg Același subiect în detaliu: algoritm și software .
Cod sursă și executarea unui program demonstrativ simplu (numit „ Hello world ”) scris în limbajul Perl

Un program este un set de linii de cod care sunt ele însele alcătuite dintr-un set de instrucțiuni. Problema trebuie rezolvată printr-un algoritm, astfel încât un programator să o poată codifica în instrucțiuni într-un limbaj de programare ; în această fază - numită programare - se creează codul sursă al programului care definește fluxul de execuție al acestuia.

Termenul indică o secvență ordonată logic de comenzi, instrucțiuni și operații și diferă de termenul mai generic al software-ului prin aceea că un program este un software care poate fi încărcat în memoria RAM pentru a fi executat ca proces , incluzând astfel și acele programe care rulează în fundal, cum ar fi într-un sistem de operare în execuție , cum ar fi, de exemplu, biblioteci . În mod similar, diferă de termenul „ aplicație ” care este utilizat în mod normal din perspectiva utilizatorului final pentru a însemna un serviciu pe care acesta din urmă îl poate utiliza, indiferent dacă acesta este implementat de un singur program sau de un set de programe - și în de fapt, programele care operează pe sisteme încorporate nu sunt, prin urmare, aplicații pentru utilizator, dar permit totuși funcționalitatea dispozitivului. În acest caz, aplicația constă dintr-o interfață cu utilizatorul și o unitate de procesare. [ neclar ] Expresia „ sistem software ” este apoi utilizată, de regulă, pentru a indica în mod explicit o colecție de componente software, cum ar fi programe, biblioteci, fișiere și multe altele, care interacționează între ele.

Pictogramă lupă mgx2.svg Același subiect în detaliu: programare (computer) .

Scris

Cod sursă scris în C ++
Pictogramă lupă mgx2.svg Același subiect în detaliu: Cod sursă .

Pentru a fi scris, un program trebuie să respecte sintaxa și semantica limbajului de programare ales. Erorile de scriere sunt apoi detectate și raportate în timpul compilării sau interpretării. Condiția de bază pentru scrierea corectă și funcționalitatea programului, conform specificațiilor dorite, este, de asemenea, procesarea corectă în amonte de algoritm pentru rezolvarea problemei care urmează să fie automatizată.

Compilare / interpretare și conectare

Pictogramă lupă mgx2.svg Același subiect în detaliu: Compilație , Interpret (IT) , Linker și Platform (IT) .
Cod sursă în HTML și JavaScript

Executarea codului, odată precompilat , compilat și / sau interpretat, are loc secvențial în conformitate cu selecțiile / verificările și iterațiile; în plus, codul este adesea foarte concatenat sau rezultatul unei anumite instrucțiuni (de exemplu, valoarea unei anumite variabile) este utilizat ca intrare sau este pregătitor pentru instrucțiunile ulterioare în conformitate cu logica divizării și cuceririi .

Execuţie

Pictogramă lupă mgx2.svg Același subiect în detaliu: Execuția (informatică) .
Nivelul de execuție de la utilizator la hardware

Un program scris în limbaj de asamblare sau într-un limbaj de programare la nivel înalt ( cod sursă ), poate fi executat numai prin compilarea codului sursă în cod obiect sau prin traducerea acestuia în limbajul mașinii, care va da apoi viață programului executabil , sau prin folosind un interpret .

Ciclul procesorului (preluare-executare)
  • Din partea hardware-ului: un program scris direct sau convertit în limbajul mașinii poate fi executat direct de pe un computer (înțeles ca hardware ). Executarea codului de către o mașină hardware în ciclul de preluare-executare este posibilă datorită capacității procesorului de a executa o serie de instrucțiuni de bază ( set de instrucțiuni ), pe care programul este mapat / tradus la nivelul limbajului mașinii., grație circuitelor electronice de bază ( circuite integrate ) care alcătuiesc procesorul în sine. Din punct de vedere al utilizatorului, în computerele moderne, acest lucru se întâmplă de obicei datorită exercițiului, gestionării sau controlului resurselor hardware (procesor, memorie etc ...) operate de sistemul de operare care acționează ca platformă software a sistemului. Singura excepție apare atunci când computerul este pornit, când pornește și rulează firmware - ul care se ocupă de testarea electronice și încărcarea sistemului de operare. Odată ce procesul de boot a trecut controlul către sistemul de operare, niciun program nu poate fi rulat direct de pe hardware. De-a lungul timpului, a devenit rar ca un program să fie potrivit pentru executarea directă de către un computer destinat doar hardware ; în mod obișnuit, necesită o mașină virtuală care include hardware-ul computerului cu adăugarea unuia sau mai multor straturi de software care ajută la crearea mediului de execuție potrivit pentru program. Aceleași programe executabile necesită de obicei prezența unui anumit sistem de operare , a anumitor biblioteci și așa mai departe. Deși liniile generale ale funcționării unei mașini virtuale sunt uneori destul de similare cu cele descrise mai sus pentru mașina lui von Neumann, în multe cazuri diferă substanțial de aceasta, introducând numeroase concepte care nu sunt prezente în această arhitectură (de exemplu, înregistrările de activare a stivei) . Se poate spune că un limbaj de programare este cu atât mai înalt cu cât mașina virtuală corespunzătoare prezintă caracteristici care sunt conceptual distante de mecanismele fundamentale ale arhitecturii von Neumann (sau, în general, ale arhitecturii hardware de bază).

Elemente conexe

Alte proiecte

linkuri externe

Controlul autorității LCCN (EN) sh85029524 · GND (DE) 4047394-6 · BNE (ES) XX526558 (data)
Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT