Időosztás

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

Mivel 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

  • 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

Források

https://pcforum.hu/szotar/?term=id%C5%91oszt%C3%A1s

További információk