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 CENTOS
pthread_attr_getinheritsched
PTHREAD_ATTR_SETINHERITSCHED(3) Linux Programmer's Manual PTHREAD_ATTR_SETINHERITSCHED(3)
NAME
pthread_attr_setinheritsched, pthread_attr_getinheritsched - set/get inherit-scheduler attribute in thread attributes object
SYNOPSIS
#include <pthread.h>
int pthread_attr_setinheritsched(pthread_attr_t *attr,
int inheritsched);
int pthread_attr_getinheritsched(pthread_attr_t *attr,
int *inheritsched);
Compile and link with -pthread.
DESCRIPTION
The pthread_attr_setinheritsched() function sets the inherit-scheduler attribute of the thread attributes object referred to by attr to the
value specified in inheritsched. The inherit-scheduler attribute determines whether a thread created using the thread attributes object
attr will inherit its scheduling attributes from the calling thread or whether it will take them from attr.
The following scheduling attributes are affected by the inherit-scheduler attribute: scheduling policy (pthread_attr_setschedpolicy(3)),
scheduling priority (pthread_attr_setschedparam(3)), and contention scope (pthread_attr_setscope(3)).
The following values may be specified in inheritsched:
PTHREAD_INHERIT_SCHED
Threads that are created using attr inherit scheduling attributes from the creating thread; the scheduling attributes in attr are
ignored.
PTHREAD_EXPLICIT_SCHED
Threads that are created using attr take their scheduling attributes from the values specified by the attributes object.
The default setting of the inherit-scheduler attribute in a newly initialized thread attributes object is PTHREAD_INHERIT_SCHED.
The pthread_attr_getinheritsched() returns the inherit-scheduler attribute of the thread attributes object attr in the buffer pointed to by
inheritsched.
RETURN VALUE
On success, these functions return 0; on error, they return a nonzero error number.
ERRORS
pthread_attr_setinheritsched() can fail with the following error:
EINVAL Invalid value in inheritsched.
POSIX.1-2001 also documents an optional ENOTSUP error ("attempt was made to set the attribute to an unsupported value") for
pthread_attr_setinheritsched().
CONFORMING TO
POSIX.1-2001.
BUGS
As at glibc 2.8, if a thread attributes object is initialized using pthread_attr_init(3), then the scheduling policy of the attributes
object is set to SCHED_OTHER and the scheduling priority is set to 0. However, if the inherit-scheduler attribute is then set to
PTHREAD_EXPLICIT_SCHED, then a thread created using the attribute object wrongly inherits its scheduling attributes from the creating
thread. This bug does not occur if either the scheduling policy or scheduling priority attribute is explicitly set in the thread
attributes object before calling pthread_create(3).
EXAMPLE
See pthread_setschedparam(3).
SEE ALSO
sched_setscheduler(2), pthread_attr_init(3), pthread_attr_setschedparam(3), pthread_attr_setschedpolicy(3), pthread_attr_setscope(3),
pthread_create(3), pthread_setschedparam(3), pthread_setschedprio(3), pthreads(7)
COLOPHON
This page is part of release 3.53 of the Linux man-pages project. A description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
Linux 2013-04-19 PTHREAD_ATTR_SETINHERITSCHED(3)