Înainte Înapoi Cuprins

8. Cum face calculatorul meu mai multe lucruri deodată?

Nu face, de fapt. Calculatoarele pot face o singură operație (sau proces) la un moment dat. Dar un calculator poate schimba operațiile foarte repede, și să păcălească ființele umane încete făcându-le să creadă că face câteva lucruri deodată. Aceasta este numită împărțire de timp.

Una din treburile kernelului este să se ocupe de împarțirea timpului. Are o parte numită programator care ține informații în el despre toate celelalte procese (non-kernel) în grădina dvs. zoologică. La fiecare 1/60 secunde, un cronometru pornește în kernel, generând o întrerupere de ceas. Programatorul oprește ce proces rulează curent, îl suspendează pe loc, și înmânează controlul la alt proces.

1/60 dintr-o secundă poate nu sună ca fiind mult timp. Dar cu procesoarele de astăzi este destul pentru a rula zeci de mii de instrucțiuni mașină, care pot face o groază de muncă. Așadar chiar dacă aveți multe procese, fiecare poate face destul de mult în fiecare din feliile sale de timp.

În practică, un program poate să nu-și primească întreaga sa felie de timp. Dacă o întrerupere vine de la un dispozitiv I/O, kernelul oprește efectiv operația curentă, rulează handlerul de întreruperi, și apoi se întoarce la operația curentă. O furtună de întreruperi cu prioritate mare pot să stoarcă procesarea normală; acestă purtare greșită este numită thrashing (producere de gunoi) și este din fericire foarte greu de produs sub Unixurile moderne.

De fapt, viteza programelor este foarte rar limitată de cantitatea de timp de mașină pe care pot să-l obțină (sunt puține excepții de la această regulă, precum sunetul sau generarea de grafică 3-D). Mult mai des, întârzierile sunt cauzate când programul trebuie să aștepte date de pe disc sau o conexiune la rețea.

Un sistem de operare pentru care este rutină suportul de multe procese simultane este numit "multitasking" (multioperațional). Familia Unix de sisteme de operare a fost concepută de la început pentru multitasking și este foarte bună la el -- mult mai performant decât decât Windows sau Mac OS, care au avut multitasking turnate în ele ca un gând ulterior și îl realizează destul de prost. Efectiv, multitaskingul pe care te poți baza este o mare parte din ceea ce-l face pe Linux superior pentru rețele, comunicații, și servicii Web.


Înainte Înapoi Cuprins