-
Notifications
You must be signed in to change notification settings - Fork 2
/
demo.html
141 lines (133 loc) · 4.15 KB
/
demo.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>
<style>
@font-face
{
font-family: "Web IBM VGA 8x16";
src: url("./demo/web_ibm_vga_8x16.woff") format("woff");
}
#screen_container
{
border: 2px solid #aaa;
padding: 20px;
margin: auto;
width: 800px;
}
#emu_text
{
white-space: pre;
font-family: "Web IBM VGA 8x16";
font-style: normal;
font-size: 20px;
line-height: 20px;
}
#emu_screen
{
display: none;
}
#hint_text
{
text-align: center;
line-height: 20px;
}
#popup_text
{
text-align: center;
line-height: 20px;
font-size: 120%;
}
#known_issue
{
color: red;
}
body
{
min-width: 880px;
}
</style>
<script src="./demo/libv86.js"></script>
<script>
"use strict";
window.onload = function()
{
var emulator = window.emulator = new V86Starter({
wasm_path: "./demo/v86.wasm",
memory_size: 32 * 1024 * 1024,
vga_memory_size: 4 * 1024,
screen_container: document.getElementById("screen_container"),
bios: {
url: "./demo/seabios.bin",
},
vga_bios: {
url: "./demo/vgabios.bin",
},
hda: {
url: "./demo/mp3.img",
},
autostart: true,
});
}
function popUp()
{
popWindow = window.open(
"./popup.html",
"popWindow",
"popup=yes, width=860, height=620, scrollbars=no, resizable=no"
)
}
</script>
<title>391OS-36 Online Demo</title>
<h2>Online Demo</h2>
<hr>
<div id="screen_container">
<div id="emu_text"></div>
<canvas id="emu_screen"></canvas>
<p id="hint_text">
<b>Press Alt+F1/F2/F3 to switch terminal. Press Ctrl+C to interrupt. Press Ctrl+H to get help.<br>
Press Ctrl+S to enable/disable scheduler, so it can mimic the environment prior to CP5.</b><br><br>
For more combinational keys and technical info, please refer to the <a href="./overview.html" target="_blank">Technical Overview</a> page.<br>
This page is best viewed on a computer. Refresh the page to reset the emulator.<br>
</p>
<p id="popup_text">
<b><a href="JavaScript:popUp();">Open in a Popup Window</a></b>
</p>
</div>
<h3>Introduction</h3>
<p>
<b>391OS-36 is a x86 multitask OS built from scratch.</b> It features:<br>
<ul>
<li>A custom file system</li>
<li>Essential drivers and system calls</li>
<li>A scheduler, supports 6 user programs running in 3 terminals</li>
<li>Virtual memory, virtualized RTCs, and signals for each user program</li>
</ul>
</p>
<h3>Office Hours</h3>
<p>
<p>
<b>I have graduated from UIUC ECE in December 2023.<br></b>
<b>Currently, I am a MS student in the CS department. You can still reach me on campus.</b>
</p>
<p>
<del>I am hosting office hours <i>again</i> for ECE 391 in Fall 2023.</del><br>
<del>If you ever need help, please come to ECEB 3026 on 4-7 Sat.</del><br>
</p>
<p>
<del>I am hosting office hours for ECE 391 in Spring 2023.</del><br>
<del>If you ever need help, please come to ECEB 3026 on 19-22 W or 18-22 F.</del><br>
</p>
</p>
<div id="known_issue">
<h3>Known Issues</h3>
<p>
<ul>
<li><b><i>cat . (root file system)</i> does not work as expected from the MP assignment.</b></li>
<ul>
<li>The expected behavior should display a list of files (please check the MP documentation). Please do not follow the wrong behavior.
</ul>
<li>A page fault exception may occur when initializing paging during boot up. This only occurs occasionally in the web emulator.</li>
<li>"Kill the process" function in Process Manager (a custom design, not required) is not compatible with the scheduler.</li>
<li>The web emulator is not compatible with IDM. Please add os.paizhang.info to the IDM exception list or manually cancel the downloads.</li>
</ul>
</p>
</div>
<hr>