Program (informatică)
Această intrare sau secțiune despre programare nu citează sursele necesare sau cei prezenți sunt insuficienți . |
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

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.
Scris
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

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 conform logicii divizării și cuceririi .
Execuţie
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 .
- Din partea sistemului de operare : În majoritatea computerelor moderne, pe baza arhitecturii von Neumann , executarea unui program binar necesită ca, sub activitatea și controlul sistemului de operare , programul în sine să fie încărcat inițial în memoria primară (de ex. RAM ), pornind de obicei de pe un dispozitiv de memorie de masă (sau memorie secundară ), cum ar fi un hard disk . „ Punctul de intrare ” al programului (adică prima instrucțiune) este apoi identificat, iar adresa de memorie respectivă este copiată într-un registru de procesor numit contor de programe . În acest moment, un proces de preluare-executare este pornit în procesor, de către unitatea de control , care preia în mod repetat instrucțiunea „îndreptată” de contorul de program , crește contorul de program pentru a-l îndrepta către următoarea instrucțiune și execută instrucțiuni încărcate secvențial în ordine. Se poate vedea că bucla de preluare-executare implicit implică, prin urmare, executarea secvențială a instrucțiunilor programului. Instrucțiunea curentă, totuși, poate modifica contorul programului : această operațiune corespunde unei instrucțiuni de salt la salt sau unei instrucțiuni de salt condițional care este mecanismul fundamental pe care se implementează cele mai avansate structuri de control de către compilatori și interpreți. Un program care rulează este văzut de sistemul de operare ca un proces sau un set de procese, gestionat prin apeluri de sistem , iar mai multe programe / procese pot fi rulate simultan prin orice multitasking oferit de sistemul de operare în sine și gestionat de programator .

- 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
- ABEND
- Crash (informatică)
- Programare pe calculator)
- Funcție (IT)
- Program executabil
- Limbajul mașinii
- Programator
- Reflecție (informatică)
- Salvare (computer)
Alte proiecte
-
Wikimedia Commons conține imagini sau alte fișiere din program
linkuri externe
- Definiția „programului” pe Webopedia , pe webopedia.com .
- Definiția „programului” pe Agtivity , pe Agtivity.com . Adus la 1 mai 2019 (arhivat din original la 14 iunie 2013) .
- Definiția „programului” pe FOLDOC , pe wombat.doc.ic.ac.uk (arhivat din original la 7 septembrie 2005) .
Controlul autorității | LCCN (EN) sh85029524 · GND (DE) 4047394-6 · BNE (ES) XX526558 (data) |
---|