Sistem de operare

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Notă despre dezambiguizare.svg Dezambiguizare - "Sisteme de operare" se referă aici. Dacă sunteți în căutarea unei organizații de afaceri, consultați sistemele de operare a afacerii .
Desktop GNOME 40

Un sistem de operare (prescurtat în SO , OS în engleză), în informatică , este un software de bază, numit și o platformă de operare (compusă în mod normal din mai multe subsisteme sau componente software: kernel , programator , sistem de fișiere , manager de memorie , manager de dispozitive , interfață utilizator și spooler de imprimare ), care gestionează resursele hardware și software ale mașinii , oferind servicii de bază software-ului aplicației ; printre sistemele de operare pentru computerele desktop există Microsoft Windows , MacOS , distribuții Linux , sisteme de tip Unix , BSD și Chrome OS , în timp ce pentru dispozitivele mobile , precum smartphone-uri și tablete , există iOS , Android , Windows Phone , Sailfish OS , Symbian OS și KaiOS .

Istorie

Pictogramă lupă mgx2.svg Același subiect în detaliu: Istoria sistemelor de operare .

Istoria sistemelor de operare descrie evoluția pe parcursul perioadei de dezvoltare a calculatoarelor sau a calculatoarelor electronice . Se dezvoltă paralel cu istoria computerului și, mai general, cu istoria computerului . Într-o perioadă definibilă între 1945 și 1955 , computerele electronice erau grupuri de supape termionice sau supape termionice , ocupau încăperi întregi, erau foarte lente și atât de scumpe încât numai marile centre de calcul sau universitățile sau organizațiile dotate financiar le puteau permite. Începând cu anii 1960, odată cu dezvoltarea primelor mainframes , a fost necesar un software pentru utilizare care să permită utilizatorilor să interacționeze cu aceste mașini, evoluția s-a accelerat începând cu anii 1970 , în special odată cu apariția computerelor de acasă și a computerelor personale .

Descriere

Hardware-ul este primul nivel al unui computer electronic. Comunică cu sistemul de operare. Acest lucru, la rândul său, interacționează cu aplicațiile - cu care - utilizatorul final interacționează.
Schema bloc de execuție a unei aplicații până la hardware - ul care trece prin sistemul de operare

Un sistem de operare este un set de software care oferă utilizatorului o serie de comenzi și servicii pentru a profita la maximum de puterea de calcul a oricărui computer electronic , variind de la cel mai mic handheld la cel mai puternic dintre mainframele . Sistemele de operare ascund toate detaliile tehnice legate de hardware-ul și arhitectura specifice care reprezintă informațiile la un nivel înalt, mai bine înțelese de om.

Garantează funcționarea de bază a unui computer , coordonând și gestionând resursele hardware de procesare ( procesor ) și stocarea ( memoria primară ), perifericele , resursele software / activitățile ( procesele ) și acționând ca o interfață cu utilizatorul, fără de care, prin urmare, nu ar fi posibil să se utilizeze computerul în sine și programe / software specifice, cum ar fi aplicații sau biblioteci de software .

Prin urmare, este o componentă esențială a sistemului de procesare care acționează ca o interfață între utilizator și mașină și este, de asemenea, o bază pe care este suportat celălalt software, care, prin urmare, trebuie să fie proiectat și construit în așa fel încât să fie recunoscut și suportat de acel sistem de operare. Împreună cu procesorul , cu care este adesea strâns legat, formează așa-numita platformă de sistem de procesare. În general, un sistem de operare poate fi:

  • un singur utilizator , dacă un singur utilizator la un moment dat poate accesa resursele computerului;
  • multi-utilizator , dacă mai mulți utilizatori pot accesa resursele computerului care la rândul lor pot fi:
    • serial , secvențial unul câte unul;
    • paralel , fiecare paralel cu celălalt;
  • monotare , dacă este capabil să efectueze o singură sarcină sau sarcină ( proces ) la un moment dat:
  • multitasking sau multithreading , dacă este capabil să îndeplinească mai multe sarcini sau sub-sarcini în paralel printr-o anumită politică de planificare (de exemplu, împărțirea timpului ).
  • portabil sau nu pe diferite arhitecturi hardware ale procesorului.

Functii principale

Conform unei definiții mai stricte, sistemul de operare este un set de funcții și structuri de date responsabile:

Dacă sistemul de procesare prevede posibilitatea stocării suplimentare a datelor pe memoria de masă , așa cum se întâmplă în computerele cu scop general , are și sarcina de a:

  • gestionați stocarea și accesul la fișiere . Programele pot gestiona stocarea datelor pe memoria de masă (obținerea de structuri complexe, cum ar fi o bază de date ), utilizând procedurile puse la dispoziția sistemului de operare. Componenta sistemului de operare care se ocupă de toate acestea se numește sistem de fișiere .

În cele din urmă, dacă se are în vedere interacțiunea cu utilizatorul, o interfață software ( grafică sau textuală ) este de obicei utilizată în acest scop pentru a accesa resursele hardware (discuri, memorie, I / O în general) ale sistemului. Pe de altă parte, un sistem de operare poate fi, de asemenea, utilizat pe o mașină care nu oferă interacțiune directă cu o ființă umană (de exemplu, a se vedea cardurile inteligente sau anumite sisteme încorporate ), ceea ce este adesea mai ușor și mai simplu. De obicei, un sistem de operare instalat pe un computer oferă, de asemenea, aplicații de bază pentru a efectua diferite tipuri de procesare.

Deși multe dintre funcțiile menționate anterior nu sunt adesea vizibile / perceptibile imediat de către utilizator, importanța sistemului de operare al unui computer este crucială: pe lângă necesitatea de a gestiona funcțiile de bază menționate anterior, dincolo de performanța maximă oferită de hardware - ul „ computerul în sine, sistemul de operare determină de fapt eficiența și o bună parte a performanței efective de operare a întregului sistem, de exemplu în ceea ce privește latențele de procesare, stabilitatea, întreruperile sau blocările sistemului.

Structura

Un sistem de operare modern generic este format din unele părți standard, mai mult sau mai puțin bine definite.

Nucleu

Pictogramă lupă mgx2.svg Același subiect în detaliu: Kernel .

Un nucleu este un grup de funcții fundamentale, strict interconectate între ele și cu hardware - ul , care sunt executate cu privilegiul maxim disponibil pe mașină: modul kernel desemnează exact acest tip de interacțiune; un nucleu nu este altceva decât un software care are sarcina de a furniza modulelor care alcătuiesc sistemul de operare și programele care rulează pe computer cu funcțiile de bază și accesul controlat la hardware , eliberându-le de detaliile gestionării acestuia; prin urmare, oferă funcționalități de bază pentru toate celelalte componente ale sistemului de operare, care își îndeplinesc funcțiile folosind serviciile pe care le oferă și este, prin urmare, motorul sau nucleul unui sistem de operare.

Schema microkernel

În funcție de tipul de sistem de operare, nucleul poate încorpora alte părți (nucleu clasic , monolitic sau modular ) sau poate furniza doar funcții de bază delegând cât mai multe funcții posibil obiectelor / managerilor externi ( microkernel ). Un kernel tradițional, care este monolitic și altele, integrează în sine gestionarea memoriei virtuale, cpu-ul, programatorul și administratorii de sistem de fișiere, precum și driverele necesare pentru controlul tuturor dispozitivelor conectate.

Funcțiile care ar trebui furnizate de kernel și care pot fi delegate modulelor externe face obiectul unor opinii divergente: dacă nucleul unui sistem de operare implementează doar un număr foarte limitat de funcții, delegând restul alte părți externe numite servere sau module în comunicarea cu nucleul în sine, vorbim despre microkernel . Avantajul unui astfel de sistem de operare este simplitatea mai mare a nucleului său, în dezvoltarea sa, capacitatea de a schimba cu ușurință modulele și o anumită toleranță la erori deoarece, dacă un modul "se prăbușește" (blocare), doar funcționalitatea modulului este întrerupe, iar sistemul rămâne funcțional și gestionabil de către administrator (care poate, de exemplu, să restabilească funcționalitatea modulului în sine); dezavantajul este în schimb interacțiunea mai complexă și mai costisitoare între nucleu și celelalte componente ale sistemului de operare în sine, care adesea încetinește sistemul și / sau îl face mai puțin stabil.

Acest tip de nucleu este mai complex de proiectat, întreținut și actualizat, dar este și mai rapid, mai eficient și mai stabil. Una dintre evoluțiile sale constă în nuclee „ modulare ”, care păstrează planificatorul și sistemul de fișiere și administratorii de memorie virtuală în interiorul lor, dar separă unele funcții neesențiale în module separate, pentru a fi încărcate în memorie numai în cazul utilizării efective a funcției sau periferic al competenței lor.

Schema nucleului monolitic

Pe distincția dintre microkernel și nucleul monolitic de interes considerabil este faimoasa dezbatere dintre Torvalds și Tanenbaum „LINUX este învechit” pe care o puteți găsi pe comp.os.minix la următoarea legătură .

Programator

Pictogramă lupă mgx2.svg Același subiect în detaliu: Programator .
Captură de ecran a FreeBSD , o distribuție derivată a Unix

Planificatorul este componenta fundamentală a sistemelor de operare multitasking, adică cele capabile să execute mai multe procese în același timp (trebuie înțeles simbolic. În realitate nu există o gestionare paralelă a proceselor, dar are loc în ordine, timpii sunt atât de scurți încât utilizatorul, programele vor parea să ruleze în același timp). Planificatorul se ocupă de avansarea unui proces întrerupând temporar un altul, realizând astfel o schimbare de context ( context switch ). În general, computerele cu procesor sunt capabile să ruleze câte un program odată, deci pentru a putea coexista mai multe sarcini este necesar să utilizați programatorul. Există diferiți algoritmi de planificare care vă permit să alegeți cât mai eficient ce proces să continuați. Cei mai buni planificatori au complexitatea O (1) [2] .

Procesele nu au nevoie în mod continuu de procesor : uneori, în loc să aibă procesorul să execute instrucțiuni, așteaptă să sosească datele dintr-un fișier sau utilizatorul să apese o tastă de pe tastatură. Deci, puteți, în principiu, utilizați aceste perioade „moarte” (de așteptare) pentru a rula un alt program. Această idee, care a apărut la începutul anilor cincizeci , s-a concretizat în sisteme de operare multitasking , adică echipate cu un planificator care rulează mai multe procese (executarea programului), alocând CPU pe fiecare la rândul său și suspendând executarea proceselor în așteptarea unei eveniment extern (citire / scriere pe amintiri de masă, tipărire, introducere de utilizator etc.) până când se produce acest lucru. Având nevoie să găzduiască mai multe procese în memoria principală în același timp, sistemele multitask au nevoie de mai multă memorie decât cele monotask: prin urmare, acest tip de sistem de operare este aproape întotdeauna echipat cu un manager de memorie virtuală. În plus, cu mai multe procese active simultan, controlul resurselor hardware devine o necesitate reală și nu mai este posibil să se facă fără ea. În principiu, există două modalități de implementare a multitaskingului: multitaskingul cooperativ și cel preventiv .

Schema unui planificator

În prima, ele sunt procesele care dau spontan controlul sistemului de îndată ce au terminat singura operațiune în curs; în al doilea este programatorul care oprește procesele la expirarea timpului alocat și transferă controlul de la unul la altul:

  • multitaskingul cooperativ consumă mai puține resurse de calcul și nu are aproape nici o întârziere de comutare pentru comutarea sarcinilor și, de asemenea, nu necesită nicio structură hardware dedicată, ceea ce face posibilă implementarea acestuia pe orice computer; pe de altă parte, este foarte vulnerabil la erori în programe (de obicei, o prăbușire a unui proces determină căderea întregului sistem), iar izolarea dintre procese este foarte slabă. Este modelul folosit de vechile sisteme.
  • multitaskingul preventiv necesită procesoare care implementează în hardware atât niveluri de privilegii pentru executarea codului, cât și o logică specifică pentru comutatorul de context , schimbarea sarcinii efectuată de programator. Deoarece întreruperea proceselor este arbitrară, la schimbarea sarcinii, sistemul de operare este obligat să salveze toate sau aproape toate registrele CPU și să le reîncarce cu cele salvate de sarcina care preia, pierzând mult timp. În fața acestor cereri crescute, multitaskingul preventiv oferă o securitate sporită a sistemului și imunitate virtuală la blocările de sistem cauzate de erori de program. Este modelul folosit de sistemele de operare moderne.

Prin urmare, planificatorul scanează timpul de execuție al diferitelor procese și se asigură că fiecare dintre ele este executat pentru timpul necesar. În mod normal, planificatorul gestionează și starea proceselor și poate suspenda execuția lor dacă așteaptă fără să facă nimic, atribuind resursele neutilizate altor procese care au nevoie de ele (exemplu clasic este solicitarea de date de pe disc). În sistemele de operare în timp real , programatorul are, de asemenea, grijă să garanteze o cronologie , adică un timp maxim de finalizare pentru fiecare sarcină care rulează și este considerabil mai complex.

Intrare / ieșire și gestionare periferică

Un exemplu de sistem de operare GNU / Linux : Ubuntu 21.04

Gestionarea intrărilor / ieșirilor sau a perifericelor sistemului este implementată prin mecanismul de întrerupere de către perifericele înseși care pun în discuție sistemul de operare care va opera o schimbare de context ( comutator context ) în cadrul ciclului procesorului atribuind intrarea / ieșirea necesară sarcină către procesor. Un alt mod tipic de gestionare a dispozitivelor, o alternativă la întreruperi, este interogarea .

Manager de memorie

Pictogramă lupă mgx2.svg Același subiect în detaliu: Manager de memorie .
Memorie virtuală administrată de sistemul de operare

Managerul de memorie este componenta sistemului de operare care se ocupă cu gestionarea și atribuirea memoriei primare proceselor care o solicită imediat înainte de procesare. Gestionarea memoriei este, de asemenea, necesară pentru a urmări cât de multă memorie este utilizată și cât este disponibilă pentru a satisface noile solicitări: în absența unui sistem de gestionare, mai devreme sau mai târziu ar exista cazul nefast al proceselor care suprascriu altele, cu evident dezavantaje. Acesta este executat de MMU (Memory Management Unit) , care alocă memoria primară impusă de programele și de sistemul de operare în sine, salvează pe memoria de masă din zonele de memorie temporar care nu sunt folosite de programele ( memoria virtuală ) și se asigură că interschimba paginile sunt raportate. în memorie dacă este solicitat.

Un alt motiv bun pentru a înregistra memoria utilizată de diferite procese este faptul că, în cazul unor erori grave, procesele se pot bloca și nu mai pot spune sistemului că memoria pe care o ocupă poate fi eliberată: în acest caz este sarcina managerului de memorie, după terminarea anormală a procesului, de a marca ca libere zonele de memorie deținute de procesul „decedat”, făcându-le disponibile pentru noi alocări.

Pentru a gestiona programele, care au devenit procese, este necesar ca toate adresele definite în ele să fie calculate în forma relativă la prima instrucțiune a programului (ca și cum programul ar fi încărcat începând de la adresa 0 a memoria centrală). În momentul încărcării, care poate fi efectuată în orice zonă liberă a memoriei, adresele relative vor fi adăugate la prima adresă de încărcare efectivă, devenind astfel absolute: ADRESA ABSOLUȚĂ = ADRESA RELATIVĂ + ADRESA DE ÎNCEPERE. Un mod tipic / mecanism de gestionare / alocare a memoriei la programe / procese de către sistemul de operare este paginarea .

Dacă sistemul are un mecanism de memorie virtuală , managerul de memorie se ocupă și de cartografierea (adresarea) memoriei virtuale oferite programelor de pe memoria fizică și de pe hard disk-urile sistemului, copiind piesele din memorie pe hard disk și invers. memoria necesară programelor din când în când, fără ca programele în sine sau utilizatorii să fie nevoiți să se îngrijoreze de nimic.

Protecția memoriei

Protecția memoriei este o modalitate de a preveni corupția memoriei unui proces de către altul. De obicei, este gestionat prin hardware, de exemplu cu un MMU (unitate de gestionare a memoriei ) și de către sistemul de operare pentru a aloca spații de memorie distincte diferitelor procese.

Sistemul de fișiere

Pictogramă lupă mgx2.svg Același subiect în detaliu: Sistem de fișiere .

De fapt, un computer devine mult mai util și mai eficient dacă este echipat cu o memorie de masă : pentru a-l gestiona aveți nevoie de un manager de sistem de fișiere , adică un software care, pe scurt, este compus dintr-un set de funcții care vă permite să organizați și să gestionați (accesați sau citiți, scrieți sau stocați, sortați) datele de pe suprafața mijloacelor de stocare conform unei structuri bine definite. Sistemele de operare care locuiau pe disc și capabile să gestioneze un sistem de fișiere sunt denumite generic Sistem de operare pe disc , precis, DOS. Cel mai faimos exemplu este, fără îndoială, „ MS-DOS de la Microsoft , înlocuit acum cu interfața grafică Windows , dar care a stat la baza sistemelor de operare Windows 95/98 / Me . Există, de asemenea, o versiune gratuită compatibilă cu programele sale, FreeDOS și alte versiuni, cum ar fi DR-DOS .

Prin urmare, sistemul de fișiere se ocupă de îndeplinirea cererilor de acces la memoriile în masă. Este utilizat de fiecare dată când este accesat un fișier de pe disc și, pe lângă furnizarea datelor necesare, ține evidența fișierelor deschise, a permisiunilor de acces la fișiere. De asemenea, și mai presus de toate se ocupă cu abstractizarea logică a datelor stocate pe computer (directoare etc.).

În funcție de caz, un anumit sistem de operare poate avea toate aceste componente sau doar unele. O diferență suplimentară între sistemele de operare este dată de tipul de comunicare dintre diferitele componente: sistemele de operare clasice se bazează pe apeluri de funcții directe, în timp ce multe sisteme de operare moderne, în special cele care adoptă microkernel, se bazează pe transmiterea mesajelor , pe schimbul de mesaje între diferitele părți ale acestora și între sistemul de operare și programele pe care le rulează.

Interfața cu utilizatorul

Pictogramă lupă mgx2.svg Același subiect în detaliu: Interfața utilizatorului și Shell (calcul) .
Un alt exemplu de sistem de operare (bazat pe kernel-ul Linux ): openSUSE

Al doilea pas către o mai bună gestionare a computerului este cu dezvoltarea unei interfețe de utilizator separate de kernel, un interpret de comandă care funcționează și ca o interfață de utilizator sau Shell . Acest shell primitiv acționează de obicei ca un interpret pentru un limbaj de programare : în funcție de alegerile proiectanților de software, acesta poate fi un limbaj real sau un limbaj de scriptare mai simplu cu care să se creeze comenzi batch . A fost sistemul de operare tipic pentru computerul de acasă din anii 1980, cum ar fi Commodore 64 și Sinclair ZX Spectrum . Prin urmare, interfața cu utilizatorul îi permite utilizatorului să interacționeze cu computerul. În principiu, există două familii de interfețe utilizator: interfața liniei de comandă și interfețele grafice care oferă, de exemplu, un birou (sau desktop ).

Imprimare spooler

Pictogramă lupă mgx2.svg Același subiect în detaliu: Print Spooler .

Spoolerul de tipărire a fost, în mod istoric, primul modul extern al sistemului de operare care a fost implementat, pentru a rezolva problema gestionării tipăritelor pe hârtie. De fapt, deoarece imprimantele electromecanice erau dispozitive foarte lente, primele programe de calculator trebuiau neapărat să piardă mult timp CPU, extrem de prețios la acea vreme, pentru a controla imprimanta și a-i trimite date. Prin urmare, primește datele care trebuie tipărite din programe și le tipărește succesiv, permițând programelor să continue fără a fi nevoie să aștepte sfârșitul procesului de imprimare.

Apoi a fost conceput un program separat, care a rulat cu o prioritate foarte scăzută și care a fost văzut de alte programe ca o imprimantă normală: în realitate, spooler-ul a acumulat datele pe care un program trebuia să le imprime într-o anumită zonă de memorie RAM. memorie, apoi a preluat sarcina procesului de imprimare efectiv, lăsând celelalte programe libere să-și continue execuția.

Mecanismul fundamental al spoolerului de imprimare a rămas substanțial neschimbat de la începuturile sale până astăzi: de-a lungul anilor și odată cu progresul tehnologiei, cele mai semnificative schimbări au fost abilitatea de a gestiona mai multe imprimante care pot fi selectate după bunul plac și capacitatea de a gestionați și imprimantele. la distanță, adică conectate nu direct la computerul pe care rulează spoolerul, ci la alte computere conectate prin rețea.

Instalare și pornire

De obicei, sistemul de operare, odată instalat pe aparat, se află pe hard disk gata să fie încărcat în RAM în timpul fazei de pornire a aparatului.

Dual boot / multiboot

De obicei, mai multe sisteme de operare pot fi instalate pe aceeași mașină în modul de pornire duală , apoi selectând sistemul dorit în faza de pornire a computerului prin intermediul managerului de pornire . Toate acestea sunt posibile numai în virtutea partiționării memoriei secundare ( hard disk ) în mai multe sectoare logice independente în care fiecare poate găzdui un sistem diferit.

start

Când computerul este pornit, BIOS - ul , după faza POST , în așa-numita fază de boot , prin încărcătorul de încărcare , încarcă nucleul sistemului de operare de pe hard disk pe RAM , ca orice program, gata să fie executat de procesor , făcând aparatul gata de utilizare de către utilizator. În cazul sistemelor de operare care interacționează cu utilizatorul, această fază, după autentificarea inițială de către utilizator, implică de obicei încărcarea tuturor setărilor de configurare și a profilului utilizatorului , inițializând astfel spațiul utilizatorului .

Instalarea aplicației

Atunci când nu este deja direct prezent în sistemul original, utilizatorul sau administratorul poate instala aplicații suplimentare dorite pentru uz personal sau profesional.

Administrare

Pe computerele de acasă, administratorul sistemului de operare este de obicei utilizatorul însuși printr-un profil de utilizator dedicat adecvat ( Administrator pe sistemele Windows și Root pe sistemele Unix - Linux ). În realitățile de afaceri, computerele desktop și serverele sunt gestionate de echipe de ingineri de sisteme dedicate , gestionând și partajând volumul de lucru între ele aproape întotdeauna prin utilizarea liniei de comandă a terminalului sau prin terminalul virtual .

Manager sarcini și panou de control

Un instrument foarte util pentru administrare este managerul de sarcini sau un program, adesea prezent în mod implicit pe sistemele de operare, util pentru monitorizarea resurselor computerului, cum ar fi memoria RAM utilizată și procentul de utilizare a procesorului , precum și lista tuturor proceselor active care rulează și capacitatea de a le termina individual. Multe sisteme oferă, de asemenea, grafic așa-numitul panou de control sau un instrument de interfață grafică care vă permite să realizați sau să eliminați toate setările sistemului (de exemplu, panoul de control Windows ).

Siguranță

Pictogramă lupă mgx2.svg Același subiect în detaliu: Securitatea sistemelor de operare .

Administrarea utilizatorilor

Multi-utilizator ridică o serie de probleme din punctul de vedere al securității sistemelor de operare sau cum să distingem diferiții utilizatori unul de celălalt, cum să ne asigurăm că niciun utilizator nu poate provoca daune altora sau mașinii în care este folosind. Aceste probleme de securitate IT sunt rezolvate prin atribuirea unui cont unic pentru fiecare utilizator, atribuirea unui proprietar fișierelor și programelor și gestionarea unui sistem de permisiuni pentru accesarea acestora și furnizarea unei ierarhii de utilizatori (adică conturi) pentru care sistemul va respinge toate potențialele comenzi „periculoase” și le vor accepta numai dacă sunt date de un utilizator din partea de sus a ierarhiei, care este administratorul de sistem .

Antivirus și firewall

Ingineri de sisteme care lucrează în dulapul rack

Unele sisteme de operare, inclusiv sistemele Microsoft Windows și MacOS , necesită instalarea unor programe antivirus sau anti- malware adecvate pentru a preveni atacurile cibernetice asupra funcționării și securității computerului. Sistemele Unix-Linux nu au nevoie de acest tip de protecție, deoarece sunt inerent mai sigure. Este adesea posibil să instalați și să activați firewall-uri personale adecvate atunci când nu există deja un fel de firewall perimetral în rețea . Aceste programe rulează în fundal și tind să fie destul de grele, adică au tendința de a utiliza memorie și resurse de procesare care adesea nu sunt neglijabile.

Actualizați

Activitatea de administrare tipică, deseori efectuată în mod automat, este aceea că actualizarea ( actualizarea ) sistemului prin intermediul patch - urilor descărcate periodic de pe site-ul producătorului sau din depozitul corespunzător. Acestea sunt porțiuni de cod care odată instalate fac sistemul mai sigur ( patch de securitate ) eliminând vulnerabilitățile intrinseci sau făcând mai fiabilă funcționarea computerului ( patch de sistem ). Pe Windows, aceste actualizări se numesc service pack-uri . Actualizarea la o versiune superioară de sistem se numește upgrade .

Sisteme de operare particulare

Sisteme de operare mainframe

Exemplu mainframe
Pictogramă lupă mgx2.svg Același subiect în detaliu: Mainframe și UNIX .

Il mainframe computer ( ellissi utilizzata comunemente: mainframe ) o sistema centrale è un tipo di computer caratterizzato da prestazioni di elaborazione dati di alto livello di tipo centralizzato, opposto dunque a quello di un sistema distribuito come un cluster computer . Tipicamente sono presenti in grandi sistemi informatici come i centri elaborazione dati o organizzazioni (pubbliche e private) dove sono richiesti elevati livelli di multiutenza , enormi volumi di dati, grandi prestazioni elaborative, unite ad alta affidabilità .

Linux per IBM Z e UNIX

I nuovi, più piccoli ed economici IBM Z insieme a Linux, si impongono come un'interessante alternativa ai server di tecnologia RISC o SPARC con Unix. Linux su macchine con tecnologia Mainframe (MF) sembra essere una soluzione tecnicamente adottabile sotto molti punti di vista:

  • affidabilità e gestibilità derivanti da 40 anni di esistenza della piattaforma;
  • la grande flessibilità e granularità degli ultimi modelli;
  • un sistema operativo open source disponibile sull'IBM Z.

È quindi oggi possibile proporre un paragone tra Linux su IBM Z ed una macchina Unix. L'IBM Z fornisce, infatti, valore in molteplici aree:

  • Economici: i prezzi sono rimasti invariati a fronte di un aumento delle capacità di calcolo;
  • Utilizzo: gli IBM Z tipicamente girano ad un 80%-100% di utilization rate, mentre i server distribuiti performano intorno al 20%;
  • Efficienza: sia da un punto di vista di spazio fisico che di consumi elettrici, l'utilizzo della piattaforma IBM Z porta notevoli risparmi in confronto a molteplici server distribuiti;
  • Sicurezza: l'IBM Z offre soluzioni di sicurezza integrate per l'identity management, l'encryption facilities e la gestione semplificata delle chiavi di sicurezza.

Questi sono alcuni benefici unanimemente riconosciuti della piattaforma IBM Z. Ci sono anche molti motivi per adottare Linux su IBM Z:

  • Standardizzazione: molte aziende già utilizzano Linux su piattaforme distribuite. Per coloro che utilizzano anche un IBM Z per le applicazioni principali, zLinux sarà una naturale evoluzione grazie ai risparmi economici che può portare. Infatti, non sono molte né complicate le attività sistemistiche necessarie a portare un'applicazione che gira su Linux su server distribuiti a zLinux;
  • Consolidamento: molti server distribuiti Unix o Linux possono essere consolidati su un unico IBM Z, assicurando così notevoli vantaggi economici ed una piattaforma altamente affidabile, sicura e scalabile;
  • Facilità: installare Linux su IBM Z è relativamente semplice; sono disponibili molteplici versione di Linux funzionanti su tali mainframe ( SUSE , Red Hat , CentOS ).

La gestione di complessi carichi di lavoro nell'IBM Z

Come tutte le tecnologie si sono evolute nell'ottica di poter ospitare carichi di lavoro specifici, una serie di tecnologie sono state integrate all'interno degli IBM Z per poter ospitare carichi di lavoro eterogenei tra loro all'interno della stessa elaborazione. Non è affatto inusuale constatare che un solo System z9 riesca a gestire applicazioni prettamente transazionali insieme ad applicazioni di Business Intelligence. Questo è dovuto ad un costante ammodernamento della piattaforma che ha cercato di mantenere come caratteristica fondamentale l'effettivo supporto a tutto ciò che la tecnologia aveva già prodotto.

In poche parole, se negli anni ottanta le applicazioni transazionali IMS erano perlopiù utilizzate in un mondo Mainframe, oggi, le applicazioni Java possono essere integrate all'interno di un'infrastruttura Z capace di mantenere le caratteristiche prestazionali della piattaforma transazionale tradizionale CICS ed IMS insieme a quelle generate dal nuovo carico di lavoro Java. Non solo. La quantità di dati prodotti nel tempo sono oggetto di analisi attraverso applicazioni che riescono a sfruttare le caratteristiche di "DataBase Machine" e di "I/O Rate" tipiche dell'IBM Z in generale. Non c'è, inoltre, da meravigliarsi se allo stesso tempo alcuni server Linux virtualizzati all'interno di uno z/VM espletano funzioni di servizi di rete infrastrutturali all'azienda ( firewall , DHCP , dns ).

Una caratteristica della tecnologia dell'IBM Z è l'abilità di supportare applicazioni di diversa natura attraverso tecniche intelligenti ed avanzate di gestione del workload disegnate per ri-allocare le risorse del sistema in maniera automatica e dinamica in accordo con le priorità definite. È interessante inoltre comprendere come la definizione delle priorità non è un qualcosa di definito dal punto di vista meramente tecnologico bensì da uno studio "economico" del processo di business associato.

z/OS

Magnifying glass icon mgx2.svg Lo stesso argomento in dettaglio: z/OS .

Su sistemi IBM si è soliti trovare come sistema operativo z/OS .

Sistemi operativi per server

Schermata di Windows Server 2016
Magnifying glass icon mgx2.svg Lo stesso argomento in dettaglio: Linux , Unix e Windows Server .

I sistemi operativi per server sono molti ma i più usati e più conosciuti sono generalmente:

I sistemi operativi per server possono essere sia installati direttamente sull'hardware della macchina, sia virtualizzati sopra un hypervisor (es. una distribuzione Linux su VMware ESXi ) il quale permette di sfruttare lo stesso server fisico per più server virtuali, ottimizzando la gestione delle risorse.

In diversi casi un sistema operativo può fungere da hypervisor e server allo stesso tempo, ad esempio Windows Server con Hyper-V che ospita altri sistemi Windows , oppure i Logical Domains ( LDoms ) di Solaris .

In applicazioni più specifiche, quali midrange e mainframe, è possibile trovare sistemi operativi più specifici e dedicati al processare alti volumi di record e transazioni: IBM AS/400 , z/OS , z/TPF , oppure HP Integrity NonStop .

Servizi e tipi di server

Sistemi operativi per dispositivi mobili

Schermata di Android 11
Magnifying glass icon mgx2.svg Lo stesso argomento in dettaglio: Sistema operativo per dispositivi mobili .

Un sistema operativo per dispositivi mobili (in inglese "mobile OS") è un sistema operativo che controlla un dispositivo mobile con lo stesso principio con cui Mac OS , Unix , Linux o Windows controllano un desktop computer oppure un laptop .

Tuttavia affronta problematiche legate alla natura del dispositivo mobile, più critiche rispetto ad un desktop o un laptop; tra le tante: la limitatezza delle risorse (memoria, CPU), l'assenza di alimentazione esterna, differenti tecnologie per l'accesso a Internet ( WiFi , GPRS , HSDPA ...), nuovi metodi d'immissione ( touch screen , minitastiere), ridotte dimensioni del display .

Sistemi operativi realtime

Un sistema operativo realtime è un particolare tipo di sistema operativo, in grado di garantire una risposta entro un dato tempo limite (millisecondi o microsecondi) a qualunque evento esterno. Questo requisito porta a una diversa struttura del sistema: per esempio i sistemi realtime usano spesso il polling (meno efficiente, ma deterministico) invece degli interrupt per gestire le periferiche, e non hanno memoria virtuale.

I sistemi realtime si trovano spesso in ambito industriale, musicale o comunque dove sia necessario ottenere una risposta dal sistema in un tempo massimo prefissato. A loro volta i sistemi realtime si possono dividere in due categorie: hard e soft, a seconda dei tempi di risposta; un PC che faccia girare un gioco in 3D, per esempio, può essere considerato un sistema "soft-realtime".

Sistema operativo online

Mediante opportuni software, il sistema operativo può avere la funzionalità di desktop remoto , che consente tramite una connessione internet l'accesso al proprio elaboratore ea tutti gli applicativi e dati salvati in uno specifico momento. Tramite accesso remoto sono possibili le stesse operazioni che si possono fare stando davanti al proprio elaboratore. L'accesso è protetto da user e password che possono essere al limite condivisi da una comunità di utenti. In questo caso, il desktop remoto è un'evoluzione della tradizionale cartella condivisa. La cartella condivisa già permetteva la comunicazione di qualsiasi file, dunque anche di eseguibili, installabili da remoto in locale, oltreché di dati.

Sistemi distribuiti in rete

Tra le varie ipotesi d'uso di un sistema operativo c'è anche la possibilità di gestione di un sistema distribuito in rete. In tal caso la computazione viene distribuita tra più computer collegati in rete tra loro. In questo modo le risorse e il carico computazionale vengono condivise e bilanciate, ottenendo una maggiore affidabilità e costi più contenuti nella scalabilità. Una configurazione funzionalmente simmetrica permette che tutte le macchine componenti abbiano lo stesso ruolo nel funzionamento del sistema e lo stesso grado di autonomia. Un'approssimazione pratica di questa configurazione è il clustering. Il sistema viene suddiviso in cluster semiautonomi, dove ognuno di essi, a sua volta, è costituito da un insieme di macchine e da un server cluster dedicato.

Note

  1. ^ sistema operativo ::: Dizionario Informatico , su dizionarioinformatico.com . URL consultato il 26 settembre 2010 (archiviato dall' url originale l'8 agosto 2011) .
  2. ^ Linux annuncia il kernel O(1) Archiviato il 16 marzo 2012 in Internet Archive .

Bibliografia

  • Architettura dei Sistemi di Elaborazione, volume 1 - Fondamenti, firmware, architetture parallele. F. Baiardi, A. Tomasi e Marco Vanneschi, 1988, Franco Angeli Edizioni , ISBN 88-204-2746-X .
  • Architettura dei Sistemi di Elaborazione, volume 2 - Sistemi operativi, multiprocessore e distribuiti. F. Baiardi, A. Tomasi, Marco Vanneschi, 1987, Franco Angeli Edizioni, ISBN 88-204-2746-X .
  • Sistemi operativi - Concetti ed esempi. A. Silberschatz, P. Galvin, G. Gagne, 2006, Pearson Education Italia, ISBN 88-7192-233-6 .
  • Paolo Ancilotti, Maurelio Boari, Anna Ciampolini, Giuseppe Lipari, Sistemi operativi , 2ª ed., McGraw-Hill, ISBN 978-88-386-6432-8 . Le soluzioni commentate degli esercizi di riepilogo sono scaricabili gratuitamente on-line .
  • Alberto Leva, Martina Maggio, Alessandro Vittorio Papadopoulos, Federico Terraneo, Control-based Operating System Design , IET, 2013, ISBN 978-1-84919-609-3 .

Voci correlate

Altri progetti

Collegamenti esterni

Controllo di autorità Thesaurus BNCF 6140 · LCCN ( EN ) sh85094982 · GND ( DE ) 4006216-8 · BNF ( FR ) cb119333481 (data) · NDL ( EN , JA ) 00865121
Informatica Portale Informatica : accedi alle voci di Wikipedia che trattano di informatica