-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
187 lines (163 loc) · 10.5 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<title>CPU Scheduling Algos</title>
<meta content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0' name='viewport' />
<meta name="viewport" content="width=device-width" />
<!-- Fonts and icons -->
<link href="https://fonts.googleapis.com/css?family=Montserrat:400,700,200" rel="stylesheet" />
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css" />
<!-- Bootstrap core CSS -->
<link rel="stylesheet" href="https://cdn.rawgit.com/creativetimofficial/now-ui-kit/2e8e665f/assets/css/bootstrap.min.css">
<link href="https://cdn.rawgit.com/creativetimofficial/now-ui-kit/2e8e665f/assets/css/now-ui-kit.min.css?v1.2.0" rel="stylesheet"/>
<link href="https://cdn.rawgit.com/creativetimofficial/now-ui-kit/2e8e665f/assets/demo/demo.css" rel="stylesheet">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<link rel="stylesheet" href="css/style1.css">
<style>
.navbar .navbar-nav .nav-link:not(.btn) i.fa{
font-size: 18px;
position: relative;
top: 3px;
text-align: center;
width: 21px;
}
</style>
</head>
<body class="index-page sidebar-collapse">
<!-- Navbar -->
<nav class="navbar navbar-expand-lg bg-primary fixed-top navbar-transparent " color-on-scroll="200">
<div class="container">
<div class="navbar-translate">
<a class="navbar-brand" rel="tooltip" title="Add a beautiful tooltip here" data-placement="bottom" target="_blank">
<!-- <img src="img/kitg-logo.png" alt="Kitg logo"> -->
</a>
<button class="navbar-toggler navbar-toggler" type="button" data-toggle="collapse" data-target="#navigation" aria-controls="navigation-index" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-bar bar1"></span>
<span class="navbar-toggler-bar bar2"></span>
<span class="navbar-toggler-bar bar3"></span>
</button>
</div>
<div class="collapse navbar-collapse justify-content-end" data-nav-image="./assets/img/blurred-image-1.jpg">
<ul class="navbar-nav">
<!-- <li class="nav-item">
<a class="nav-link" rel="tooltip" title="Follow us on Twitter" data-placement="bottom" href="#" target="_blank">
<i class="fa fa-twitter"></i>
<p class="d-lg-none d-xl-none">Twitter</p>
</a>
</li> -->
<li class="nav-item">
<a class="nav-link" rel="tooltip" title="Like us on Facebook" data-placement="bottom" href="#" target="_blank">
<i class="fa fa-facebook-square"></i>
<p class="d-lg-none d-xl-none">Facebook</p>
</a>
</li>
<li class="nav-item">
<a class="nav-link" rel="tooltip" title="Follow us on Instagram" data-placement="bottom" href="#" target="_blank">
<i class="fa fa-instagram"></i>
<p class="d-lg-none d-xl-none">Instagram</p>
</a>
</li>
</ul>
</div>
</div>
</nav>
<!-- End Navbar -->
<div class="wrapper">
<div class="page-header clear-filter filter-color">
<div class="page-header-image" data-parallax="true" style="background-image: url('img/cpu.jpg');"> <!---->
</div>
<div class="container">
<div class="content-center brand">
<!-- <img class="n-logo" src="https://cdn.rawgit.com/creativetimofficial/now-ui-kit/2e8e665f/assets/img/now-logo.png" alt=""> -->
<h1 class="h1-seo large">CPU Scheduling Algorithms</h1>
<h3 class="h3-seo">A virtual experience!</h3>
</div>
</div>
</div>
<div class="main">
<div class="section section-basic">
<div class="container text-center mt-5">
<h2 class="title"><qoute>Types of CPU scheduling algorithms</qoute></h2>
</div>
<div>
<div>
<h2>Prerequisites:</h2>
<p><ul>
<li>Completion Time: Time at which process completes its execution.</li>
<li>Turn Around Time: Time Difference between completion time and arrival.<br>
Turn Around Time = Completion Time – Arrival Time
</li>
<li>Waiting Time(W.T): Time Difference between turn around time and burst time.<br>
Waiting Time = Turn Around Time – Burst Time
</li>
</ul>
</p>
</div><br>
<div>
<h2> First Come First Serve (FCFS):</h2>
<p>First in, first out (FIFO), also known as first come, first served (FCFS), is the simplest scheduling algorithm. FIFO simply queues processes in the order that they arrive in the ready queue.
In this, the process that comes first will be executed first and next process starts only after the previous gets fully executed.<br><br>
<strong>NOTE:</strong> Here we are considering that arrival time for all processes is 0.</p>
</div><br>
<div>
<h2>Shortest Job First (SJF):</h2>
<p>Shortest job first (SJF) or shortest job next, is a scheduling policy that selects the waiting process with the smallest execution time to execute next. SJF is a non-preemptive algorithm.
<ul>
<li>Shortest Job first has the advantage of having minimum average waiting time among all scheduling algorithms.</li>
<li>It is a Greedy Algorithm.</li>
<li>It may cause starvation if shorter processes keep coming. This problem can be solved using the concept of aging.</li>
<li>It is practically infeasible as Operating System may not know burst time and therefore may not sort them. While it is not possible to predict execution time, several methods can be used to estimate the execution time for a job, such as a weighted average of previous execution times. SJF can be used in specialized environments where accurate estimates of running time are available.</li>
</ul>
<strong>NOTE:</strong> Here we are considering that arrival time for all processes is 0.
</p>
</div><br>
<div>
<h2>Priority Scheduling:</h2>
<p>Priority scheduling is a non-preemptive algorithm and one of the most common scheduling algorithms in batch systems. Each process is assigned a priority. Process with the highest priority is to be executed first and so on.
Processes with the same priority are executed on first come first served basis. Priority can be decided based on memory requirements, time requirements or any other resource requirement.<br><br>
<strong>NOTE:</strong> Here we are considering that arrival time for all processes is 0.
</p>
</div><br>
<div>
<h2>Round Robin:</h2>
<p>Round Robin is a CPU scheduling algorithm where each process is assigned a fixed time slot in a cyclic way. We assign fixed time slot in the name of <strong>Time Quantum</strong>.
<ul>
<li>It is simple, easy to implement, and starvation-free as all processes get fair share of CPU.</li>
<li>One of the most commonly used technique in CPU scheduling as a core.</li>
<li>It is preemptive as processes are assigned CPU only for a fixed slice of time at most.</li>
<li>The disadvantage of it is more overhead of context switching.</li>
</ul>
<strong>NOTE:</strong> Here we are considering that arrival time for all processes is 0.
</p>
</div>
</div>
<section class="peopleInfo">
<div class="section-inner filter-color" data-parallax="true">
<div>
<button onClick = "openPage()" class="btn btn-primary btn-xl">Simulation</button>
<script type="text/javascript">
function openPage()
{
window.location.assign("./src/index.html")
}
</script>
</div>
</section>
</section>
</div>
</body>
<!-- Core JS Files -->
<script src="https://cdn.rawgit.com/creativetimofficial/now-ui-kit/2e8e665f/assets/js/core/jquery.min.js"></script>
<script src="https://cdn.rawgit.com/creativetimofficial/now-ui-kit/2e8e665f/assets/js/core/popper.min.js"></script>
<script src="https://cdn.rawgit.com/creativetimofficial/now-ui-kit/2e8e665f/assets/js/core/bootstrap.min.js"></script>
<!-- Plugin for Switches, full documentation here: http://www.jque.re/plugins/version3/bootstrap.switch/ -->
<script src="https://cdn.rawgit.com/creativetimofficial/now-ui-kit/2e8e665f/assets/js/plugins/bootstrap-switch.js"></script>
<!-- Plugin for the Sliders, full documentation here: http://refreshless.com/nouislider/ -->
<script src="https://cdn.rawgit.com/creativetimofficial/now-ui-kit/2e8e665f/assets/js/plugins/nouislider.min.js"></script>
<!-- Plugin for the DatePicker, full documentation here: https://github.com/uxsolutions/bootstrap-datepicker -->
<script src="https://cdn.rawgit.com/creativetimofficial/now-ui-kit/2e8e665f/assets/js/plugins/bootstrap-datepicker.js"></script>
<!-- Control Center for Now Ui Kit: parallax effects, scripts for the example pages etc -->
<script src="https://cdn.rawgit.com/creativetimofficial/now-ui-kit/2e8e665f/assets/js/now-ui-kit.js"></script>
</html>