sistem de operare general
Există trei tipuri de sisteme de operare (OS), de uz general: sprijinirea modul single-program și modul interactiv de comunicare, care furnizează sarcini de procesare lot în multiprogramming modul de funcționare a sistemului și de partajare a timpului.
timpul de separare (Sistem de operare)
time sharing (engl time-sharing.) - o metodă de alocare a resurselor de calcul între mai mulți utilizatori prin intermediul multiprogramming și multitasking. Apariția conceptului la începutul anilor 1960, și dezvoltarea activă în anii 1970 a dus la un progres tehnologic semnificativ în istoria de calcul.
Permițând mai multor utilizatori să interacționeze simultan cu un singur calculator, timpul de separare a redus semnificativ costul de putere de calcul, ceea ce face posibilă utilizarea organizațiilor de calculator și persoane fizice fără a fi nevoie de a cumpăra. divizarea timpului, de asemenea, a contribuit la dezvoltarea unor noi programe interactive.
Istoria timpului de funcționare diviziune
lot de prelucrare
Primele calculatoare au fost dispozitive foarte scumpe și lent. De obicei, acestea au fost destinate pentru a efectua un anumit set de sarcini și controlate de la panoul operatorului, care este de a introduce manual un program scurt, prin schimbarea poziției comutatoarelor de pe panoul. Aceste programe ar putea fi efectuate în decurs de câteva ore sau chiar săptămâni. Dar, când calculatoarele au început să crească viteza, o simplă mașină în legătură cu introducerea programului următor a fost inacceptabil. Metodologia de prelucrare a lot aparut pentru a reduce timpii morți mașină atunci când intră în program. În lot de prelucrare, de îndată ce unul a finalizat punerea în aplicare a programului, calculatorul încarcă următoare.
Pentru a menține un proces discontinuu, programatori folosit perforante cartele perforate sau ștanțat. Acesta a fost dispozitivele low-cost, permițându-vă pentru a crea programe „off-line“. În cazul în care programul era trecut la un set de operatori de mașini, care au fost implicați în planificarea în momentul lansării sale. Programele importante au fost lansate în primul rând, cu atât mai puțin important - după ce toate celelalte. Atunci când programul este în cele din urmă realizează, rezultatul muncii ei este, de obicei, în formă tipărită, înapoi la programator. Întregul proces ar putea lua o lungă perioadă de timp, în care programatorul nu a mai văzut un computer.
O alternativă pentru a permite utilizatorului să controleze computerul direct, a fost prea scump pentru a face acest lucru ar putea fi luate în considerare.
partajare a timpului
Conceptul de „time-sharing“, a apărut ca urmare a înțelegerii că în timp ce fiecare utilizator individual utilizează grup de utilizatori de calculatoare ineficiente împreună - nr. Acest lucru se datorează însăși forma de interacțiune: utilizatorul introduce informația, caracter cu caracter, între intrarile de la tastatura, urmate de o pauză, timp în care computerul poate efectua mii de operații, dar, în cazul în care un grup de utilizatori de lucru simultan, pauza, un utilizator poate fi umplut cu alte activități. Dacă alegeți dimensiunea optimă de grup, eficiența de utilizare a computerului crește în mod dramatic. De asemenea, utilizatorii pot fi date intervalele de timp pe care computerul cheltuiește de așteptare pentru disc citește banda, sau în rețea.
Comparativ cu procedeul discontinuu, implementarea unui sistem de separare cu ajutorul timpului de margine, dificil. de prelucrare a lot este o formă de organizare a muncii cu sistemele informatice timpurii. Calculatoarele au continuat să efectueze un program pentru un singur utilizator la un moment dat, dar tot ceea ce sa schimbat de prelucrare a lot - a fost de a reduce timpul între începutul programului. Dezvoltarea unui sistem care sprijină funcționarea simultană a mai multor utilizatori este fundamental diferită de aceasta. Contexte ( „stat“) ale fiecărui utilizator și programele sale urmau să fie păstrate în mașină, și să fie capabil de a înlocuit rapid de alții. Schimbarea contextului necesară o cantitate semnificativă de cicluri CPU, și a fost o mare problemă pentru mașinile mai lente ale epocii. Cu toate acestea, din moment ce computerele sunt în creștere rapidă de viteză, și, mai important, dimensiunea memoriei, care poate stoca starea utilizatorului, overhead timpului de separare este redusă în mod corespunzător.
În perioada de la sfârșitul anilor 1960 până la sfârșitul anilor 1970, terminale de calculator conectat la cele mai mari organizații mainframe (sisteme centralizate de calcul), care, în multe implementări secvențial fără coarne terminale pentru a vedea dacă există date suplimentare sau acțiuni solicitate de către utilizatorul calculatorului . În viitor, în loc de votare terminale au fost folosite întrerupe, și pentru a comunica - au folosit tehnologia paralelă de transmisie a datelor, cum ar fi IEEE 488. standard În general, terminale de calculator au fost localizate la universități și, de asemenea, utilizat ca un birou de calculatoare personale () astăzi. În primele zile ale calculatoarelor personale, multe dintre ele au fost de fapt folosite ca terminale pentru sisteme cu timp de partajare.
Odată cu dezvoltarea microcalculatoarelor la începutul anilor 1980, divizarea timpului în fundal stins, deoarece microprocesoare individuale au fost suficient de ieftine, astfel încât o singură persoană poate dispune de tot timpul de procesor, chiar și în timpul perioadelor de inactivitate. Cu toate acestea, popularitatea conceptelor divizia de Internet înapoi de timp. server de firmă „ferme“ scumpe, în valoare de milioane de dolari pentru a oferi mii de utilizatori pentru a avea acces la aceleași resurse partajate. Ca terminale de serie devreme, site-urile trebuie să se ocupe în principal, cu explozii de activitate urmate de perioade de inactivitate. O astfel de natură „wavelet“ a serviciului vă permite să utilizați o varietate de vizitatori la site-ul în același timp, astfel încât nici unul dintre ei nu a observat nici întârzieri în transmiterea datelor, în timp ce incarcarea serverului devine prea mare.
Caracteristici sistem de operare cu timp de partajare
Atunci când o parte a sistemelor informatice a apărut terminale (prima teletype, apoi display-uri), necesitatea punerii în aplicare în modul de partajare a timpului de sistem de operare (time sharing) - posibilitatea de utilizatori simultan lucra cu sarcinile lor cu terminale, misiuni de intrare în lor de start-up (cu procesor gratuit ), terminalul de control de locuri de muncă de suspendare, depanare, vizualizare pe terminalul rezultatelor lor. Luați în considerare sistemul de operare special cu timesharing.
Stocarea în memorie sau pe disc sarcini
resursele CPU în sistemul de operare timp de partajare a distribuit între mai multe locuri de muncă, care sunt stocate în memorie sau pe disc. Target încărcat în memorie (dacă memoria liberă disponibilă) în cazul în care acesta este un pachet, iar sistemul de operare selectat pentru a executa, sau în cazul în care este activat de către terminalul de utilizator. Procesorul este alocat numai pentru acele locuri de muncă care sunt în memorie.
Pompare și schimbarea (swapping)
Pompare și schimbarea (swapping) - sarcinile de încărcare de pe disc în memorie și descărcate din memorie pe disc. Într-un sistem cu timp de situație divizare atunci când un loc de muncă este controlat de la terminalul este inactiv (de exemplu, efectuează intrare și de ieșire, fie sistemul așteaptă un răspuns de la utilizator care în prezent de întrerupere de funcționare). În acest caz, sistemul de operare poate decide cu privire la o descărcare temporară (swap-out) setarea imaginii de memorie RAM de pe disc în memoria liberă pentru alte sarcini. Cu referință reactiva (dacă este posibil) re-încărcate în memorie (schimbat in). Această strategie se numește de pompare și de pompare.
Susținerea interacțiunii de dialog între utilizator și sistemul
Atunci când sistemul de operare finalizează executarea unei comenzi de utilizator, acesta caută pentru operatorul următor de control (declarația de control), administrat cu o tastatură personalizată.
Furnizarea de dialog cod de acces la date și programul de utilizator
Trebuie avut în vedere faptul că timpul de partajare a sistemului de operare sunt tratate ca lot și interactiv de locuri de muncă (interactiv), astfel încât sistemul trebuie să se asigure că acestea sunt de expediere - comutator la momentul potrivit, cu locuri de muncă lot de dialog, sau dintr-un dialog (lot) de locuri de muncă la altul.
Sistemele cunoscute cu time-sharing
Windows. timesharing
Aspectul display-fascicul de electroni și tastaturi regandirea utilizarea posibilitatea de a pune pe ordinea unei soluții la această problemă. Extinderea logică a sistemelor multiprogramming au devenit sistem de partajare a timpului, sau un sistem de divizare a timpului **. Ei switch-uri procesor între sarcini, nu numai în momentul operațiunilor de intrare-ieșire, ci pur și simplu poproshestvii un anumit interval de timp. Această comutare apare atât de frecvent încât utilizatorii pot interacționa cu programele lor în timpul punerii în aplicare a acestora, adică interactiv. Ca urmare, există o posibilitate de muncă simultană a multor utilizatori pe un singur sistem de calculator. Fiecare utilizator pentru acest lucru ar trebui să fie de cel puțin un program în memorie. Pentru a reduce restricțiile privind numărul de utilizatori, care le-a introdus ideea de a găsi un program executabil incomplet în memorie. Principala parte a programului stocate pe disc și este necesar pentru punerea în aplicare în continuare a piesei poate fi ușor încărcate în memorie, și inutile pompată înapoi pe disc. Acest lucru este pus în aplicare cu ajutorul mecanismului de memorie virtuală. Principalul avantaj al acestui mecanism este de a crea iluzia de calculator RAM nelimitat.
În sistemele de partajare de timp, utilizatorul are posibilitatea de a efectua cu ușurință și eficient depanarea programelor lor on-line, scrie pe disc fără a utiliza cartele perforate și direct de la tastatură. Apariția fișierelor on-line a dus la necesitatea unor sisteme de fișiere avansate.
În paralel, evoluția internă a sistemelor de calcul în acest moment se observă în afara evoluției lor. Înainte de începutul perioadei de calcul sistemelor sunt, de obicei incompatibile. Fiecare a avut propriul sistem special de operare, sistemul său de comenzi, etc. Ca urmare, programul funcționează cu succes pe un singur tip de mașină, era necesar să se complet re-scriere și re-depanare pentru alte tipuri de calculatoare. La începutul celei de a treia perioade a avut ideea de a crea o familie de mașini compatibil software care rulează același sistem de operare. Prima familie de mașini-software compatibile construite în circuite integrate, a fost o serie de IBM / 360 mașini. Construit la începutul anilor 60-e ale acestei familii a fost mult mai mare decat masina de a doua generație pe criteriul preț / performanță. Acesta a fost urmat de linia PDP de calculatoare care nu sunt compatibile cu linia IBM, culminând cu PDP-11.
Puterea unei familii a fost în același timp, slăbiciunea sa. Oportunitati ale acestui concept (disponibilitatea tuturor modelelor de minicalculatoare la mașini gigant, o abundență de diverse periferice, mediu diferit, diferiți utilizatori) generează un sistem de operare complex și imens. Milioane de linii de asamblare, scrise de mii de programatori, conținea multe erori, provocând un flux continuu de publicații despre ei și încearcă să le corecteze. Numai în OS / 360, cu mai mult de 1000 de bug-uri cunoscute. Cu toate acestea, ideea de standardizare a sistemelor de operare a fost introdus pe scară largă în mintea utilizatorilor și a primit ulterior de dezvoltare activă.
Sistemele de divizare a timpului sunt concepute pentru a fixa principalul dezavantaj al sistemelor de prelucrare a lot - izolarea de utilizator-programator de la procesul de performanță a sarcinilor sale. Fiecare sistem timesharing utilizator oferă un terminal, din care poate purta un dialog cu programul. Deoarece sistemul de divizare a timpului fiecărei sarcini este alocată doar cuantumul timp CPU, o sarcină nu ocupă CPU pentru o lungă perioadă de timp, iar timpul de răspuns este acceptabil. În cazul în care cuantumul este ales suficient de mic ca toți utilizatorii care lucrează simultan pe aceeași mașină, se pare că fiecare dintre ele în mod individual cu ajutorul aparatului. În mod clar, sistemele de partajare a timpului au o productivitate mai mică decât sistemul de prelucrare a lot, deoarece punerea în aplicare a adoptat fiecare utilizator care rulează sarcina, și nu una care este sistemul „benefic“, și, în plus, există costuri globale de putere de calcul pentru comutare mai frecvente procesor pe sarcini de sarcini. Criteriul de eficacitate a timpului de sistem de separare nu este valoarea maximă a lățimii de bandă și confortul și eficiența utilizatorului.