Unix și arhitectura Windows - articole software

"Pentru a găsi adevărul, oricine ar trebui cel puțin
o dată în viața voastră pentru a vă elibera de cei asimilați
im reprezentări și refacere
sistem de opinii "
- Rene Descartes.


Structura UNIX este mai ușor de imaginat sub forma a două straturi. Primul este nucleul. Ea interacționează direct cu hardware-ul și asigură portabilitatea tuturor celorlalte aplicații software pe calculatoare cu hardware diferit. Kernelul oferă programelor un set specific de API-uri de sistem care permit generarea, gestionarea, interacțiunea și sincronizarea proceselor, precum și fișierele I / O. Cel de-al doilea strat este software-ul, aplicația sau sistemul: interpretul de comandă, coaja grafică și așa mai departe.

Structura sistemului de operare UNIX


Să privim mai adânc în nucleul sistemului. Permite tuturor celorlalte programe să comunice cu dispozitive periferice, reglează accesul la fișiere, gestionează memoria și procesele. Kernel-ul este conectat, care este accesat prin apeluri de sistem (solicitând un serviciu). Această conexiune nu este una față-verso: kernel-ul poate, de asemenea, să returneze unele date dacă este necesar. Principalul avantaj al kernel-ului este standardizarea strictă a API-urilor sistemului. Din acest motiv, în multe feluri, se realizează portabilitatea codului între diferite versiuni de UNIX și hardware complet diferit.

Structura nucleului UNIX

Acum, să examinăm mai îndeaproape subsistemul de control al procesului. Este responsabil pentru sincronizarea și interacțiunea proceselor, alocarea memoriei și planificarea execuției procesului. În toate aceste scopuri, trei module sunt incluse în subsistemul de control al procesului, care sunt clar demonstrate în diagramă. Un bun exemplu de interacțiune între subsistemele și procesele de gestionare a fișierelor este descărcarea fișierului pentru execuție. În acest caz, subsistemul de control al procesului trebuie să contacteze un coleg pentru a citi fișierele executabile.

Puțin mai devreme am enumerat sistemul API pentru gestionarea fișierelor. Acum ia în considerare provocările angajaților de a lucra cu procese: furculița (a crea un nou proces), Exec (execută procesul), de ieșire (completeaza designul unui proces), așteptați (o sincronizare mod), BRK (gestionează memoria alocată procesului), semnalul (stivuitoare excepții), etc.

Kernel-ul sistemului este o parte critică a codului, toate erorile care apar în kernel duc la un accident fatal al sistemului - "ecranul albastru". De fapt, acestea sunt erori cum ar fi "încălcarea protecției generale". Odată ce codul de nucleu începe să se aplice interzis pentru el zona de memorie (o încercare de a citi sau a scrie date, pentru a executa instrucțiuni invalide, trecerea la regiunea interzis) lucrează pentru a proteja memoria sistemului procesorului, iar controlul sistemului este trecut la handler excepție. Managerul de excepție nu poate restabili comportamentul corect al codului. Tot ce face - este o concluzie pe ecran albastru haldei, care indică tipul de eroare și conținutul memoriei în zona în care protecția este activat.
Sub-sistemele de utilizator nu afectează sistemul în ansamblu atât de mult încât sunt izolate unele de altele și de nucleu prin intermediul gestionării memoriei și a procesorului propriu-zis. Erori care apar în aplicații sunt executate la nivel de utilizator, adică la un nivel mai puțin privilegiat decât kernel-ul. Prin urmare, sistemul poate controla procesul. Dacă apare o eroare sau apare o eroare, comanda este trimisă la dispozitivul de eroare, numit "Doctor Watson". El va înceta cu forța cererea. Miezul sistemului și subsistemele rămase rămân intacte și intacte.
Kernelul UNIX / Linux are două tipuri de excepții, care sunt denumite în general "oops" și "panic". Aproape în fiecare sistem de operare panica apare atunci când kernelul detectează o defecțiune gravă. Dacă sistemul s-a deteriorat cumva, trebuie să se oprească imediat, până când nu se schimbă ireversibil critic (cum ar fi ștergerea sistemului de fișiere). Ori de câte ori este posibil, UNIX / Linux încearcă să detecteze problema și să o facă față fără a opri întregul sistem. De exemplu, multe situații, cum ar fi "oops", conduc la sfârșitul procesului, care a început în mod normal, dar apoi a buclei sistemului. Există totuși situații în care totul este atât de rău încât panica este cea mai bună cale de ieșire. Se crede că utilizatorii de versiuni kernel stabile nu trebuie să întâlnească nici "panică", nici "oops". Dar în lumea reală, uneori se întâmplă.

Recentul "bug-ul TF" (vezi aici) este un bun exemplu de panică. Procesorul încearcă să transfere controlul la un proces care nu există. Aceasta duce la prăbușirea întregului sistem. În acest caz, sistemul nu are altă alternativă decât panica.

Kernel-ul livrat cu Red Hat Linux 7.3 (și alte distribuții) conține o eroare în sistemul de fișiere ext3. Această eroare duce la "oops", terminând din când în când anumite procese (de asemenea, acest bug provoacă încetinirea întregului sistem). Deși această eroare a fost deja rezolvată (există un patch în actualizarea de la Red Hat), acest caz a introdus mulți utilizatori la erori precum "oops".

Un strat de abstractizare (Hardware Abstraction Layer, HAL). În total abstractează codul de sistem de la un anumit hardware. Utilizarea HAL vă permite să asigurați portabilitatea a 99% din codul de sistem între diferitele echipamente.

Managerul I / O (Managerul de intrare / ieșire). Controlează complet fluxurile de schimb între sistem și dispozitive. Driverele de dispozitiv funcționează în contextul Managerului I / O. Dacă driverul este scris cu erori și poate duce la un accident - aceasta va provoca un accident fatal al kernelului și al întregului sistem. 70% din cazuri de defecțiuni fatale ("ecran albastru") - este rezultatul comportamentului incorect al driverelor de dispozitive.

Windows XP include un mecanism de control al driverelor încorporat: un șofer corect testat și bine testat vine cu o semnătură digitală (Driver Signing). Configurarea corectă a sistemului este de a dezactiva instalarea driverelor fără o semnătură valabilă.

În Windows, sunt implementate și funcții suplimentare pentru a spori stabilitatea sistemului de operare. Sistemul Windows File Protection previne automat modificările accidentale la fișierele de sistem de operare, care sunt făcute de către utilizator sau de aplicație, protejând în mod eficient întregul sistem. Adică, atunci când un program a făcut modificări sau pur și simplu a înlocuit fișierele de sistem Windows, presupunând că programul este mai nou, Windows monitorizează modificările și avertizează utilizatorul despre el, spunând că pentru stabilitatea sistemului este de dorit să restaurați fișierele sursă. De asemenea, există suport pentru mai multe versiuni ale DLL, ceea ce sporește compatibilitatea aplicațiilor și îmbunătățește stabilitatea.

În Unix / Linux, sistemul grafic este separat de kernel și funcționează ca o aplicație obișnuită. În sistemele de operare Windows, sistemul grafic este integrat în kernel. Dacă utilizați un sistem de operare pe o stație de lucru, mai ales atunci când executați aplicații cu intensitate grafică, este probabil cel mai bine atunci când sistemul grafic intră în miez - în acest caz poate funcționa mai repede. Și, în timp ce lucrează pe sistemul grafic ramură server de preferat din nucleul ca se încarcă memoria și procesorul. În cazul în care Unix / Linux, sistemul grafic, puteți activa pur și simplu off, în plus, în cazul în care administratorul de sistem încă mai vrea să folosească, Linux are mai multe medii desktop pentru a alege de la, unele dintre ele (de exemplu, WindowMaker), mai degrabă încărcate slab auto. Aceeași caracteristică a sistemelor de operare asemănătoare Unix vă permite să executați aceste sisteme de operare pe mașini cu volume foarte mici de memorie RAM etc. În cazul Windows este sistemul grafic este prea strâns integrat în sistemul de operare, așa că ar trebui să ruleze chiar și pe acele servere pe care nu este necesar.

Linux suportă mai multe sisteme de fișiere, cele mai avansate fiind Ext2, Ext3, XFS. Sistemul de operare Windows este în mare parte legat de un singur sistem de fișiere - NTFS sau FAT 32. Sistemele de fișiere Ext2, Ext3, XFS sunt estimate să funcționeze mai repede. Diferența fundamentală este că în UNIX / Linux nu există niciun concept de disc, fizic sau logic deloc. Toate lucrările cu dispozitive de stocare sunt organizate prin fișiere speciale de dispozitive care cartografiază mediile fizice (disc, bandă etc.) sau părțile (partițiile) acestora în sistemul de fișiere.

O diferență importantă este prezența în Windows a tehnologiei ActiveX, ceva similar în Unix / Linux este implementat folosind CORBA și Bonobo. Această tehnologie, pe de o parte, oferă utilizatorului o mulțime de confort, pe de altă parte - a recunoscut, de asemenea, în timpul său, lucruri precum lansarea automată a virusului Outlook'om, care a venit prin poștă. Una dintre diferențele importante dintre aceste tehnologii este că elementele ActiveX pot fi încorporate în text HTML, care are avantaje și dezavantaje.

Puteți lista o serie de diferențe între sistemele de operare Unix de la Windows, cum ar fi un suport integrat de acces la distanță pe Unix și absența acestora, în mod implicit în Windows (este pus în aplicare în versiunile de server de Windows, precum și prin mijloace suplimentare, de exemplu, Citrix). În Unix / Linux și Windows sunt foarte diferite subsistem de rețea (IP-stack), pe o serie de evaluări de performanță în rețea subsistemului Unix / Linux.

Care este cardul cumpărătorului?

Înscrierea în Clubul clienților obișnuiți oferă o oportunitate pentru cumpărător:

Cardul funcționează atât atunci când cumpărăm online cât și în magazinele cu amănuntul.

Comandă cu livrare la punctele Euroset / Messenger

  • funcționează numai pentru persoane fizice;
  • este întocmit la prețurile cu amănuntul ale listei actuale de prețuri;
  • trebuie să fie pentru o sumă nu mai puțin de 100 de ruble și 15 000 de ruble, în caz contrar va fi oferit să plătească un cost suplimentar de asigurare a bunurilor (0,8% din valoarea coșului) sau de a folosi moduri alternative de livrare;
  • trebuie să fie mai mică de 8 kg, inclusiv ambalajul mărfurilor;
  • plata prin primire în numerar sau printr-un card de plastic;
  • suma oricărei părți laterale a parcelei nu trebuie să depășească 1.200 m;
  • expedierea mărfurilor cu livrare la punctele Euroset / Messenger se efectuează zilnic, la orele 12-00, cu excepția week-end-urilor și sărbătorilor. În cazul în care comanda dvs. se formează în weekend sau în concediu, operatorul vă va contacta nu mai devreme de următoarea zi lucrătoare;
  • termenul de valabilitate al ordinului la momentul emiterii este de șapte zile.

Cumpărați din lista articolelor