Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Windows 10
  • Fundamentele sistemelor de operare curs de prelegeri, manual. Curs de curs despre sistemele de operare

Fundamentele sistemelor de operare curs de prelegeri, manual. Curs de curs despre sistemele de operare

Sistem de operare (OS) este un program care oferă capacitatea de a utiliza rațional echipamentele computerului într-o manieră ușor de utilizat. Prelegerea introductivă prezintă subiectul studiat în acest curs. Mai întâi vom încerca să răspundem la întrebarea ce este OS Mai întâi vom încerca să răspundem la întrebarea ce este. Aceasta va fi urmată de o analiză a evoluției Mai întâi vom încerca să răspundem la întrebarea ce esteși o poveste despre apariția conceptelor și componentelor de bază ale modernului Mai întâi vom încerca să răspundem la întrebarea ce este. În final, va fi prezentată o clasificare

din punct de vedere al caracteristicilor arhitecturale şi al utilizării resurselor informatice.

Ce este un sistem de operare Structura

sistem de calcul În ce constă orice sistem de calcul? În primul rând, din ceea ce în țările vorbitoare de limbă engleză este de obicei numit cuvântul hardware sau suport tehnic: CPU , memorie, monitor, dispozitive de disc

etc., unite printr-o conexiune de coloană vertebrală numită magistrală. Câteva informații despre arhitectura computerelor sunt disponibile în Anexa 1 la această prelegere. În al doilea rând, un sistem de calcul este format din software. Tot software-ul este de obicei împărțit în două părți: aplicație și sistem. Software-ul de aplicație include de obicei o varietate de programe bancare și de afaceri, jocuri, procesoare de text etc. Software-ul de sistem se referă de obicei la programe care facilitează operarea și dezvoltarea programe de aplicație . Trebuie spus că împărțirea în software de aplicație și de sistem este parțial arbitrară și depinde de cine face împărțirea. Deci, un utilizator obișnuit, fără experiență în programare, poate lua în considerare Microsoft Word un program de sistem și, din punctul de vedere al programatorului, este o aplicație. Compilatorul limbajului C pentru un programator obișnuit este un program de sistem, iar pentru un programator de sistem este un program de aplicație. În ciuda acestei margini neclare, această situație poate fi afișată ca o secvență de straturi (vezi Fig. 1.1), evidențiind separat cele mai parte comună

software de sistem – sistem de operare: Orez. 1.1.

Straturi de software de sistem informatic

Ce este OS Majoritatea utilizatorilor au experiență de operare, dar cu toate acestea le va fi greu să dea acestui concept o definiție exactă. Să aruncăm o privire rapidă la punctele de vedere principale.

Sistem de operare ca o mașină virtuală

În timpul dezvoltării Mai întâi vom încerca să răspundem la întrebarea ce este abstracția este utilizată pe scară largă, care este o metodă importantă de simplificare și vă permite să vă concentrați asupra interacțiunii componentelor de nivel înalt ale sistemului, ignorând detaliile implementării lor. In acest sens Mai întâi vom încerca să răspundem la întrebarea ce este reprezintă interfața dintre utilizator și computer.

Arhitectura majorității calculatoarelor la nivel de instrucțiuni ale mașinii este foarte incomod pentru utilizare de către programele de aplicație. De exemplu, lucrul cu un disc necesită cunoașterea structurii interne a componentei sale electronice - un controler pentru introducerea comenzilor pentru rotirea discului, căutarea și formatarea pistelor, sectoarele de citire și scriere etc. Este clar că programatorul mediu nu este capabil să ia în considerare toate caracteristicile de funcționare ale echipamentului (în terminologia modernă - să dezvolte drivere de dispozitiv), dar ar trebui să aibă o simplă abstractizare la nivel înalt, să zicem, reprezentând spațiul de informații de pe disc ca un set de fișiere. Fișierul poate fi deschis pentru citire sau scriere, folosit pentru a prelua sau reseta informații și apoi închis. Acest lucru este conceptual mai simplu decât să vă faceți griji cu privire la detaliile mișcării capetelor de disc sau organizarea funcționării unui motor. În mod similar, cu ajutorul abstracțiilor simple și clare, toate detaliile inutile ale organizației sunt ascunse de programator întrerupe, funcționarea temporizatorului, gestionarea memoriei etc. Mai mult decât atât, pe sistemele de calcul moderne este posibil să se creeze iluzia de mărime și număr nelimitat de RAM procesoare. Face toate astea procesoare sistem de operare . Prin urmare, apare utilizatorului

mașină virtuală

, care este mai ușor de tratat decât direct cu hardware-ul computerului. Sistem de operare ca manager de resurse Sistem de operare., care este mai ușor de tratat decât direct cu hardware-ul computerului. conceput pentru a controla toate părțile unei arhitecturi computerizate extrem de complexe. Luați în considerare, de exemplu, ce s-ar întâmpla dacă mai multe programe care rulează pe același computer ar încerca să iasă la o imprimantă în același timp. Am ajunge cu un amestec de rânduri și pagini tipărite procesoare , Cum manager de resurse, efectuează o distribuție ordonată și controlată întrerupe, memorie și alte resurse între diferite programe.

Sistemul de operare ca protector al utilizatorilor și al programelor

Dacă sistemul de calcul permite lucrand impreuna mai mulți utilizatori, atunci se pune problema organizării activităților lor în siguranță. Este necesar să se asigure siguranța informațiilor de pe disc, astfel încât nimeni să nu poată șterge sau deteriora fișierele altor persoane. Programele unui utilizator nu trebuie să aibă voie să interfereze în mod arbitrar cu funcționarea programelor altor utilizatori. Este necesar să opriți încercările de utilizare neautorizată a sistemului informatic. Toate aceste activități se desfășoară sistem de operare Este necesar să se asigure siguranța informațiilor de pe disc, astfel încât nimeni să nu poată șterge sau deteriora fișierele altor persoane. Programele unui utilizator nu trebuie să aibă voie să interfereze în mod arbitrar cu funcționarea programelor altor utilizatori. Este necesar să opriți încercările de utilizare neautorizată a sistemului informatic. Toate aceste activități se desfășoară ca organizator al funcționării în siguranță a utilizatorilor și a programelor acestora. Din acest punct de vedere

pare a fi un sistem de securitate de stat, căruia îi sunt încredințate funcții de poliție și contrainformații.

Sistem de operare ca un nucleu care rulează constant Este necesar să se asigure siguranța informațiilor de pe disc, astfel încât nimeni să nu poată șterge sau deteriora fișierele altor persoane. Programele unui utilizator nu trebuie să aibă voie să interfereze în mod arbitrar cu funcționarea programelor altor utilizatori. Este necesar să opriți încercările de utilizare neautorizată a sistemului informatic. Toate aceste activități se desfășoară În sfârșit, putem da următoarea definiție: este un program care rulează constant pe un computer și interacționează cu toate programele aplicației. S-ar părea că aceasta este o definiție absolut corectă, dar, așa cum vom vedea mai târziu, în multe moderne sisteme de operare Doar o parte funcționează constant pe computer

sistem de operare procesoare, care se numește de obicei nucleul său. procesoare După cum putem vedea, există multe puncte de vedere asupra a ceea ce este

. Este imposibil să-i oferim o definiție strictă adecvată. Ne este mai ușor să spunem nu ce să mâncăm

, și de ce este nevoie și ce face. Pentru a clarifica această problemă, luați în considerare istoria dezvoltării sistemelor de calcul. O scurtă istorie a evoluției sistemelor de calcul Vom lua în considerare istoria dezvoltării computerului, și nu sisteme de operare deoarece hardware-ul și software-ul au evoluat împreună, influențându-se reciproc. Apariția noului

capabilități tehnice

a condus la o descoperire în crearea de programe convenabile, eficiente și sigure, iar ideile proaspete în domeniul software au stimulat căutarea de noi soluții tehnice. Aceste criterii – confort, eficiență și securitate – au jucat rolul factorilor de selecție naturală în evoluția sistemelor de calcul.

Primii pași în dezvoltarea computerelor electronice au fost făcuți la sfârșitul celui de-al Doilea Război Mondial. La mijlocul anilor '40 au fost create primele dispozitive de calcul cu tub și principiul programului, stocat în memoria mașinii (John Von Neumann, iunie 1945). La acel moment, același grup de oameni a participat la proiectarea, operarea și programarea computerului. A fost mai mult o muncă de cercetare în domeniul tehnologiei computerelor, mai degrabă decât utilizarea regulată a computerelor ca instrument pentru rezolvarea oricăror probleme practice din alte domenii aplicate. Programarea s-a realizat exclusiv în limbajul mașinii . Despre sisteme de operare nu se punea îndoială, toate sarcinile organizației proces de calcul

au fost rezolvate manual de fiecare programator din panoul de control. Doar un utilizator ar putea fi la telecomandă.

Programul a fost încărcat în memoria aparatului, în cel mai bun caz, dintr-un pachet de cărți perforate și, de obicei, folosind un panou de comutatoare. Sistemul de calcul a efectuat o singură operație la un moment dat (input-output sau calcule efective). Depanarea programelor a fost efectuată din panoul de control prin studierea stării memoriei și a registrelor mașinii. La sfârşitul acestei perioade apare primul software de sistem: în 1951–1952. Au apărut prototipurile primelor compilatoare din limbaje simbolice (Fortran etc.), iar în 1954 Nat Rochester a dezvoltat un asamblator pentru IBM-701. O parte semnificativă a timpului a fost petrecută pregătind lansarea programului, iar programele în sine au fost executate strict secvenţial.

Acest mod de operare se numește procesare secvențială a datelor.

În general, prima perioadă se caracterizează prin extrem cost ridicat sistemele de calcul, numărul lor mic și eficiența redusă de utilizare. A doua perioadă (1955–începutul anilor '60). Calculatoare pe bază de tranzistori. Sisteme de operare pe lot a dus la creșterea fiabilității computerului. Mașinile pot funcționa acum în mod continuu suficient de mult încât să poată fi alocate pentru a îndeplini sarcini practic importante. Consumul de energie electrică de către computere este redus și sistemele de răcire sunt îmbunătățite.

Dimensiunile computerelor s-au redus.

Costul de operare și întreținere a echipamentelor informatice a scăzut. A început utilizarea computerelor de către firmele comerciale. În același timp, există o dezvoltare rapidă a limbajelor algoritmice (LISP, COBOL, ALGOL-60, PL-1 etc.). Apar primele compilatoare reale, editori de linkuri, biblioteci de rutine matematice și utilitare. Procesul de programare este simplificat. Nu este nevoie să împovărăm aceiași oameni cu întregul proces de dezvoltare și utilizare a computerelor. În această perioadă personalul a fost împărțit în programatori și operatori, specialiști în operare și dezvoltatori de computere. Procesul de rulare a programelor în sine se schimbă. Acum utilizatorul aduce programul cu date de intrare sub forma unui pachet de cărți perforate și indică resursele necesare. Acest pachet se numește sarcină. Operatorul încarcă sarcina în memoria mașinii și o pornește pentru execuție. Datele rezultate sunt tipărite pe imprimantă, iar utilizatorul le primește înapoi după un timp (destul de lung). Modificarea resurselor solicitate determină suspendarea În ce constă orice sistem de calcul? În primul rând, din ceea ce în țările vorbitoare de limbă engleză este de obicei numit cuvântul hardware sau suport tehnic: executarea programului

, ca urmare adesea inactiv. Pentru a îmbunătăți eficiența utilizării computerului, locurile de muncă cu resurse similare încep să fie colectate împreună, creând un lot de locuri de muncă. Apar primele sisteme de procesare în loturi, care pur și simplu automatizează lansarea unui program dintr-un pachet după altul și, prin urmare, măresc factorul de încărcare procesor. La implementare sisteme de procesare în loturi a fost dezvoltat un limbaj oficial de control al sarcinilor, cu ajutorul căruia programatorul a informat sistemul și operatorul ce lucrare dorea să efectueze pe computer. O scurtă istorie a evoluției sistemelor de calcul Sisteme de procesare în loturi

a devenit prototipul modernului

, au fost primele programe de sistem concepute pentru a controla procesul de calcul. cost ridicat A treia perioadă (începutul anilor 60 - 1980). Calculatoare bazate pe circuite integrate. circuite integrate. Tehnologia informatică devine din ce în ce mai fiabilă și mai ieftină. Complexitatea și numărul de probleme rezolvate de computere este în creștere. întrerupe.

Productivitate crescuta Creșterea eficienței utilizării timpului procesorului este împiedicată de viteza scăzută a dispozitivelor mecanice de intrare-ieșire (un cititor de carduri perforate rapid ar putea procesa 1200 de carduri perforate pe minut, imprimantele imprimau până la 600 de linii pe minut). În loc să citească direct un pachet de sarcini de pe carduri perforate în memorie, ei încep să folosească înregistrarea preliminară a acestuia, mai întâi pe bandă magnetică și apoi pe disc. Când este necesară introducerea datelor în timpul unei lucrări, acestea sunt citite de pe disc. În mod similar, informațiile de ieșire sunt mai întâi copiate în memoria tampon de sistem și scrise pe bandă sau disc și tipărite numai după ce lucrarea este finalizată. La început, operațiunile efective de I/O au fost efectuate off-line, adică folosind altele, mai simple, separat calculatoare în picioare . Ulterior, acestea încep să fie executate pe același computer care efectuează calculele, adică în modul on-line. Această tehnică se numește spooling (prescurtare de la Simultaneous Peripheral Operation On Line) sau pompare și pompare de date. Introducerea tehnologiei pompă-pompă în De exemplu, lucrul cu un disc necesită cunoașterea structurii interne a componentei sale electronice - un controler pentru introducerea comenzilor pentru rotirea discului, căutarea și formatarea pistelor, sectoarele de citire și scriere etc. Este clar că programatorul mediu nu este capabil să ia în considerare toate caracteristicile de funcționare ale echipamentului (în terminologia modernă - să dezvolte drivere de dispozitiv), dar ar trebui să aibă o simplă abstractizare la nivel înalt, să zicem, reprezentând spațiul de informații de pe disc ca un set de fișiere. sisteme de loturi sisteme de procesare în loturi a făcut posibilă combinarea operațiunilor reale de intrare-ieșire ale unei sarcini cu executarea altei sarcini, dar a necesitat dezvoltarea unui dispozitiv

pentru notificare despre finalizarea acestor operațiuni. Benzile magnetice erau dispozitive de acces secvențial, adică informațiile erau citite din ele în ordinea în care au fost scrise. Apariția unui disc magnetic pentru care nu este importantă ordinea în care sunt citite informațiile, adică un dispozitiv acces direct, a condus la dezvoltarea în continuare a sistemelor de calcul. La procesarea unui lot de joburi pe bandă magnetică, ordinea în care au fost lansate joburile era determinată de ordinea în care au fost introduse. La procesarea unui lot de sarcini pe un disc magnetic, a devenit posibilă selectarea următoarei sarcini de executat.

Sisteme de loturi sisteme de procesare în loturiîncepe să programezi sarcini: în funcție de disponibilitatea resurselor solicitate, de urgența calculelor etc. una sau alta sarcină este selectată pentru cont. În ce constă orice sistem de calcul? În primul rând, din ceea ce în țările vorbitoare de limbă engleză este de obicei numit cuvântul hardware sau suport tehnic: nu stă inactiv, așa cum sa întâmplat în modul cu un singur program, ci execută un alt program. Când Operare I/O se termină În ce constă orice sistem de calcul? În primul rând, din ceea ce în țările vorbitoare de limbă engleză este de obicei numit cuvântul hardware sau suport tehnic: revine la execuția primului program. Această idee amintește de comportamentul unui profesor și al elevilor în timpul unui examen. În timp ce un elev (program) se gândește la răspunsul la o întrebare (operație de intrare/ieșire), profesorul ( În ce constă orice sistem de calcul? În primul rând, din ceea ce în țările vorbitoare de limbă engleză este de obicei numit cuvântul hardware sau suport tehnic:) ascultă răspunsul altui elev (calcule). Desigur, această situație necesită mai mulți studenți în sală. La fel, multiprogramarea necesită a avea mai multe programe în memorie în același timp. În acest caz, fiecare program este încărcat în propria sa secțiune de RAM, numită partiție, și nu ar trebui să afecteze execuția altui program. (Elevii stau la mese separate și nu se solicită reciproc.)

Apariția multiprogramării necesită o adevărată revoluție în structura sistemului de calcul. Suportul hardware joacă aici un rol special (multe inovații hardware au apărut în etapa anterioară de evoluție), ale căror caracteristici cele mai semnificative sunt enumerate mai jos.

    Implementarea mecanismelor de protecție. Programele nu ar trebui să aibă acces independent la alocarea resurselor, ceea ce duce la apariția comenzilor privilegiate și neprivilegiate. Comenzile privilegiate, cum ar fi comenzile I/O, pot fi executate numai sistem de operare. Mai întâi vom încerca să răspundem la întrebarea ce este Se spune că rulează în modul privilegiat. Transferul controlului de la programul de aplicație la Mai întâi vom încerca să răspundem la întrebarea ce esteînsoţită de o schimbare controlată de regim. În plus, este protecția memoriei, permițând izolarea unor programe de utilizator concurente unele de altele și

    – din programele utilizatorului. De exemplu, lucrul cu un disc necesită cunoașterea structurii interne a componentei sale electronice - un controler pentru introducerea comenzilor pentru rotirea discului, căutarea și formatarea pistelor, sectoarele de citire și scriere etc. Este clar că programatorul mediu nu este capabil să ia în considerare toate caracteristicile de funcționare ale echipamentului (în terminologia modernă - să dezvolte drivere de dispozitiv), dar ar trebui să aibă o simplă abstractizare la nivel înalt, să zicem, reprezentând spațiul de informații de pe disc ca un set de fișiere. Disponibilitate . Extern Mai întâi vom încerca să răspundem la întrebarea ce esteîntrerupe . notifica că a avut loc un eveniment asincron, cum ar fi o operație I/O finalizată. Intern(azi se numesc Mai întâi vom încerca să răspundem la întrebarea ce este situatii exceptionale

    ) apar atunci când execuția programului a dus la o situație care necesită intervenție În ce constă orice sistem de calcul? În primul rând, din ceea ce în țările vorbitoare de limbă engleză este de obicei numit cuvântul hardware sau suport tehnic:, cum ar fi împărțirea la zero sau încercarea de a încălca securitatea.

Dezvoltarea paralelismului în arhitectură. Accesul direct la memorie și organizarea canalelor I/O au făcut posibilă eliberarea centrală din operațiuni de rutină. Nu mai puțin important în organizarea multiprogramarii este rolul

    sistem de operare Mai întâi vom încerca să răspundem la întrebarea ce este. Ea este responsabilă pentru următoarele operațiuni. Organizarea interfeței dintre programul de aplicație și.

    cu ajutor sisteme de procesare în loturi apeluri de sistem sisteme de procesare în loturi.

    Trecerea de la un job la altul necesită păstrarea conținutului registrelor și structurilor de date necesare pentru a finaliza jobul, cu alte cuvinte, contextul pentru a asigura că calculul continuă corect.

    Deoarece memoria este o resursă limitată, sunt necesare strategii de gestionare a memoriei, adică este necesară eficientizarea proceselor de plasare, înlocuire și preluare a informațiilor din memorie.

    Organizarea stocării informațiilor pe medii externe sub formă de fișiere și asigurarea accesului la un anumit fișier doar anumitor categorii de utilizatori.

    Deoarece programele ar putea avea nevoie să efectueze schimburi de date autorizate, este necesar să le furnizeze mijloace de comunicare.

    Pentru schimbul corect de date, trebuie să permiteți situatii conflictuale problemele care apar atunci când se lucrează cu diverse resurse și asigură coordonarea prin programe a acțiunilor acestora, de ex.

furnizarea sistemului cu instrumente de sincronizare. Sistemele de multiprogramare au făcut posibilă mai mult utilizare eficientă sisteme de procesare în loturi resurse de sistem (de exemplu, , memorie, dispozitive periferice), dar au rămas mult timp lot

. Utilizatorul nu putea interacționa direct cu sarcina și trebuia să prevadă toate situațiile posibile folosind carduri de control. Programele de depanare erau încă consumatoare de timp și necesitau examinarea tipăririlor de mai multe pagini ale conținutului memoriei și registrelor sau utilizarea tipăririi de depanare. Apariția afișajelor cu raze catodice și o regândire a utilizării tastaturilor a adus o soluție la această problemă. 1) sisteme de partajare a timpului sau În ce constă orice sistem de calcul? În primul rând, din ceea ce în țările vorbitoare de limbă engleză este de obicei numit cuvântul hardware sau suport tehnic: sisteme de partajare a timpului .în RAM. Partea principală a programului este localizată pe disc, iar fragmentul care trebuie executat în acest moment poate fi încărcat în RAM, iar cel inutil poate fi descărcat înapoi pe disc. Acest lucru este implementat folosind un mecanism de memorie virtuală. Principalul avantaj al unui astfel de mecanism este crearea iluziei de RAM nelimitată a computerului.

ÎN sisteme de partajare a timpului utilizatorul a putut să depaneze eficient programul în modul interactiv și să scrie informații pe disc fără a utiliza carduri perforate, ci direct de la tastatură. Apariția fișierelor on-line a condus la necesitatea dezvoltării unor sisteme de fișiere avansate.

În paralel cu evoluția internă a sistemelor de calcul s-a produs și evoluția externă a acestora. Înainte de începutul acestei perioade, sistemele de calcul erau, de regulă, incompatibile. Fiecare avea a lui sistem de operare, propriul sistem de comandă etc. Ca urmare, un program care a rulat cu succes pe un tip de mașină a trebuit să fie complet rescris și re-depanat pentru a rula pe alt tip de computer. La începutul celei de-a treia perioade a apărut ideea de a crea familii de mașini compatibile cu software-ul care funcționează sub același control. sisteme de operare. Prima familie de software calculatoare compatibile, construit pe circuite integrate, a devenit seria de mașini IBM/360. Dezvoltată la începutul anilor 60, această familie a fost semnificativ superioară mașinilor din a doua generație în ceea ce privește prețul/performanța.

A fost urmată de linia de calculatoare PDP, incompatibilă cu linia IBM, iar modelul de top din această linie a fost PDP-11. sistem de operare Puterea „o familie” a fost și slăbiciunea ei. Posibilitățile largi ale acestui concept (prezența tuturor modelelor: de la mini-calculatoare la mașini gigantice; o abundență de diverse periferice; medii diferite; utilizatori diferiți) au dat naștere unui proces complex și greoi. . Milioane de linii de limbaj Asamblare, scrise de mii de programatori, conțineau multe erori, care au provocat un flux constant de publicații despre acestea și încercări de a le corecta. Doar in Majoritatea utilizatorilor au experiență de operare sistem de operare

OS/360 conținea peste 1000 de erori cunoscute. Cu toate acestea, ideea de standardizare

a fost introdus pe scară largă în mintea utilizatorilor și ulterior a primit o dezvoltare activă. A patra perioadă (din 1980 până în prezent).(BIS). Acești ani au înregistrat o creștere bruscă a gradului de integrare și o scădere a costului microcircuitelor. Un computer care nu diferă ca arhitectură de PDP-11, în ceea ce privește prețul și ușurința de utilizare, a devenit accesibil unui individ, și nu unui departament al unei întreprinderi sau universități. Era computerelor personale a sosit. Inițial, computerele personale erau destinate să fie utilizate de către un utilizator într-un mod cu un singur program, ceea ce a dus la degradarea arhitecturii acestor computere și a acestora. Majoritatea utilizatorilor au experiență de operare(în special, nu este nevoie să protejați fișierele și memoria, să programați sarcini etc.).

Calculatoarele au început să fie folosite nu numai de specialiști, ceea ce a necesitat dezvoltarea unui software „prietenos”.

Cu toate acestea, creșterea complexității și varietatea sarcinilor rezolvate pe computerele personale și nevoia de îmbunătățire a fiabilității funcționării acestora au condus la renașterea aproape a tuturor caracteristicilor caracteristice arhitecturii sistemelor de calcul mari.

La mijlocul anilor '80, rețelele de calculatoare, inclusiv computerele personale, rulau sub controlul reţea sau sisteme de operare distribuite.

ÎN sisteme de operare în rețea utilizatorii pot accesa resursele altuia computer de rețea, numai ei ar trebui să știe despre prezența lor și să poată face acest lucru. Fiecare mașină din rețea rulează sub propriul local sisteme de operare, diferit de sisteme de operare computer autonom cu prezența unor instrumente suplimentare ( suport software pentru dispozitivele de interfață de rețea și accesul la resurse de la distanță), dar aceste completări nu schimbă structura sisteme de operare.

Sistem distribuit, dimpotrivă, în exterior arată ca un sistem autonom obișnuit. Utilizatorul nu știe și nu ar trebui să știe unde sunt stocate fișierele sale - pe o mașină locală sau la distanță - și unde sunt executate programele sale. Poate că nici măcar nu știe dacă computerul său este conectat la rețea. Structura interna sistem de operare distribuit

prezintă diferenţe semnificative faţă de sistemele autonome. Pe viitor, autonom OS le vom numi clasice.

sisteme de operare După ce am analizat etapele dezvoltării sistemelor de calcul, putem identifica șase funcții principale care au fost îndeplinite de OS

    în proces de evoluție: sisteme de procesare în loturi.

    Programați locuri de muncă și utilizare

    Furnizarea programelor cu mijloace de comunicare și sincronizare.

    Gestionarea memoriei.

    Gestionarea sistemului de fișiere.

    management I/O.

Fiecare dintre funcțiile de mai sus este de obicei implementată ca subsistem, adică componentă structurală Mai întâi vom încerca să răspundem la întrebarea ce este. În fiecare sistem de operare aceste funcții, desigur, au fost implementate în felul lor, în diferite grade. Ele nu au fost proiectate inițial ca componente Majoritatea utilizatorilor au experiență de operare, dar a apărut în procesul de dezvoltare, pe măsură ce sistemele de calcul au devenit mai convenabile, mai eficiente și mai sigure. Evoluția sistemelor de calcul create de om a urmat această cale, dar nimeni nu a dovedit încă că aceasta este singura cale posibilă pentru dezvoltarea lor. OS exista pentru ca acest moment existența lor este o modalitate inteligentă de a folosi sistemele de calcul. Considerare principii generaleși algoritmi pentru implementarea funcțiilor acestora și constituie conținutul majorității cursului nostru, în care subsistemele enumerate vor fi descrise în mod consecvent.

Concepte de bază, concepte OS

În procesul de evoluție, au apărut câteva concepte importante care au devenit parte integrantă a teoriei și practicii. Mai întâi vom încerca să răspundem la întrebarea ce este. Conceptele abordate în această secțiune vor fi întâlnite și explicate pe parcursul cursului. O scurtă descriere a acestora este dată aici.

Apeluri de sistem

La orice . acceptă un mecanism care permite programelor utilizatorului să acceseze serviciile kernelului Mai întâi vom încerca să răspundem la întrebarea ce este. ÎN . Despre cel mai faimos computer sovietic BESM-6, mijloacele corespunzătoare de „comunicare” cu nucleul au fost numite extracoduri, în este un program care rulează constant pe un computer și interacționează cu toate programele aplicației. IBM le-a numit macrocomenzi de sistem etc. ÎN Mai întâi vom încerca să răspundem la întrebarea ce este Unix astfel de instrumente sunt numite apeluri de sistem.

Apeluri de sistem (apeluri de sistem) este interfața dintre sistem de operareși programul utilizatorului. Ei creează, șterg și folosesc diverse obiecte, principalele fiind procese și fișiere. Programul utilizator solicită un serviciu de la din operațiuni de rutină., efectuând apel de sistem. Există biblioteci de proceduri care încarcă registrele mașinii cu anumiți parametri și le realizează întrerupesisteme de procesare în loturi, după care controlul este transferat responsabilului cu acesta apel, incluse în nucleu sisteme de operare. Scopul unor astfel de biblioteci este de a face apel de sistem similar cu normalul apel subrutine.

Principala diferență este că atunci când apel de sistem Sarcina intră în modul privilegiat sau modul kernel. De aceea apeluri de sistem uneori numit și software întreruperi, spre deosebire de hardware De exemplu, lucrul cu un disc necesită cunoașterea structurii interne a componentei sale electronice - un controler pentru introducerea comenzilor pentru rotirea discului, căutarea și formatarea pistelor, sectoarele de citire și scriere etc. Este clar că programatorul mediu nu este capabil să ia în considerare toate caracteristicile de funcționare ale echipamentului (în terminologia modernă - să dezvolte drivere de dispozitiv), dar ar trebui să aibă o simplă abstractizare la nivel înalt, să zicem, reprezentând spațiul de informații de pe disc ca un set de fișiere. care mai des sunt numite simplu întreruperi.

Codul nucleului rulează în acest mod din operațiuni de rutină., și este executat în spațiul de adrese și în contextul sarcinii care l-a numit. sisteme de operare Deci miezul apel de sistem are acces complet la memoria programului utilizatorului și când apel este suficient să treci adresele uneia sau mai multor zone de memorie cu parametri apel.

și adresele uneia sau mai multor zone de memorie pentru rezultate In majoritate Apelul sistemului de operare . realizat de echipa de software întrerupe(INT). Software

este un eveniment sincron care poate fi repetat atunci când este executat același cod de program.

întreruperi Întrerupe (întrerupere hardware) este un eveniment generat extern (în legătură cu procesor De exemplu, lucrul cu un disc necesită cunoașterea structurii interne a componentei sale electronice - un controler pentru introducerea comenzilor pentru rotirea discului, căutarea și formatarea pistelor, sectoarele de citire și scriere etc. Este clar că programatorul mediu nu este capabil să ia în considerare toate caracteristicile de funcționare ale echipamentului (în terminologia modernă - să dezvolte drivere de dispozitiv), dar ar trebui să aibă o simplă abstractizare la nivel înalt, să zicem, reprezentând spațiul de informații de pe disc ca un set de fișiere.) dispozitiv. Prin hardware În ce constă orice sistem de calcul? În primul rând, din ceea ce în țările vorbitoare de limbă engleză este de obicei numit cuvântul hardware sau suport tehnic: echipamentul fie informează centrala indică faptul că a avut loc un eveniment care necesită un răspuns imediat (de exemplu, utilizatorul a apăsat o tastă) sau raportează finalizarea unei operațiuni I/O asincrone (de exemplu, datele s-au terminat de citit de pe disc în memoria principală). Tip important De exemplu, lucrul cu un disc necesită cunoașterea structurii interne a componentei sale electronice - un controler pentru introducerea comenzilor pentru rotirea discului, căutarea și formatarea pistelor, sectoarele de citire și scriere etc. Este clar că programatorul mediu nu este capabil să ia în considerare toate caracteristicile de funcționare ale echipamentului (în terminologia modernă - să dezvolte drivere de dispozitiv), dar ar trebui să aibă o simplă abstractizare la nivel înalt, să zicem, reprezentând spațiul de informații de pe disc ca un set de fișiere.. hardware temporizatoare care sunt generate periodic după o perioadă fixă ​​de timp.întreruperi sistem de operare sunt folosite cronometre De exemplu, lucrul cu un disc necesită cunoașterea structurii interne a componentei sale electronice - un controler pentru introducerea comenzilor pentru rotirea discului, căutarea și formatarea pistelor, sectoarele de citire și scriere etc. Este clar că programatorul mediu nu este capabil să ia în considerare toate caracteristicile de funcționare ale echipamentului (în terminologia modernă - să dezvolte drivere de dispozitiv), dar ar trebui să aibă o simplă abstractizare la nivel înalt, să zicem, reprezentând spațiul de informații de pe disc ca un set de fișiere. la planificarea proceselor. Fiecare tip de hardware Are . propriul număr întrerupe, care identifică în mod unic sursa . Hardware .– acesta este un eveniment asincron, adică are loc indiferent de codul care este executat

procesor

În acest moment. Procesare hardware nu ar trebui să ia în considerare ce proces este curent. Situații excepționale Situație excepțională (excepție) – un eveniment care are loc ca urmare a unei încercări de executare program de comandă , care din anumite motive nu poate fi completat până la finalizare. Exemple de astfel de comenzi includ încercarea de a accesa o resursă fără privilegii suficiente sau accesarea unei pagini de memorie lipsă. Situații excepționale (excepție) – un eveniment care are loc ca urmare a unei încercări de executare, precum și apeluri de sistem, sunt evenimente sincrone care apar în contextul sarcinii curente. pot fi împărțite în corectabile și incorigibile. Cele corectabile includ: din operațiuni de rutină. situatii exceptionale , ca lipsa informațiilor necesare în RAM. După eliminarea cauzei, este corectabilă situatie exceptionala programul poate continua să ruleze. Apariția în timpul lucrului corectabil procesoare situatii exceptionale considerat normal..

Fișierele sunt concepute pentru a stoca informații medii externe, adică se acceptă că informațiile înregistrate, de exemplu, pe un disc, trebuie să fie localizate în interiorul fișierului. De obicei, un fișier este înțeles ca o porțiune numită de spațiu pe un mediu de stocare.

Scopul principal al unui sistem de fișiere este de a ascunde caracteristicile I/O și de a oferi programatorului un model simplu și abstract de fișiere independente de dispozitiv. Există, de asemenea, o categorie extinsă pentru citirea, crearea, ștergerea, scrierea, deschiderea și închiderea fișierelor apeluri de sistem(crearea, ștergerea, deschiderea, închiderea, citirea etc.). Utilizatorii sunt familiarizați cu conceptele de organizare a sistemului de fișiere, cum ar fi directorul, directorul curent, directorul rădăcină și calea. Pentru a manipula aceste obiecte în . disponibil , care din anumite motive nu poate fi completat până la finalizare. Exemple de astfel de comenzi includ încercarea de a accesa o resursă fără privilegii suficiente sau accesarea unei pagini de memorie lipsă.. Sistemul de fișiere Mai întâi vom încerca să răspundem la întrebarea ce este descrise în prelegerile 11–12.

Procese, fire

Conceptul de proces în Mai întâi vom încerca să răspundem la întrebarea ce este una dintre cele mai fundamentale. Procesele sunt discutate în detaliu în prelegerile 2–7. Firele sau procesele ușoare sunt, de asemenea, descrise acolo.

Caracteristicile arhitecturale ale sistemului de operare

Până acum am vorbit despre a privi După ce am analizat etapele dezvoltării sistemelor de calcul, putem identifica șase funcții principale care au fost îndeplinite de din exterior, despre ceea ce fac Pe viitor, autonom. Restul cursului nostru va fi dedicat modului în care fac acest lucru.

Dar nu am spus încă nimic despre ce sunt ele din interior, ce abordări există pentru construcția lor.

Miez monolitic Este necesar să se asigure siguranța informațiilor de pe disc, astfel încât nimeni să nu poată șterge sau deteriora fișierele altor persoane. Programele unui utilizator nu trebuie să aibă voie să interfereze în mod arbitrar cu funcționarea programelor altor utilizatori. Este necesar să opriți încercările de utilizare neautorizată a sistemului informatic. Toate aceste activități se desfășoară De fapt, din operațiuni de rutină. este un program obișnuit, deci logic ar fi să-l organizăm în același mod în care sunt organizate majoritatea programelor, adică compuse din proceduri și funcții. În acest caz componentele nu sunt module independente, dar componente unu program mare din operațiuni de rutină.. Această structură numit miez monolitic (miez monolitic). Miez monolitic este un set de proceduri, fiecare dintre acestea putând apela fiecare. Toate procedurile rulează în modul privilegiat. Prin urmare, miez monolitic sisteme de operare- aceasta este o astfel de schemă , în care toate componentele sale sunt componente ale unui program, utilizați structuri generale din operațiuni de rutină. date și interacționează între ele apelând direct proceduri. Pentru monolitic

miezul coincide cu întregul sistem. . Despre In multe numit Cu procesoare Asamblarea nucleului, adică compilarea acestuia, se realizează separat pentru fiecare computer pe care este instalat . În acest caz, puteți selecta o listă de protocoale hardware și software, suport pentru care va fi inclus în kernel. Deoarece nucleul este un singur program, recompilarea este adăugați componente noi sau excludeți-le pe cele neutilizate. Trebuie remarcat faptul că prezența componentelor inutile în nucleu este extrem de nedorită, deoarece nucleul este întotdeauna situat în întregime în RAM. din operațiuni de rutină.În plus, eliminarea componentelor inutile îmbunătățește fiabilitatea

în general.Miez monolitic cea mai veche cale Majoritatea utilizatorilor au experiență de operare organizatii numit. Exemplu de sisteme cu

este majoritatea sistemelor Unix. Chiar și în sistemele monolitice, se poate discerne o anumită structură. Așa cum într-un bloc de beton se pot discerne incluziuni de piatră zdrobită, la fel și în miez monolitic proceduri de service intercalate corespunzătoare apeluri de sistem . Procedurile de service rulează în modul privilegiat, în timp ce programele utilizator rulează în modul non-privilegiat. Pentru a trece de la un nivel de privilegii la altul, uneori se poate folosi un program utilitar principal pentru a determina care dintre ele apel apel de sistem

a fost făcut, corectitudinea datelor de intrare pentru aceasta

și transferarea controlului către procedura de service corespunzătoare cu o tranziție la modul de operare privilegiat.

Uneori există și un set de utilitare software care ajută la efectuarea procedurilor de service. Sisteme stratificate

Sistemele stratificate sunt bine implementate. Când utilizați operațiuni de nivel inferior, nu trebuie să știți cum sunt implementate, trebuie doar să înțelegeți ce fac.

Sistemele stratificate sunt bine testate.

Depanarea începe de la stratul inferior și se realizează strat cu strat. Când apare o eroare, putem fi siguri că se află în stratul testat. sistem de operare Sistemele stratificate sunt ușor modificate. Dacă este necesar, puteți înlocui doar un strat fără a atinge celelalte. Dar sistemele stratificate sunt greu de dezvoltat: este dificil să se determine corect ordinea straturilor și ce aparține cărui strat. Sistemele stratificate sunt mai puțin eficiente decât cele monolitice. Deci, de exemplu, pentru a efectua operațiuni I/O, programul utilizatorului va trebui să treacă succesiv prin toate straturile de sus în jos. Mașini virtuale La începutul prelegerii am vorbit despre a privi Este necesar să se asigure siguranța informațiilor de pe disc, astfel încât nimeni să nu poată șterge sau deteriora fișierele altor persoane. Programele unui utilizator nu trebuie să aibă voie să interfereze în mod arbitrar cu funcționarea programelor altor utilizatori. Este necesar să opriți încercările de utilizare neautorizată a sistemului informatic. Toate aceste activități se desfășoară Cum Dacă este necesar, puteți înlocui doar un strat fără a atinge celelalte. mașină virtuală când utilizatorul nu are nevoie să cunoască detaliile structurii interne a computerului. Funcționează cu fișiere, nu cu capete magnetice În ce constă orice sistem de calcul? În primul rând, din ceea ce în țările vorbitoare de limbă engleză este de obicei numit cuvântul hardware sau suport tehnic: si motor; funcționează cu memorie RAM virtuală uriașă, mai degrabă decât cu memorie RAM reală limitată; nu-i pasă prea mult dacă este singurul utilizator de pe mașină sau nu. Să luăm în considerare o abordare ușor diferită. Lăsa . unelte pentru fiecare utilizator, dar fără a-i face viața mai ușoară, ci, dimpotrivă, complicând-o. Fiecare este așa . Procedurile de service rulează în modul privilegiat, în timp ce programele utilizator rulează în modul non-privilegiat. mașină virtuală sisteme de operare apare în fața utilizatorului ca bare metal - o copie a întregului hardware din sistemul informatic, inclusiv sistem de operare, comenzi privilegiate și neprivilegiate, dispozitive de intrare/ieșire, Dacă este necesar, puteți înlocui doar un strat fără a atinge celelalte. etc. Și a rămas singur cu acest fier de călcat. Când încercați să contactați acest lucru

hardware virtual ceea ce se întâmplă de fapt la nivelul de comandă privilegiat este

real , care efectuează toate acțiunile necesare. Această abordare permite fiecărui utilizator să-și încarce propriile pe

și fă cu ea orice dorește inima ta. Majoritatea utilizatorilor au experiență de operare Orez. 1.3. Opțiune de mașină virtuală Primul Majoritatea utilizatorilor au experiență de operare.

sistem real

Acest tip de sistem a fost CP/CMS sau VM/370, așa cum se numește acum, pentru familia de mașini IBM/370. O scurtă istorie a evoluției sistemelor de calcul Dezavantajul unui astfel de arhitectura microkernel (arhitectura microkernel) din operațiuni de rutină., când majoritatea componentelor sale sunt programe independente. În acest caz, interacțiunea dintre ele asigură modul special sisteme de procesare în loturi nucleu, numit microkernel. Microkernel-ul funcționează în modul privilegiat și asigură interacțiunea între programe și programarea utilizării De exemplu, lucrul cu un disc necesită cunoașterea structurii interne a componentei sale electronice - un controler pentru introducerea comenzilor pentru rotirea discului, căutarea și formatarea pistelor, sectoarele de citire și scriere etc. Este clar că programatorul mediu nu este capabil să ia în considerare toate caracteristicile de funcționare ale echipamentului (în terminologia modernă - să dezvolte drivere de dispozitiv), dar ar trebui să aibă o simplă abstractizare la nivel înalt, să zicem, reprezentând spațiul de informații de pe disc ca un set de fișiere., prelucrare primară

, operațiuni I/O și gestionarea de bază a memoriei. Orez. 1.4.

Arhitectura sistemului de operare Microkernel

Componentele rămase ale sistemului comunică între ele prin transmiterea mesajelor prin microkernel. Avantajul principal arhitectura microkernel din operațiuni de rutină.– grad ridicat de modularitate de bază .. Acest lucru face mult mai ușor să adăugați componente noi la acesta. În microkernel puteți, fără a întrerupe funcționarea acestuia, să încărcați și să descărcați noi drivere, sisteme de fișiere etc. Procesul de depanare a componentelor nucleului este simplificat semnificativ, deoarece o nouă versiune din operațiuni de rutină. driverele pot fi încărcate fără a reporni întregul din operațiuni de rutină.. Componentele kernelului nu sunt fundamental diferite de programele utilizatorului, așa că puteți folosi instrumente obișnuite pentru a le depana. Arhitectura microkernel

crește fiabilitatea sistemului deoarece o defecțiune la nivel de program neprivilegiat este mai puțin periculoasă decât o defecțiune la nivelul modului kernel. În același timp arhitectura sistemului de operare microkernel Este necesar să se asigure siguranța informațiilor de pe disc, astfel încât nimeni să nu poată șterge sau deteriora fișierele altor persoane. Programele unui utilizator nu trebuie să aibă voie să interfereze în mod arbitrar cu funcționarea programelor altor utilizatori. Este necesar să opriți încercările de utilizare neautorizată a sistemului informatic. Toate aceste activități se desfășoară introduce o suprasarcină suplimentară asociată cu transmiterea mesajelor, care are un impact semnificativ asupra performanței. Pentru microkernel nu era mai prejos ca viteză sisteme de operare pe bază miez monolitic O scurtă istorie a evoluției sistemelor de calcul, se impune proiectarea foarte atentă a împărțirii sistemului în componente, încercând să minimizeze interacțiunea dintre ele. Astfel, principala dificultate în crearea microkernel-urilor

– necesitatea unui design foarte atent.

Sisteme mixte Majoritatea utilizatorilor au experiență de operare Toate abordările considerate ale construcției Pe viitor, autonom au avantajele și dezavantajele lor. În cele mai multe cazuri modern din operațiuni de rutină. utilizați diferite combinații ale acestor abordări. Deci, de exemplu, nucleul Linux este un sistem monolitic cu elemente arhitectura microkernelului

. Când compilați nucleul, puteți activa încărcarea și descărcarea dinamică a multor componente ale nucleului - numite module. Când un modul este încărcat, codul său este încărcat la nivel de sistem și legat de restul nucleului. din operațiuni de rutină. In multe miez monolitic controlat de un microkernel. miez monolitic Așa sunt proiectate 4.4BSD și MkLinux, bazate pe microkernel-ul Mach. Microkernel-ul oferă gestionarea memoriei virtuale și drivere de nivel scăzut. Linux este un sistem monolitic cu elemente Toate celelalte funcții, inclusiv interacțiunea cu programele aplicației, sunt efectuate pe bază.

. Această abordare s-a format ca urmare a încercărilor de a profita Linux este un sistem monolitic cu elemente, păstrând codul cât mai bine depanat posibil pe bază Cel mai apropiat elemente sistem de operareși elemente . Despreîmpletite în nucleul Windows NT. nu era mai prejos ca viteză In multe numit Deși Windows NT este adesea numit microkernel

, acest lucru nu este în întregime adevărat. Microkernel-ul NT este prea mare (mai mult de 1 MB) pentru a purta prefixul „micro”. Componentele nucleului Windows NT sunt situate în memoria preemptibilă și interacționează între ele prin transmiterea de mesaje, așa cum era de așteptat în microkernel-uri. sistem de operare.

. În același timp, toate componentele kernelului funcționează în același spațiu de adrese și utilizează în mod activ structuri de date comune, ceea ce este tipic

. Majoritatea utilizatorilor au experiență de operare Potrivit experților Microsoft, motivul este simplu: un design pur microkernel este neprofitabil din punct de vedere comercial, deoarece este ineficient.

Astfel, Windows NT poate fi numit pe bună dreptate hibrid

Clasificarea OS După ce am analizat etapele dezvoltării sistemelor de calcul, putem identifica șase funcții principale care au fost îndeplinite de Există mai multe scheme de clasificare

    . Mai jos este o clasificare bazată pe unele caracteristici din punctul de vedere al utilizatorului. Implementarea multitasking-ului

    După numărul de sarcini efectuate simultan

poate fi împărțit în două clase: multifunctional Mai întâi vom încerca să răspundem la întrebarea ce este".

(Unix, OS/2, Windows); cu o singură sarcină (de exemplu, MS-DOS). Sistem de operare multitasking , rezolvând problemele de alocare a resurselor și concurență, implementează pe deplin modul multi-program în conformitate cu cerințele secțiunii „Concepte de bază, concepte Multitasking-ul, care întruchipează ideea de partajare a timpului, se numește preemptiv. Fiecărui program i se alocă un cuantum Mai întâi vom încerca să răspundem la întrebarea ce este.

procesor Mai întâi vom încerca să răspundem la întrebarea ce este timp după care controlul este transferat către alt program. Ei spun că primul program va fi înlocuit. Funcționează în modul preventiv În ce constă orice sistem de calcul? În primul rând, din ceea ce în țările vorbitoare de limbă engleză este de obicei numit cuvântul hardware sau suport tehnic: programe de utilizator Mai întâi vom încerca să răspundem la întrebarea ce este cele mai comerciale sisteme de procesare în loturi.

În unele Mai întâi vom încerca să răspundem la întrebarea ce este MS-DOS poate organiza lansarea unei sarcini copil și prezența a două sau mai multe sarcini în memorie în același timp. Mai întâi vom încerca să răspundem la întrebarea ce este Cu toate acestea, aceasta

considerată în mod tradițional a fi o singură sarcină, în principal din cauza lipsei mecanismelor de apărare și a capacităților de comunicare.

Suport multi-utilizator Mai întâi vom încerca să răspundem la întrebarea ce este După numărul de utilizatori concurenți

    poate fi împărțit în:

    utilizator unic (MS-DOS, Windows 3.x); multi utilizator

(Windows NT, Unix). Mai întâi vom încerca să răspundem la întrebarea ce este Cea mai semnificativă diferență între acestea se află în prezenţa lui sisteme multi-utilizator

mecanisme de protejare a datelor personale ale fiecărui utilizator.

Multiprocesare În ce constă orice sistem de calcul? În primul rând, din ceea ce în țările vorbitoare de limbă engleză este de obicei numit cuvântul hardware sau suport tehnic: Până de curând, sistemele de calcul aveau o centrală . Ca urmare a cererii de productivitate sporită, sisteme multiprocesor întrerupe, format din două sau mai multe Mai întâi vom încerca să răspundem la întrebarea ce este scop general, efectuarea executării în paralel a comenzilor. Suportul pentru multiprocesare este o caracteristică importantă Mai întâi vom încerca să răspundem la întrebarea ce esteși duce la complicarea tuturor algoritmilor de management al resurselor. Multiprocesarea este implementată în astfel de

, cum ar fi Linux, Solaris, Windows NT și multe altele. Sistem de operare multiprocesor Mai întâi vom încerca să răspundem la întrebarea ce esteîmpărțite în simetrice și asimetrice. În simetric pe fiecare procesor pe fiecare aceleași funcții de bază, iar sarcina poate fi executată pe oricare întrerupe, adică procesarea este complet descentralizată. În același timp, fiecare dintre

toată memoria este disponibilă. În asimetric procesoare OS În ce constă orice sistem de calcul? În primul rând, din ceea ce în țările vorbitoare de limbă engleză este de obicei numit cuvântul hardware sau suport tehnic: inegal. Există de obicei un principal În ce constă orice sistem de calcul? În primul rând, din ceea ce în țările vorbitoare de limbă engleză este de obicei numit cuvântul hardware sau suport tehnic:.

(stăpân) și subordonați (sclav), volumul de muncă și natura cărora este determinată de stăpân

Sisteme în timp real În grad sistem de operare multitasking , împreună cu sisteme de pachete Și sisteme de partajare a timpului , sunt de asemenea incluse sisteme în timp real

, care nu au fost menționate până acum. Sunt folosite pentru a controla diverse obiecte tehnice sau procese tehnologice . Astfel de sisteme se caracterizează prin extreme timp permis

reacție la un eveniment extern în timpul căruia trebuie executat programul care controlează obiectul. Sistemul trebuie să proceseze datele primite mai repede decât poate ajunge și din mai multe surse simultan. Astfel de restricții stricte afectează arhitectura sisteme în timp real

, de exemplu, le poate lipsi memoria virtuală, al cărei suport provoacă întârzieri imprevizibile în execuția programului. (Consultați și secțiunile legate de programarea proceselor și implementarea memoriei virtuale.) Mai întâi vom încerca să răspundem la întrebarea ce este nu este exhaustivă. Mai detaliat, caracteristicile utilizării moderne Mai întâi vom încerca să răspundem la întrebarea ce este revizuit în [ Olifer, 2001].

Concluzie

Ne-am uitat la diferite puncte de vedere asupra a ceea ce este Este necesar să se asigure siguranța informațiilor de pe disc, astfel încât nimeni să nu poată șterge sau deteriora fișierele altor persoane. Programele unui utilizator nu trebuie să aibă voie să interfereze în mod arbitrar cu funcționarea programelor altor utilizatori. Este necesar să opriți încercările de utilizare neautorizată a sistemului informatic. Toate aceste activități se desfășoară; O scurtă istorie a evoluției sistemelor de calcul a studiat istoria dezvoltării Pe viitor, autonom; a aflat ce funcții îndeplinesc de obicei Majoritatea utilizatorilor au experiență de operare; în cele din urmă și-am dat seama ce abordări ale clădirii există

.

Vom dedica următoarea prelegere clarificării conceptului de „proces” și problemelor de planificare a proceselor.

Anexa 1. În ce constă orice sistem de calcul? În primul rând, din ceea ce în țările vorbitoare de limbă engleză este de obicei numit cuvântul hardware sau suport tehnic: Câteva informații despre arhitectura computerului Principalele componente hardware ale unui calculator sunt: ​​memoria principală, centrală).

și dispozitive periferice. Pentru a face schimb de date între ele, aceste componente sunt conectate printr-un grup de fire numite coloană vertebrală (vezi Fig. Fig.1.5

Orez. 1.5.

Unele componente ale calculatorului . Memoria principală este folosită pentru a stoca programe și date în formă binară și este organizată ca o matrice ordonată de celule, fiecare cu o adresă digitală unică. . De obicei, dimensiunea celulei este de un octet. Operațiunile tipice pe memoria principală sunt citirea și scrierea conținutului unei celule cu o anumită adresă.

Diverse operațiuni cu date sunt efectuate de o parte izolată a computerului, numită partea centrală. sisteme de procesare în loturi(CPU). CPU are, de asemenea, locații de stocare numite registre. Acestea sunt împărțite în registre de uz general și registre de specialitate. În calculatoarele moderne, capacitatea registrului este de obicei de 4–8 octeți.

Registrele de uz general sunt folosite pentru a stoca temporar date și rezultatele operațiunilor. Pentru a procesa informații, datele sunt de obicei transferate din celulele de memorie în registre de uz general, iar operațiunea este efectuată de o centrală. În ce constă orice sistem de calcul? În primul rând, din ceea ce în țările vorbitoare de limbă engleză este de obicei numit cuvântul hardware sau suport tehnic:și transferarea rezultatelor operației în memoria principală.

Programul se execută după cum urmează. Instrucțiunea mașinii indicată de contorul de programe este citită din memorie și copiată în registrul de instrucțiuni. Aici este decodat și apoi executat. După ce o comandă este executată, contorul programului indică următoarea comandă. Aceste acțiuni, numite ciclu de mașină, sunt apoi repetate.

Interacțiunea cu dispozitivele periferice

Dispozitivele periferice sunt proiectate pentru a introduce și ieși informații. Fiecare dispozitiv include de obicei un computer specializat numit controler sau adaptor. Când controlerul este introdus în conector, pornit placa de baza

, se conectează la magistrală și primește un număr unic (adresă). Controlerul monitorizează apoi semnalele de pe magistrală și răspunde la semnalele care îi sunt adresate. (întrerupere hardware) este un eveniment generat extern (în legătură cu Orice operație I/O implică un dialog între CPU și controlerul dispozitivului. Când

Când o comandă legată de I/O este întâlnită ca parte a unui program, aceasta o execută trimițând semnale către controlerul dispozitivului. Acesta este așa-numitul I/O programabil. În ce constă orice sistem de calcul? În primul rând, din ceea ce în țările vorbitoare de limbă engleză este de obicei numit cuvântul hardware sau suport tehnic: La rândul său, orice modificare a dispozitivelor externe are ca rezultat transmiterea semnalului de la dispozitiv la CPU. Din punctul de vedere al procesorului, acesta este un eveniment asincron și necesită răspunsul acestuia. Pentru a detecta un astfel de eveniment, între ciclurile mașinii . interogă un registru special care conține informații despre tipul de dispozitiv care a generat semnalul. Dacă apare semnalul, CPU execută un program specific dispozitivului a cărui sarcină este să răspundă la acest eveniment în mod corespunzător (de exemplu, introduceți caracterul introdus de la tastatură într-un buffer special). Un astfel de program se numește program de procesare, și evenimentul în sine sisteme de procesare în loturiîntrerupere , deoarece perturbă munca planificată. După finalizarea procesării De exemplu, lucrul cu un disc necesită cunoașterea structurii interne a componentei sale electronice - un controler pentru introducerea comenzilor pentru rotirea discului, căutarea și formatarea pistelor, sectoarele de citire și scriere etc. Este clar că programatorul mediu nu este capabil să ia în considerare toate caracteristicile de funcționare ale echipamentului (în terminologia modernă - să dezvolte drivere de dispozitiv), dar ar trebui să aibă o simplă abstractizare la nivel înalt, să zicem, reprezentând spațiul de informații de pe disc ca un set de fișiere..

procesorul se întrerupe

1) revine la execuția programului.

Aceste acțiuni computerizate sunt numite input/output using

Calculatoarele moderne permit, de asemenea, comunicarea directă între controler și memoria principală, ocolind CPU - așa-numitul mecanism de acces direct la memorie.

Sub sistem de operareÎnțelegeți de obicei un set de programe de control și procesare, care, pe de o parte, acționează ca o interfață între echipamentul informatic și utilizator și, pe de altă parte, este destinat utilizării mai eficiente a resurselor sistemului informatic și organizării unor calcule fiabile. .

Oricare dintre componentele aplicației software rulează în mod necesar sub sisteme de operare. Diagrama prezintă o procedură software generalizată.

Se poate observa că niciuna dintre componentele software, cu excepția sistemului de operare în sine, nu are acces direct la hardware-ul computerului. Chiar și utilizatorul interacționează cu programele sale prin interfață. Oricare dintre comenzile lor, înainte de a intra în programele de aplicație, trec prin sistemele de operare, principalele funcții care sunt îndeplinite de sistemul de operare sunt:

1) primirea sarcinilor sau comenzilor formulate în limba corespunzătoare de la utilizator și procesarea acestora;

2) primirea și executarea unui program de solicitare pentru pornirea/suspendarea altor programe;

4) inițializarea programelor (transferarea controlului către acesta), în urma căreia procesorul folosește programul;

5) identificarea programelor;

6) asigurarea funcționării sistemului de gestionare a fișierelor bazei de date, care poate crește dramatic eficiența software-ului;

7) asigurarea modului de multiprogramare, i.e. executarea a două sau mai multe programe pe un procesor, creând aspectul executării lor simultane;

8) furnizarea de funcții pentru organizarea și gestionarea tuturor operațiunilor de intrare și ieșire;

9) satisfacerea unor constrângeri stricte de timp în timp real;

10) alocarea memoriei:

a) organizarea memoriei virtuale;

b) în majoritatea sistemelor moderne.

11) planificarea și expedierea în conformitate cu sarcina;

12) organizarea schimbului de mesaje și date între programele care rulează;

13) protejarea unui program de influența altor programe, asigurând păstrarea datelor;

14) furnizarea de servicii în caz de defecțiune parțială a sistemului;

15) asigurarea functionarii unui sistem de programe cu ajutorul caruia utilizatorii isi pregatesc programele.

De regulă, toate sistemele de operare moderne au un sistem de gestionare a memoriei. Organizația PMS desemnată acces mai convenabil la aceste organizații ca fișier. O serie de sisteme de operare vă permit să lucrați cu mai multe sisteme de fișiere simultan. În acest caz, ei vorbesc despre un sistem de fișiere montat, adică. Se poate instala memorie suplimentară.

Există sisteme de operare simple care pot funcționa fără sisteme de fișiere sau cu o singură parte a sistemului de fișiere. Orice sistem de gestionare a fișierelor este proiectat să funcționeze cu un anumit sistem de operare și un anumit sistem de fișiere.

De exemplu, binecunoscutul sistem de fișiere GRAS.

Alocare

Are multe implementări ca sistem de gestionare a fișierelor, de exemplu, GRAS 16 sub sistem DOMNIȘOARĂ- DOS sau Super GRAS Pentru OS/2 sau GRAS Pentru Windows.

Pentru a lucra cu fișiere organizate în conformitate cu anumite sisteme de fișiere, fiecare sistem de operare trebuie să aibă un sistem adecvat de gestionare a fișierelor. Acesta va funcționa numai pe sistemul de operare pentru care este proiectat. Pentru ușurința utilizării cu sistemul de operare, pot fi utilizate shell-uri de interfață suplimentare. Scopul lor principal este fie de a extinde capacitățile sistemului de operare, fie de a schimba capacitățile încorporate în sistem. Un exemplu clasic de shell-uri de interfață este:

    X Windows în sistemele familiale Unix;

    KDE – K Desktop Environment;

    PM Shell;

    Obiect Desktop.

Există diferite opțiuni de interfață pentru familia de sisteme de operare Windows care înlocuiesc Explorator,în dosar sistem. ini.

În sistemul de operare, numai shell-ul interfeței este înlocuibil. Mediul de operare este definit de interfețele software.

Aplicație

Interfață

API interfață de programare a aplicației, include controlul procesului, memoriei și I/O.

O serie de sisteme de operare pot rula o serie de programe concepute pentru a rula pe alte sisteme de operare. Mediul corespunzător este organizat în cadrul acestei mașini. La fel, în Linux poti crea conditii pentru executarea programelor scrise pentru Windows 98

Sub utilitatiînțelegeți sistemele de programare speciale cu care puteți întreține sistemul de operare, efectuați prelucrarea datelor, optimizați datele de pe suporturi și efectuați lucrări de întreținere a sistemului de operare.

Utilitarele includ un program pentru împărțirea unității în discuri magneticeîn partiții și un program de formatare, un program pentru transferul fișierelor de sistem de bază de către sistemul de operare însuși. Utilitarele pot rula numai pe sistemul de operare corespunzător.

Prelegerea nr. 2.

CONCEPTUL DE MEDIU DE OPERARE.

Sistemul de operare îndeplinește funcțiile de gestionare a proceselor de calcul într-un sistem informatic, distribuie resursele sistemului de computer între diferite procese de calcul și formează un mediu software în care sunt executate programele de aplicații ale utilizatorului. Acest mediu se numește sala de operatie.

Orice program se ocupă de unele date de intrare, pe care le prelucrează și produce unele date de ieșire, de exemplu. rezultatele calculelor. În marea majoritate a cazurilor, datele sursă ajung în memoria RAM a dispozitivelor externe (periferice).

Rezultatele calculului sunt transmise și către dispozitive externe. Programarea operațiunilor I/O este cea mai dificilă sarcină. De aceea, dezvoltarea sistemului de operare a luat calea identificării operațiilor cel mai frecvent întâlnite și a creării modulelor corespunzătoare pentru acestea, care să poată fi utilizate ulterior în programele nou create. //În cele din urmă, a apărut o situație când, la crearea programelor binare de mașină...//

Este posibil ca programatorii să nu cunoască nici măcar multe dintre detaliile gestionării resurselor sistemului informatic, dar trebuie să acceseze un subsistem software cu ieșirile corespunzătoare și să obțină funcțiile de service necesare. Acest subsistem software este sistemul de operare, iar setul de funcții de serviciu a condus la accesul la acesta și formează un concept de bază numit Mediul de operare, adică termenul mediu de operare înseamnă programele de interfață cu utilizatorul necesare pentru accesarea sistemului de operare în vederea obținerii unui anumit serviciu. Existența paralelă a termenilor „sistem de operare” și „mediu de operare” se datorează faptului că un sistem de operare poate suporta mai multe medii de operare. De exemplu, sistemul de operare OS/2 Urzeală poate rula următoarele programe:

    așa-zis nativ ( Nativ) programe create ținând cont de interfața de operare pe 32 de biți;

    Programe pe 16 biți create pentru OS/2 prima generatie;

    Programe pe 16 biți concepute pentru DOMNIȘOARĂ- DOS PSȘi DOS.

    Programe pe 16 biți pentru mediul de operare Windows.

    Învelișul de operare în sine Windows 3. Xși deja în el, programe create pentru el.

SCOPUL ŞI FUNCŢIILE SISTEMULUI DE OPERARE.

Sistem de operare - este un program care controlează funcționarea programului utilizatorului și a sistemelor de aplicații și acționează ca o interfață între aplicații și hardware-ul computerului. Scopurile sale pot fi împărțite în trei componente principale:

    comoditate: sistemul de operare face ca rularea computerului să fie simplă și convenabilă;

    eficienta: sistemul de operare permite utilizarea eficienta a resurselor sistemului informatic;

    posibilitatea de dezvoltare: sistemul de operare trebuie să permită dezvoltarea de noi aplicații și funcții de testare a sistemului fără a perturba funcționarea normală a sistemului de calcul.

SISTEMUL DE OPERARE CA INTERFATA INTRE UTILIZATOR SI CALCULATOR.

Utilizatorul, de regulă, nu este interesat de detaliile hardware-ului computerului, el îl vede ca pe un set de aplicații. Aplicația poate fi scrisă în oricare dintre limbajele de programare. Pentru a simplifica această sarcină, există un set programe de sistem, dintre care unele sunt numite utilitare, sunt adesea folosite pentru a implementa Funcții care ajută la crearea de programe de utilizator pentru lucrul cu fișiere și gestionarea dispozitivelor de intrare/ieșire. Programatorul folosește aceste instrumente atunci când dezvoltă aceste programe, iar aplicațiile apelează la utilitare în timpul execuției pentru a îndeplini anumite funcții. Cel mai important dintre programele de sistem este sistemul de operare, care ascunde detaliile hardware de programator și oferă o interfață convenabilă pentru executarea mediului de operare a sistemului. Poate include mai multe interfețe:

    personalizat;

    program

De exemplu, sistemul Linux lor. pentru utilizator ca comenzi de interfață (diverse shell-uri): C-Shell, K-Shell, B-Shell, bash-shell.

INTERFĂȚĂ TIP Midnight Comandant.

La fel și interfețele grafice ( X Windows). Poate conține diverși manageri de ferestre ( KDE Grome).

În ceea ce privește interfețele software, sistemul de operare Windows programele pot accesa atât sistemul de operare pentru serviciile și funcțiile corespunzătoare, cât și subsistemul grafic. Din punct de vedere al arhitecturii procesorului, al doilea program creat pentru a funcționa Linux folosește aceleași comenzi și formate de date ca și programul creat pentru a funcționa în mediu Windows. Cu toate acestea, în primul caz există un apel la mediul de operare, în al doilea - la altul. Astfel, mediul de operare este software-ul de sistem în care pot fi executate programe create după regulile de funcționare ale acestui mediu.

Sistemele de operare tipice oferă următoarele servicii:

    dezvoltare de software. Sistemul de operare oferă programatorului o varietate de instrumente și servicii, cum ar fi editori și depanare. Aceste servicii, implementate sub formă de utilități software care suportă sisteme de operare, deși nu fac parte din nucleul acestuia, se numesc;

    instrumente de dezvoltare a aplicațiilor executarea programelor.

    Pentru a porni programul, trebuie să efectuați o serie de pași. Comenzile și datele ar trebui să fie încărcate în memoria principală, iar dispozitivele trebuie inițializate. Sistemul de operare efectuează lucrări de rutină; acces la dispozitivele de intrare/ieșire . Fiecare dispozitiv I/O necesită propriul set de comenzi sau semnal controlat pentru a-și controla funcționarea. Sistemul de operare oferă utilizatorului o interfață uniformă care expune toate aceste detalii și permite programatorului să acceseze dispozitivele I/O folosind

    comenzi simple citire si scriere;

    controlează accesul la fișiere.

    Când lucrați cu fișiere, partea de gestionare a sistemului de operare este concepută nu numai pentru a înțelege natura dispozitivelor de intrare/ieșire și cunoașterea structurilor de date înregistrate în fișiere. Sistemele de operare multi-utilizator oferă și mecanisme de protecție la accesarea fișierelor; sisteme de acces . Sistemul de operare controlează accesul la sistemul public de calcul în ansamblu, precum și la resursele individuale ale sistemului. Trebuie să asigure protecția resurselor și a datelor împotriva utilizării neautorizate și, de asemenea, să rezolve situațiile conflictuale;

    detectarea și tratarea erorilor.

Un sistem de operare bun ar trebui să aibă un mijloc de contabilizare a utilizării diverselor resurse și de afișare a parametrilor producătorului. Aceste informații sunt extrem de importante pentru îmbunătățirea și reglarea ulterioară a sistemului pentru a îmbunătăți performanța.

SISTEM DE OPERARE CA MANAGER DE RESURSE.

    Un computer este un set de resurse care sprijină executarea sarcinilor, acumularea, stocarea, mișcarea și procesarea datelor și, de asemenea, controlează funcționarea acestor și a altor funcții. Este sistemul de operare care gestionează resursele computerului și controlează funcțiile de bază ale acestuia. Cu toate acestea, acest control are următoarele caracteristici:

    Funcțiile sistemului de operare funcționează în același mod ca toate celelalte software-uri, de ex. sunt implementate sub forma unor programe individuale sau a unui set de programe, executând procese;

sistemul de operare trebuie să transfere controlul altor procese și să aștepte ca procesorul să îi permită să-și îndeplinească din nou sarcinile.

Un sistem de operare este în esență un set de programe de calculator, ca orice alt program, emite comenzi către procesor. Diferența cheie este scopul acestui program. Sistem de operare //capabil//: cum să-i folosești pe alții resursele sistemului

, și cum să aloce timp atunci când utilizați alte programe, dar pentru aceasta procesorul trebuie să întrerupă lucrul cu acesta și să treacă la executarea altor programe.

Astfel, sistemul de operare cedează controlul procesorului, astfel încât acesta să poată face o muncă utilă, iar apoi reia controlul doar suficient pentru a pregăti procesorul pentru următoarea lucrare. O parte a sistemului de operare se află în RAM (principal, de bază). Această parte include miezul ( Nucleu

), care conține cea mai mare parte a funcțiilor cele mai frecvent utilizate și conține, de asemenea, alte componente ale sistemului de operare care sunt utilizate în prezent.

Procesorul este, de asemenea, o resursă pe care sistemul de operare trebuie să determine cât timp ar trebui să-l aloce executării unui anumit program utilizator. Sisteme multiprocesor: O decizie trebuie luată pe bază de proces.

POSIBILITATI DE DEZVOLTARE A SISTEMULUI DE OPERARE.

Majoritatea sistemelor de operare evoluează constant. Acest lucru se întâmplă din următoarele motive:

A ) actualizarea și apariția de noi tipuri de hardware;

b) servicii noi. La sistemul de operare pot fi adăugate noi instrumente pentru a monitoriza și evalua performanța pentru a menține o eficiență ridicată cu instrumentele existente ale utilizatorului;

V) corecţie. Fiecare sistem de operare are bug-uri. Din când în când sunt descoperite și corectate. Necesitatea schimbării regulate a sistemelor de operare impune anumite restricții asupra dispozitivului. Este evident că aceste sisteme trebuie să aibă un design modular, clar definit de interacțiunea modulelor. Pentru programele mari, este importantă o documentare bună și completă.

Conventii acceptate:

    I/O - intrare/ieșire;

    AO - hardware;

    DB - baza de date;

    RAM - memorie cu acces aleatoriu;

    OS - sistem de operare;

    ROM - memorie read-only;

    PC - calculator personal;

    Software - software;

    RV - timp real;

    SU - sistem de control;

    DBMS - sistem de gestionare a bazelor de date;

    UVV - dispozitiv de intrare/ieșire;

    FS - sistem de fișiere;

    CPU - procesor ( CPU).

Clasificarea viespilor

Dezvoltarea computerelor a dus la dezvoltarea sistemului de operare. Acum există peste 100 de sisteme de operare.

În funcție de scopul sistemului de operare, se obișnuiește să-l împarți în șapte niveluri.

1. Mainframe

Au capacități I/O diferite față de PC-uri. Mainframe-urile conțin de obicei mii de discuri și terabytes de RAM. Ele sunt utilizate sub formă de servere web puternice, servere pentru site-uri comerciale la scară largă și servere pentru tranzacții comerciale. Sistemele de operare mainframe sunt concepute pentru a gestiona multe joburi concurente, dintre care majoritatea necesită o cantitate mare Operațiuni I/O. Acestea implică de obicei trei tipuri de servicii:

      procesare în lot.

      prelucrarea tranzacțiilor (operațiuni de grup: prelucrarea și înregistrarea datelor). Sistemul de procesare a tranzacțiilor gestionează un număr foarte mare de cereri mici (de exemplu, controlează procesul de lucru într-o bancă, rezervă bilete de avion). Fiecare cerere individuală este mică, dar sistemul trebuie să răspundă la mii de solicitări pe secundă;

      împărțirea timpului. Sistemele care funcționează în modul de partajare a timpului permit multor utilizatori la distanță să își îndeplinească sarcinile pe o singură mașină, de exemplu, lucrând cu o bază de date mare. Toate aceste funcții sunt strâns legate și adesea sistemul de operare mainframe le realizează pe toate. Un exemplu de sistem de operare mainframe este OS/390 (de la IBM).

2. Sistem de operare server (rețea).

Ele funcționează pe servere, care sunt fie computere foarte mari, stații de lucru, fie chiar mainframe. Acestea servesc mai mulți utilizatori simultan și le permit să partajeze resurse software și hardware. Serverele oferă posibilitatea de a lucra cu dispozitive de imprimare, fișiere și internet. Furnizorii de internet rulează de obicei mai multe servere pentru a accepta accesul simultan la rețea pentru mai mulți clienți. Serverele stochează paginile site-ului web și procesează cererile de intrare. Sisteme de operare tipice pentru server: Windows 2000 și Unix. Sistemul de operare Linux a început să fie folosit acum în aceste scopuri.

3. Sistem de operare multiprocesor (clustere)

Cea mai des folosită metodă pentru a crește puterea unui computer este combinarea procesoarelor într-un singur sistem. În funcție de tipul de conexiune la CPU și de diviziunea muncii, astfel de sisteme sunt numite computere paralele, multicalculatoare sau sisteme multiprocesor. Acestea necesită sisteme de operare speciale, dar, de regulă, astfel de sisteme de operare sunt variante ale sistemelor de operare pentru server cu capacități speciale de comunicare.

4. Sistem de operare PC

Sarcina acestor sisteme de operare este de a prezenta o interfață ușor de utilizat pentru un singur utilizator. Astfel de sisteme de operare sunt utilizate pe scară largă pentru lucrul cu text, foi de calcul și accesarea internetului. Exemple vii: Windows 98, 2000, MacOS, Linux.

Parametrul principal al sistemului de operare RT este timpul. De exemplu, într-un sistem de control al producției, calculatoarele care funcționează în modul în timp real colectează date despre procesul industrial și le folosesc pentru a controla mașinile. Astfel de procese trebuie să îndeplinească cerințe stricte de timp. Deci, dacă o mașină se mișcă de-a lungul unei benzi transportoare, atunci fiecare acțiune trebuie efectuată la un moment strict definit în timp. Dacă un robot de sudură sudează o cusătură prea devreme/întârziere, aceasta va cauza daune ireparabile. Dacă o acțiune trebuie să aibă loc la un moment dat în timp sau într-un interval de timp dat, atunci vorbim despre un sistem RT rigid. Există un sistem flexibil de gestionare a timpului, în care termenele limită ocazionale ratate pentru operațiuni sunt acceptabile. Această categorie se încadrează în audio digitalși sisteme multimedia. Exemple de sisteme de operare: VxWorks, QNX.

6. Sistem de operare încorporat

Un computer de buzunar, sau PDA (Personal Digital Assistant), este un computer mic care se potrivește în buzunarul pantalonilor și îndeplinește anumite funcții (notebook, notepad). Exemple de sisteme de operare: PalmOS, Windows CE (Electronica de consum - aparate electrocasnice).

7. Sistem de operare pentru carduri inteligente (carduri inteligente - carduri inteligente)

Cele mai mici sisteme de operare rulează pe carduri inteligente, care sunt un dispozitiv cu un procesor. Astfel de sisteme de operare sunt supuse unor restricții extrem de stricte privind puterea procesorului și a memoriei. Unele dintre ele pot gestiona o singură operație, dar alte sisteme de operare de pe aceleași Smart Carduri îndeplinesc funcții complexe. Unele sisteme de operare sunt orientate spre Java, de ex. ROM-ul conține interpretul de mașină virtuală Java (ROM - Read Only Memory). Aplicațiile Java sunt încărcate pe card și executate de interpretul JVM (Java Virtual Machine). Unele dintre aceste carduri pot gestiona mai multe applet-uri Java în același timp, ceea ce duce la multitasking și la nevoia de programare. De asemenea, este nevoie de protecție. Aceste sarcini sunt de obicei efectuate de un sistem de operare extrem de primitiv.

7.1. Concepte de bază ale sistemului de operare

Una dintre componentele informaticii este - software (software), care este eterogen și are o structură complexă, incluzând mai multe niveluri: sistem, serviciu, instrumental, aplicație.

Pe Cel mai mic nivel există complexe de programe care îndeplinesc funcții de interfață (intermediar între o persoană și un computer, hardware și software, între programe care rulează simultan) de distribuire a diverselor resurse informatice. Programele la acest nivel sunt numite sistemică. Orice program de utilizator este lansat sub controlul unor complexe software numite sisteme de operare.

Următorul nivel este software utilitar. Programele de la acest nivel se numesc utilitare și îndeplinesc diverse funcții auxiliare. Poate fi programe de diagnosticare, folosit în timpul întreținerii diverse dispozitive(dischetă și hard disk), programe de testare, reprezentând un set de programe întreținere, arhive, antivirus etc. Utilitarele rulează de obicei sub sistemul de operare (deși pot accesa direct hardware-ul), deci sunt considerate un nivel superior. În unele clasificări, nivelurile de sistem și de servicii sunt combinate într-o singură clasă - programul sistemului.

Software de instrumentare prezintă pachete software pentru crearea altor programe. Procesul de creare a programelor noi în limbajul de comandă al mașinii este foarte complex și laborios, deci are performanță scăzută. În practică, majoritatea programelor sunt compilate în limbaje formale de programare, care sunt mai apropiate de cele matematice, prin urmare mai ușor și mai productiv de lucrat, iar traducerea programelor în limbajul de cod al mașinii este realizată de un computer folosind software instrumental. Programele software pentru instrumente sunt controlate de programele de sistem, deci sunt la un nivel superior.

Software de aplicație- cea mai mare clasă de programe din punct de vedere al volumului sunt programele utilizatorului final. Există aproximativ șase mii de profesii diferite în lume, mii de hobby-uri diferite, iar majoritatea dintre ele au în prezent un fel de produse software de aplicație. Aplicația software este, de asemenea, controlată de programele de sistem și se află la un nivel superior.

Rezumând cele de mai sus, putem propune următoarea structură software (Fig. 7.1).

Fig.7.1. Clasificarea software-ului



Clasificarea propusă a software-ului este în mare măsură arbitrară, deoarece în zilele noastre produsele software ale multor companii au început să combine elemente software din diferite clase. De exemplu, sistemul de operare Windows, fiind un complex de programe de sistem, conține un bloc de programe utilitare (defragmentare, scanare, curățare disc etc.), precum și procesorul de text WordPad, editorul grafic Paint, care aparțin clasa de programe aplicative.

Locul central în structura software-ului este ocupat de sistemul de operare (OS). Este „un sistem de programe conceput pentru a oferi un anumit nivel de eficiență unui sistem de calcul digital prin control automatizat activitatea sa și gama de servicii oferite utilizatorilor.”

Sistem de operare sistem de operare) - un set de bază de programe de calculator care oferă o interfață cu utilizatorul, controlul hardware-ului computerului, lucrul cu fișiere, intrarea și ieșirea datelor, precum și execuția programelor de aplicație și utilităților.

Sistemul de operare vă permite să faceți abstracție de la detaliile implementării hardware, oferind dezvoltatorilor de software minim set necesar funcții. Din punctul de vedere al oamenilor obișnuiți, utilizatorii obișnuiți echipamente informatice, Sistemul de operare include programe interfața cu utilizatorul.

Sistem de operare - un program care se încarcă atunci când computerul este pornit. Desfășoară un dialog cu utilizatorul, gestionează computerul, resursele acestuia (RAM, spațiu pe disc etc.), și lansează alte programe de aplicație pentru execuție. Sistemul de operare oferă utilizatorului și programelor de aplicație o modalitate convenabilă de a comunica (interfață) cu dispozitivele computerului personal.

Cele mai comune sisteme de operare: MS-DOS, OS/2, UNIX, WINDOWS, LINUX, WINDOWS NT, au diferite modificări.

Funcții principale (OS simplu):

Acces standardizat la dispozitivele periferice (dispozitive de intrare/ieșire);

Management RAM (distribuție între procese, memorie virtuală);

Controlul accesului la date pe medii nevolatile (cum ar fi HDD, CD, etc.), folosind de obicei un sistem de fișiere;

Interfața cu utilizatorul;

Operațiuni de rețea, suport pentru stiva de protocoale

Funcții suplimentare:

Execuția paralelă sau pseudo-paralelă a sarcinilor (multitasking);

Interacțiunea între procese: schimb de date, sincronizare reciprocă;

Protejarea sistemului în sine, precum și a datelor și a programelor utilizatorilor de acțiunile rău intenționate ale utilizatorilor sau aplicațiilor;

Diferențierea drepturilor de acces și a modului de operare multi-utilizator (autentificare, autorizare).

Un program care ascunde adevărul despre hardware și prezintă o listă simplă de fișiere care pot fi citite și scrise, de ex. ., Sistemul de operare nu numai că elimină nevoia de a lucra direct cu discuri și oferă o interfață simplă, orientată spre fișiere, dar ascunde și o mulțime de lucrări neplăcute cu întreruperi, contoare de timp, organizare a memoriei și alte elemente de nivel scăzut. În fiecare caz, procedura oferită de sistemul de operare este mult mai simplă și mai ușor de utilizat decât acțiunile cerute de hardware-ul de bază.

Din punctul de vedere al utilizatorului, sistemul de operare îndeplinește funcția de mașină virtuală, cu care este mai simplu și mai ușor de lucrat decât direct cu hardware-ul care alcătuiește computerul real, iar pentru programe, sistemul de operare oferă o serie de capabilități pe care le poate utiliza folosind comenzi speciale numite apeluri de sistem.

Conceptul de vizualizare a sistemului de operare în primul rând ca o interfață ușor de utilizat este o vedere de sus în jos. O vedere alternativă de jos în sus oferă o idee despre sistemul de operare ca mecanism de control al tuturor părților computerului. Calculatoarele moderne constau din procesoare, memorie, discuri, echipamente de rețea, imprimante și un număr mare de alte dispozitive. În a doua abordare, sarcina sistemului de operare este de a oferi o distribuție organizată și controlată a procesoarelor, memoriei și dispozitivelor I/O între diferitele programe care concurează să le utilizeze.

Tipuri de sisteme de operare.

Istoria dezvoltării sistemului de operare datează de mulți ani. Sistemele de operare au apărut și s-au dezvoltat în procesul de îmbunătățire a hardware-ului computerului, astfel încât aceste evenimente sunt strâns legate istoric. Dezvoltarea computerelor a condus la apariția unui număr mare de sisteme de operare diferite, nu toate fiind cunoscute pe scară largă.

De fapt nivelul superior sunt OS pentru mainframe. Aceste mașini uriașe mai pot fi găsite în organizații mari. Mainframe-urile diferă de computerele personale prin capacitățile lor de intrare/ieșire. Este destul de comun să găsiți mainframe cu mii de discuri și terabytes de date. Mainframe-urile acționează ca servere web și servere puternice mari intreprinderi si corporatii. Sistemele de operare mainframe sunt concepute în primul rând pentru a gestiona mai multe lucrări simultane, dintre care majoritatea necesită cantități uriașe de I/O. În mod obișnuit, ele efectuează trei tipuri de operațiuni: procesare în lot, procesare a tranzacțiilor (operațiuni în lot) și partajare a timpului. Procesarea în lot realizează sarcini standard pentru utilizatorii care lucrează în modul interactiv. Sistemele de procesare a tranzacțiilor gestionează un număr foarte mare de solicitări, cum ar fi rezervările pentru companii aeriene. Fiecare cerere individuală este mică, dar sistemul trebuie să răspundă la sute și mii de solicitări pe secundă. Sistemele de partajare a timpului permit multor utilizatori la distanță să își îndeplinească simultan sarcinile pe o singură mașină, de exemplu, lucrând cu o bază de date mare. Toate aceste funcții sunt strâns legate, iar sistemul de operare mainframe le realizează pe toate. Un exemplu de sistem de operare mainframe este OS/390.

Un nivel mai jos sunt OS server. Serverele sunt fie computere multiprocesor, fie chiar mainframe. Aceste sisteme de operare servesc simultan mulți utilizatori și le permit să partajeze resurse software și hardware între ei. Serverele oferă, de asemenea, posibilitatea de a lucra cu dispozitive de imprimare, fișiere sau internet. Furnizorii de internet operează de obicei mai multe servere pentru a suporta accesul simultan la rețea pentru mai mulți clienți. Serverele stochează paginile site-ului web și procesează cererile primite. UNIX și Windows 2000 sunt sisteme de operare tipice pentru server. Acum și sistemul de operare Linux a început să fie folosit în acest scop.

Următoarea categorie este formată din OS pentru computere personale. Sarcina lor este de a oferi o interfață ușor de utilizat pentru un singur utilizator. Astfel de sisteme sunt utilizate pe scară largă în Munca zilnica. Principalele sisteme de operare din această categorie sunt platforma Windows, Linux și sistemul de operare al computerului Macintosh.

Un alt tip de sistem de operare este sisteme în timp real. Parametrul principal al unor astfel de sisteme este timpul. De exemplu, în sistemele de control al producției, calculatoarele în timp real colectează date despre procesele industriale și le folosesc pentru a controla echipamentele. Astfel de procese trebuie să îndeplinească cerințe stricte de timp. Dacă, de exemplu, o mașină se deplasează de-a lungul unei benzi transportoare, atunci fiecare acțiune trebuie efectuată la un moment strict definit în timp. Dacă un robot de sudură sudează o cusătură prea devreme sau prea târziu, aceasta va provoca daune ireparabile produsului. Sistemele VxWorks și QNX sunt sisteme de operare în timp real.

Sisteme de operare încorporate folosit la calculatoarele de buzunar și la aparatele de uz casnic. Un computer de buzunar este un computer mic care se potrivește în buzunar și îndeplinește un set mic de funcții, de ex. carte de telefoaneși un blocnotes. Sisteme încorporate care controlează funcționarea dispozitivului aparate electrocasnice, nu sunt considerate computere, dar au aceleași caracteristici ca sistemele în timp real, dar au limitări speciale de dimensiune, memorie și putere care le fac o clasă proprie. Exemple de astfel de sisteme de operare sunt PalmOS și Windows CE (Consumer Electronics).

Cele mai mici sisteme de operare rulează carduri inteligente, care sunt un dispozitiv de dimensiunea unui card de credit și conțin o unitate centrală de procesare. Astfel de sisteme de operare sunt supuse unor restricții foarte stricte privind puterea procesorului și memorie. Unele dintre ele pot gestiona o singură tranzacție, cum ar fi plata electronică, dar alte sisteme de operare îndeplinesc funcții mai complexe.

Clasificarea sistemelor de operare.

Sistemele de operare sunt clasificate după:

Număr de utilizatori concurenți: unic, multi-utilizator;

Numărul de procese care rulează simultan sub controlul sistemului: cu o singură sarcină, cu mai multe sarcini;

Numărul de procesoare acceptate: un singur procesor, multi-procesor;

Biți cod OS: 8 biți, 16 biți, 32 biți, 64 biți;

Tip interfață: comandă (text) și orientată pe obiecte (grafică);

Tip de acces utilizator la computer: procesare batch, time sharing, timp real;

Tipul de utilizare a resursei: rețea, locală.

În conformitate cu primul semn de clasificare, sistemele de operare multi-utilizator, spre deosebire de sistemele de operare cu un singur utilizator, suportă funcționarea simultană a mai multor utilizatori pe un computer la diferite terminale.

Al doilea semn implică împărțirea sistemului de operare în multi-tasking și single-tasking. Conceptul de multitasking înseamnă susținerea execuției paralele a mai multor programe existente în cadrul aceluiași sistem informatic la un moment dat. Sistemele de operare cu o singură sarcină acceptă modul de execuție a unui singur program la un moment dat moment special timp.

În conformitate cu a treia caracteristică, sistemele de operare cu mai multe procesoare, spre deosebire de sistemele de operare cu un singur procesor, acceptă modul de distribuire a resurselor mai multor procesoare pentru a rezolva o anumită sarcină.

Al patrulea semn împarte sistemele de operare în 8, 16, 32 și 64 de biți. Aceasta implică faptul că capacitatea de biți a sistemului de operare nu poate depăși capacitatea de biți a procesorului.

În conformitate cu a cincea caracteristică, sistemele de operare sunt împărțite în funcție de tipul de interfață utilizator în orientate pe obiecte (de obicei cu o interfață grafică) și bazate pe comenzi (cu o interfață bazată pe text). Conform celei de-a șasea caracteristici, sistemele de operare sunt împărțite în sisteme:

Procesare batch, în care se formează un pachet (set) de sarcini din programe de executat, introduse în calculator și executate în ordinea priorității, cu posibila luare în considerare a priorității;

Time sharing (TSR), oferind un mod simultan de dialog (interactiv) de acces la computer a mai multor utilizatori pe terminale diferite, cărora li se alocă resursele mașinii la rândul lor, care este coordonat de sistemul de operare în conformitate cu o anumită disciplină de serviciu;

Timp real, oferind un anumit timp garantat pentru ca mașina să răspundă la o solicitare a utilizatorului cu controlul său prin orice evenimente, procese sau obiecte externe computerului.

În conformitate cu al șaptelea criteriu de clasificare, sistemele de operare sunt împărțite în rețea și locale. Sistemele de operare în rețea sunt concepute pentru a gestiona resursele computerelor conectate la o rețea în scopul partajării datelor și oferă mijloace puternice de restricționare a accesului la date pentru a asigura integritatea și siguranța acestora, precum și multe capacități de servicii pentru utilizarea resurselor rețelei.

În majoritatea cazurilor, sistemele de operare în rețea sunt instalate pe unul sau mai multe computere server destul de puternice, dedicate exclusiv întreținerii rețelei și a resurselor partajate. Toate celelalte sisteme de operare vor fi considerate locale și pot fi utilizate pe oricare calculator personal, precum și pe calculator separat conectat la rețea ca stație de lucru sau client.

Componente software Sistemul de operare oferă management computațional și implementează funcții precum programarea și alocarea resurselor, managementul de intrare/ieșire a informațiilor și gestionarea datelor. Volumul sistemului de operare și numărul programelor sale constitutive sunt în mare măsură determinate de tipul de computer utilizat, complexitatea modurilor de operare ale computerului și computerului, compoziția mijloacelor tehnice etc. Utilizarea sistemului de operare vă permite să:

Crește lățime de bandă Computer, adică o creștere a cantității totale de muncă efectuată de un computer pe unitatea de timp;

Reducerea timpului de răspuns al sistemului, de ex. reducerea intervalului de timp dintre momentele în care sarcinile sunt primite în computer și momentul în care sunt primite rezultatele;

Monitorizarea performanței hardware și software;

Asistarea utilizatorilor si operatorilor in utilizarea hardware-ului si software-ului, asigurand functionarea acestora;

Gestionarea programelor și datelor în timpul calculelor;

Asigurarea adaptării computerului, a flexibilității sale structurale, care constă în capacitatea de a se schimba și de a fi completat cu hardware și software nou.

Sistemul de operare este un complex de software de sistem și utilitar. Pe de o parte, se bazează pe software-ul de bază inclus în acesta sistem BIOS(sistem de bază de intrare/ieșire); pe de altă parte, în sine este suportul pentru software mai mult niveluri înalte- aplicație și majoritatea aplicațiilor de serviciu. Aplicațiile sistemului de operare sunt de obicei numite programe concepute să funcționeze sub controlul acestui sistem.

Funcția principală a tuturor sistemelor de operare este mediere. Constă în furnizarea mai multor tipuri de interfețe:

Interfață între utilizator și hardware-ul computerului (interfață utilizator);

Interfață între software și hardware (interfață hardware-software);

Interfață între diferite tipuri de software (interfață software).

Chiar și pentru o singură platformă hardware, cum ar fi PC-ul IBM, există mai multe sisteme de operare. Diferențele dintre ele sunt considerate în două categorii: interne și externe. Diferențele interne sunt caracterizate prin metode de implementare a funcțiilor de bază. Diferențele externe sunt determinate de disponibilitatea și accesibilitatea aplicațiilor unui anumit sistem necesare pentru a îndeplini cerințele tehnice pentru un anumit loc de muncă.

Principalele criterii pentru abordarea alegerii unui sistem de operare:

În prezent, există un număr mare de sisteme de operare, iar utilizatorul se confruntă cu sarcina de a determina care sistem de operare este mai bun decât altele (după anumite criterii). Evident, nu există sisteme ideale, fiecare dintre ele are propriile sale avantaje și dezavantaje. Atunci când alege un sistem de operare, utilizatorul trebuie să-și imagineze cum acesta sau acel sistem de operare îi va oferi o soluție la problemele sale.

Pentru a alege unul sau altul, trebuie să știți:

Pe ce platforme hardware și cu ce viteză rulează sistemul de operare;

Ce hardware periferic acceptă sistemul de operare;

Cât de pe deplin satisface sistemul de operare nevoile utilizatorului, adică care sunt funcțiile sistemului;

Care este modul în care sistemul de operare interacționează cu utilizatorul, adică cât de vizuală, convenabilă, de înțeles și familiară este interfața utilizatorului;

Există sfaturi informative, cărți de referință încorporate etc.;

Care este fiabilitatea sistemului, adică rezistența acestuia la erorile utilizatorului, defecțiunile echipamentelor etc.;

Ce capabilități oferă sistemul de operare pentru organizarea rețelelor?

Sistemul de operare oferă compatibilitate cu alte sisteme de operare;

Care unelte are un sistem de operare pentru dezvoltarea de programe de aplicație;

Sistemul de operare acceptă diferite limbi naționale?

Ce pachete software de aplicații cunoscute pot fi utilizate atunci când lucrați cu acest sistem;

Cum protejează sistemul de operare informațiile și sistemul în sine.

1. Conceptul OS. Funcții de bază ale sistemului de operare.

Un sistem de operare este de obicei înțeles ca un set de programe de control care acționează ca o interfață între hardware-ul computerului și sunt concepute pentru utilizarea cât mai eficientă a resurselor sistemului informatic și organizarea unor calcule fiabile. Oricare dintre componentele software rulează sub controlul sistemului de operare și niciuna dintre componentele software, cu excepția sistemului de operare în sine, nu are acces direct la hardware.

Principalele funcții ale sistemului de operare sunt:

1. Primirea sarcinilor sau comenzilor de la utilizator.

2. Primirea și executarea cererilor de program pentru a porni, întrerupe și opri alte programe.

4. Inițierea unui program (transferându-i controlul, în urma căruia procesorul execută programul).

5. Identificarea tuturor programelor și datelor.

6. Asigurarea funcționării sistemului de gestionare a fișierelor și a SGBD. ceea ce mărește eficiența întregului software.

7. Furnizarea modului de multiprogramare, adică execuția a 2 sau mai multe programe pe un procesor, dând aspectul execuției lor simultane.

8. Managementul operațiunilor de intrare/ieșire.

9. Satisfaceți constrângerile dure în timp real.??

10. Distribuția memoriei, organizarea memoriei virtuale.

11. Planificarea și dispecerizarea sarcinilor în conformitate cu strategia și disciplinele de serviciu specificate.

12. Schimb de mesaje și date între programele care rulează.

13. Protecția programelor de a se influența reciproc. asigurarea sigurantei datelor.

14. Furnizarea de servicii în caz de defecțiune a sistemului.

15. Asigurarea functionarii sistemelor de programare.

2. întreruperi. Manevrarea întreruperii.

Întreruperile sunt un mecanism care vă permite să coordonați funcționarea paralelă a dispozitivelor individuale ale unui sistem informatic și să răspundeți la condițiile speciale care apar în timpul funcționării procesorului. Întreruperile sunt un transfer forțat de control de la un program care rulează la sistem și, prin intermediul acestuia, la programul corespunzător de gestionare a întreruperilor, care are loc atunci când are loc un anumit eveniment. Scopul principal al introducerii întreruperilor este implementarea unui mod de operare asincron și paralelizarea funcționării dispozitivelor individuale ale complexului de calcul. Mecanismul de întrerupere este implementat în hardware și software.

Structurile sistemelor de întrerupere pot fi foarte diferite, dar toate au o caracteristică comună - o întrerupere duce cu siguranță la o schimbare a ordinii în care instrucțiunile sunt executate de procesor. Mecanismul de gestionare a întreruperilor include următoarele elemente:

1. Stabilirea faptului unei întreruperi (recepția și identificarea unui semnal de întrerupere).

2. Stocarea stării procesului întrerupt (starea procesului este determinată de valoarea contorului programului, conținutul registrului procesorului, specificarea modului: utilizator sau privilegiat)

3. Controlul este transferat de hardware către programul de gestionare a întreruperilor. În acest caz, adresa de pornire a subrutinei de gestionare a întreruperilor este introdusă în contorul de programe, iar din cuvântul de stare în registrele corespunzătoare.???

4. Salvarea informațiilor într-un program întrerupt care nu a putut fi salvat folosind acțiuni hardware.

5. Întrerupeți manipularea. Lucrarea poate fi efectuată de aceeași subrutină la care a fost transferat controlul în pasul 3, dar în sistemul de operare această procesare este cel mai adesea implementată prin apelarea funcției corespunzătoare. subrutine.

6. refacerea informațiilor legate de procesul întrerupt.

7. Reveniți la programul întrerupt.

Primii 3 pași sunt implementați în hardware, iar restul în software.

Principalele funcții ale mecanismului de întrerupere:

1. Întrerupe recunoașterea sau clasificarea.

2. Transferul controlului către operatorul de întrerupere.

3. Revenirea corectă la programul întrerupt

Trecerea de la programul întrerupt la handler și înapoi trebuie făcută cât mai repede posibil. Unul dintre metode rapide este de a folosi masa de gazon. lista cu toate întreruperile permise pentru un computer și adresele în consecință. manipulatorii. Pentru a reveni corect la un program întrerupt, înainte de a transfera controlul către handler, conținutul registrelor procesorului este stocat fie în memoria cu acces direct, fie pe stiva de sistem.

Întrerupeți service-ul. Prezența unui semnal de întrerupere nu trebuie neapărat să provoace o întrerupere a programului de execuție; Control software Aceste mijloace permit sistemului de operare să regleze procesarea semnalelor de întrerupere. Procesorul poate procesa întreruperi imediat după sosirea unei întreruperi, poate întârzia procesarea lor pentru o perioadă de timp sau le poate ignora complet. De obicei, operațiile de întrerupere sunt executate numai după ce instrucțiunea curentă a finalizat execuția. Deoarece semnalele de întrerupere apar în momente aleatorii, în momentul întreruperii pot exista mai multe semnale de întrerupere care pot fi procesate numai secvenţial. Pentru a procesa semnalele de întrerupere într-o ordine rezonabilă, li se atribuie priorități. Programele, prin gestionarea registrelor speciale de măști, vă permit să implementați diverse discipline de servicii:

1) cu prioritate relativă. În acest caz, serviciul nu este întrerupt chiar dacă există solicitări cu priorități mai mari. după terminarea serviciului a acestei cereri(actual) cererea cu cea mai mare prioritate este servită. Pentru a organiza o astfel de disciplină, este necesar să aplicați măști tuturor celorlalte întreruperi din program pentru deservirea acestei solicitări sau pur și simplu dezactivați sistemul de întrerupere.

2) cu prioritate absolută. Sarcinile cu cea mai mare prioritate sunt întotdeauna deservite. Pentru a implementa această disciplină, atunci când se solicită procesarea întreruperilor, toate întreruperile cu prioritate scăzută sunt mascate. În acest caz, este posibilă o întrerupere pe mai multe niveluri, adică întreruperea programului de serviciu de întrerupere. Numărul de niveluri de întrerupere în acest mod variază și depinde de prioritatea cererii pe baza principiului stivei: LCFS - ultimul venit, primul servit, adică o cerere cu o prioritate mai mare poate întrerupe o solicitare cu o prioritate mai mică. Când apare o solicitare de întrerupere, sistemul de întrerupere identifică semnalul și dacă întreruperile sunt activate, controlul este transferat celui corespunzător. program de gestionare a întreruperilor.

Secțiuni de serviciu în care se salvează contextul sarcinii întrerupte și ultima secțiune în care contextul este restaurat astfel încât sistemul de întrerupere să nu răspundă din nou la semnalul de solicitare de întrerupere. Acest sistem de întrerupere dezactivează automat întreruperile, deci este necesar să se reactiveze acest sistem de întrerupere în rutinele de întrerupere. Deci, în timp ce secțiunea centrală de gestionare a întreruperilor rulează, întreruperile sunt activate, în timp ce secțiunea finală rulează, subrutina de gestionare a întreruperilor trebuie dezactivată, iar după ce contextul sarcinii întrerupte este restabilit, aceasta trebuie activată din nou. Aceste acțiuni trebuie efectuate în fiecare procesare de întrerupere. În multe OS 1, secțiunea de gestionare a întreruperilor este alocată unui modul software special numit. întrerupe supraveghetorul.

3. Care este diferența dintre modulele de program re-intrabile și re-întreruptibile? Cum sunt implementate.

1. Ce este un sistem de gestionare a fișierelor (FMS)?

Scopul SUF.

Organizarea unui acces mai convenabil la datele organizate ca fișiere. În loc de acces la date de nivel scăzut - indicând adresa fizică a fiecărei înregistrări - se folosește accesul logic, indicând numele fișierului și înregistrarea din acesta.

O serie de sisteme de operare vă permit să lucrați cu mai multe SUF-uri, în acest caz se vorbește despre montat sisteme de fișiere. Există și sisteme de operare care funcționează fără SUF, adică. Orice sistem de gestionare a fișierelor nu este necesar în sine; este proiectat să funcționeze într-un anumit sistem de operare și un anumit sistem de fișiere.

2. Întreruperi externe, interne și software.

Întreruperi care apar în timpul operațiunii de calcul. sistemele pot fi împărțite în externe și interne. Întreruperile externe sunt cauzate de evenimente asincrone care apar în afara procesului care este întrerupt. Exemplu - întrerupere temporizator, întrerupere temporizator dispozitive externe, întrerupere I/O, întrerupere de pană de curent, întrerupere consola operatorului, întrerupere de la alt procesor sau alt sistem de operare.

Întreruperile interne sunt cauzate de evenimente care au legătură cu funcționarea procesorului și sunt sincrone cu operațiunile acestuia. De exemplu: în cazul unei încălcări a adresei (când este specificată o adresă interzisă sau inexistentă) sau acces la un segment sau o pagină lipsă la organizarea memoriei virtuale; dacă există o combinație de 2 cifre nefolosită în câmpul codului operațiunii; când se împarte la 0; când comanda depășește sau dispare; la detectarea erorilor de paritate, erori în funcționarea diferitelor dispozitive hardware prin mijloace de monitorizare.

Software-ul se întrerupe. Aceste întreruperi apar ca răspuns la comanda de întrerupere corespunzătoare, adică, cu această comandă, procesorul efectuează aceleași acțiuni ca și în cazul întreruperilor interne obișnuite. Acest mecanism a fost introdus special pentru a se asigura că trecerea la modulele programului de sistem are loc nu doar ca o tranziție la o subrutină, ci exact în același mod ca în întreruperile obișnuite. Acest lucru asigură comutare automată procesor în modul privilegiat cu capacitatea de a executa orice comenzi. Semnalele care provoacă întreruperi sunt generate în afara procesorului sau în procesorul însuși și pot apărea simultan. Selectarea unuia dintre ele pentru procesare se realizează pe baza priorității atribuite fiecărui tip de întrerupere. Considerarea priorității întreruperii poate fi inclusă mijloace tehnice, și, de asemenea, determinat de sistemul de operare.

Cele mai bune articole pe această temă