Sistem de operare și hardware, cum funcționează împreună pe un computer?

Nu contează dacă utilizați ferestre din, Linux, macOS sau orice altă aromă a sistemului de operare. Toate îndeplinesc aceeași funcție, aceea de a comunica software-ul cu hardware-ul, de a efectua gestionarea rutinelor și proceselor și a multor alte sarcini. Care este rolul sistemului de operare în sistemul dvs. și cum este legat de hardware?

Fiecare computer nu este altceva decât un sistem hardware și software integrat, în care sistemul de operare este ceea ce am putea numi cel mai important program, servind drept punte între programe și hardware-ul în sine. Fără sistemul de operare, atunci programele nu ar putea interacționa cu hardware-ul, deoarece vorbim despre două lumi diferite: prima, care este practic intangibilă și care este cea a programelor sau software-ului, și a doua, care este cea a procesoarelor. și amintirile.

Sistem de operare și hardware, cum funcționează împreună pe un computer

În realitate, când oricare dintre noi folosește o aplicație de pe computer, nu folosim doar acea aplicație, aplicația folosește sistemul de operare, care la rândul său folosește hardware-ul. Deci, dacă de exemplu scrieți acum un e-mail sau citind acest articol, atunci trebuie să știți că ceea ce vedeți pe ecran este produsul acestei relații între software, sistemul de operare și hardware.

Primele sisteme de operare au fost simple, dar pe măsură ce puterea hardware-ului a crescut, a devenit posibil ca acestea să facă tot mai multe lucruri, în timp ce în același timp sistemul de operare trebuia să le gestioneze. Nici nu putem uita marea varietate de hardware care există astăzi pentru PC. Majoritatea sunt produse generice, dar altele necesită o comunicare specifică pentru a funcționa corect.

Sistemul de operare decide ce, unde și când funcționează lucrurile

Procese sistem operativ

Programele nu sunt altceva decât o serie de instrucțiuni secvențiale pe care Procesor trebuie să se execute, este adevărat că un program are salturi și bucle, dacă suntem stricți, un program nu este altceva decât asta. În cadrul fiecărui program pot exista mai multe subprograme care rulează în paralel sau în serie. Oricum ar fi, acestea trebuie executate pe CPU și există zeci de rutine și procese pe care sistemul de operare trebuie să le gestioneze în permanență.

Programele nu decid care proces sau rutină este executat în fiecare moment, nici unde și cu atât mai puțin când. Aceasta este opera nucleului sistemului de operare care gestionează diferitele procese. Cu siguranță ați dat vreodată managerului de sarcini, în special la fila proceselor de fundal.

Ei bine, tot ce trebuie să gestioneze sistemul de operare și trebuie să o facă în așa fel încât fiecare dintre programe să primească timpul de procesare de la CPU pe care îl necesită. Când un program sau computerul este lent, acest lucru se datorează faptului că sistemul de operare nu are suficientă putere (sau optimizare dacă este necesar) de la CPU pentru a-și îndeplini sarcinile de zi cu zi.

Client VIP pe RAM și procesor

Sistem operativ proces de memorie

Sistemul de operare rulează ca și restul programelor din RAM, dar pentru a împiedica restul programelor să interfereze cu funcționarea acestuia și chiar să modifice datele și instrucțiunile gestionate de sistemul de operare, ceea ce se face este să rezervați un spațiu RAM exclusiv pentru sistemul de operare la care niciun alt program nu poate în niciun caz în condiții normale.

Pentru că sistemul de operare este cel care comunică cu hardware-ul, are o ierarhie care este peste restul programelor, deoarece atunci când gestionează execuția rutinelor, sistemul de operare are, de asemenea, acces la spațiul RAM al programelor . Cu alte cuvinte, sistemul de operare este ca o menajeră care are acces la toate camerele din conac care ar fi memorie, în timp ce programele ar avea acces limitat. În cazul în care rulăm un sistem de operare virtualizat, atunci hipervizorul sistemului de operare este cel care are acces direct la hardware.

Cu toate acestea, nimic nu este perfect și există momente în care pot fi create găuri de securitate care sunt exploatate de anumite programe pentru a executa cod în spațiul sistemului de operare. De exemplu, virușii computerizați se numesc așa deoarece reușesc să infecteze partea de memorie atribuită sistemului de operare cu codul lor, permițându-le să scape de controlul său.

Comunicare între sistemul de operare și hardware

driver de sistem operativ

În computer, accesul la hardware se realizează folosind anumite adrese de memorie , care atunci când le trimiteți date nu provoacă un efect de citire sau scriere a acestora în RAM, ci ajung să genereze o acțiune specifică asupra hardware-ului asociat cu acea adresă de memorie. Fie automat, fie în caz contrar, datele servesc ca metodă de intrare pentru funcția menționată. Astăzi, datorită cantității enorme de rutine și procese care sunt executate, driverele sunt utilizate pentru a comunica programele cu hardware-ul.

Prin urmare, atunci când sistemul de operare necesită acces la anumite funcții hardware, acesta face șoferii funcționează. Un șofer nu este altceva decât un abstracție despre modul în care funcționează hardware-ul. În calcul, numim abstracție un program care emulează un element cât mai mult posibil. În cazul specific al driverului, acesta nu emulează hardware-ul în întregime, dar ceea ce face este să-l imite interfață de comunicare . Driverul însuși este cel care transformă acest lucru în instrucțiuni pe care hardware-ul le înțelege, astfel încât sistemul de operare să poată comunica cu diferitele componente și dispozitive de pe computer.

În ciuda faptului că în arhitectura x86 adresarea memoriei și I / O este unificată la niveluri practice și astăzi este separată, deoarece accesul în general, deși se face prin intermediul MMU , este IOMMU care se ocupă de comunicarea cu periferice, care este subordonată primului.

Pe scurt, hardware-ul și sistemul de operare sunt esențiale printre ele, nu funcționează singure în niciun caz și au nevoie de un al treilea actor, cum ar fi driverele, ceea ce complică întregul cadru și mai mult în toate funcțiile sale.