• FreqAmsterdam
  • Registratie: Maart 2007
  • Laatst online: 19-04 12:38
Niet zeker of ik dit in het juiste forum heb geplaatst maar dit is een vraag omtrent de processor dus het lijkt me dat ik goed zit.

Mijn vraag is als volgt: de processor krijgt van de dispatcher processen om te verwerken, waar zit die dispatcher? Is de dispatcher een functie in de kernel van een OS, bevindt het zich in het hoofdgeheugen of is het een functie die gewoon in de processor zelf zit?

  • The__Virus
  • Registratie: Januari 2005
  • Laatst online: 14-05 20:45
Ik heb nog nooit echt van de term gehoord, maar deze wordt zeer waarschijnlijk door het OS geregeld. Dat weet ik eigenlijk wel 100% zeker. Een CPU is een relatief dom ding, van zichzelf kan hij niet bepalen wat te doen. Een OS geeft aan welk proces moet worden gedraaid (de prioriteiten van processen worden door Windows bijv. bepaald). Dit lijkt me dus een kernelfunctie. Het zit in elk geval niet in de CPU, deze kan hooguit taken ietwat in een andere volgorde zetten maar dan houdt het ook op. Wat je met het hoofdgeheugen bedoelt begrijp ik niet helemaal.

  • The Third Man
  • Registratie: September 2001
  • Laatst online: 20:40

The Third Man

The Third Jellyfish

Ik denk dat je de scheduler bedoelt, die zit in je kernel ja. De scheduler heeft verschillende manieren om taken te verdelen qua tijd en evt. processorkernen. Een OS met een scheduler die zich aan real-time eisen houdt (dus voor een bepaalde tijdsdeadline een thread/proces klaar laten zijn) is een real-time OS, dat kan met elke willekeurige cpu :)

  • FreqAmsterdam
  • Registratie: Maart 2007
  • Laatst online: 19-04 12:38
Dat is helder, bedankt voor de uitleg. :)

Edit:

Aanvullende beschrijving waar ik later achter kwam:

De Dispatcher in de microkernel houdt alle threads met de toestand Gereed bij en roostert ze in volgorde van prioriteit in.

Dit voorbeeld is w2k specifiek, weet niet hoe het bij andere os'en het geval is en of dit bij een monolitische kernel ook het geval is.

[ Voor 80% gewijzigd door FreqAmsterdam op 11-06-2008 13:43 ]


  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
FreqAmsterdam schreef op dinsdag 10 juni 2008 @ 20:05:
Niet zeker of ik dit in het juiste forum heb geplaatst maar dit is een vraag omtrent de processor dus het lijkt me dat ik goed zit.

Mijn vraag is als volgt: de processor krijgt van de dispatcher processen om te verwerken, waar zit die dispatcher? Is de dispatcher een functie in de kernel van een OS, bevindt het zich in het hoofdgeheugen of is het een functie die gewoon in de processor zelf zit?
Deze vraag heeft weinig met de processor te maken. Het is een vraag over een onderdeel van het besturingssysteem. Ook je antwoord zijn erg vaag. De kernel van een OS en hoofdgeheugen twee heel verschillende dingen.

  • The Third Man
  • Registratie: September 2001
  • Laatst online: 20:40

The Third Man

The Third Jellyfish

FreqAmsterdam schreef op woensdag 11 juni 2008 @ 11:09:
Aanvullende beschrijving waar ik later achter kwam:

De Dispatcher in de microkernel houdt alle threads met de toestand Gereed bij en roostert ze in volgorde van prioriteit in.

Dit voorbeeld is w2k specifiek, weet niet hoe het bij andere os'en het geval is en of dit bij een monolitische kernel ook het geval is.
Grappige beschrijving want 'threads' is een detail (een thread is een onderdeel van een proces, maar een proces hoeft niet uit meerdere threads te bestaan) terwijl 'roostert ze in' een versimpelde voorstelling is. De prioriteit van een proces is namelijk maar één aspect dat de scheduler gebruikt.

Een proces heeft meerdere 'states', waarvan de bekendste zijn:
Running - Heeft de cpu toegewezen gekregen en is dus aan het uitvoeren
Ready - Aan het wachten om de cpu te mogen gebruiken (bevindt zich dus in wachtrij)
Waiting/Busy - Bezig door externe invloeden zoals het gebruik van I/O (bestand op harde schijf, schrijven naar beeldscherm) of het wachten op toegang tot I/O

De wachtrij met processen in de Ready state is dus wat de scheduler beheert. Over hoe hij het beweert kan je boeken vol schrijven, zie ook een begeleidende webpagina van een docent van mijn hogeschool.
Pagina: 1