Különbség a megszakítás és a lekérdezés között az operációs rendszerben
Tartalom
Számos külső eszközt csatlakoztatunk a CPU-hoz, például egér, billentyűzet, szkenner, er stb. Ezekre az eszközökre is CPU-figyelmet kell fordítani. Tegyük fel, hogy a CPU el van foglalva egy PDF-fájl megjelenítésével, és rákattint az asztalon lévő ablakos médialejátszó ikonra. Bár a CPU-nak fogalma sincs, mikor fordulhat elő ilyen esemény, de reagálnia kell az I / O eszközök ilyen bemeneteire. Megszakítás és lekérdezés az eszközök által generált események kezelésének két módja, amelyek bármikor bekövetkezhetnek, miközben a CPU elfoglalt egy másik folyamat végrehajtásában.
A lekérdezés és a megszakítás hagyja, hogy a CPU leállítsa azt, amit jelenleg csinál, és válaszoljon a fontosabb feladatra. A lekérdezés és a megszakítás sok szempontból különböznek egymástól. De a lekérdezést és a megszakítást megkülönböztető alapvető pont az, hogy a szavazás A CPU rendszeresen ellenőrzi az I / O eszközöket, hogy szüksége van - e CPU szolgáltatásra, míg a interrupt, az I / O eszköz megszakítja a CPU-t, és elmondja a CPU-nak, hogy CPU-szolgáltatásra van szüksége. Az alábbiakban összehasonlítási táblázatban tárgyaltam néhány megszakítást a Polrupt és a Polling között, kérjük, nézzen meg.
- Összehasonlító táblázat
- Meghatározás
- Főbb különbségek
- Következtetés
Összehasonlító táblázat
Az összehasonlítás alapja | Megszakítás | Szavazás |
---|---|---|
Alapvető | Az eszköz értesíti a CPU-t, hogy a processzor figyelmét igényli. | A CPU folyamatosan ellenőrzi az eszköz állapotát, hogy szüksége van-e a processzor figyelmére. |
Gépezet | A megszakítás egy hardver mechanizmus. | A lekérdezés egy protokoll. |
Szerviz | Megszakító kezelő szolgáltatja az eszközt. | A processzor kiszolgálja az eszközt. |
Jelzés | A kérés megszakítása sor azt jelzi, hogy az eszköznek javítást igényel. | A készenléti bit jelzi, hogy az eszköznek javítást igényel. |
CPU | A CPU csak akkor zavar, ha egy eszköz szervizelésre szorul, ami megtakarítja a CPU ciklusait. | A CPU-nak meg kell várnia, és ellenőriznie kell, hogy szükséges-e egy olyan szerviz, amely sok CPU-ciklust elpazarol. |
Esemény | Megszakítás bármikor megtörténhet. | A CPU rendszeres időközönként lekérdezi az eszközöket. |
Hatékonyság | A megszakítás nem lesz hatékony, ha az eszközök folyamatosan megszakítják a CPU-t. | A lekérdezés nem lesz hatékony, ha a CPU ritkán találja meg a készüléket üzemkész állapotban. |
Példa | Hagyja, hogy a csengő csengessen, majd nyissa ki az ajtót, hogy ellenőrizze, ki jött. | Folyamatosan nyissa ki az ajtót, és ellenőrizze, hogy van-e bárki. |
A megszakítás meghatározása
A megszakítás a hardver mechanizmus amely lehetővé teszi a CPU-nak, hogy észlelje, hogy egy eszköznek szüksége van figyelmére. A CPU-nak van vezetéke megszakítás-kérés sor amelyet a CPU ellenőrzi minden egyes utasítás végrehajtása után. Amikor a CPU megszakítási jelet érzékel a megszakítás-kérés vonalon, a CPU leállítja a jelenleg végrehajtó feladatát, és az I / O eszköz általi megszakításra válaszolva adja át a vezérlőt a félbeszakítja a kezelőt. A megszakító kezelő az eszköz javításával megoldja a megszakítást.
Bár a CPU nem ismeri, hogy mikor fordulhat elő megszakítás, mivel ez bármikor megtörténhet, de a megszakításra mindenkor reagálnia kell.
Amikor a megszakító kezelője befejezi a megszakítás végrehajtását, akkor a CPU folytatódik annak a feladatnak a végrehajtása, amelyet megállt, hogy válaszoljon a megszakításra. Szoftver, hardver, használó, valamilyen hiba a programbanstb. megszakítást is generálhat. Megszakítja a CPU kezelésének jellegét többfeladatos, azaz a felhasználó egyszerre több különböző feladatot is végrehajthat.
Ha egynél több megszakítást küld a CPU-nak, a megszakítókezelő segít a feldolgozásra váró megszakítások kezelésében. Amint a megszakító kezelő kap váltott a megszakítás vételével fontossági sorrendbe a CPU általi feldolgozást váró megszakítások, és egy a sorban áll szervizelni.
A szavazás meghatározása
Mint láttuk a megszakításokban, az I / O eszköz bemenete bármikor megérkezhet, kérve a CPU-t, hogy dolgozza fel. A szavazás a jegyzőkönyv amely értesíti a CPU-t, hogy egy eszköznek figyelmére van szüksége. A megszakításokkal ellentétben, amikor az eszköz azt mondja a CPU-nak, hogy szüksége van CPU-feldolgozásra, a lekérdezésben a CPU megtartja kérve az I / O eszköz, hogy szüksége van-e CPU-feldolgozásra.
A CPU folyamatosan tesztelje az összes csatlakoztatott eszközt annak megállapítása érdekében, hogy valamelyik eszköznek szüksége van-e CPU-figyelésre. Minden eszköz van egy parancs kész bit, amely jelzi az eszköz állapotát, azaz hogy van-e valamilyen parancs, amelyet a CPU végrehajthat, vagy sem. Ha a parancs bit be van állítva 1, akkor van valamilyen parancs, amelyet másként végre kell hajtani, ha a bit van 0, akkor nincs parancs. CPU van egy elfoglalt bit ez jelzi a CPU állapotát, függetlenül attól, hogy foglalt-e vagy sem. Ha a foglalt bit be van állítva 1, akkor elfoglalt valamelyik eszköz parancsának végrehajtása, máshol az 0.
A lekérdezés algoritmusa
- Ha egy eszköz rendelkezik valamilyen paranccsal, amelyet a CPU hajt végre, akkor folyamatosan ellenőrzi a CPU foglalt bitjét, amíg meg nem vált (0).
- Amint a foglalt bit világossá válik, az eszköz beállítja az írási bitet a parancsnyilvántartásba, és bájtot ír ki az adatkimeneti regiszterbe.
- Most az eszköz beállítja (1) a parancskész bit.
- Amikor a CPU megvizsgálja az eszközök parancskész bitjét, és megtalálja beállítva (1), akkor beállítja (1) a foglalt bitjét.
- A CPU ezután elolvassa az eszköz parancssorát és végrehajtja az eszköz parancsát.
- A parancs végrehajtása után a CPU törli (0) az eszköz parancs-kész bitjét, hiba bitjét, jelezve az eszköz parancsának sikeres végrehajtását, majd törli (0) a foglalt bitjét is annak jelzésére, hogy a CPU szabadon végrehajtható egy másik eszköz parancsát.
- Megszakításkor az eszköz értesíti a CPU-t, hogy javításra szorul, míg a lekérdezés során a CPU többször ellenőrzi, hogy az eszköznek szüksége van-e karbantartásra.
- A megszakítás a hardver gépezet mivel a CPU-nak van vezetéke, megszakítás-kérés sor melyik jel történt a megszakításnál. Másrészt a szavazás a jegyzőkönyv amely folyamatosan ellenőrzi a vezérlő bitek értesíteni, hogy egy eszköz végrehajthat valamit.
- Megszakító kezelő kezeli az eszközök által generált megszakításokat. Másrészt a szavazás során, CPU javítja a készüléket, amikor szükség van rá.
- A megszakításokat a megszakítás-kérés sor. Azonban, Command-ready bit jelzi, hogy az eszköznek javítást igényel.
- Megszakítások esetén a CPU csak akkor zavar, ha bármely eszköz megszakítja. Másrészt, a lekérdezés során a CPU sok CPU-ciklust pazarol azáltal, hogy minden eszköz parancs-kész bitjét többször ellenőrzi.
- Megszakítás történhet a következő helyen: bármilyen pillanatban az idő míg a CPU folyamatosan lekérdezi az eszközt a rendszeres időközönként.
- A lekérdezés nem lesz hatékony, ha a CPU folyamatosan lekérdezi az eszközt, és ritkán talál olyan készüléket, amely készen áll a szervizelésre. Másrészt a megszakítások nem hatékonyak, amikor az eszközök folyamatosan megszakítják a CPU feldolgozását.
Következtetés:
A lekérdezés és a megszakítás egyaránt hatékonyan bejárja az I / O eszközöket. De a fentiekben tárgyalt bizonyos körülmények között hatástalanná válhatnak.