03-31-2009
Pintos Advanced Scheduler
I am in an operating system class at my college and recently we have been modifying the Pintos operating system in C. I have eliminated the Round Robin Scheduling and implemented priority scheduling just fine but now I have hit a wall on how to implement Advanced Scheduling and was hoping anyone here had advice on what to do, my professor has been unreachable so my questions remain.
The requirements were like so:
"You must write your code to allow us to choose a scheduling algorithm policy at Pintos startup time. By default, the priority scheduler must be active, but we must be able to choose the 4.4BSD scheduler with the -mlfqs kernel option. Passing this option sets thread_mlfqs, declared in threads/thread.h, to true when the options are parsed by parse_options(), which happens early in main().
When the 4.4BSD scheduler is enabled, threads no longer directly control their own priorities. The priority argument to thread_create() should be ignored, as well as any calls to thread_set_priority(), and thread_get_priority() should return the thread's current priority as set by the scheduler."
If anyone has any experience with pintos please let me know I've been trying this for about 6 hours and gotten nowhere.
8 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I am using Sun Solaris
Where I can find scheduler program that can run another program automatically on scheduled time?
Thank you. (1 Reply)
Discussion started by: wadiachmed
1 Replies
2. Solaris
Hi all,
Is anybody have any idea on Control-M schedular(bmcsoftware product) on Solaris/UNIX environment.If yes,can you please help me how to set it up and schedule a job.
Please!!! it's Urgent!!!
Regards,
Uday (0 Replies)
Discussion started by: uday123
0 Replies
3. HP-UX
My HPUX server can't accept all lp jobs for all my printers... I pinged the print servers and they are fine, ran lpstat -r and shows me that the scheduler is running, lpstat -t shows nothing and won't get back to # unless i terminate it, lpstat -a shows all printers fine, but in SAM it failed to... (1 Reply)
Discussion started by: amao
1 Replies
4. UNIX for Advanced & Expert Users
Hi,
what i need to do is build my own scheduler program.
I am supposed to display my own prompt. at this prompt i accept a command in the following format.
ls -l start 0:0:10:10 period 10 end 0:0:0:10
now this command should be executed in the background starting at 10 mins and 10 secs... (2 Replies)
Discussion started by: p_aishwarya
2 Replies
5. Solaris
I have akorn shell job that I can run manually but when I run via cron it starts and finishes, but does not do what it does when I run it manually.
Any ideals on why this is happening? (3 Replies)
Discussion started by: CAGIRL
3 Replies
6. UNIX for Dummies Questions & Answers
HI could you comment on my small doubts below
1. which type of sheduler is used inb linux?? is it round robin or multi queue priority based round robin ???
2. Which process has the PID 0 ?? if it is sheduler process then how to convinience myself?? i mean how to see on the system...?? is... (0 Replies)
Discussion started by: raj_b025
0 Replies
7. Shell Programming and Scripting
Hi,
My requirement is i want to send mails from server to all my employess with one attachment file for every monday and friday like scheduler.. how it is possible through bash script. please guide me..
With Regards
Anish Kumar.V (8 Replies)
Discussion started by: anishkumarv
8 Replies
8. UNIX for Advanced & Expert Users
Hello
i am looking for good and popular application run on linux OS as centos to give same function as crontab
i am seeking task scheduler with web portal and logs and so on
i preferred good tool freeware.
thanks for help (1 Reply)
Discussion started by: mogabr
1 Replies
LEARN ABOUT NETBSD
sched_4bsd
SCHED_4BSD(9) BSD Kernel Developer's Manual SCHED_4BSD(9)
NAME
sched_4bsd -- The 4.4BSD thread scheduler
SYNOPSIS
#include <sys/sched.h>
void
resetpriority(lwp_t *l);
void
sched_tick(struct cpu_info *ci);
void
sched_schedclock(lwp_t *l);
void
sched_pstats_hook(struct proc *p, int minslp);
void
sched_setrunnable(lwp_t *l);
void
updatepri(lwp_t *l);
DESCRIPTION
The traditional 4.4BSD scheduler employs a ``multilevel feedback queues'' algorithm, favouring interactive, short-running threads to CPU-
bound ones.
resetpriority() recomputes the priority of a thread running in user mode. If the resulting priority is higher than that of the current
thread, a reschedule is arranged.
sched_tick() gets called from hardclock(9) every 100ms to force a switch between equal priority threads.
The priority of the current thread is adjusted through sched_schedclock(). The priority of a thread gets worse as it accumulates CPU time.
sched_pstats_hook() gets called from sched_pstats() every Hz ticks in order to recompute the priorities of all threads.
sched_setrunnable() checks if an LWP has slept for more than one second. If so, its priority is updated by updatepri().
CODE REFERENCES
The 4.4BSD scheduler subsystem is implemented within the file sys/kern/sched_4bsd.c.
SEE ALSO
csf(9), hardclock(9), mi_switch(9), sched_m2(9), userret(9)
Marshall Kirk McKusick, Keith Bostic, Michael J. Karels, and John S. Quarterman, The Design and Implementation of the 4.4BSD Operating
System, Addison Wesley, 1996.
BSD
July 14, 2007 BSD