Időosztás
Ez a szócikk vagy szakasz lektorálásra, tartalmi javításokra szorul. (2007 januárjából) |
Ez a szócikk nem tünteti fel a független forrásokat, amelyeket felhasználtak a készítése során. Emiatt nem tudjuk közvetlenül ellenőrizni, hogy a szócikkben szereplő állítások helytállóak-e. Segíts megbízható forrásokat találni az állításokhoz! Lásd még: A Wikipédia nem az első közlés helye. (2007 januárjából) |
Az időosztás (angolul time-sharing) a multitasking egy lehetséges módszerével lehetővé teszi, hogy a számítógép erőforrásait több felhasználó, és/vagy folyamat között megossza.
Az időosztás során a központi gép (szerver) – többnyire nagyszámítógép (mainframe) – úgy osztja meg erőforrásait a felhasználók/folyamatok között, hogy egy adott „időszeletet” rendel minden felhasználóhoz/folyamathoz. Ha az időszeletet kiválasztotta, az ahhoz rendelt felhasználó programját futtatja a gép, de csak ha az éppen nem végez input/output tevékenységet. Az operációs rendszer ütemező (scheduler) modulja vezérli az időszeletek kiosztását a felhasználók között. Ha a vezérlés egy adott felhasználóra jut, akkor az ütemező beállítja az új vagy elmentett program-jellemzőket, és futtatni kezdi az adott programot. A felhasználóhoz rendelt időtartam lejártakor a futó programra vonatkozó metaadatokat (a program kontextusát) eltárolja, majd ennek felhasználásával tudja visszaállítani a programot. Az időszelet hossza a felhasználók számától és a rendszer egyéb jellemzőitől függ, általában néhány milliszekundum és néhány száz mikroszekundum közötti érték.
Az időosztás megvalósítását a megnövekedett számítási sebesség, illetve annak a felismerése tette lehetővé, hogy amíg az éppen futó program a perifériákra, illetve a felhasználóra várakozik, a gép valójában semmit sem tesz, így ezek az idők improduktívak, viszont más célra kihasználhatók. Biztosítani kellett még a nagyszámítógép távoli elérésének (számítógép-hálózatok) lehetőségét is.
Története
szerkesztésMivel az első nagy- és kisszámítógépek különösen drágák voltak, ha egyszerre csak egy felhasználó tudta volna használni, az nagyon gazdaságtalan megoldás lett volna, célszerűbbnek látszott ezért több felhasználó interaktív hozzáférésével megosztani a erőforrásokat.
A megoldás elvét 1957 elején Bob Bemer az Automatic Control Magazine-ban megjelent cikkében írta le. Még ennek az évnek a végén elindult a megvalósítási projekt, amelyet John McCarthy vezetett egy módosított IBM 704 gépen, amit később egy szintén módosított IBM 7090 gépre cseréltek. A projekt eredményét 1961 novemberében mutatták be, ami a Compatible Time Sharing System vagy CTSS néven vált ismertté, és kisebb módosításokkal 1973-ig használatban is maradt. Az első kereskedelmileg sikeres idő-osztásos rendszert a Dartmouth Time-Sharing Systemet (DTSS) 1964-ben helyezték üzembe a Dartmouth College-ben. A DTSS nagy hatással volt a korai időosztásos rendszerek tervezőire és rendszereire, amelyeket a Hewlett Packard (HP), Control Data Corporation, UNIVAC és mások készítettek. A DTSS-ben jelent meg először a BASIC programozási nyelv.
Az időosztásos rendszerek legfontosabb finomhangolási tétele az időablak (time slice) alapértelmezett hosszának a variálása.
Néhány időosztásos rendszer, némelyik ma is használatban van
szerkesztés- IBM CMS (a VM/CMS része)
- IBM TSS/360 (nem fejezték be; lásd OS/360)
- IBM Time Sharing Option (TSO)
- Michigan Terminal System
- Multics
- MUSIC/SP
- WYLBUR
- RSTS/E
- Unix