„Folyamat (számítástechnika)” változatai közötti eltérés
[ellenőrzött változat] | [ellenőrzött változat] |
Tartalom törölve Tartalom hozzáadva
a Kisebb hibák és más szócikkekre mutató hivatkozások javítása. |
|||
1. sor:
[[Fájl:Htop.png|jobbra|bélyegkép|400x400px|A [[htop]] által megjelenített folyamatok listája]]
A számítástechnikában a '''folyamat''' egy [[Program (informatika)|számítógépes program]] [[Példány (számítógépes programozás)|példánya]], amelyet egy vagy több szál hajt végre. Ez tartalmazza a programkódot és a tevékenységét. [[Operációs rendszer
Míg a számítógépes program passzív [[Utasítás (informatika)|utasítások]] gyűjteménye, addig a folyamat ezen utasítások tényleges végrehajtása. Több folyamat társítható ugyanahhoz a programhoz; például ugyanazon program több példányának megnyitása gyakran egynél több folyamat végrehajtását eredményezi.
7. sor:
A [[többfeladatosság]] olyan módszer, amely lehetővé teszi több folyamat számára a [[Central processing unit|processzorok]] (CPU) és más rendszererőforrások megosztását. Minden processzor (mag) egyszerre egyetlen [[Feladat (számítástechnika)|feladatot]] hajt végre. A többfeladatosság azonban lehetővé teszi, hogy minden processzor [[Kontextusváltás|válthasson]] a feladatok között anélkül, hogy meg kellene várnia az egyes feladatok befejezését. Az operációs rendszer megvalósításától függően kapcsolásokat lehet elvégezni, amikor a feladatok [[I/O Interfész|bemeneti/kimeneti]] műveleteket hajtanak végre, amikor egy feladat azt jelzi, hogy át lehet kapcsolni vagy hardveres [[Programmegszakítás|megszakításkor]].
A többfeladatosság általános formája az [[időosztás]]. Az időosztás olyan módszer, amely lehetővé teszi az interaktív felhasználói alkalmazásokra való magas reagálást. Az
A biztonság és a megbízhatóság érdekében a legtöbb modern [[operációs rendszer]] megakadályozza a független [[
== Bemutatás ==
19. sor:
* Egy programhoz társított végrehajtható [[gépi kód]] ''képe''.
* Memória (általában a [[virtuális memória]] valamilyen régiója); amely magában foglalja a végrehajtható kódot, a folyamat specifikus adatokat (bemeneti és kimeneti), egy [[Hívási verem|hívási vermet]] (az aktív [[Függvény (programozás)|alprogramok]] és/vagy egyéb események nyomon követéséhez) és egy halom a futási idő során generált közbenső számítási adatot.
* A folyamathoz hozzárendelt erőforrások operációs rendszer leírói, például [[
* [[Számítógépes biztonság|Biztonsági]] attribútumok, például a folyamat tulajdonosa és a folyamat engedélyei (megengedett műveletei).
* A [[Central processing unit|processzor]] állapota ([[Kontextus (számítástechnika)|kontextus]]), például a [[Regiszter (számítástechnika)|regiszterek]] tartalma és fizikai memóriacímzése. Az ''állapotot'' általában számítógépes regiszterekben tárolják, amikor a folyamat végrehajtódik, egyébként pedig a memóriában.<ref name="OSC Chap4" />
Az operációs rendszer az aktív folyamatokkal kapcsolatos információk nagy részét [[
Az operációs rendszer elválasztja a folyamatokat, és elosztja a szükséges erőforrásokat, hogy azok kevésbé zavarják egymást, és ezzel rendszerhibákat okozzanak (pl. [[holtpont]] vagy [[Thrashing (számítástechnika)|cséplés]]). Az operációs rendszer mechanizmusokat is biztosíthat a [[
== Többfeladatosság és folyamatkezelés ==
A [[Többfeladatosság|többfeladatos]] [[operációs rendszer]] tud váltani a folyamatok között, így úgy tűnhet, mintha a folyamatokat egyidejűleg (azaz [[Párhuzamos számítástechnika|párhuzamosan]]) [[Végrehajtás (számítástechnika)|hajtaná végre]], de valójában csak egy folyamatot tud végrehajtani egy időben egyetlen [[Central processing unit|processzoron]] (kivéve, ha a processzor több maggal rendelkezik, akkor [[
Általában egy folyamatot egy főprogramhoz társítunk, a ''gyermek
A folyamatokat gyakran „feladatoknak” nevezik a [[Beágyazott rendszer|beágyazott]] operációs rendszerekben. A „folyamat” (vagy feladat) jelentése „valami, ami időt vesz igénybe”, szemben a „memóriával”, amely „valami, ami helyet foglal el”.{{jegyzet |megj=A feladatok ''(tasks)'' és a folyamatok ''(processes)'' lényegében ugyanazon entitásra vonatkoznak. Bár némileg eltérő terminológiai történeteik vannak, szinonimákként használják őket. Manapság a folyamat kifejezést előnyben részesítik a feladathoz képest, kivéve, ha a többfeladatosságra ''(multitasking)'' utalnak, mivel a többfolyamatos ''(multiprocessing)'' alternatív kifejezést túlságosan könnyű összekeverni a többprocesszoros ''(multiprocessor)'' kifejezéssel (amely két vagy több processzorral rendelkező számítógépet jelent). |csoport=m}}
37. sor:
A fenti leírás vonatkozik mind az operációs rendszer által kezelt folyamatokra, mind azokra a folyamatokra, amelyeket [[folyamatkalkulus]] határoz meg.
Ha egy folyamat valami olyat kér, amelyre várnia kell, akkor blokkolva lesz. Ha a folyamat [[Folyamatállapot|blokkolt állapotban]] van, akkor lemezre cserélhető, de ez átlátható egy [[virtuális memória|virtuálismemória]]
=== Folyamatállapotok ===
43. sor:
[[Fájl:Process_states.svg|jobbra|bélyegkép|300x300px|A különböző folyamatállapotok az állapotdiagramban megjelenítve, nyilakkal jelölve az állapotok közötti lehetséges átmeneteket]]
Egy operációs rendszer [[
* Először, a folyamatot „létrehozzuk” egy [[Memória (számítástechnika)#Elsődleges, másodlagos és harmadlagos memória|másodlagos tárolóeszközről]] ([[Merevlemez|merevlemez-meghajtó]], [[CD-ROM]] stb.) a [[Memória (számítástechnika)#Elsődleges, másodlagos és harmadlagos memória|főmemóriába]] töltéssel. Ezután a [[Ütemezés (számítástechnika)|folyamatütemező]] hozzárendeli a „várakozó” állapotot.
* Amíg a folyamat „várakozó” állapotban van, addig az [[Ütemezés (számítástechnika)|ütemező]] elvégzi az úgynevezett [[
* Ha a „futó” állapotban levő folyamatnak meg kell várnia egy erőforrást (például várnia kell a felhasználói bemenetre vagy egy fájl megnyitására), akkor „blokkolt” állapotba kerül. A folyamat állapota visszaáll „várakozás”-ra amikor a folyamatnak már nem kell várnia (blokkolt állapotban).
* Amint a folyamat befejezi a végrehajtást vagy az operációs rendszer leállítja, nincsen már rá szükség. A folyamat azonnal eltávolításra vagy „befejezett” állapotba kerül. Eltávolításkor csak arra vár, hogy eltávolítsák a főmemóriából.<ref name="OSC Chap4" /><ref name="Stallings">{{cite book |last=Stallings |first=William |title=Operating Systems: internals and design principles |edition=5th |date=2005 |publisher=Prentice Hall |isbn=0-13-127837-1}} (particularly chapter 3, section 3.2, "process states", including figure 3.9 "process state transition with suspend states")</ref>
58. sor:
== Előzmények ==
Az 1960-as évek elején a számítógépes vezérlőszoftver a [[
A programok utasításokat tartalmaznak a processzorok számára. Egy processzor egyszerre csak egy utasítást futtathat: lehetetlen több program futtatása egyszerre. Előfordulhat, hogy egy programnak valamilyen [[Rendszererőforrás|erőforrásra]], például bemeneti eszközre van szüksége, amely nagy késleltetéssel rendelkezik vagy egy program lassú műveletet indíthat, például kimenetet küldhet egy nyomtatóra. Ez azt eredményezné, hogy a processzor kihasználatlan marad („üresjárat”). Annak érdekében, hogy a processzor mindig el legyen foglalva, egy ilyen program végrehajtását leállítják, és az operációs rendszer átváltja a processzort egy másik program futtatására. A felhasználó számára úgy tűnik, hogy a programok egyszerre futnak (innen a „párhuzamos” kifejezés).
Röviddel ezután a „program” fogalmát kibővítették a „végrehajtó program és annak összefüggései” fogalmára. Megszületett egy folyamat koncepciója, amely az [[Újrahívhatóság (számítástechnika)|újrahívható kód]] feltalálásával szükségessé vált. A [[Szál (programozás)|szálak]] valamivel később jöttek. Azonban az olyan fogalmak megjelenésével, mint az [[időosztás]], a [[
== Megjegyzések ==
{{megjegyzések
== Hivatkozások ==
{{
== Fordítás ==
* {{fordítás|en|Process (computing)|oldid=944508557}}
== További információk ==
* Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau (2014). "[http://www.cs.wisc.edu/~remzi/OSTEP/ Operating Systems: Three Easy Pieces]". Arpaci-Dusseau Books. Relevant chapters: [http://www.cs.wisc.edu/~remzi/OSTEP/cpu-intro.pdf Abstraction: The Process] [http://www.cs.wisc.edu/~remzi/OSTEP/cpu-api.pdf The Process API]
* Gary D. Knott (1974) ''[http://doi.acm.org/10.1145/775280.775282 A proposal for certain process management and intercommunication primitives]'' ACM SIGOPS Operating Systems Review. Volume 8, Issue 4 (October 1974). pp. 7 – 44
== Kapcsolódó oldalak ==
* [https://web.archive.org/web/20121214161709/http://www.processlibrary.com/ Online Resources For Process Information]
* [https://web.archive.org/web/20121207081026/http://file.net/ Computer Process Information Database and Forum]
* [https://osnote.space/process-models-with-process-creation-termination-methods.html Process Models with Process Creation & Termination Methods]
{{Párhuzamos számítástechnika}}
{{Operációs rendszer}}
[[Kategória:Számítástechnika]]
|