Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Windows 10
  • Ce este software-ul în definiția informatică. Software de calculator personal

Ce este software-ul în definiția informatică. Software de calculator personal

Programarea sistemului

1. Programe și software

Un program este date menite să controleze anumite componente ale unui sistem de procesare a informațiilor (IPS) pentru a implementa un anumit algoritm.

Definițiile sunt date conform: GOST 19781-90. Software pentru sisteme de procesare a informațiilor. Termeni și definiții. - M.: Editura Standarde, 1990.

Notă: programul este date. Unul dintre principiile de bază ale mașinii von Neumann este că atât programele, cât și datele sunt stocate în aceeași memorie. Programul stocat în memorie este format din câteva coduri care pot fi considerate date. Poate, din punctul de vedere al unui programator, un program este o componentă activă; el efectuează unele acțiuni. Dar din punctul de vedere al procesorului, instrucțiunile programului sunt date pe care procesorul le citește și le interpretează. Pe de altă parte, un program este date din punctul de vedere al programelor de serviciu, de exemplu, din punctul de vedere al unui compilator, care primește o singură dată la intrare - un program într-un limbaj de nivel înalt (HLL), iar la ieșire produce alte date - un program în codul mașinii.

Software (SW) - un set de programe SOI și documente de program necesare pentru funcționarea lor

Este important ca software-ul să fie programe destinate utilizării și aplicării repetate de către diferiți utilizatori. În acest sens, ar trebui să acordați atenție unui număr de proprietăți software necesare.

    Nevoia de documentare. Prin definiție, programele devin software doar dacă au documentație. Utilizatorul final nu poate opera fără documentație. Documentația face posibilă replicarea software-ului și vânzarea acestuia fără dezvoltatorul său. Potrivit lui Brooks, o eroare în software este o situație în care un produs software nu funcționează în conformitate cu descrierea acestuia, prin urmare, o eroare în documentație este și o eroare în produsul software.

    Eficienţă. Software-ul conceput pentru utilizare repetată (de exemplu, un sistem de operare, un editor de text etc.) este scris și depanat o dată și executat de mai multe ori. Astfel, este benefic să transferăm costurile în etapa de producție a software-ului și să scutiți etapa de execuție de costuri pentru a evita replicarea costurilor.

    Fiabilitate. Inclusiv:

    • Testarea unui program pentru toate specificațiile de date de intrare valide

      Protecție împotriva acțiunilor incorecte ale utilizatorului

      Protecție împotriva pirateriei - utilizatorii ar trebui să poată interacționa cu software-ul numai prin interfețe legale.

Gauthier: "Erorile în sistem sunt posibile din cauza defecțiunilor hardware, erorilor software, acțiunilor incorecte ale utilizatorului. Primele sunt inevitabile, a doua sunt probabile, a treia sunt garantate." Apariția erorilor de orice nivel nu ar trebui să ducă la blocarea sistemului. Erorile trebuie surprinse, diagnosticate și (dacă nu pot fi corectate) transformate în defecțiuni corecte.

Structurile de date ale sistemului trebuie păstrate necondiționat. Păstrarea integrității datelor utilizatorului este de dorit.

    Posibilitate de acompaniament. Obiectivele posibile de întreținere includ adaptarea software-ului la condiții specifice aplicației, eliminarea erorilor și modificarea.
    În toate cazurile, este necesară o structurare atentă a software-ului, iar purtătorul de informații despre structura software-ului ar trebui să fie documentația programului.
    Adaptarea în multe cazuri poate fi încredințate utilizatorului - cu o dezvoltare atentă și descrierea scenariilor de instalare și configurare.
    Corectarea erorilor necesită un departament de service dezvoltat care colectează informații despre erori și generează pachete de corecție.
    Modificarea implică modificarea specificațiilor software. Cu toate acestea, de regulă, specificațiile mai vechi ar trebui să fie și ele acceptate. Dezvoltarea software evolutivă economisește investițiile utilizatorilor.

Programarea sistemului

Program de sistem - un program conceput pentru a menține funcționalitatea SOI sau pentru a crește eficiența utilizării acestuia.

Un program de aplicație este un program conceput pentru a rezolva o problemă sau o clasă de probleme într-un anumit domeniu de aplicare al SOI.

În conformitate cu terminologia, programarea sistemului este procesul de dezvoltare a programelor de sistem (inclusiv a celor de control și întreținere).

Pe de altă parte, conform definiției lui Hegel, sistemul este un singur întreg format din mai multe componente și multe conexiuni între ele. Apoi programarea sistemului este dezvoltarea de programe cu structură complexă.

Aceste două definiții nu se contrazic, deoarece dezvoltarea programelor cu o structură complexă se realizează tocmai pentru a asigura performanța sau creșterea eficienței SOI.

Împărțirea software-ului în sistem și aplicație fixată în GOST este într-o oarecare măsură depășită. Divizia de astăzi prevede cel puțin trei gradații de software:

    Sistemică

    Intermediar

    Aplicat

Definim middleware ca un set de programe care gestionează resurse secundare (construite de software-ul însuși) menite să rezolve o anumită clasă (largă) de probleme. Un astfel de software include manageri de tranzacții, servere de baze de date, servere de comunicații și alte servere de software. Din punctul de vedere al instrumentelor de dezvoltare, middleware-ul este mai aproape de software-ul de aplicație, deoarece nu funcționează direct cu resursele primare, ci folosește în acest scop serviciile furnizate de software-ul de sistem. Din punct de vedere al algoritmilor și tehnologiilor de dezvoltare, middleware-ul este mai aproape de software-ul de sistem, deoarece este întotdeauna un produs software complex, de utilizare repetată și multifuncțională și utilizează aceiași algoritmi sau similari ca software-ul de sistem.

Tendințele actuale în dezvoltarea de software sunt de a reduce volumul programării atât a sistemului, cât și a aplicațiilor. Majoritatea muncii programatorilor se desfășoară în middleware. Reducerea volumului de programare a sistemului este determinată de conceptele moderne ale sistemului de operare, arhitectura orientată pe obiecte și arhitectura microkernelului, conform cărora majoritatea funcțiilor sistemului sunt transferate către utilități, care pot fi, de asemenea, clasificate ca middleware. Scăderea volumului de programare a aplicațiilor se datorează faptului că produsele middleware moderne oferă un set din ce în ce mai mare de instrumente și șabloane pentru rezolvarea problemelor din clasa lor.

O parte semnificativă a sistemului și aproape toate aplicațiile software sunt scrise în limbaje de nivel înalt, ceea ce reduce costul dezvoltării/modificării și portabilității acestora.

Software-ul de sistem este împărțit în programe de control al sistemului și programe de întreținere a sistemului.

Un program de control este un program de sistem care implementează un set de funcții de control, care include gestionarea resurselor și interacțiunea cu mediul extern al SOI, restabilirea funcționării sistemului după ce apar defecțiuni în mijloacele tehnice.

Program de întreținere (utilitate) - un program conceput pentru a oferi servicii generale utilizatorilor SOI și personalului de service.

Programul de control, împreună cu un set de utilități necesare pentru funcționarea sistemului, alcătuiesc sistemul de operare (OS).

Pe lângă utilitățile incluse în sistemul de operare, pot exista și alte utilități (de la același producător sau de la terți) care efectuează întreținere suplimentară (opțională). De regulă, acestea sunt utilități care asigură dezvoltarea de software pentru sistemul de operare.

Sistem de programare - un sistem format dintr-un limbaj de programare, un compilator sau un interpret de programe prezentate în acest limbaj, documentația corespunzătoare, precum și instrumente auxiliare pentru pregătirea programelor într-o formă adecvată pentru execuție.

Etapele pregătirii programului

La dezvoltarea programelor, și cu atât mai mult complexe, se folosește principiul modularității, împărțind un program complex în părți componente, fiecare dintre acestea putând fi pregătită separat. Modularitatea este instrumentul principal pentru structurarea unui produs software, facilitând dezvoltarea, depanarea și întreținerea acestuia.

Un modul software este un program sau un fragment funcțional complet al unui program destinat stocării, traducerii, asocierii cu alte module de program și încărcării în RAM.

Următoarele considerații cheie ar trebui luate în considerare atunci când alegeți o structură modulară:

    Functionalitate - modulul trebuie sa indeplineasca o functie completa

    Deconectare - un modul trebuie să aibă un minim de conexiuni cu alte module; comunicarea prin variabile globale și zone de memorie este nedorită

    Specificabilitate - parametrii de intrare și de ieșire ai modulului trebuie să fie formulați clar

Figura arată etapele prin care parcurge programul de la scriere până la execuție.

P
Programul este scris sub forma unui modul sursă, în figură - fișierul IM.

Modul sursă - un modul software în limba sursă, prelucrat de traducător și prezentat acestuia ca un întreg suficient pentru a realiza traducerea.

Prima etapă (nu este obligatorie pentru toate limbajele de programare) de pregătire a unui program este procesarea acestuia Macroprocesor (sau Preprocesor). Macroprocesorul procesează textul programului și rezultatul este o nouă ediție a textului (în figură - IM).În majoritatea sistemelor de programare, Macroprocesorul este combinat cu un traducător, iar pentru programator munca sa și IM intermediar nu sunt vizibile . Trebuie avut în vedere că Macroprocesorul realizează procesarea textului, ceea ce înseamnă, pe de o parte, că „nu înțelege” operatorii limbajului de programare și „nu cunoaște” variabilele programului, pe de altă parte, că toți operatorii și variabilele Macrolimbajului (acele expresii din program care sunt adresate Macroprocesorului) nu mai sunt prezenți în IM intermediar și nu sunt vizibile pentru etapele ulterioare de procesare.Astfel, dacă Macroprocesorul a înlocuit un text A cu text B în program, atunci traducătorul vede deja doar textul B și nu știe dacă acest text a fost scris de programator „cu mâna lui” sau înlocuit de Macroprocesor.

Următoarea etapă este difuzată.

Traducerea este transformarea unui program prezentat într-un limbaj de programare într-un program într-un alt limbaj de programare, într-un anumit sens (logic, funcțional) echivalent cu primul.

De regulă, limba de ieșire a traducătorului este limbajul mașinii al sistemului informatic țintă. (Aeronava țintă este aeronava pe care va fi executat programul.)

Limbajul mașină este un limbaj de programare conceput pentru a reprezenta un program într-o formă care să permită executarea acestuia direct prin mijloace tehnice de prelucrare a informațiilor.

Traducătorii sunt un nume general pentru programele care difuzează. Acestea sunt împărțite în Assembleri și Compilatoare - în funcție de limba sursă a programului pe care îl procesează. Asamblerii lucrează cu limbaje Autocodes sau Assembly, Compilatorii lucrează cu limbaje de nivel înalt.

Autocode este un limbaj de programare simbolic, a cărui structură este în esență similară cu comenzile și datele procesate ale unui anumit limbaj de mașină.

Limbajul de asamblare este un limbaj de programare care este o formă simbolică a limbajului mașină cu o serie de caracteristici caracteristice unui limbaj de nivel înalt (include de obicei facilități macro).

Un limbaj de nivel înalt este un limbaj de programare ale cărui concepte și structură sunt convenabile pentru înțelegerea umană.

Un modul obiect este un modul software obținut ca urmare a traducerii modulului sursă.

Deoarece rezultatul traducerii este un modul într-o limbă apropiată de limbajul mașinii, nu mai există nicio indicație a limbii sursă în care a fost scris modulul software. Acest lucru creează posibilitatea fundamentală de a crea programe din module scrise în diferite limbi. Specificul limbii sursă poate afecta însă reprezentarea fizică a tipurilor de date de bază, metodele de accesare a procedurilor/funcțiilor etc. Pentru compatibilitatea modulelor multilingve, trebuie menținute convențiile generale.

Majoritatea modulului obiect sunt instrucțiuni și date în limbajul mașinii exact în forma în care vor exista în timpul execuției programului. Cu toate acestea, un program constă în general din mai multe module. Deoarece traducătorul procesează un singur modul specific, nu poate procesa corespunzător acele părți ale acelui modul care sunt programate să apeleze date sau proceduri definite într-un alt modul. Astfel de solicitări se numesc link-uri externe. Acele locuri din modulul obiect care conțin referințe externe sunt traduse într-o formă intermediară care este supusă procesării ulterioare. Se spune că un modul obiect este un program în limbaj mașină cu referințe externe nerezolvate.

Rezolvarea legăturilor externe se realizează în următoarea etapă de pregătire, care este furnizată de Editorul de linkuri (Linker). Link Editor conectează împreună toate modulele obiect incluse în program. Deoarece Link Editor deja „vede” toate componentele programului, are capacitatea de a procesa acele locuri în modulele obiect care conțin link-uri externe. Rezultatul Link Editor este un modul de încărcare.

Un modul de pornire este un modul software prezentat într-o formă adecvată pentru încărcare în RAM pentru execuție.

Modulul de pornire este salvat ca fișier pe memoria externă. Pentru a fi executat, programul trebuie să fie transferat (încărcat) în RAM. Uneori, acest lucru necesită o procesare suplimentară (de exemplu, setarea adreselor din program în zona RAM în care a fost încărcat programul). Această funcție este realizată de Boot Loader, care este de obicei inclus cu sistemul de operare.

De asemenea, este posibil ca editarea legăturilor să fie efectuată de fiecare dată când programul este lansat pentru execuție și să fie combinată cu încărcarea. Aceasta este ceea ce face Binding Loader. Opțiunea de legare la pornire este mai consumabilă, deoarece Costurile de legare sunt replicate la fiecare rulare. Dar oferă:

    o mai mare flexibilitate în întreținere, deoarece vă permite să schimbați modulele obiect individuale ale programului fără a schimba alte module;

    salvarea memoriei externe, deoarece modulele obiect utilizate în multe programe nu sunt copiate în fiecare modul de încărcare, ci sunt stocate într-o singură copie.

Opțiunea de interpretare implică execuția directă a modulului original.

Interpretarea este realizarea sensului unui text complet sintactic prezentat într-o anumită limbă.

Interpretul citește următoarea propoziție de program din modulul sursă, o traduce în limbajul mașinii și o execută. Toate costurile de pregătire sunt replicate cu fiecare execuție, prin urmare, programul interpretat este fundamental mai puțin eficient decât cel tradus. Cu toate acestea, interpretarea oferă ușurință în dezvoltare, mentenanță și portabilitate.

Exemple de interpreți: limbaje de procedură (vânzare, REXX), JVM.

Nu este necesar ca programul să fie pregătit pe același sistem informatic și în același mediu de operare în care va fi executat programul. Sistemele care asigură pregătirea programelor într-un mediu altul decât mediul țintă sunt numite sisteme încrucișate. Într-un sistem încrucișat, toate pregătirile sau etapele sale individuale pot fi efectuate:

    Macroprocesare și difuzare

    Editarea link-urilor

O aplicație tipică a sistemelor încrucișate este pentru cazurile în care mediul de calcul țintă pur și simplu nu are resursele necesare pentru a pregăti programe, cum ar fi sistemele încorporate.

Instrumentele software care asigură depanarea unui program pe sistemul țintă pot fi considerate, de asemenea, ca un caz special al unui sistem încrucișat.

Software (software) este un set de programe speciale care vă permit să organizați procesarea informațiilor folosind un computer.

Deoarece fără software funcționarea unui PC este imposibilă înîn principiu, este o parte integrantăorice PC și vine cu hardware-ul său(hardware).

Program– o descriere completă și exactă a secvenței de acțiuni (instrucțiuni) unui computer pentru prelucrarea informațiilor, scrisă într-un limbaj pe care computerul îl înțeleg.

Software – un set de programe speciale care facilitează procesul de pregătire a sarcinilor pentru execuție pe calculator și organizarea trecerii acestora prin mașină, precum și proceduri, descrieri, instrucțiuni și reguli, împreună cu toată documentația asociată acestor componente, utilizate în operațiune a sistemului informatic.

Procesează informațiile și controlează funcționarea computerului programe, nu dispozitive.

Noile inovații software au dominat de mult noile dezvoltări hardware. Costul unui pachet software depășește (uneori de mai multe ori) costul unui computer de o clasă adecvată.

Pentru a utiliza eficient un computer, trebuie să existe o corespondență între nivelul de dezvoltare a tehnologiei computerului și software-ul. Pe de o parte, software-ul determină funcționalitatea computerului. Pe de altă parte, instalarea unui software specific poate fi limitată de caracteristicile de proiectare ale computerului.

Scopul software-ului:

  • asigurarea functionalitatii calculatorului;
  • facilitarea interacțiunii utilizatorului cu computerul;
  • scurtarea ciclului de la stabilirea unei sarcini până la obținerea unui rezultat;
  • creşterea eficienţei utilizării resurselor informatice.

Software-ul vă permite să:

  • îmbunătățirea organizării sistemului informatic pentru a maximiza utilizarea capacităților acestuia;
  • creșterea productivității utilizatorilor și a calității muncii;
  • adaptarea programelor utilizatorului la resursele unui anumit sistem informatic;
  • extinde software-ul sistemului informatic.

Utilizarea maximă a capacităţilor sistemului de calcul se realizează prin in primul rand, prin alocarea fiecărui utilizator sau sarcină a resurselor minime necesare pentru o rezolvare la timp și de înaltă calitate a problemelor sale, În al doilea rând, datorită conectării unui număr mare de utilizatori (inclusiv cei de la distanță) la resursele sistemului informatic, În al treilea rând, prin redistribuirea resurselor între diferiți utilizatori și sarcini în funcție de starea sistemului și de procesarea cererilor.

Creșterea productivității și a calității muncii utilizatorilor are loc datorită automatizării procedurilor de calcul și proiectare, implementate folosind o varietate de instrumente de programare (limbaj algoritmic, pachete software de aplicație) și dispozitive convenabile de intrare-ieșire.

Adaptabilitatea programelor de utilizator la resursele unui anumit sistem informatic este asigurată de faptul că sistemul de operare conține un mijloc de deservire a unei game largi de configurații de mașini. În plus, sistemul de operare vă permite să creați și să configurați cu ușurință programe existente pe diverse dispozitive de intrare/ieșire.

Extinderea software-ului existent necesită următoarele capabilități:

  • crearea de către utilizator a propriilor programe și pachete care implementează atât sarcini specifice de calcul, cât și procese de control pentru dispozitive individuale și întregul sistem de calcul în ansamblu;
  • completarea software-ului existent cu programe care vă permit să extindeți capacitățile sistemului de operare, să lucrați cu noi tipuri de dispozitive externe, noi sisteme de calcul (calculatoare), în noi domenii de aplicare.

Software-ul este axat pe utilizarea sistemelor de calcul în diverse domenii de activitate și trebuie să ofere o soluție oportună și adecvată sarcinilor atribuite. Acest lucru face necesară respectarea unui număr de cerințe pentru dezvoltarea componentelor software , principalele fiind:

  • modularitatea;
  • scalabilitate și dezvoltare;
  • fiabilitate;
  • predictibilitate;
  • confort și ergonomie;
  • flexibilitate;
  • eficienţă;
  • compatibilitate.

Principiile de bază ale dezvoltării software moderne:

  • versatilitate parametrică;
  • redundanță funcțională;
  • selectivitate funcțională.

Programele pot fi instalate pe un computer în două moduri:

  • Instalare din trusa de distributie
  • Copiere simplă

Primul (cel mai jos) nivel ierarhia este ocupată de software-ul intern al PC-ului, stocat în memoria permanentă a acestuia. Cu ajutorul său, PC-ul îndeplinește funcții de bază determinate de structura hardware. Programele software interne funcționează direct cu modulele hardware ale computerului. Ca urmare, acestea sunt conectate funcțional cu ele, iar atunci când înlocuiți un anumit modul hardware, este necesar să înlocuiți programul software intern conceput să funcționeze cu acesta.

Programele care deservesc module hardware sunt numite programe driver sau şoferii. Acestea permit, la înlocuirea sau conectarea unui nou modul hardware, să nu se facă modificări în alte programe PC, ci doar să se schimbe driverul modulului hardware corespunzător.

Software-ul intern este o interfață software care asigură interconectarea computerului cu toate celelalte programe. Accesul la programele software interne se face numai prin sistemul de întrerupere software.

Software-ul intern îndeplinește următoarele funcții principale:

  • gestionează o gamă largă de dispozitive periferice;
  • efectuează o verificare rapidă a operabilității computerului atunci când este pornit;
  • instalează module hardware individuale în starea lor originală;
  • încarcă programe OS.

Elementele principale ale software-ului intern sunt Drivere I/O, program de autotestare și program de pornire. Software-ul intern interacționează, pe de o parte, cu modulele funcționale ale PC-ului, iar pe de altă parte, implementează interfața software a sistemului de operare.

Program de autotestare concepute pentru a testa modulele funcționale ale PC-ului, de ex. setarea circuitelor calculatorului la starea lor iniţială prin încărcarea registrelor de programe cu informaţiile necesare. La verificarea modulelor funcționale individuale ale PC-ului, pot fi detectate defecțiuni în acestea. Programul de auto-test anunță utilizatorul cu privire la defecțiunile detectate folosind mesaje de pe ecran și/sau un semnal sonor.

Dacă este detectată o eroare, puteți continua să vă verificați computerul utilizând programe de diagnosticare încărcate de pe o dischetă. Dacă eroarea nu perturbă funcționalitatea computerului, atunci poate fi ignorată la discreția utilizatorului. Dacă un nou modul funcțional este inclus în PC, atunci programul de autotestare pentru acest modul este adăugat la programul general de autotestare.

După finalizarea cu succes a autotestării, computerul este gata de funcționare. Controlul este transferat programului de pornire printr-o întrerupere software. Acest program este conceput pentru a citi alte componente ale sistemului de operare în RAM. Dacă această operațiune are succes, controlul este transferat în programul citit.

Drivere I/O sunt utilizate pentru deservirea dispozitivelor periferice PC. Aceste programe funcționează direct cu controlerele corespunzătoare, ceea ce permite utilizatorului să nu cunoască organizarea fizică a unui anumit dispozitiv și să lucreze numai cu comenzile driverului care implementează întreținerea acestuia.

Driverele au următoarele caracteristici:

  • structură deschisă, care vă permite să adăugați noi drivere în sistem;
  • flexibilitate în organizarea accesului la drivere prin întreruperi software, ceea ce vă permite să nu le reparați în zone de memorie strict definite și să le înlocuiți rapid și ușor;
  • o structură personalizabilă care vizează programele driver către o anumită clasă de dispozitive periferice, ai căror parametri sunt localizați în tabele speciale. Driverele sunt configurate pentru anumite dispozitive periferice prin modificarea valorilor din aceste tabele;
  • plasare rezidentă în RAM, permițând ca driverul să fie folosit în orice moment din orice program.

Principalele programe driver includ: driverul de hard disk, driverul adaptorului video, driverul tastaturii, driverul dispozitivului de imprimare, driverele de sistem (setarea unui temporizator, verificarea configurației computerului, determinarea capacității RAM), drivere suplimentare (driver de comunicație etc.).

Sistemul de operare ocupă al doilea (mediu) nivel ierarhie software. Gestionează resursele sistemului informatic, care includ RAM și memorie externă, dispozitive de intrare/ieșire și programe de utilizator. Sistemul de operare interacționează cu computerul prin interfața internă a software-ului. Acest lucru face posibil ca computerele care au hardware diferit să funcționeze cu același sistem de operare.

Sistemul de operare este un set de programe de control pentru PC.

Compoziția software-ului este determinată de gama de sarcini pe care utilizatorul se așteaptă să le rezolve folosind un computer.

Prin scop, i.e. În funcție de clasa de probleme rezolvate, software-ul este de obicei împărțit în două grupe principale: general (de bază) și aplicat.

Clasificarea software-ului după funcționalitate

Schema generală de clasificare a software-ului

– un set de programe care asigură funcționalitatea calculatorului; un set de programe care organizează procesul de calcul și gestionează resursele computerului.

– un set de instrumente software care vă permit să dezvoltați programe.

– un set de programe menite să rezolve probleme din diverse sfere ale activității umane.

Orez. 100.

Programe sunt secvențe ordonate de comenzi. Scopul oricărui program de calculator este de a controla hardware-ul. Compoziția software-ului de calculator se numește configurarea software-ului. Există o relație între programe, precum și între nodurile fizice și blocuri - multe programe funcționează bazându-se pe alte programe de nivel inferior, adică putem vorbi despre interfață interprogram. Straturile software sunt o structură piramidală (Fig. 100). Fiecare nivel următor se bazează pe software-ul nivelurilor anterioare.

Să ne uităm la straturile software.

Un nivel de bază al

Cel mai scăzut nivel de software. Este responsabil pentru interacțiunea cu hardware-ul de bază. Software-ul de bază este stocat în cipuri ROM. Programele și datele sunt scrise pe cipurile ROM în timpul producției. În cazurile în care schimbarea software-ului de bază în timpul funcționării este fezabilă din punct de vedere tehnic, în locul cipurilor ROM sunt utilizate dispozitive de memorie reprogramabile doar pentru citire (PROM - Erasable and Programmable Read Only Memory, EPROM).

Nivel de sistem

Nivelul de sistem este tranzitoriu. Programele care funcționează la acest nivel asigură interacțiunea altor programe de sistem informatic cu programe de nivel de bază și direct cu hardware-ul, i.e. îndeplinește funcții „intermediare”. Sunt numite programe specifice responsabile de interacțiunea cu anumite dispozitive drivere de dispozitiv- fac parte din software-ul la nivel de sistem.

O altă clasă de programe la nivel de sistem este responsabilă de interacțiunea utilizatorului. Datorită lor, are posibilitatea de a introduce date într-un sistem informatic, de a gestiona funcționarea acestuia și de a primi rezultatul într-o formă convenabilă pentru el însuși. Aceste instrumente software sunt numite instrumente de interfață cu utilizatorul.

Totalitatea formularelor software la nivel de sistem nucleul sistemului de operare(OS) al computerului. Prezența unui sistem de operare este o condiție indispensabilă pentru posibila activitate practică a unei persoane cu un computer.

Nivel de servicii

Software-ul la acest nivel interacționează atât cu programele de bază, cât și cu cele de sistem. Scopul principal al programelor utilitare (se numesc utilitati) constă în automatizarea lucrărilor de verificare, reglare și configurare a unui sistem informatic. Unele utilitare (programe de întreținere) sunt incluse inițial cu sistemul de operare, de exemplu, defragmentarea discului, restaurarea sistemului etc. (în Windows, acestea sunt programe care se află în categoria Utilități).

Strat de aplicație

Software-ul la nivel de aplicație este un set de programe de aplicație cu ajutorul cărora sunt efectuate sarcini specifice la un anumit loc de muncă.

La aplicația software include:

  • - editori de text- conceput pentru crearea și editarea textului. Caracteristicile suplimentare includ automatizarea procesului de introducere și editare. Un exemplu este programul Notepad;
  • - procesoare de cuvinte. Principala diferență dintre procesoarele de text și editorii de text este că vă permit nu numai să introduceți și să editați texte, ci și să încorporați în ele grafice, formule, tabele și alte obiecte. Exemplul clasic de procesor de text este Microsoft Word;
  • - editor grafic- destinat creării sau prelucrării imaginilor grafice.

Există: editori raster, editori vectoriali și software pentru crearea și prelucrarea graficelor tridimensionale (editore ZO). Cel mai simplu exemplu editor grafic raster, care este prezent pe fiecare computer - Paint. Imaginile raster au mai multe tipuri de extensii: jpeg sau jpg, png, gif, bmp etc. Al doilea exemplu de editor grafic raster este Adobe Photoshop. Photoshop are o funcționalitate uriașă, suport pentru un număr mare de pluginuri(module software care sunt conectate dinamic la programul principal și concepute pentru a extinde și/sau utiliza capacitățile acestuia) și instrumente. Vă permite să lucrați în diferite modele de culoare și cu diferite extensii de fișiere.

Editor de grafică vectorială CorelDRAW din CorelDRAW Graphics Suite este un produs profesional puternic pentru crearea diferitelor tipuri de grafică și animație. Cu toate acestea, datorită sistemului avansat de instruire și ajutor încorporat, programul este foarte ușor de învățat chiar și pentru începătorii în domeniul graficii vectoriale.

Un al doilea exemplu de editor de grafică vectorială este programul Inkscape disponibil gratuit. Are capacități grozave de a crea ilustrații de înaltă calitate sau de a desena postere. Acest program este potrivit pentru crearea și procesarea graficelor vectoriale atât pentru utilizatorii începători, cât și pentru munca serioasă pentru utilizatorii experimentați.

Editori de grafică 3D sunt folosite pentru a crea filme, jocuri pe calculator, design grafic, pline de animație, efecte vizuale. Astfel de programe sunt utilizate pe scară largă în domeniile ingineriei mecanice, arhitecturii, producției de bunuri de larg consum etc. Ca exemplu, putem cita produse software precum Autodesk Maya, Autodesk 3ds Max:

- sisteme de management al bazelor de date (DBMS). Principalele funcții ale unui SGBD sunt: ​​crearea unei structuri de baze de date goale, furnizarea de instrumente pentru completarea acesteia sau importarea datelor din tabele dintr-o altă bază de date, oferirea capacității de a accesa date și furnizarea de instrumente de căutare și filtrare.

Se obișnuiește să se împartă DBMS-ul în desktopȘi industrial. Exemple de SGBD-uri desktop sunt: ​​Access, FoxPro. SGBD-urile industriale se concentrează pe crearea de sisteme informaționale care gestionează volume mari de informații cu cerințe de securitate sporite, de exemplu: Oracle, MS SQL Server:

  • - foi de calcul- sunt un instrument software conceput pentru a stoca diverse tipuri de date și pentru a efectua calcule pe acestea. Cel mai popular instrument pentru lucrul cu foi de calcul este Excel;
  • - sisteme de proiectare asistată de calculator (CAD)- conceput pentru automatizarea lucrărilor de proiectare și inginerie. Ele sunt utilizate în inginerie mecanică, fabricarea instrumentelor și arhitectură.

Cel mai obișnuit program CAD din lume este AutoCAD (Computer-Aided Design), un sistem de desen și proiectare asistată de calculator în două și trei dimensiuni. Un exemplu de sistem CAD rusesc este sistemul ADEM (Automated Design Engineering Manufacturing), conceput pentru a automatiza proiectarea și pregătirea tehnologică a producției;

  • - sisteme de publicare desktop- vă permit să efectuați aspectul electronic a unei game largi de tipuri de documente de bază: buletin informativ, broșură color, catalog, carte de referință. Exemple de astfel de programe sunt: ​​Corel Ventura, Page Maker, QuarkXPress, Frame Maker, MS Publisher;
  • - sistem expert- conceput pentru a analiza datele conținute în baza de cunoștințe și a emite recomandări la cererea utilizatorului.

Sistemele experte sunt capabile să ofere sfaturi calificate (sfaturi, indicii) într-o situație dificilă (cu lipsă de timp, informații sau experiență) pentru a ajuta un specialist sau manager să ia o decizie în cunoștință de cauză. Baza de cunoștințe a unui sistem expert conține informații despre domeniul (medicină, drept etc.) și reguli - un set de instrucțiuni, aplicând faptelor cunoscute puteți obține fapte noi. Un exemplu este un sistem expert de software CLIPURI(Engleză: cu sistem de producție integrat lingvistic);

  • - editori web (editori HTML)- vă permit să creați pagini web simple și complexe, frumos proiectate, cu timp minim. Unul dintre cei mai populari editori HTML din lume este Adobe Dreamweaver;
  • - browsere (browsere)- software conceput pentru vizualizarea site-urilor web. Cele mai populare programe sunt Internet Explorer, Mozilla Firefox, Google Chrome, Opera;
  • - sisteme de contabilitate (sisteme de automatizare contabilă)- destinate automatizării întocmirii documentelor contabile ale întreprinderii și a contabilității acestora, pentru întocmirea de rapoarte periodice privind rezultatele activităților de producție, economice și financiare.

Contabilitatea în întreprinderile mari se realizează folosind ERP (Enterprise Resource Planning System) modern - sisteme care vă permit să automatizați nu numai contabilitatea, ci și managementul producției. În aceste scopuri se folosesc de obicei sisteme precum SAP, Oracle E-Business Suite, 1C:Enterprise, Microsoft Dynamics NAV (Navision), ERP Galaktika etc.;

- sisteme analitice financiare- conceput pentru a utiliza indicatori financiari deja acumulați, verificați, combinați. În același timp, putem evidenția câteva funcționalități de bază ale unor astfel de programe: sistematizarea informațiilor, calculul indicatorilor și coeficienților analitici, generarea de rapoarte de prezentare-calitate.

Sistemele de analiză financiară includ programe precum Project Expert, care vă permite să rezolvați problemele de dezvoltare a unui plan de afaceri, proiectarea dezvoltării afacerii, analiza proiectelor de investiții pentru întreprinderi din orice industrie și scară de activitate.

Expert Audit - un program de analiză a stării financiare a unei întreprinderi pe baza situațiilor sale financiare vă permite să efectuați analize de timp, structurale, financiare, să calculați diverși indicatori financiari, să obțineți rapoarte și concluzii pe baza rezultatelor analizei.

La software-ul utilitar include:

- manageri de fișiere (administratori de fișiere)- cu ajutorul programelor din aceasta clasa se realizeaza majoritatea operatiilor legate de lucrul cu fisiere: copiere, mutare, redenumire, stergere, cautare fisiere.

Reprezentanții tipici ai acestei clase de programe sunt FAR Manager, Total Commander, FreeComander;

- instrumente de compresie a datelor (arhivare)- programe care comprimă datele într-un singur fișier de arhivă pentru un transfer mai ușor sau o stocare compactă.

Printre cele mai populare programe se numără: ARJ, RKRAK, LHA, ICE, HYPER, ZIP, RAC, ZOO, RAR;

- unelte de diagnostic- destinat testării unui computer sau a componentelor individuale. Acestea oferă informații detaliate despre starea acestuia, funcționalitatea și posibilele probleme de software și fizice.

Diagnosticare- o metodă sistematică de depanare și eliminare ulterioară. Dintre programele de diagnosticare, putem evidenția SiSoftware Sandra (în engleză: System ANalyser, Diagnostic and Reporting Assistant) - acesta este un program de informare și diagnosticare. Acesta oferă aproape toate informațiile despre hardware-ul și software-ul computerului. Un alt program este 3DMark, care se concentrează exclusiv pe măsurarea performanței sistemului video;

mijloace de control (monitorizare)- vă permit să monitorizați procesele care au loc în sistemul informatic. În caz de pericol, este posibil să avertizați, să opriți computerul sau să schimbați modul de funcționare al anumitor dispozitive.

Un exemplu este programul MB Probe, cu ajutorul căruia puteți lua temperaturi de la mai mulți senzori termici, puteți determina tensiunea nucleului procesorului și a plăcii de bază și puteți menține sub control viteza ventilatorului. Temperatura hard diskului, atributele sistemului intern de diagnostic S.M.A.R.T., precum și tensiunea senzorilor de turație a ventilatorului plăcii de bază pot fi prezentate folosind utilitarul SpeedFan;

  • - mijloace de comunicare (programe de comunicare)- vă permit să comunicați în timp real cu persoane aflate la distanță de dvs. Programele de comunicare includ ICQ, Skype, Yahoo massager, Google Talk etc.;
  • - instrumente de securitate informatică- includ antivirusuri, firewall-uri, programe de criptare a datelor și antispyware.

Software-ul antivirus din această categorie include Kaspersky Virus Removal Tool, un program dezvoltat de specialiștii Kaspersky Lab pentru a vă scana computerul pentru malware. Kaspersky A VP Tool găsește și izolează: viruși, troieni, viermi, spyware și adware, toate tipurile de rootkit-uri și programe rău intenționate similare. Un alt program popular este Dr.Web Curelt! - antivirus gratuit pentru scanarea, detectarea și eliminarea (cura) computerelor care rulează Windows.

Un exemplu de firewall este un program precum Comodo Internet Security - un pachet gratuit pentru protecția completă a computerului împotriva virușilor, troienilor, altor programe malware și atacurilor hackerilor. Acțiunea sa este de a bloca instalarea de viruși, viermi, spyware, modificarea fișierelor de sistem critice, în plus, planificatorul de sarcini încorporat permite scanarea programată, există o funcție pentru actualizarea automată zilnică a bazei de date de viruși etc.

SUPERAntiSpyware Free este un program pentru detectarea și eliminarea programelor spyware, adware, malware, viermi, rootkit-uri (un program pentru ascunderea urmelor prezenței unui atacator sau a unui program rău intenționat în sistem) și a altor programe suspecte. Acest program antispyware vă permite să efectuați o scanare completă, personalizată, a hard disk-urilor, dispozitivelor portabile, memoriei, registrului, folderelor și fișierelor individuale.

Testați întrebări și sarcini

  • 1. Cum se numește un program? Definiți conceptul de „configurare software”.
  • 2. Desenați o diagramă a straturilor software.
  • 3. Descrieți nivelul de bază al software-ului.
  • 4. Ce este un driver de dispozitiv? Descrieți scopul programelor la nivel de sistem.
  • 5. Care este scopul utilităților? Explicați scopul programelor la nivel de sistem. Dați exemple de astfel de programe.
  • 6. Listați programele care aparțin nivelului de aplicație al software-ului.
  • 7. Ce tipuri de programe legate de editorii grafici cunoasteti?
  • 8. Explicați principalele funcții ale sistemelor de management al bazelor de date. Dați exemple de programe din această clasă.
  • 9. Care sunt caracteristicile sistemelor expert?
  • 10. Extindeți scopul sistemelor analitice financiare. Dați exemple de programe din această clasă.
  • 11. Enumerați programele legate de software-ul utilitar.
  • 12. Ce clasă de programe vă permite să efectuați operații de bază asupra fișierelor? Dă exemple.
  • 13. Care este diferența dintre programele concepute pentru diagnosticarea și monitorizarea sistemelor informatice?
  • 14. Ce sunt instrumentele de securitate informatică? Enumerați și descrieți programele relevante.
  • 15. Elaborați un tabel care conține tipurile considerate de software instalat pe computerul dumneavoastră.

În fiecare zi, când lansăm un computer personal, laptop sau telefon, ne confruntăm cu programe care ne servesc. Mai mult, dacă nu te gândești la asta, se pare că utilizarea software-ului începe în momentul în care lansăm comanda rapidă pe desktop. Cu toate acestea, acesta nu este cazul.

Baza

Să ne dăm seama ce este software-ul. În esență, este un set de comenzi și cod de program închis într-un shell grafic - o interfață. Dar interfața poate fi diferită și depinde direct de aplicație și scopul acesteia.

Orice software este format din fișiere care specifică procedurile și funcțiile pe care programul le urmează în timpul execuției.

Unul dintre primele modele de software a fost așa-numita mașină Turing. În 1935, Alan Turing a formulat un model matematic conform căruia o mașină abstractă trebuia să treacă de la o stare la alta executând comenzi elementare dintr-o mulțime fixă.

Să începem să analizăm întrebarea ce este software-ul cu clasificarea acestuia.

sistem de operare

Inițial, pot fi distinse diferite clase de software. Primul și cel mai de bază ar trebui să fie numit software de sistem. Interfețe, programe și coduri fără de care este imposibil să lucrezi pe un computer sau alt echipament folosind orice mediu software. Acesta este cel mai necesar software din computerul dvs. personal.

Există două subsecțiuni importante în această clasă:

  1. Software de bază. Include toate tipurile de sisteme de operare, indiferent dacă sunt oficiale sau piratate, dacă rulează aplicații disponibile public sau exclusiv 1-2 programe de aplicații pentru care a fost creat acest mediu software. Acest grup include, de asemenea, diverși emulatori și mașini virtuale care vă permit să simulați diverse medii software.
  2. Un grup separat este software-ul de service. După cum sugerează și numele, a fost creat pentru a menține sistemul de operare și a-l proteja. Acestea includ motoarele de căutare, antivirusuri, precum și instrumente de diagnosticare și depanare pentru computerul dvs.

În sine, software-ul de sistem este o colecție de diverse programe și medii concepute pentru a sprijini funcționarea unui computer personal și a rețelelor de calculatoare. Dezvoltarea acestui tip de software este un proces lung și minuțios, deoarece funcționalitatea locului de muncă va depinde de aceasta. Software-ul de sistem îndeplinește următoarele sarcini:

  • crearea unui mediu pentru funcționarea programelor de aplicație;
  • suport pentru PC și rețea;
  • diagnosticarea și prevenirea defecțiunilor PC și LAN;
  • efectuarea de operațiuni suplimentare de suport precum arhivarea, formatarea, defragmentarea și altele.

Pentru calculator

O altă cunoaștere care ne oferă posibilitatea de a înțelege ce este software-ul este înțelegerea modului în care este dezvoltat software-ul. Pentru acest proces, se utilizează software-ul instrument, adică un set de software și hardware folosit pentru a scrie și compila codul de sistem pentru utilitarele aplicației.

În software-ul instrumental, se pot distinge trei subgrupe:

  • limbaje și sisteme de programare;
  • medii de programare integrate;
  • sisteme software.

Există o mare varietate de limbaje de programare și toate sunt împărțite în subgrupe pe baza principiului orientării - în funcție de sfera de aplicare a problemelor produsului finit care trebuie rezolvate.

Este imposibil să nu spunem câteva cuvinte despre ce sunt limbajele de programare orientate către mașină. Ele sunt folosite pentru a scrie software nu pentru utilizatorul final, ci pentru a crea cod de program suport direct pentru hardware. Aceste limbaje fac posibilă luarea în considerare a arhitecturii unice și a principiilor de operare ale unui anumit computer sau, de exemplu, a unei mașini de lucru într-o fabrică care nu funcționează sub sisteme de operare obișnuite.

Pentru utilizator

Limbajele de programare independente de mașină îndeplinesc funcția de a scrie coduri de program, precum și programe de aplicație pentru shell-uri și sisteme de operare gata făcute.

  • Limbajele de programare orientate către procedura sunt software specializat. Exemple - Pascal, Basic. Aceste limbaje de programare simple sunt folosite pentru a scrie programe, funcții și proceduri de bază ale aplicației. Și, de asemenea, pentru a descrie algoritmi pentru rezolvarea problemelor.
  • Limbaje orientate spre probleme - vă permit să rezolvați probleme în domenii specifice de programare mai restrânse; exemplele dintre acestea includ Lisp, APL.
  • Limbile orientate pe obiecte sunt mijloace mai moderne și mai convenabile pentru a crea aplicații de aplicație și a crea diferite tipuri de software pentru utilizatorul final. Caracteristica lor principală este capacitatea de a crea elemente de aplicație gata făcute, cum ar fi casete de dialog, câmpuri de completat, butoane. Pentru a ilustra, putem numi limbaje precum C++ și Visual Basic.

Cu ce ​​lucrăm

Ultima clasă este aplicația software. Dacă ai citit cu atenție articolul, ar fi trebuit să fi ghicit deja că acesta nu este altceva decât acele programe, aplicații și jocuri cu care ne ocupăm în viața de zi cu zi. Dar chiar și acest concept cel mai simplu este împărțit în subclase de către experți.

  1. Poate cea mai comună categorie de aplicații este multimedia. Adică programe pentru redarea video, audio, jocuri. Tot ceea ce servește la distracția utilizatorului final. Astfel, una dintre cele mai mari invenții ale omenirii s-a transformat dintr-un instrument științific de lucru într-un mijloc de divertisment pentru publicul larg.
  2. Software de recuperare a informațiilor. După cum înțelegeți, acestea sunt diverse browsere și clienți de tehnologie Internet concepute pentru a primi informații de pe World Wide Web.
  3. Scop general. Acestea sunt tipuri de software utilizate în viața de zi cu zi numai din necesitate. Acestea sunt editori grafice și de text, servicii de e-mail, baze de date.
  4. Orientat spre probleme. De exemplu, sisteme expert sau sisteme de conferințe audio și video.
  5. Medii software de nivel profesional. Acestea sunt sisteme contabile și pedagogice, sisteme de control al accesului.

Un exemplu bun

După ce am învățat ce este software-ul, să ne uităm la câteva exemple reale de programe și aplicații pe care le-am putea întâlni în viața reală.

  • 1C Contabilitate. Un exemplu izbitor de software profesional folosit pentru a lucra cu contabilitate, domeniul juridic și multe alte domenii suportate și conexe.
  • Microsoft Office Word. Cel mai ușor de înțeles și mai accesibil exemplu de software de uz general. Aproape toată lumea din viața lor a rulat acest pachet software pentru a scrie un CV, eseu sau raport.
  • Microsoft Office Access. Cea mai simplă implementare a unei baze de date, care este și un software de uz general.
  • Toată lumea a auzit de categoria multimedia. Acesta este binecunoscutul Windows Media Player, capabil să redea atât fișiere audio, cât și video.
  • Photoshop este un alt exemplu de software de uz general. Fiind un editor grafic profesionist folosit în multe companii de imprimare, aparține și mediului software de nivel profesional.
  • Dacă vorbim despre software de uz general, atunci fiecare persoană care a pornit un computer cel puțin o dată l-a întâlnit. Acesta este binecunoscutul Windows.

Toate acestea sunt un software foarte comun. Nu are sens să dai exemple de alte programe. În zilele noastre, când chiar și un copil poate dezvolta aplicații, fiecare utilizator poate descărca oricare dintre ele după bunul său plac, pentru a înlocui mărci cunoscute.

Instalare

Instalarea software-ului în majoritatea cazurilor nu va cauza dificultăți pentru utilizatorul obișnuit. Majoritatea aplicațiilor pe care le folosim în viața noastră de zi cu zi sunt destinate în mod special utilizatorului neinițiat. Un modul special - un instalator - este cusut în programul terminat.

Când introduceți discul software în unitate, programul de instalare pornește automat. Deplasându-vă prin casetele de dialog, selectați calea de pe hard disk în care va fi instalat software-ul. Dacă acesta este un software care acceptă sistemul dvs. de operare, acesta va fi instalat automat în folderul necesar.

Unele software, cum ar fi cel necesar pentru dezvoltarea aplicațiilor, nu necesită instalare. Comanda rapidă de lucru este lansată în folderul programului, urmată de instrumentul de dezvoltare.

Instalarea software-ului pentru anumite hardware ale PC-ului, cum ar fi placa de bază sau BIOS-ul, poate necesita abilități speciale și cunoștințe profesionale, așa că nu ezitați să apelați la un specialist în astfel de cazuri.

Creare

Dezvoltarea software-ului are loc în mai multe etape.

  • Etapa inițială este etapa apariției și implementării unei idei. Crearea designului viitoarei aplicații, precum și a funcționalității acesteia.
  • Testarea alfa este un proces intern de testare. Acesta și adăugarea oricăror funcții sunt efectuate într-un cerc limitat de oameni, de obicei dezvoltatori sau persoane apropiate acestora.
  • Testarea beta este efectuată în rândul consumatorilor, la discreția producătorului. Acesta este procesul de depanare a unui program.
  • Eliberarea candidatului. Un program care a trecut toate etapele de testare, cu erori critice găsite și corectate. Aplicația este aproape gata de lansare.
  • Și în sfârșit, eliberarea. Produs gata pentru lansare și replicare.
  • Ultima etapă, care continuă după lansare, este suportul software și întreținerea aplicației.

concluzii

Deci, după cum înțelegeți acum, dezvoltarea și utilizarea software-ului este o parte inseparabilă a vieții noastre de zi cu zi. S-ar părea că în timp ce efectuăm cele mai simple acțiuni pe un computer personal, în fiecare zi întâlnim o mare varietate de software, creat prin munca minuțioasă a specialiștilor special pentru utilizatori. Clasificarea programelor și aplicațiilor este atât de largă încât este imposibil să spui cu certitudine cu ce lucrezi în prezent.

Indiferent cât de „inteligente” sunt computerele electronice sau computerele personale, acestea vor rămâne o „piesă de fier” inutilă dacă nu sunt încărcate cu software. Este ceea ce îi face să funcționeze, efectuând anumite acțiuni: efectuarea de calcule, afișarea de text, imagini și videoclipuri, producerea de sunete și redarea muzicii, precum și controlul altor dispozitive. Toate acțiunile pe care le efectuează un computer sunt efectuate conform unui program specific dezvoltat pentru acesta de către o persoană, iar setul de astfel de programe pentru controlul instalațiilor electronice de calcul se numește software.

Conceptul de software

De fapt, programul constă din pași, efectuând secvențial pe care computerul efectuează anumite acțiuni, de exemplu, acceptă caractere introduse de la tastatură de la utilizator și le afișează pe ecran, determină imprimanta să imprime text pe o coală de hârtie etc. Fiecare dintre astfel de pași este codificat într-un limbaj special de mașină și se numește „comandă”, iar colecția de astfel de comenzi este codul programului.

Pentru prima dată, ideea că orice stare predeterminată a sistemului poate fi atinsă prin executarea secvențială a comenzilor elementare, transferând-o dintr-o stare stabilă în alta, a fost propusă de un matematician englez pe nume Alan Turing. În eseul meu „Numere calculabile cu o aplicație la Entscheidungsproblem (problema de decizie)” el a creat un model teoretic, care era o mașină abstractă (automat) capabilă să efectueze acțiuni elementare și să o transfere dintr-o stare fixă ​​în altă stare fixă. Ca rezultat, mașina ar putea efectua operații simple, rudimentare. Un astfel de automat a primit ulterior numele în literatură - "Mașină de Turing". Ideea principală a fost o dovadă matematică că orice stare predeterminată a acestui automat poate fi atinsă prin executarea unui set finit de comenzi specifice din întreaga mulțime fixă ​​(program). Datorită acestei teorii, s-a născut ulterior o astfel de știință (ca să spunem așa) precum programarea.

Astfel, programatorii – oameni care dezvoltă software, controlează în esență un computer personal folosind codurile de program pe care le scriu, forțându-l să citească caracterele introduse de la tastatură, să redea muzică, să redea videoclipuri etc.

Tipuri de software

Astăzi există un număr imens de programe diferite concepute pentru a îndeplini funcții complet diferite: calcule aritmetice sau de inginerie, desen, programare, redare de muzică sau filme etc. Dar, în același timp, fiecare dintre ele nu este executat pe cont propriu, pe un plan personal. computer, rulează, după cum se spune, sub controlul unuia sau altui sistem de operare.

Apare o întrebare rezonabilă: „De ce nu poți rula singur fiecare dintre programe, ocolind chiar acest sistem de operare, dacă un program este un set de coduri cu care poți controla un computer?”

De fapt, desigur că este posibil, iar acest lucru se practică și, de exemplu, la mașinile CNC (computer numerical control), la mașinile automate în producție etc., dar există câteva puncte datorită cărora au fost dezvoltate aceleași sisteme de operare. pentru calculatoare personale și chiar computere mainframe.

Faptul este că, atunci când vine vorba de o mașină standard, aceasta efectuează un set de operații secvențiale simple, de exemplu, extinde manipulatorul, ia piesa de prelucrat, întoarce, pune piesa de prelucrat la locul potrivit. Apoi se repetă operațiunea. Tot timpul, mașina efectuează aceleași acțiuni conform aceluiași, un program.

În cazul unui PC, utilizatorul nu dorește doar, de exemplu, să deseneze într-un program încărcat, ci vrea să asculte muzică în același timp, să fie, așa cum se spune astăzi, „în contact” cu familia și prietenii , adică în același timp În același timp, nu lucrați cu unul, ci cu mai multe programe simultan.

Pe lângă aceasta, există un alt punct pur practic. Când dezvoltați un program pentru un PC care ar putea funcționa independent fără un sistem de operare, ar fi necesar să descrieți toate funcțiile de lucru cu hardware-ul computerului într-un singur program: citirea și scrierea pe disc, intrare/ieșire de la tastatură, lucru cu un monitor etc. Ca rezultat - costuri uriașe de timp, dimensiune mare de software, dependență de platforma hardware, prezența unui număr mare de erori și o serie de alte aspecte negative.

Sistemul de operare se ocupă de majoritatea acestor operațiuni „de rutină”, oferind în același timp „multitasking”. Adică, utilizatorul poate lansa și executa nu unul, ci mai multe programe simultan pe computerul său personal.

Astfel, toate programele pot fi împărțite în trei tipuri:

  1. Programul sistemului;
  2. Software de aplicație;
  3. Software pentru instrumente.

Programul sistemului

Acesta este un set de programe care asigură controlul hardware-ului PC-ului: procesor, RAM, dispozitive de intrare/ieșire, sisteme grafice, dispozitive de rețea etc. În special, un astfel de software include:

  • OS;
  • Șoferii- programe mici care asigură funcționarea corectă cu unul sau altul echipament (grafică, rețea, plăci de sunet, controlere etc.);
  • Programe suplimentare, extinzând capacitățile sistemului de operare.

Principala diferență dintre software-ul de sistem și celelalte tipuri ale sale este că nu are ca scop realizarea unor sarcini practice sau specifice. Asigură doar funcționarea corectă a altor programe; este un fel de „strat” între hardware-ul computerului, pe de o parte, și codul programului utilizatorului, pe de altă parte, asigurând interacțiunea corectă a acestora.

Software de aplicație

Această clasă de software este cea mai extinsă. La asta se referă majoritatea programelor pe care le folosim în viața de zi cu zi. Browsere, playere de fișiere audio și video, editoare grafice și de text, pachete antivirus, programe de contabilitate și alte programe care efectuează diverse calcule și calcule - toate acestea, la fel ca multe programe concepute pentru a efectua acțiuni, funcții și sarcini specifice utilizatorului, se numesc software de aplicație .

Software pentru instrumente

Acest tip de software este un software foarte specific. Pe de o parte, ar putea fi clasificat și ca tip aplicat, dar pe de altă parte, datorită specificului aplicării și utilizării sale, este separat într-un tip separat (deși ar fi mai corect să-l numim subtip de aplicat).

Funcția principală a programelor software instrument este de a oferi capacitatea de a proiecta, crea, depana și menține codul de program, adică, în esență, acestea sunt diverse medii de programare: compilatoare din limbaje de nivel înalt, depanatoare, editori etc.

Faptul este că orice computer, orice dispozitiv digital, nu „înțelege” cuvintele noastre. Astfel de dispozitive funcționează cu propriul „limbaj de mașină” - cod binar. Dar programarea direct în „codul mașină” prezintă anumite dificultăți pentru scrierea programelor. Prin urmare, a fost dezvoltat un software specializat care traduce cuvintele mai ușor de înțeles ale software-ului „limbi de nivel înalt” în „cod mașină”. Se numesc astfel de programe compilatoareȘi interpreți.

Diferența este că compilatorul vă permite să pregătiți un fișier pentru execuție, iar interpretul, un fișier care poate fi rulat pe un computer, doar cu ajutorul propriului. Apropo, textul scris al programului care conține comenzi într-un limbaj de nivel înalt a fost numit "sursă"(în argoul informatic - „cod sursă”).

Pentru a fi corect, trebuie remarcat faptul că fișierele de program conțin cod de mașină nu în sistemul de numere „binar”, ci, de regulă, în sistemul de numere „hexazecimal”. Și un program special de sistem încorporat în sistemul de operare - „procesorul de comandă” - va „traduce” codul „hexazecimal” în „binar”. Acest lucru a fost făcut pentru a reduce dimensiunea fișierelor de program, deoarece notația „hexazecimală” este mult mai compactă.

Distribuție software

Distribuirea oricărui software este însoțită de un document special, care stipulează în mod clar toate drepturile și obligațiile părților care transferă și utilizează acest software.

În funcție de metoda de utilizare și distribuție, întregul software este împărțit în mod convențional în:

  1. Software gratuit. De regulă, acestea pot fi copiate liber și distribuite absolut gratuit. În același timp, distribuitorul poate percepe o taxă, dar nu pentru software-ul în sine, ci, de exemplu, pentru servicii de înregistrare pe un mediu, canal de transmisie a datelor etc.;
  2. Software gratuit. Ca și în cazul programelor „gratuite”, nimeni nu percepe bani pentru astfel de programe, dar principala diferență față de primul este capacitatea de a face modificări codului programului și de a distribui versiuni noi ale software-ului rezultat împreună cu modificările dvs. Astfel, software-ul „gratuit” este distribuit împreună cu codul sursă;
  3. Sursa deschisa. Conform termenilor licenței, aceasta trebuie distribuită cu cod sursă deschisă;
  4. Software închis. Este proprietatea privată a autorilor săi și este distribuit strict în anumite condiții. Aceasta poate fi fie o recompensă bănească, fie alte tipuri de remunerație care nu contravin legii, pe care dezvoltatorul le poate solicita pentru utilizarea sa. De exemplu, aceasta ar putea fi o distribuție shareware, în care va trebui să vă înregistrați pe site pentru a putea folosi programul. De regulă, este distribuit fără coduri sursă.

Concluzie

Software-ul este una dintre condițiile necesare pentru funcționarea oricărui sistem de calcul (sau, după cum se spune acum, digital). Și nu contează ce este - dacă este încorporat în echipament sau încărcat de pe un mediu extern, în orice caz, numai dacă funcționează corect, sistemul computerizat va efectua acțiunile care îi sunt necesare.

Cunoașterea și capacitatea de a lucra cu software este o condiție prealabilă pentru orice utilizator, altfel chiar și o simplă problemă care poate fi rezolvată în cinci minute te va deruta și va duce nu numai la pierderi de timp, ci și de bani.

Cele mai bune articole pe această temă