Time slice, Computer Engineering

Assignment Help:

The Linux Process Scheduler uses time slice to prevent a single process from using the CPU for too long. A time slice specifies how long the process can use the CPU. In our simulation, the minimum time slice possible is 10ms and the maximum time slice possible is 300 ms. The scheduler assigns higher time slices to processes that are more interactive and lower time slices to processes that are more CPU intensive. Note that time slice is a positive integer in this range [10, 300]. To calculate the time slice, we use this formula:

2160_Time slice.png

Each process is supplied with a priority level that ranks a process based on their worth and need for processor time. The priority levels range from 100 to 140 [100,140]. Processes with a lower priority will run before a process with a higher priority. Process with a lower priority level also receives a longer time slice. A process's initial priority (sometimes called static priority) is calculated based on its nice value. Nice values range from -20 to +19 [-20, 19] indicating how nice the process is. Larger nice values correspond to a lower priority. CPU intensive processes typically have higher nice values while IO bound processes have lower nice values. Nice values are provided with the input file. Note that a priority value is a positive integer in this range

[100,140]. To calculate the initial (or static) priority we use this formula:

2269_Time slice1.png

After a process exhausts its time slice, it will join the expired queue or go back to the active queue. Before doing that, it has to calculate its new priority (sometimes called the dynamic priority). This is the formula used to calculate the dynamic priority:

priority = original priority + bonus:

865_Time slice2.png

Bonus points are given to processes that either use too much or too little CPU time. Bonus points are integers range from -5 to +5 ([-5, 5]). Here are the guidelines to calculating bonus points:

547_Time slice3.png

Note : Here total IO mean the total time spent in the IO queue to this point and total CPU mean the total time spent in the CPU to this point.


Related Discussions:- Time slice

Convert the decimal number 82.67 into hexadecimal , Conversion of the decim...

Conversion of the decimal number 82.67 into Hexadecimal ? Ans. (1010010.10101011) 2 is the binary equivalent of decimal number 82.67. Now convert each 4-bit binary into an equ

Describe the necessary conditions for deadlock, Describe the necessary cond...

Describe the necessary conditions for Deadlock. Required conditions for deadlock 1. Mutual exclusion 2. Hold and wait 3. No preemption 4. Circular wait Mutual e

How does tcp/ip decide the size of an ip fragment, How does TCP/IP decide t...

How does TCP/IP decide the size of an IP fragment? Explain. TCP/IP protocol utilizes the name IP datagram to refer to an Internet packet. The amount of data carried into a data

What is block started by symbol, What is BSS(Block Started by Symbol)? ...

What is BSS(Block Started by Symbol)? A data showing at the machine level, that has initial values when a program begins and tells about how much space the kernel assigns for t

Differences between internal and external fragmentation, Explain the differ...

Explain the differences between Internal and external fragmentation. Internal and external fragmentation (1) While memory allocated to a process is a little larger than th

Define minterm and the maxterm - canonical form, Define Minterm and the Max...

Define Minterm and the Maxterm - Canonical Form? Any Boolean expression perhaps expressed in terms of either minterms or maxterms. The literal is a single variable within a t

Illustrate logical data processing instructions, Q. Illustrate logical Data...

Q. Illustrate logical Data Processing Instructions? AND, OR, NOT, XOR operate on binary data stored in registers. For illustration if two registers comprises data:   R1 = 10

Execute a reduce operation over members of specified group, Q. Execute a re...

Q. Execute a reduce operation over members of specified group? int info = pvm_reduce( void (*func)(), void *data, int count, int datatype, int msgtag, char    *group, int root

Recent parallel programming models, A model for parallel programming is an ...

A model for parallel programming is an abstraction in addition its machine architecture is independent. A model is able to be implemented on different hardware and memory architect

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd