hoe besturingssystemen werken

alle informatie die nodig is om een proces bij te houden tijdens het schakelen wordt bewaard in een datapakket dat een process control block wordt genoemd. Het procesbesturingsblok bevat meestal:

  • Een ID-nummer, waarmee het proces
  • Verwijzingen naar de locaties in het programma en de data wanneer de verwerking laatst opgetreden
  • Registreren inhoud
  • Staten van de verschillende vlaggen en schakelaars
  • Verwijzingen naar de boven-en ondergrenzen van het geheugen dat nodig is voor het proces
  • Een lijst van bestanden die zijn geopend door het proces
  • De prioriteit van het proces
  • De status van alle I/O-apparaten die nodig zijn door het proces

Elk proces heeft een status gekoppeld. Veel processen verbruiken geen CPU-tijd totdat ze een soort input krijgen. Een proces kan bijvoorbeeld wachten op een toetsaanslag van de gebruiker. Terwijl het wacht op de toetsaanslag, gebruikt het geen CPU-tijd. Terwijl het wacht, is het “opgeschort”. Wanneer de toetsaanslag aankomt, verandert het besturingssysteem zijn status. Wanneer de status van het proces verandert, bijvoorbeeld van in behandeling naar actief, of Van opgeschort naar actief, moet de informatie in het procesbesturingsblok worden gebruikt, Net als de gegevens in elk ander programma om het taakwisselgedeelte van het besturingssysteem direct uit te voeren.

advertentie

dit proces wisselen gebeurt zonder directe gebruikersinterferentie, en elk proces krijgt genoeg CPU-cycli om zijn taak binnen een redelijke tijd uit te voeren. Problemen kunnen beginnen als de gebruiker probeert te veel processen te laten functioneren op hetzelfde moment. Het besturingssysteem zelf vereist enkele CPU-cycli om het opslaan en ruilen van alle registers, wachtrijen en stapels van de toepassingsprocessen uit te voeren. Als er genoeg processen zijn gestart, en als het besturingssysteem niet zorgvuldig is ontworpen, kan het systeem beginnen met het gebruik van de overgrote meerderheid van de beschikbare CPU-cycli om te wisselen tussen processen in plaats van processen uit te voeren. Wanneer dit gebeurt, het heet thrashing, en het vereist meestal een soort van directe tussenkomst van de gebruiker om processen te stoppen en orde terug te brengen naar het systeem.

Deze inhoud is niet compatibel op dit apparaat.

Deze inhoud is niet compatibel op dit apparaat.

een manier waarop ontwerpers van besturingssystemen de kans op thrashing verminderen is door de noodzaak voor nieuwe processen om verschillende taken uit te voeren te verminderen. Sommige besturingssystemen zorgen voor een” process-lite, ” genaamd een thread, die kan omgaan met alle CPU-intensieve werk van een normaal proces, maar in het algemeen niet omgaan met de verschillende soorten I/O en geen structuren die het uitgebreide proces controle blok van een regelmatig proces. Een proces kan veel threads of andere processen starten, maar een thread kan geen proces starten.

tot nu toe heeft alle planning die we besproken hebben betrekking op een enkele CPU. In een systeem met twee of meer CPU ‘s, moet het besturingssysteem de werkbelasting over de CPU’ s verdelen, in een poging om de eisen van de vereiste processen in evenwicht te brengen met de beschikbare cycli op de verschillende CPU ‘ s. Asymmetrische besturingssystemen gebruiken één CPU voor hun eigen behoeften en verdelen toepassingsprocessen over de resterende CPU ‘ s. Symmetrische besturingssystemen verdelen zich onder de verschillende CPU ‘ s, balanceren vraag versus CPU beschikbaarheid, zelfs als het besturingssysteem zelf is alles wat draait.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.