Multifunctional

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Cu multitasking (în italiană multiprocesualitate ), în informatică , indicăm capacitatea unui software de a executa mai multe programe în același timp: de exemplu, dacă sistemului i se cere să execute două procese A și B în același timp, CPU va executa procesul pentru câteva momente de timp A, apoi pentru câteva momente după procesul B, apoi va reveni pentru a executa procesul A și așa mai departe; trecerea de la procesul A la procesul B și invers se numește „ context switching(context switch).

Deciziile cu privire la executarea unui comutator context între două programe sunt realizate de către o componentă software a sistemului de operare , The planificator , care va trimite deciziile date în principal de frumos la un alt modul al sistemului de operare, dispecerul care va executa , de fapt, schimbarea contextului: în funcție de ce strategie de serviciu ( algoritm de planificare ) este urmată, programatorul controlează alocarea timpului CPU între toate procesele active. Există două tehnici principale de control al termenilor și pauzelor multitasking: cea veche fără preemption ( cooperativă ) și cea nouă cu cea preventivă ( preventivă ), dar în zilele noastre puterea reală a multitaskingului rezidă doar în algoritmul de planificare utilizat.

Descriere

Există în principal două tipuri de multiprogramare:

  • Tipul lotului : în care nu există interactivitate cu utilizatorul . Scopul acestui tip de multiprogramare este de a profita la maximum de resursele hardware disponibile. Este o metodologie tipică din primele zile ale informaticii, o perioadă în care disponibilitatea computerelor era redusă.
  • Tipul de partajare a timpului : în care mai multor utilizatori li se permite să utilizeze același sistem simultan și interactiv, maximizând ușurința de utilizare, în detrimentul performanței.

Gradul de multiprogramare indică capacitatea unui sistem de a putea executa mai multe procese în memorie .

Multitasking fără preluare ( cooperative )

De asemenea, numit multitasking cooperativ , în acest caz programele oferă în mod voluntar controlul sistemului de operare odată ce operațiunea în curs este finalizată: acesta este cazul macOS până la versiunea 9 sau a Windows 3.0 și 3.1 . Avantajul major al acestei metode este că nu are nevoie de suport hardware și poate fi implementat pe orice tip de arhitectură. Dezavantajul grav este că un singur program care refuză să renunțe la control sau care se oprește din greșeală poate bloca întregul computer, deoarece sistemul de operare nu are cum să recâștige controlul de la sine. Mai precis, programatorul fără preemțiune implementează o schimbare de context numai în circumstanțe precum:

  • trecerea unui program de la starea de rulare la starea de așteptare;
  • sfârșitul programului în sine.

Multitasking cu preemptive ( preemptive )

Preemption (sau eliberarea timpurie ) este actul de a întrerupe un program indiferent de voința programului în sine, acest lucru se întâmplă datorită unor structuri hardware speciale integrate în microprocesor care automatizează schimbarea contextului ( context switch ): în acest caz nu numai planificatorul intervine în circumstanțele prevăzute de un planificator fără preluare, dar și în cazuri precum:

  • trecerea unui program de la starea de execuție la starea gata de executare;
  • trecerea unui program de la starea de așteptare la starea gata de executare;

Un multitasking preventiv (preventiv) nu poate fi implementat dacă platforma hardware nu oferă instrumentele necesare disponibile, dar cel puțin, datorită schimbării contextului hardware este mult mai eficientă prin promovarea adoptării acelor timp regulat și a unei execuții mai „fluide” a diferitelor procese. Multitasking complet preventiv a fost adoptat de majoritatea sistemelor de operare moderne.

Punct istoric asupra sistemelor de operare multitasking preventive

Primele sisteme de operare pentru computerele personale și casnice , care au ieșit pe piață, care au prezentat multitasking preventiv, au fost: Minix , Xenix , OS-9 (toate trei derivate din Unix ) și Sinclair QDOS (care a echipat mașina Sinclair QL ) .

Sinclair QL (din Q uantum L eap , salt cuantic ) a fost un computer personal / personal de 8 biți 68008 . Sistemul său de operare, numit QDOS, era multitasking și multithreading și a integrat un puternic interpret de bază, utilități și programe de productivitate și o interfață grafică primitivă; cu toate acestea, inițial a fost răsfățat de mai multe bug-uri, deoarece a fost introdus pe piață prea repede în încercarea de a împiedica lansarea mult mediatizată a Apple Macintosh . Chiar și Sinclair QL a fost prezentat oficial publicului fără ca sistemul de operare să fie gata, din cauza dificultăților întâmpinate în programare și testare. Ulterior problemele au fost rezolvate, dar Sinclair vânduse deja divizia de calculatoare către Amstrad , care a preferat să abandoneze produsul.

QL a avut puțin succes și nenorocirea de a fi ultimul computer semiprofesional pe 8 biți care a intrat pe piață în același timp în care au fost introduse noi sisteme pe 16 biți precum IBM PC și primele sisteme hibride pe 16 biți. / Macintosh pe 32 de biți, Atari ST și Amiga .

Acest ultim computer, în special, a fost primul computer utilizat pe scară largă pe piață care a adoptat multitaskingul preventiv cu AmigaOS , în 1985 , când Unix era încă prerogativa universităților și a marilor centre de calcul.

AmigaOS a demonstrat publicului larg validitatea unei arhitecturi multitasking preventive, îmbunătățită atât prin adăugarea unui set de coprocesoare dedicate graficii, sunetului și mai ales controlului BUS-ului de memorie, cât și prin disponibilitatea cardurilor suplimentare cu Direct capacitate.Acces la memorie .

Aceste coprocesoare au fost delegate pentru calculele suplimentare și controlul direct al perifericelor, permițând obținerea unor performanțe excelente chiar și cu procesoare cu un număr redus de ceasuri, care ar putea fi, prin urmare, complet disponibile programelor de management și productivitate și nevoilor comenzilor de sistem.

Mecanismul multitaskingului preventiv pe Amiga a fost astfel capabil să fie imediat perceptibil de către utilizator, în primul rând datorită vitezei relative cu care sistemul a fost gestionat și, în al doilea rând, deoarece utilizatorul putea vedea singur diferitele programe care rulează în concomitență, datorită, de asemenea, managementul special al mai multor ecrane Amiga. Această ultimă caracteristică, unică la acel moment, a permis utilizatorului să aibă pe același monitor mai multe ecrane independente și suprapuse (chiar și cu rezoluții video diferite), care ar putea fi ridicate și coborâte cu mouse-ul, astfel încât să poată vedea mai multe programe pe ecran. actualizează complet propriile ecrane grafice în paralel.

În anii 1990 , multitasking-ul preventiv a fost răspândit pe computerele personale cu sisteme de operare Windows începând cu Windows 95 , OS / 2 , BeOS și diverse sisteme Unix și similare Unix, inclusiv GNU / Linux și macOS .

Alte semnificații

În domeniul psihologic, multitasking-ul sau mintea lăcustă înseamnă utilizarea spasmodică a mai multor dispozitive în același timp.

Elemente conexe

linkuri externe

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT