-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathrelease_notes.html
497 lines (465 loc) · 25 KB
/
release_notes.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
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="ie ie6 lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="ie ie7 lt-ie9 lt-ie8" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="ie ie8 lt-ie9" lang="en"> <![endif]-->
<!--[if IE 9]> <html class="ie ie9" lang="en"> <![endif]-->
<!--[if !IE]><!-->
<html lang="en" class="no-ie">
<!--<![endif]-->
<!-- Mirrored from themicon.co/theme/beadmin/ by HTTrack Website Copier/3.x [XR&CO'2014], Fri, 29 Jan 2016 16:44:20 GMT -->
<head>
<!-- Meta-->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0">
<meta name="description" content="">
<meta name="keywords" content="">
<meta name="author" content="">
<title>Release Notes</title>
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]><script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script><script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script><![endif]-->
<!-- Bootstrap CSS-->
<link rel="stylesheet" href="app/css/bootstrap.css">
<!-- Vendor CSS-->
<link rel="stylesheet" href="vendor/fontawesome/css/font-awesome.min.css">
<link rel="stylesheet" href="vendor/animo/animate%2banimo.css">
<link rel="stylesheet" href="vendor/csspinner/csspinner.min.css">
<link rel="shortcut icon" type="image/png" href="img/favicon.jpg" />
<!-- START Page Custom CSS-->
<!-- END Page Custom CSS-->
<!-- App CSS-->
<link rel="stylesheet" href="app/css/app.css">
<!-- Modernizr JS Script-->
<script src="vendor/modernizr/modernizr.js" type="application/javascript"></script>
<!-- FastClick for mobiles-->
<script src="vendor/fastclick/fastclick.js" type="application/javascript"></script>
</head>
<body>
<!-- START Main wrapper-->
<div class="wrapper">
<!-- START Top Navbar-->
<nav role="navigation" class="navbar navbar-default navbar-top navbar-fixed-top">
<!-- START navbar header-->
<div class="navbar-header">
<a href="#" class="navbar-brand">
<div>
<h3>eXpOS<span style="color:#14ddb3">NITC<span></h3>
</div>
</a>
</div>
<!-- END navbar header-->
<!-- START Nav wrapper-->
<div class="nav-wrapper" style="background:black">
<!-- START Left navbar-->
<ul class="nav navbar-nav">
<li>
<!-- Button used to collapse the left sidebar. Only visible on tablet and desktops-->
<!--a href="#" data-toggle-state="aside-collapsed" class="hidden-xs">
<em class="fa fa-navicon"></em>
</a>
<!-- Button to show/hide the sidebar on mobile. Visible on mobile only.-->
<a href="#" data-toggle-state="aside-toggled" class="visible-xs">
<em class="fa fa-navicon"></em>
</a>
</li>
<li>
<h3 class="pull-right" style="color:white"> Release Notes</h3>
</li>
</ul>
<!-- END Left navbar-->
</div>
<!-- END Nav wrapper-->
</nav>
<!-- END Top Navbar-->
<!-- START aside-->
<aside class="aside">
<!-- START Sidebar (left)-->
<nav class="sidebar">
<ul class="nav">
<!-- START Menu-->
<li id="home">
<a href="index.html" title="Home" data-toggle="" class="no-submenu">
<em class="fa fa-home"></em>
<span class="item-text">Home</span>
</a>
</li>
<li>
<a href="documentation.html" title="Documentation" data-toggle="" class="no-submenu">
<em class="fa fa-files-o"></em>
<span class="item-text">Documentation</span>
</a>
</li>
<li>
<a href="Roadmap.html" target="_blank" title="Roadmap" data-toggle="" class="no-submenu">
<em class="fa fa-road"></em>
<span class="item-text">Roadmap</span>
</a>
</li>
<!-- <li>
<em class="fa fa-download"></em>
<span class="item-text">Downloads</span>
</a> </li>-->
<li>
<a href="faq.html" title="FAQ" data-toggle="" class="no-submenu">
<em class="fa fa-question"></em>
<span class="item-text">FAQ</span>
</a>
</li>
<li>
<a href="About_us.html" title="About Us" data-toggle="" class="no-submenu">
<em class="fa fa-group"></em>
<span class="item-text">About Us</span>
</a>
</li>
<li>
<a href="http://xosnitc.github.io" title="Read about XOS" class=" no-submenu">
<em class="fa fa-link"></em>
<span class="item-text">Read about XOS</span>
</a>
</li>
<!-- END Menu-->
</ul>
<span style="position: absolute; bottom: 40px;color:white;">National Institute of Technology, Calicut</span>
<a style="position: absolute; bottom: 2px; right: 2px" rel="license" href="http://creativecommons.org/licenses/by-nc/4.0/"><img
alt="Creative Commons License" style="border-width:0" src="./img/creativecommons.png" /></a>
</nav>
<!-- END Sidebar (left)-->
</aside>
<!-- END aside-->
<!-- START Main section-->
<section id="philosophy" style="text-align:justify;font-size:17px">
<!-- START Page content-->
<div class="content-wrapper">
<div class="row">
<!-- START dashboard main content-->
<div class="col-lg-12">
<ul class="list-group">
<li class="list-group-item">
<a data-toggle="collapse" href="#collapse19"><b>21 July 2021</b></a>
<div id="collapse19" class="panel-collapse collapse">
<b>Website</b>: <br>
<ul>
<li>Modern version of website build with mkDocs available at <a href="https://exposnitc.github.io/expos-docs/" target="_blank">exposnitc.github.io/expos-docs</a></li>
<li>Added <a href="https://exposnitc.github.io/expos-docs/">link</a> to modern documentation build using mkDocs</li>
<li>Docker based environment setup added</li>
</ul>
<!-- Website:<br>Add student feedback for 2020 batch.<br>Add bootstrap
script that automatically pulls the latest version of code from
the git repo.<br>Fixed a few typos. <br> Added link to Google
Groups.
<br> Created a repo to host user contributed content and added
the link to the home page's sidebar.<br> Code:
<br>Expl: Fixed linker error introduced by a breaking change
in GCC10. Expl: Fixed strings containing colon getting parsed
as labels.<br>xfs-interface: Allow specifying path to disk.xfs
using --disk flag. -->
</div>
</li>
<li class="list-group-item">
<a data-toggle="collapse" href="#collapse18"><b>05 April 2021</b></a>
<div id="collapse18" class="panel-collapse collapse">
Website:<br>Add student feedback for 2020 batch.<br>Add bootstrap
script that automatically pulls the latest version of code from
the git repo.<br>Fixed a few typos. <br> Added link to Google
Groups.
<br> Created a repo to host user contributed content and added
the link to the home page's sidebar.<br> Code:
<br>Expl: Fixed linker error introduced by a breaking change
in GCC10. Expl: Fixed strings containing colon getting parsed
as labels.<br>xfs-interface: Allow specifying path to disk.xfs
using --disk flag.
</div>
</li>
<li class="list-group-item">
<a data-toggle="collapse" href="#collapse17"><b>23rd April 2020</b></a>
<div id="collapse17" class="panel-collapse collapse">
Setup instructions for Debian, Red Hat based distros and arch linux added
</div>
</li>
<li class="list-group-item">
<a data-toggle="collapse" href="#collapse16"><b>21st April 2020</b></a>
<div id="collapse16" class="panel-collapse collapse">
The definitions for
<B>User</B> and
<B>Login</B> have been added to the terminologies in the overview section
of OS specifications.
</div>
</li>
<li class="list-group-item">
<a data-toggle="collapse" href="#collapse15"><b>22nd October 2019</b></a>
<div id="collapse15" class="panel-collapse collapse">
The merge_sort.expl program to be used in assignment 5, stage 27 has been modified
to work properly. Each process is made to
<I>wait</I> for all the processes wth PID greater than itself inorer to
prevent each process from closing leading to a reuse of PIDs.
</div>
</li>
<li class="list-group-item">
<a data-toggle="collapse" href="#collapse14"><b>31st August 2019</b></a>
<div id="collapse14" class="panel-collapse collapse">
The high level library interface contained a typo. The 3rd argument for <b>read</b> instruction was changed from
<I>Memory Address (Buffer)</I> to
<I>variable name(to which data is to be read)</I>
</div>
</li>
<li class="list-group-item">
<a data-toggle="collapse" href="#collapse13"><b>24th August 2019</b></a>
<div id="collapse13" class="panel-collapse collapse">
The roadmap contained typos in stage 7 and stage 14. In stage 7, logical pages
for heap were changed from 3 and 4 to 2 and 3. In stage 14 a
typo of OS startup code was changed to boot module.
</div>
</li>
<li class="list-group-item">
<a data-toggle="collapse" href="#collapse12"><b>4th August 2019</b></a>
<div id="collapse12" class="panel-collapse collapse">
The project was failing to <b><i>make</i></b> on some operating
systems. This was due to a dependency issue on some systems and
has been fixed in the new release.<br/> The <i>mem</i> command
in the XSM debug mode had an issue when called for a range of
pages. It would just keep overwriting the contents of the mem
file after writing a page and the mem file would contain the
contents of only the last page in the range specified in the
command call. Changes were made to the following directories:-
<ul class="list-group-item">
<li>
<b>xsm:</b> The mem command was fixed and tested.
</li>
</ul>
</div>
</li>
<li class="list-group-item">
<a data-toggle="collapse" href="#collapse11"><b>2nd August 2019</b></a>
<div id="collapse11" class="panel-collapse collapse">
The roadmap contained a typo in the assignment question <i>b</i> of Stage 6. The memory locations 29714 in the question and 5160
in the answer has been corrected to 29706 and 51640 respectively.<br/> The <i>rm</i> command of the xfs-interface encountered segmentation
faults upon execution. Changes were made to the following directories:-
<ul class="list-group-item">
<li>
<b>xfs-interface:</b> The rm command was fixed and tested.
</li>
</ul>
</div>
</li>
<li class="list-group-item">
<a data-toggle="collapse" href="#collapse10"><b>22th April 2019</b></a>
<div id="collapse10" class="panel-collapse collapse">
NEXSM (a dual-core extension of XSM) is introduced. Stage 28 (Multi-Core Extension)
describing how the OS can be ported to a two-core extension of
the XSM machine has been added. The documentation for
<a href="arch_spec-files/nexsm.html" target="_blank">NEXSM architecture specification</a> and <a href="os_design-files/nexpos.html" target="_blank">eXpOS Design for NEXSM machine</a> have been added. The changes in the sub-directories are:-
<ul class="list-group-item">
<li>
<b>expl:</b> Library is modified to include INT 19.
</li>
<li>
<b>nespl:</b> Three new instructions, <i>start</i>, <i>reset</i> and <i>tsl</i>, have been added.
</li>
<li>
<b>nexfs-interface:</b> Commands for loading Bootstrap code
for secondary core, software interrupt 19 and module 8-11
are added.
</li>
<li>
<b>nexsm:</b> XSM machine is modified to simulate a two-core
machine.
</li>
</ul>
</div>
</li>
<li class="list-group-item">
<a data-toggle="collapse" href="#collapse9"><b>20th January 2019</b></a>
<div id="collapse9" class="panel-collapse collapse">
Stage 27 (Pager Module) has been modified. A swapper daemon is introduced as a
new process similar to the idle program, with PID=15, and the
Pager Module is called from the context of this process. To add
fairness for the swapped out processes, if the TICK field of
any swapped out process exceeds a threshold, that process is
swapped in after swapping out another process in memory. The
changes in the sub-directories are:-
<ul class="list-group-item">
<li>
<b>xsm:</b> A few additional commands, including commands
for displaying all the data structures, is added to the XSM
debugger.
</li>
</ul>
</div>
</li>
<li class="list-group-item">
<a data-toggle="collapse" href="#collapse8"><b>5th November 2018</b></a>
<div id="collapse8" class="panel-collapse collapse">
The changes in the sub-directories are:-
<ul class="list-group-item">
<li>
<b>expl:</b> Modified the library (<i>library.lib</i>) to
include INT 18 (Test0, Test1, Test2, Test3).
</li>
</ul>
</div>
</li>
<li class="list-group-item">
<a data-toggle="collapse" href="#collapse7"><b>26th October 2018</b></a>
<div id="collapse7" class="panel-collapse collapse">
The <i>Execption Handler</i> has been modified to allocate 2
heap pages when a page fault for a heap page occurs. In Stage
27 (Pager Module), <i>Get Free Page function</i> in <i>Memory Manager</i> and <i>Exit Process</i> function in <i>Process Manager</i> has
been modified to call <i>Swap Out</i> and <i>Swap In</i> function,
respectively.
</div>
</li>
<li class="list-group-item">
<a data-toggle="collapse" href="#collapse6"><b>23th October 2018</b></a>
<div id="collapse6" class="panel-collapse collapse">
A new asignment problem has been added to Stage 27 (Pager Module).
</div>
</li>
<li class="list-group-item">
<a data-toggle="collapse" href="#collapse5"><b>20th October 2018</b></a>
<div id="collapse5" class="panel-collapse collapse">
A new step has been added to the algorithm for Login and Logout system calls regarding
the current userID in the system status table. The algorithm
for Fork system call has been modified to allocate heap pages
for parent process (if not yet assigned already), so that parent
and child processes will still have a shared heap after Fork.
</div>
</li>
<li class="list-group-item">
<a data-toggle="collapse" href="#collapse4"><b>14th October 2018</b></a>
<div id="collapse4" class="panel-collapse collapse">
The code for the Stage 22 assignment problem (<a href="test_prog.html#test_program_14"
target="_blank">Merge Sort</a>) has been modified to avoid the
stack overflow problem. A new assignment problem has been added
to Stage 25 (File Write). The changes in the sub-directories
are:-
<ul class="list-group-item">
<li>
<b>expl:</b> Fixed a bug which caused an exception when function
with more than one argument was called after an exposcall
with more than one argument.
</li>
<li>
<b>xfs-interface:</b> Fixed a bug which stored the file size
of data files 1 more than the actual value.
</li>
<li>
<b>xsm:</b> Fixed a bug in which the EIP value stored was
2 less than the actual value.
</li>
</ul>
</div>
</li>
<li class="list-group-item">
<a data-toggle="collapse" href="#collapse3"><b>4th October 2018</b></a>
<div id="collapse3" class="panel-collapse collapse">
The <i>Fork</i> system call had a problem - if a process forks,
the parent first gets a PCB entry and then calls <i>Get Free Page</i> function to allocate pages for Stack/User Area pages for the
child. If the <i>Get Free Page</i> causes the parent process
to change the state to WAIT_MEM, the PCB entry allocated for
the child may also be given for another process. The problem
has been fixed by modifying the <i>Get Pcb Entry</i> function
in <i>Process Manager</i>. Two new assignments has been added
to Stage 22 (Semaphores). The changes in the sub-directories
are:-
<ul class="list-group-item">
<li>
<b>spl:</b> The constant ALLOCATED has been added to the
<a href="support_tools-files/constants.html" target="_blank">SPL pre-defined constants</a>.
</li>
</ul>
</div>
</li>
<li class="list-group-item">
<a data-toggle="collapse" href="#collapse2"><b>20th September 2018</b></a>
<div id="collapse2" class="panel-collapse collapse">
The algorithm for <i>Release Page</i> function in <i>Memory Manager</i> module has been modified to change the state of process from
WAIT_MEM to READY when a free page is available. Makefile for
myexpos directory is updated for <i>make clean</i>. The changes
in the sub-directories are:-
<ul class="list-group-item">
<li>
<b>expl:</b> <br>a) Fixed a bug which caused return value
of function to be overwritten when timer is called. The earlier
version lowered the SP value before extracting return value
from the call stack. If any interrupt occured in the meanwhile,
the value in the stack was overwritten.<br> b) Modified DIV
instruction such that it doesn't call INT 10 when divisor
is 0.
</li>
<li>
<b>spl:</b> Earlier SPL version used the register R20 when
large expressions were compiled. However, the machine had
only registers up to R19. Hence, "Illegal register usage"
was reported by the simulator. The SPL compiler is modifed
to use only registers upto R19.
</li>
<li>
<b>xsm:</b> Validity check is conducted for page/block number
in load/store instructions.
</li>
</ul>
</div>
</li>
<li class="list-group-item">
<a data-toggle="collapse" href="#collapse1"><b>17th September 2018</b></a>
<div id="collapse1" class="panel-collapse collapse">
The exception/interrupt handling documentation has been modified. The simulator
will no longer push IP on top of stack when an exception occurs,
thus the code for exception handler must be modified as per the
new documentation. The changes in the sub-directories are:-
<ul class="list-group-item">
<li>
<b>expl:</b> Added line numbers during compilation errors.
Fixed read(p.x) bug. After compilation of <filename>.expl,
the target code is stored as both assemblycode.xsm and <filename>.xsm.
</li>
<li>
<b>xfs-interface:</b> Fixed long string bug which caused
"Illegal instruction" when large strings were used.
</li>
<li>
<b>xsm:</b> Machine won't push IP on top of the stack when
an exception occurs, anymore. XSM debugger will now show
privilege mode and IP along with next instruction. Added
usertable and watchpoint in XSM debugger. Fixed the --timer
1 bug which caused the timer to be called infinitely when
timer is initialised as 1.
</li>
</ul>
</div>
</li>
</ul>
</div>
<!-- END dashboard main content-->
</div>
</div>
<!-- END Page content-->
</section>
</div>
<!-- END Main wrapper-->
<!-- START Scripts-->
<!-- Main vendor Scripts-->
<script src="vendor/jquery/jquery.min.js"></script>
<script src="vendor/bootstrap/js/bootstrap.min.js"></script>
<!-- Plugins-->
<script src="vendor/chosen/chosen.jquery.min.js"></script>
<script src="vendor/slider/js/bootstrap-slider.js"></script>
<script src="vendor/filestyle/bootstrap-filestyle.min.js"></script>
<!-- Animo-->
<script src="vendor/animo/animo.min.js"></script>
<!-- Sparklines-->
<script src="vendor/sparklines/jquery.sparkline.min.js"></script>
<!-- Slimscroll-->
<script src="vendor/slimscroll/jquery.slimscroll.min.js"></script>
<!-- Store + JSON-->
<script src="vendor/store/store%2bjson2.min.js"></script>
<!-- ScreenFull-->
<script src="vendor/screenfull/screenfull.min.js"></script>
<!-- START Page Custom Script-->
<!--[if lt IE 8]><script src="js/excanvas.min.js"></script><![endif]-->
<!-- END Page Custom Script-->
<!-- App Main-->
<script src="app/js/app.js"></script>
<!-- END Scripts-->
</body>
<!-- Mirrored from themicon.co/theme/beadmin/ by HTTrack Website Copier/3.x [XR&CO'2014], Fri, 29 Jan 2016 16:47:29 GMT -->
</html>