-
Notifications
You must be signed in to change notification settings - Fork 0
/
README.txt
136 lines (95 loc) · 4.95 KB
/
README.txt
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
Kernel Simulator
[Version 1.00]
February 5, 2021
CONTACT INFORMATION
___________________
Contact Name: Trong Nguyen
Evan Smedley
Affiliation: Carleton University - Systems and Computer Engineering
DESCRIPTION
___________
- Kernel Simulator is a program that generates an executable file that
simulates a simple OS kernel, which can be used for performance analysis of
various scheduling algorithms.
- The application is composed of five files:
main.c (main C programming script)
main.exe (excutable file generated from main.c)
test1.bat (batch file for test1.txt)
test1.txt (text input file for test1.bat)
test2.bat (batch file for test2.txt)
test2.txt (text input file for test2.bat)
test3.bat (batch file for test3.txt)
test3.txt (text input file for test3.bat)
INSTALLATION
____________
This program has only been tested for Windows 10 and macOS.
-------------------------- Installation Dependencies -------------------------
The application should work with the most current version of C programming
language update C17 ISO/IEC 9899:2018.
No other supplementary libraries and testing file with modular dependencies
are required to run this application.
USAGE
_____
---------------------------- Generating Executable ---------------------------
In order to generate the executable file, the user may wish to directly run
the program from the source code. Open up the main.c source code in your
desired C programming IDE and compile the source code within a Win64 Console
program (EXE) to generate the C supporting files. Once complie execute the
code which should generate an main.exe in the same directory.
----------------------------- Creating Batch file ----------------------------
test1.bat file was created using a .txt with the following script input:
main name_of_test_file.txt name_of_output_file.txt
and save the program extension to a .bat file. This batch files calls the
main.exe to act upon name_of_test_file.txt to generate the output in another
file called name_of_output.txt.
---------------------------------- Input Data --------------------------------
The input file (called test1.txt) should contain one process per line, with a
space between each field for example:
PID_1 Arrival_Time_1 Total_CPU_Time_1 I/O_Frequency_1 I/O_Duration_1
PID_2 Arrival_Time_2 Total_CPU_Time_2 I/O_Frequency_2 I/O_Duration_2
Note that the input file should not contain any other information such as
header, additional information, etc. All the data in the input file should be
considered to be integers. Which looks like this in the .txt file:
1111 5 50 20 10
2222 10 50 20 10
Meaning: Two processes. Named 1111 and 2222. Both require 50 "ticks" to
execute, and call a trap to request I/O service access every 20 ticks. Each
I/O lasts 10 ticks. Process 1111 is available at tick 5, process 2222 is
available at tick 10.
---------------------------------- Output Data --------------------------------
Similarly to the input file, the output file (output1.txt) should contain one
process per line, with a space between each field, for example:
Time_Of_Transition_1 PID_1 Old_State_1 New_State_1
Time_Of_Transition_2 PID_2 Old_State_2 New_State_2
Note that the Old State and New State should be output to the file as a string
(Ready, Running, Waiting, etc).
The output files have been formatted so that each output value is lined up,
making them easier to understand. This means that there are multiple spaces in
between each output value and an extra newline at the end of each line.
If the user wants to use the output files as input for another program and
needs the format of the output to only have one space in between output
values, there are alternate fprintf statements commented out in the transition
function starting at line 170.
CREDITS
_______
Thanks to the support of TAs and Instructor during the development of this
application.
LICENSE
_______
[MIT](https://choosealicense.com/licenses/mit/)
Copyright (c) 2021 Trong Nguyen
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.