-
Notifications
You must be signed in to change notification settings - Fork 5
/
index.html
141 lines (133 loc) · 6.92 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
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CPU Scheduling Simulator</title>
<link rel="stylesheet" href="style.css">
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
<link rel="stylesheet" href="style.css">
<script src="app.js" type="text/javascript"></script>
</head>
<body>
<header>
<nav class="navbar navbar-light bg-light">
<span class="navbar-text">
CPU Scheduling Simulator
</span>
</nav>
</header>
<div class="container">
<div class="row mb-5 pt-3" id="main">
<div class="col-9 process-list-container">
<table class="table table-bordered" id="tblProcessList">
<thead>
<tr>
<th scope="col">Process ID</th>
<th scope="col">Arrival Time</th>
<th scope="col">Burst Time</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
<div class="row">
<div class="col">
<input class="form-control mb-2" type="number" min="0" id="processID" placeholder="Process ID" required>
</div>
<div class="col">
<input class="form-control mb-2" type="number" min="0" id="arrivalTime" placeholder="Arrival Time">
</div>
<div class="col">
<input class="form-control mb-2" type="number" min="0" id="burstTime" placeholder="Burst Time">
</div>
<div class="col">
<button class="btn btn-primary" id="btnAddProcess">Add Process</button>
</div>
</div>
</div>
<div class="col-3 border border-primary p-3 mb-2">
<div class="form">
<div class="form-group">
<label for="algorithmSelector">Select Scheduling Method</label>
<select class="form-control" id="algorithmSelector">
<option value="optFCFS">First Come First Served</option>
<option value="optSJF">Shortest Job First</option>
<option value="optSRTF">Shortest Remaining Time First</option>
<option value="optRR">Round Robin</option>
</select>
</div>
<div class="form-group form-group-time-quantum">
<label class="mt-1 ">Time Quantum :</label>
<input class="form-control mb-2" type="number" min="0" max="9" id="timeQuantum" >
</div>
<div class="form-group">
<button class="btn btn-primary" id="btnCalculate">Calculate</button>
</div>
</div>
</div>
</div>
<div class="row border-primary">
<div class="col-md-9">
<table class="table table-bordered" id="tblResults">
<thead>
<tr>
<th scope="col">Process ID</th>
<th scope="col">Arrival Time</th>
<th scope="col">Burst Time</th>
<th scope="col">Completed Time</th>
<th scope="col">Waiting Time</th>
<th scope="col">Turnaround Time</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<div class="col-md-3 border border-primary p-3 mb-2">
<div class="form">
<div class="form-group">
<label for="avgTurnaroundTime">Average Turnaround Time</label>
<input class="form-control" id="avgTurnaroundTime" type="number" placeholder="0" disabled>
</div>
<div class="form-group">
<label for="avgTurnaroundTime">Average Waiting Time</label>
<input class="form-control" id="avgWaitingTime" type="number" placeholder="0" disabled>
</div>
<div class="form-group">
<label for="avgTurnaroundTime">Throughput</label>
<input class="form-control" id="throughput" type="number" placeholder="0" disabled>
</div>
</div>
</div>
</div>
</div>
<footer class="page-footer bg-light p-2 mt-5">
<div class="footer-copyright text-center py-3">
<span>
Copyright © Hirusha Cooray |
<a target="_blank" href="https://github.com/hirushacooray/cpu-scheduling-sim">View Source on Github</a>
</span>
</div>
</footer>
<script>
function isFacebookApp() {
var ua = navigator.userAgent || navigator.vendor || window.opera;
return (ua.indexOf("FBAN") > -1) || (ua.indexOf("FBAV") > -1);
}
function openInBrowser(target, browserScheme) {
var ifc = document.createElement("div");
ifc.innerHTML = `<iframe src='${browserScheme}${target}' style='width:0;height:0;border:0; border:none;visibility: hidden;'></iframe>`;
document.body.appendChild(ifc);
}
if(isFacebookApp()){
// your action here if user using Facebook in-app browser
// alert('Are you using Facebook Browser? To get better experience, try press [...] and Open the blog in Chrome or Safari. Thank you!');
openInBrowser(window.location.href, "googlechrome://navigate?url=");
}
</script>
</body>
</html>