[Uitbatingssystemen] Schedulingopdracht 2

Forum van 2de Bachelor Informatica.

Moderator: Praesidium

User avatar
Scheder
Posts: 212

[Uitbatingssystemen] Schedulingopdracht 2

Post#1 » Wed Dec 10, 2008 8:30 pm

Voor de praktijk opdracht is het blijkbaar simpel om aan 100/100 te komen.
Gewoon 2 extra veldjes aanmaken in de klasse Scheduler van het type 'vector<Job*>' en die moeten dan voor jobs en scheduledJobs staan.

Nu was mijn vraag. Hoe komt het dat dit werkt?

-als beide veldjes niet van het type vector zijn [de template parameter mag zelfs varieren blijkbaar] geeft dit een Bus error tijdens het uitvoeren
-als er maar 1 variabele toegevoegd wordt dan geeft dit een oneindige loop ergens

Dus ik heb echt geen flauw idee wat dat zou kunnen zijn

edit: velden toevoegen achter de 2 bestaande velden geeft een segmentation fault, dus ik neem aan da ik het dan maar houdt op de huidige velden?

Pieter Belmans
Posts: 593
Contact:

Post#2 » Wed Dec 10, 2008 9:20 pm

Je moet niet gewoon 100/100 halen, je moet een goeie scheduler schrijven :P. Als je op je examen je vieze hack begint uit te leggen krijg je geen punten ;).

User avatar
Stanny
WOZ
Posts: 2220
Contact:

Post#3 » Wed Dec 10, 2008 9:28 pm

Creatief zijn met kennis is meer waard dan kennis letterlijk kunnen reproduceren ;-)

of nog:

Logic will get you from A to B.
Imagination will get you everywhere.


hope you see my point?

mr bon :P als wiskundige moetek ni op et informatica-forum zitte te lulle e :P zeker ni ast ga over iets waar van dak alleen het woord "vector" op d'een of d'ander manier kan begrijpe ... en dan waarschijnlijk nog in de foute betekenis xD

User avatar
Tom
Posts: 602

Re: [Uitbatingssystemen] Schedulingopdracht 2

Post#4 » Wed Dec 10, 2008 9:54 pm

(*) Het is de bedoeling dat je de jobs op de juiste volgorde zet zonder er te verwijderen of te dupliceren. Er waren verschillende die met het verwijderen van enkele jobs opeens op hogere waarden uitkwamen, maar dit mag niet.

Wat je nu precies doet en waarom het werkt is me niet duidelijk, geef je een lege vector van jobs?

- Het systeem dat ze geschreven hebben werkt met vectors, je gebruikt dus steeds als input en als output vectors, wat je daartussen doet is je vrije keuze. (Met uitzondering *) Meer informatie over een bus error kan hier gelezen worden: http://en.wikipedia.org/wiki/Bus_error
- Je tweede puntje begrijp ik niet goed, dit heeft waarschijnlijk wel iets met pointers te maken.

Meer informatie over een segmentation fault: http://en.wikipedia.org/wiki/Segmentation_fault
Stanny wrote:Logic will get you from A to B.
Imagination will get you everywhere.
Getting from Logic to Imagination isn't always that easy.

Argh, too much vectors... http://en.wikipedia.org/wiki/Vector

User avatar
Sebastiaan
Posts: 1184

Post#5 » Wed Dec 10, 2008 10:06 pm

Als ge gewoon Jobs.Clear() doet krijgt ge ook 1000/1000 en zelfs nen tijd van -30 . Technisch gezien beter kan niet.
Maar da is ni het antwoord dat hij zoekt vermoed ik :D

User avatar
Scheder
Posts: 212

Post#6 » Wed Dec 10, 2008 10:36 pm

Ik weet wel dat ge dat zo niet moet doen, het was gewoon om te snappen wat er fout gaat, noem het mijn informatica kennis wat uitbreiden XD

het enige dat ik doe is 2 veldjes extra creeren in mijn header file, ik pas mijn cpp file zelfs niet eens aan... [dus hoe kan het dan toch effect hebben op de werking ervan...? Dat zouden dan toch gewoon 2 ongebruikte, nutteloze veldjes moeten worden?]
[ik weet ook wel dat ik hier geen punten mee zou krijgen]
Dit topic was eerder bedoelt om te snappen wat er gebeurd, want dat ontgaat mij echt compleet

Ik heb de oorspronkelijk cpp file gebruikt [volledig onaangepast] en dit zijn mijn private onderdelen van klasse Scheduler:

Code: Select all


private:
vector<char> lol;
vector<int> woeps;
vector<Job*> jobs;
vector<pair<Job*, int> > scheduledJobs;
Nu compileer ik da ding en run het en ik krijg volgende output:

Code: Select all


./schedulingtest
Schedulable joblists not identified : 0
Unschedulable joblists not identified : 0
Hard deadlines not met : 0

Distance from optimal solution : 0
Overall success: 100/100
Dus vraag ik mij gewoon af wat er gebeurt, want ik weet dat scheduledJobs niet leeg is ofzo.

Swat fyi, ik heb ook nog een deftige versie achter de hand voor op het examen, wees gerust;) [at 95/100 nog maar, maar ik gebruik dan ook nog nergens preemption, dat wordt iets voor in de les]

Return to “2de Bachelor”

Who is online

Users browsing this forum: No registered users and 49 guests