From 7b7efbcb543f517a594fac3926ea86c91d1b134f Mon Sep 17 00:00:00 2001 From: Abdullah Al-Rashid Date: Sun, 5 Oct 2025 21:16:34 -0400 Subject: [PATCH 01/10] CPU and SYSCALL logic with device delay and timing updates --- .vscode/c_cpp_properties.json | 17 + bin/interrupts.exe | Bin 0 -> 611782 bytes execution.txt | 571 ++++++++++++++++++++++++++++++++++ interrupts.cpp | 41 ++- interrupts.exe | Bin 0 -> 388907 bytes 5 files changed, 624 insertions(+), 5 deletions(-) create mode 100644 .vscode/c_cpp_properties.json create mode 100644 bin/interrupts.exe create mode 100644 execution.txt create mode 100644 interrupts.exe diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 0000000..7744875 --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,17 @@ +{ + "configurations": [ + { + "name": "Win32", + "includePath": [ + "${workspaceFolder}/**" + ], + "defines": [ + "_DEBUG", + "UNICODE", + "_UNICODE" + ], + "compilerPath": "C:\\msys64\\ucrt64\\bin\\g++.exe" + } + ], + "version": 4 +} \ No newline at end of file diff --git a/bin/interrupts.exe b/bin/interrupts.exe new file mode 100644 index 0000000000000000000000000000000000000000..bb45ef4ad190f8feb482141dcd6261e9e4be279c GIT binary patch literal 611782 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

cWdm%yche;?pa;0C~F7;whJ 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%0DFi9;mM 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 plA8nQwTnmO_xZ +#include "interrupts.hpp" int main(int argc, char** argv) { @@ -19,8 +19,11 @@ int main(int argc, char** argv) { std::string execution; //!< string to accumulate the execution output /******************ADD YOUR VARIABLES HERE*************************/ - - + int current_time = 0; + int context_save = 10; + int switch_time = 1; // Switch from user to kernal mode + int find_vector_time = 1; // Find ISR address or Vector address + int isr_body_time = 40; // execute ISR /******************************************************************/ @@ -29,8 +32,36 @@ int main(int argc, char** argv) { auto [activity, duration_intr] = parse_trace(trace); /******************ADD YOUR SIMULATION CODE HERE*************************/ - - + int device_delay; + if (duration_intr < (int)delays.size()) { + device_delay = delays[duration_intr]; + } else { + device_delay = isr_body_time; + } + + if (activity == "CPU") { + execution += std::to_string(current_time) + ", " + std::to_string(duration_intr) + ", CPU bursts\n"; + current_time += duration_intr; + } else if (activity == "SYSCALL") { + auto [interrupt_log, updated_time] = intr_boilerplate(current_time, duration_intr, context_save, vectors); + execution += interrupt_log; + current_time = updated_time; + + execution += std::to_string(current_time) + ", " + std::to_string(device_delay) + ", SYSCALL: run the ISR (device driver)\n"; + current_time += device_delay; + + execution += std::to_string(current_time) + ", 40, transfer data from device to memory\n"; + current_time += 40; + + execution += std::to_string(current_time) + ", 376, check for errors\n"; + current_time += 376; + + execution += std::to_string(current_time) + ", " + std::to_string(switch_time) + ", IRET\n"; + current_time += switch_time; + + execution += std::to_string(current_time) + ", " + std::to_string(switch_time) + ", switch to user mode\n"; + current_time += switch_time; + } /************************************************************************/ diff --git a/interrupts.exe b/interrupts.exe new file mode 100644 index 0000000000000000000000000000000000000000..586380e56c95346d31d5c4fd7cbe016bdc058a71 GIT binary patch literal 388907 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 Yk4(n##yYKyqz%QfS|E>D@fGg>58>HG@c;k- literal 0 HcmV?d00001 From 98db7c4b6962c1cde9e48b92cda805bf61e2342a Mon Sep 17 00:00:00 2001 From: Amin Eldery Date: Sun, 5 Oct 2025 23:02:03 -0400 Subject: [PATCH 02/10] Finalized Part 2 simulation --- interrupts.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/interrupts.cpp b/interrupts.cpp index 02c1d21..51da8a6 100644 --- a/interrupts.cpp +++ b/interrupts.cpp @@ -59,6 +59,26 @@ int main(int argc, char** argv) { execution += std::to_string(current_time) + ", " + std::to_string(switch_time) + ", IRET\n"; current_time += switch_time; + execution += std::to_string(current_time) + ", " + std::to_string(switch_time) + ", switch to user mode\n"; + current_time += switch_time; + } else if (activity == "END_IO") { + auto [interrupt_log, updated_time] = intr_boilerplate(current_time, duration_intr, context_save, vectors); + execution += interrupt_log; + current_time = updated_time; + + + execution += std::to_string(current_time) + ", " + std::to_string(device_delay) + ", END_IO: run the ISR (device driver)\n"; + current_time += device_delay; + + + execution += std::to_string(current_time) + ", 416, check device status\n"; + current_time += 416; + + + execution += std::to_string(current_time) + ", " + std::to_string(switch_time) + ", IRET\n"; + current_time += switch_time; + + execution += std::to_string(current_time) + ", " + std::to_string(switch_time) + ", switch to user mode\n"; current_time += switch_time; } From fb7bc6bf124fd645832b4561be5c6b656dc5d642 Mon Sep 17 00:00:00 2001 From: Amin Eldery Date: Mon, 6 Oct 2025 00:59:22 -0400 Subject: [PATCH 03/10] Half of the execution results --- output_files/execution1.txt | 571 +++++++++++++++++++++++++++++++++++ output_files/execution10.txt | 571 +++++++++++++++++++++++++++++++++++ output_files/execution11.txt | 571 +++++++++++++++++++++++++++++++++++ output_files/execution2.txt | 571 +++++++++++++++++++++++++++++++++++ output_files/execution3.txt | 571 +++++++++++++++++++++++++++++++++++ output_files/execution4.txt | 96 ++++++ output_files/execution5.txt | 96 ++++++ output_files/execution6.txt | 96 ++++++ output_files/execution7.txt | 58 ++++ output_files/execution8.txt | 58 ++++ output_files/execution9.txt | 58 ++++ 11 files changed, 3317 insertions(+) create mode 100644 output_files/execution1.txt create mode 100644 output_files/execution10.txt create mode 100644 output_files/execution11.txt create mode 100644 output_files/execution2.txt create mode 100644 output_files/execution3.txt create mode 100644 output_files/execution4.txt create mode 100644 output_files/execution5.txt create mode 100644 output_files/execution6.txt create mode 100644 output_files/execution7.txt create mode 100644 output_files/execution8.txt create mode 100644 output_files/execution9.txt diff --git a/output_files/execution1.txt b/output_files/execution1.txt new file mode 100644 index 0000000..816a8b4 --- /dev/null +++ b/output_files/execution1.txt @@ -0,0 +1,571 @@ +0, 51, CPU bursts +51, 1, switch to kernel mode +52, 10, context saved +62, 1, find vector 14 in memory position 0x001C +63, 1, load address 0X0165 into the PC +64, 456, SYSCALL: run the ISR (device driver) +520, 40, transfer data from device to memory +560, 376, check for errors +936, 1, IRET +937, 1, switch to user mode +938, 39, CPU bursts +977, 1, switch to kernel mode +978, 10, context saved +988, 1, find vector 14 in memory position 0x001C +989, 1, load address 0X0165 into the PC +990, 456, END_IO: run the ISR (device driver) +1446, 416, check device status +1862, 1, IRET +1863, 1, switch to user mode +1864, 72, CPU bursts +1936, 1, switch to kernel mode +1937, 10, context saved +1947, 1, find vector 19 in memory position 0x0026 +1948, 1, load address 0X0765 into the PC +1949, 652, SYSCALL: run the ISR (device driver) +2601, 40, transfer data from device to memory +2641, 376, check for errors +3017, 1, IRET +3018, 1, switch to user mode +3019, 28, CPU bursts +3047, 1, switch to kernel mode +3048, 10, context saved +3058, 1, find vector 19 in memory position 0x0026 +3059, 1, load address 0X0765 into the PC +3060, 652, END_IO: run the ISR (device driver) +3712, 416, check device status +4128, 1, IRET +4129, 1, switch to user mode +4130, 32, CPU bursts +4162, 1, switch to kernel mode +4163, 10, context saved +4173, 1, find vector 7 in memory position 0x000E +4174, 1, load address 0X00BD into the PC +4175, 152, SYSCALL: run the ISR (device driver) +4327, 40, transfer data from device to memory +4367, 376, check for errors +4743, 1, IRET +4744, 1, switch to user mode +4745, 25, CPU bursts +4770, 1, switch to kernel mode +4771, 10, context saved +4781, 1, find vector 7 in memory position 0x000E +4782, 1, load address 0X00BD into the PC +4783, 152, END_IO: run the ISR (device driver) +4935, 416, check device status +5351, 1, IRET +5352, 1, switch to user mode +5353, 11, CPU bursts +5364, 1, switch to kernel mode +5365, 10, context saved +5375, 1, find vector 16 in memory position 0x0020 +5376, 1, load address 0X02DF into the PC +5377, 956, SYSCALL: run the ISR (device driver) +6333, 40, transfer data from device to memory +6373, 376, check for errors +6749, 1, IRET +6750, 1, switch to user mode +6751, 54, CPU bursts +6805, 1, switch to kernel mode +6806, 10, context saved +6816, 1, find vector 16 in memory position 0x0020 +6817, 1, load address 0X02DF into the PC +6818, 956, END_IO: run the ISR (device driver) +7774, 416, check device status +8190, 1, IRET +8191, 1, switch to user mode +8192, 96, CPU bursts +8288, 1, switch to kernel mode +8289, 10, context saved +8299, 1, find vector 8 in memory position 0x0010 +8300, 1, load address 0X06EF into the PC +8301, 1000, SYSCALL: run the ISR (device driver) +9301, 40, transfer data from device to memory +9341, 376, check for errors +9717, 1, IRET +9718, 1, switch to user mode +9719, 54, CPU bursts +9773, 1, switch to kernel mode +9774, 10, context saved +9784, 1, find vector 8 in memory position 0x0010 +9785, 1, load address 0X06EF into the PC +9786, 1000, END_IO: run the ISR (device driver) +10786, 416, check device status +11202, 1, IRET +11203, 1, switch to user mode +11204, 77, CPU bursts +11281, 1, switch to kernel mode +11282, 10, context saved +11292, 1, find vector 11 in memory position 0x0016 +11293, 1, load address 0X01F8 into the PC +11294, 523, SYSCALL: run the ISR (device driver) +11817, 40, transfer data from device to memory +11857, 376, check for errors +12233, 1, IRET +12234, 1, switch to user mode +12235, 33, CPU bursts +12268, 1, switch to kernel mode +12269, 10, context saved +12279, 1, find vector 11 in memory position 0x0016 +12280, 1, load address 0X01F8 into the PC +12281, 523, END_IO: run the ISR (device driver) +12804, 416, check device status +13220, 1, IRET +13221, 1, switch to user mode +13222, 60, CPU bursts +13282, 1, switch to kernel mode +13283, 10, context saved +13293, 1, find vector 16 in memory position 0x0020 +13294, 1, load address 0X02DF into the PC +13295, 956, SYSCALL: run the ISR (device driver) +14251, 40, transfer data from device to memory +14291, 376, check for errors +14667, 1, IRET +14668, 1, switch to user mode +14669, 21, CPU bursts +14690, 1, switch to kernel mode +14691, 10, context saved +14701, 1, find vector 16 in memory position 0x0020 +14702, 1, load address 0X02DF into the PC +14703, 956, END_IO: run the ISR (device driver) +15659, 416, check device status +16075, 1, IRET +16076, 1, switch to user mode +16077, 19, CPU bursts +16096, 1, switch to kernel mode +16097, 10, context saved +16107, 1, find vector 2 in memory position 0x0004 +16108, 1, load address 0X0695 into the PC +16109, 150, SYSCALL: run the ISR (device driver) +16259, 40, transfer data from device to memory +16299, 376, check for errors +16675, 1, IRET +16676, 1, switch to user mode +16677, 26, CPU bursts +16703, 1, switch to kernel mode +16704, 10, context saved +16714, 1, find vector 2 in memory position 0x0004 +16715, 1, load address 0X0695 into the PC +16716, 150, END_IO: run the ISR (device driver) +16866, 416, check device status +17282, 1, IRET +17283, 1, switch to user mode +17284, 38, CPU bursts +17322, 1, switch to kernel mode +17323, 10, context saved +17333, 1, find vector 16 in memory position 0x0020 +17334, 1, load address 0X02DF into the PC +17335, 956, SYSCALL: run the ISR (device driver) +18291, 40, transfer data from device to memory +18331, 376, check for errors +18707, 1, IRET +18708, 1, switch to user mode +18709, 28, CPU bursts +18737, 1, switch to kernel mode +18738, 10, context saved +18748, 1, find vector 16 in memory position 0x0020 +18749, 1, load address 0X02DF into the PC +18750, 956, END_IO: run the ISR (device driver) +19706, 416, check device status +20122, 1, IRET +20123, 1, switch to user mode +20124, 65, CPU bursts +20189, 1, switch to kernel mode +20190, 10, context saved +20200, 1, find vector 16 in memory position 0x0020 +20201, 1, load address 0X02DF into the PC +20202, 956, SYSCALL: run the ISR (device driver) +21158, 40, transfer data from device to memory +21198, 376, check for errors +21574, 1, IRET +21575, 1, switch to user mode +21576, 88, CPU bursts +21664, 1, switch to kernel mode +21665, 10, context saved +21675, 1, find vector 16 in memory position 0x0020 +21676, 1, load address 0X02DF into the PC +21677, 956, END_IO: run the ISR (device driver) +22633, 416, check device status +23049, 1, IRET +23050, 1, switch to user mode +23051, 100, CPU bursts +23151, 1, switch to kernel mode +23152, 10, context saved +23162, 1, find vector 17 in memory position 0x0022 +23163, 1, load address 0X05B3 into the PC +23164, 235, SYSCALL: run the ISR (device driver) +23399, 40, transfer data from device to memory +23439, 376, check for errors +23815, 1, IRET +23816, 1, switch to user mode +23817, 28, CPU bursts +23845, 1, switch to kernel mode +23846, 10, context saved +23856, 1, find vector 17 in memory position 0x0022 +23857, 1, load address 0X05B3 into the PC +23858, 235, END_IO: run the ISR (device driver) +24093, 416, check device status +24509, 1, IRET +24510, 1, switch to user mode +24511, 25, CPU bursts +24536, 1, switch to kernel mode +24537, 10, context saved +24547, 1, find vector 1 in memory position 0x0002 +24548, 1, load address 0X029C into the PC +24549, 100, SYSCALL: run the ISR (device driver) +24649, 40, transfer data from device to memory +24689, 376, check for errors +25065, 1, IRET +25066, 1, switch to user mode +25067, 21, CPU bursts +25088, 1, switch to kernel mode +25089, 10, context saved +25099, 1, find vector 1 in memory position 0x0002 +25100, 1, load address 0X029C into the PC +25101, 100, END_IO: run the ISR (device driver) +25201, 416, check device status +25617, 1, IRET +25618, 1, switch to user mode +25619, 25, CPU bursts +25644, 1, switch to kernel mode +25645, 10, context saved +25655, 1, find vector 19 in memory position 0x0026 +25656, 1, load address 0X0765 into the PC +25657, 652, SYSCALL: run the ISR (device driver) +26309, 40, transfer data from device to memory +26349, 376, check for errors +26725, 1, IRET +26726, 1, switch to user mode +26727, 34, CPU bursts +26761, 1, switch to kernel mode +26762, 10, context saved +26772, 1, find vector 19 in memory position 0x0026 +26773, 1, load address 0X0765 into the PC +26774, 652, END_IO: run the ISR (device driver) +27426, 416, check device status +27842, 1, IRET +27843, 1, switch to user mode +27844, 34, CPU bursts +27878, 1, switch to kernel mode +27879, 10, context saved +27889, 1, find vector 8 in memory position 0x0010 +27890, 1, load address 0X06EF into the PC +27891, 1000, SYSCALL: run the ISR (device driver) +28891, 40, transfer data from device to memory +28931, 376, check for errors +29307, 1, IRET +29308, 1, switch to user mode +29309, 59, CPU bursts +29368, 1, switch to kernel mode +29369, 10, context saved +29379, 1, find vector 8 in memory position 0x0010 +29380, 1, load address 0X06EF into the PC +29381, 1000, END_IO: run the ISR (device driver) +30381, 416, check device status +30797, 1, IRET +30798, 1, switch to user mode +30799, 44, CPU bursts +30843, 1, switch to kernel mode +30844, 10, context saved +30854, 1, find vector 15 in memory position 0x001E +30855, 1, load address 0X0584 into the PC +30856, 68, SYSCALL: run the ISR (device driver) +30924, 40, transfer data from device to memory +30964, 376, check for errors +31340, 1, IRET +31341, 1, switch to user mode +31342, 51, CPU bursts +31393, 1, switch to kernel mode +31394, 10, context saved +31404, 1, find vector 15 in memory position 0x001E +31405, 1, load address 0X0584 into the PC +31406, 68, END_IO: run the ISR (device driver) +31474, 416, check device status +31890, 1, IRET +31891, 1, switch to user mode +31892, 87, CPU bursts +31979, 1, switch to kernel mode +31980, 10, context saved +31990, 1, find vector 11 in memory position 0x0016 +31991, 1, load address 0X01F8 into the PC +31992, 523, SYSCALL: run the ISR (device driver) +32515, 40, transfer data from device to memory +32555, 376, check for errors +32931, 1, IRET +32932, 1, switch to user mode +32933, 65, CPU bursts +32998, 1, switch to kernel mode +32999, 10, context saved +33009, 1, find vector 11 in memory position 0x0016 +33010, 1, load address 0X01F8 into the PC +33011, 523, END_IO: run the ISR (device driver) +33534, 416, check device status +33950, 1, IRET +33951, 1, switch to user mode +33952, 48, CPU bursts +34000, 1, switch to kernel mode +34001, 10, context saved +34011, 1, find vector 16 in memory position 0x0020 +34012, 1, load address 0X02DF into the PC +34013, 956, SYSCALL: run the ISR (device driver) +34969, 40, transfer data from device to memory +35009, 376, check for errors +35385, 1, IRET +35386, 1, switch to user mode +35387, 51, CPU bursts +35438, 1, switch to kernel mode +35439, 10, context saved +35449, 1, find vector 16 in memory position 0x0020 +35450, 1, load address 0X02DF into the PC +35451, 956, END_IO: run the ISR (device driver) +36407, 416, check device status +36823, 1, IRET +36824, 1, switch to user mode +36825, 37, CPU bursts +36862, 1, switch to kernel mode +36863, 10, context saved +36873, 1, find vector 1 in memory position 0x0002 +36874, 1, load address 0X029C into the PC +36875, 100, SYSCALL: run the ISR (device driver) +36975, 40, transfer data from device to memory +37015, 376, check for errors +37391, 1, IRET +37392, 1, switch to user mode +37393, 18, CPU bursts +37411, 1, switch to kernel mode +37412, 10, context saved +37422, 1, find vector 1 in memory position 0x0002 +37423, 1, load address 0X029C into the PC +37424, 100, END_IO: run the ISR (device driver) +37524, 416, check device status +37940, 1, IRET +37941, 1, switch to user mode +37942, 11, CPU bursts +37953, 1, switch to kernel mode +37954, 10, context saved +37964, 1, find vector 2 in memory position 0x0004 +37965, 1, load address 0X0695 into the PC +37966, 150, SYSCALL: run the ISR (device driver) +38116, 40, transfer data from device to memory +38156, 376, check for errors +38532, 1, IRET +38533, 1, switch to user mode +38534, 46, CPU bursts +38580, 1, switch to kernel mode +38581, 10, context saved +38591, 1, find vector 2 in memory position 0x0004 +38592, 1, load address 0X0695 into the PC +38593, 150, END_IO: run the ISR (device driver) +38743, 416, check device status +39159, 1, IRET +39160, 1, switch to user mode +39161, 33, CPU bursts +39194, 1, switch to kernel mode +39195, 10, context saved +39205, 1, find vector 12 in memory position 0x0018 +39206, 1, load address 0X03B9 into the PC +39207, 145, SYSCALL: run the ISR (device driver) +39352, 40, transfer data from device to memory +39392, 376, check for errors +39768, 1, IRET +39769, 1, switch to user mode +39770, 75, CPU bursts +39845, 1, switch to kernel mode +39846, 10, context saved +39856, 1, find vector 12 in memory position 0x0018 +39857, 1, load address 0X03B9 into the PC +39858, 145, END_IO: run the ISR (device driver) +40003, 416, check device status +40419, 1, IRET +40420, 1, switch to user mode +40421, 88, CPU bursts +40509, 1, switch to kernel mode +40510, 10, context saved +40520, 1, find vector 18 in memory position 0x0024 +40521, 1, load address 0X060A into the PC +40522, 123, SYSCALL: run the ISR (device driver) +40645, 40, transfer data from device to memory +40685, 376, check for errors +41061, 1, IRET +41062, 1, switch to user mode +41063, 29, CPU bursts +41092, 1, switch to kernel mode +41093, 10, context saved +41103, 1, find vector 18 in memory position 0x0024 +41104, 1, load address 0X060A into the PC +41105, 123, END_IO: run the ISR (device driver) +41228, 416, check device status +41644, 1, IRET +41645, 1, switch to user mode +41646, 28, CPU bursts +41674, 1, switch to kernel mode +41675, 10, context saved +41685, 1, find vector 1 in memory position 0x0002 +41686, 1, load address 0X029C into the PC +41687, 100, SYSCALL: run the ISR (device driver) +41787, 40, transfer data from device to memory +41827, 376, check for errors +42203, 1, IRET +42204, 1, switch to user mode +42205, 69, CPU bursts +42274, 1, switch to kernel mode +42275, 10, context saved +42285, 1, find vector 1 in memory position 0x0002 +42286, 1, load address 0X029C into the PC +42287, 100, END_IO: run the ISR (device driver) +42387, 416, check device status +42803, 1, IRET +42804, 1, switch to user mode +42805, 48, CPU bursts +42853, 1, switch to kernel mode +42854, 10, context saved +42864, 1, find vector 4 in memory position 0x0008 +42865, 1, load address 0X0292 into the PC +42866, 250, SYSCALL: run the ISR (device driver) +43116, 40, transfer data from device to memory +43156, 376, check for errors +43532, 1, IRET +43533, 1, switch to user mode +43534, 36, CPU bursts +43570, 1, switch to kernel mode +43571, 10, context saved +43581, 1, find vector 4 in memory position 0x0008 +43582, 1, load address 0X0292 into the PC +43583, 250, END_IO: run the ISR (device driver) +43833, 416, check device status +44249, 1, IRET +44250, 1, switch to user mode +44251, 99, CPU bursts +44350, 1, switch to kernel mode +44351, 10, context saved +44361, 1, find vector 18 in memory position 0x0024 +44362, 1, load address 0X060A into the PC +44363, 123, SYSCALL: run the ISR (device driver) +44486, 40, transfer data from device to memory +44526, 376, check for errors +44902, 1, IRET +44903, 1, switch to user mode +44904, 56, CPU bursts +44960, 1, switch to kernel mode +44961, 10, context saved +44971, 1, find vector 18 in memory position 0x0024 +44972, 1, load address 0X060A into the PC +44973, 123, END_IO: run the ISR (device driver) +45096, 416, check device status +45512, 1, IRET +45513, 1, switch to user mode +45514, 61, CPU bursts +45575, 1, switch to kernel mode +45576, 10, context saved +45586, 1, find vector 16 in memory position 0x0020 +45587, 1, load address 0X02DF into the PC +45588, 956, SYSCALL: run the ISR (device driver) +46544, 40, transfer data from device to memory +46584, 376, check for errors +46960, 1, IRET +46961, 1, switch to user mode +46962, 35, CPU bursts +46997, 1, switch to kernel mode +46998, 10, context saved +47008, 1, find vector 16 in memory position 0x0020 +47009, 1, load address 0X02DF into the PC +47010, 956, END_IO: run the ISR (device driver) +47966, 416, check device status +48382, 1, IRET +48383, 1, switch to user mode +48384, 54, CPU bursts +48438, 1, switch to kernel mode +48439, 10, context saved +48449, 1, find vector 10 in memory position 0x0014 +48450, 1, load address 0X07B0 into the PC +48451, 564, SYSCALL: run the ISR (device driver) +49015, 40, transfer data from device to memory +49055, 376, check for errors +49431, 1, IRET +49432, 1, switch to user mode +49433, 83, CPU bursts +49516, 1, switch to kernel mode +49517, 10, context saved +49527, 1, find vector 10 in memory position 0x0014 +49528, 1, load address 0X07B0 into the PC +49529, 564, END_IO: run the ISR (device driver) +50093, 416, check device status +50509, 1, IRET +50510, 1, switch to user mode +50511, 51, CPU bursts +50562, 1, switch to kernel mode +50563, 10, context saved +50573, 1, find vector 11 in memory position 0x0016 +50574, 1, load address 0X01F8 into the PC +50575, 523, SYSCALL: run the ISR (device driver) +51098, 40, transfer data from device to memory +51138, 376, check for errors +51514, 1, IRET +51515, 1, switch to user mode +51516, 85, CPU bursts +51601, 1, switch to kernel mode +51602, 10, context saved +51612, 1, find vector 11 in memory position 0x0016 +51613, 1, load address 0X01F8 into the PC +51614, 523, END_IO: run the ISR (device driver) +52137, 416, check device status +52553, 1, IRET +52554, 1, switch to user mode +52555, 48, CPU bursts +52603, 1, switch to kernel mode +52604, 10, context saved +52614, 1, find vector 6 in memory position 0x000C +52615, 1, load address 0X0639 into the PC +52616, 265, SYSCALL: run the ISR (device driver) +52881, 40, transfer data from device to memory +52921, 376, check for errors +53297, 1, IRET +53298, 1, switch to user mode +53299, 58, CPU bursts +53357, 1, switch to kernel mode +53358, 10, context saved +53368, 1, find vector 6 in memory position 0x000C +53369, 1, load address 0X0639 into the PC +53370, 265, END_IO: run the ISR (device driver) +53635, 416, check device status +54051, 1, IRET +54052, 1, switch to user mode +54053, 21, CPU bursts +54074, 1, switch to kernel mode +54075, 10, context saved +54085, 1, find vector 5 in memory position 0x000A +54086, 1, load address 0X048B into the PC +54087, 211, SYSCALL: run the ISR (device driver) +54298, 40, transfer data from device to memory +54338, 376, check for errors +54714, 1, IRET +54715, 1, switch to user mode +54716, 62, CPU bursts +54778, 1, switch to kernel mode +54779, 10, context saved +54789, 1, find vector 5 in memory position 0x000A +54790, 1, load address 0X048B into the PC +54791, 211, END_IO: run the ISR (device driver) +55002, 416, check device status +55418, 1, IRET +55419, 1, switch to user mode +55420, 41, CPU bursts +55461, 1, switch to kernel mode +55462, 10, context saved +55472, 1, find vector 4 in memory position 0x0008 +55473, 1, load address 0X0292 into the PC +55474, 250, SYSCALL: run the ISR (device driver) +55724, 40, transfer data from device to memory +55764, 376, check for errors +56140, 1, IRET +56141, 1, switch to user mode +56142, 48, CPU bursts +56190, 1, switch to kernel mode +56191, 10, context saved +56201, 1, find vector 4 in memory position 0x0008 +56202, 1, load address 0X0292 into the PC +56203, 250, END_IO: run the ISR (device driver) +56453, 416, check device status +56869, 1, IRET +56870, 1, switch to user mode +56871, 63, CPU bursts diff --git a/output_files/execution10.txt b/output_files/execution10.txt new file mode 100644 index 0000000..816a8b4 --- /dev/null +++ b/output_files/execution10.txt @@ -0,0 +1,571 @@ +0, 51, CPU bursts +51, 1, switch to kernel mode +52, 10, context saved +62, 1, find vector 14 in memory position 0x001C +63, 1, load address 0X0165 into the PC +64, 456, SYSCALL: run the ISR (device driver) +520, 40, transfer data from device to memory +560, 376, check for errors +936, 1, IRET +937, 1, switch to user mode +938, 39, CPU bursts +977, 1, switch to kernel mode +978, 10, context saved +988, 1, find vector 14 in memory position 0x001C +989, 1, load address 0X0165 into the PC +990, 456, END_IO: run the ISR (device driver) +1446, 416, check device status +1862, 1, IRET +1863, 1, switch to user mode +1864, 72, CPU bursts +1936, 1, switch to kernel mode +1937, 10, context saved +1947, 1, find vector 19 in memory position 0x0026 +1948, 1, load address 0X0765 into the PC +1949, 652, SYSCALL: run the ISR (device driver) +2601, 40, transfer data from device to memory +2641, 376, check for errors +3017, 1, IRET +3018, 1, switch to user mode +3019, 28, CPU bursts +3047, 1, switch to kernel mode +3048, 10, context saved +3058, 1, find vector 19 in memory position 0x0026 +3059, 1, load address 0X0765 into the PC +3060, 652, END_IO: run the ISR (device driver) +3712, 416, check device status +4128, 1, IRET +4129, 1, switch to user mode +4130, 32, CPU bursts +4162, 1, switch to kernel mode +4163, 10, context saved +4173, 1, find vector 7 in memory position 0x000E +4174, 1, load address 0X00BD into the PC +4175, 152, SYSCALL: run the ISR (device driver) +4327, 40, transfer data from device to memory +4367, 376, check for errors +4743, 1, IRET +4744, 1, switch to user mode +4745, 25, CPU bursts +4770, 1, switch to kernel mode +4771, 10, context saved +4781, 1, find vector 7 in memory position 0x000E +4782, 1, load address 0X00BD into the PC +4783, 152, END_IO: run the ISR (device driver) +4935, 416, check device status +5351, 1, IRET +5352, 1, switch to user mode +5353, 11, CPU bursts +5364, 1, switch to kernel mode +5365, 10, context saved +5375, 1, find vector 16 in memory position 0x0020 +5376, 1, load address 0X02DF into the PC +5377, 956, SYSCALL: run the ISR (device driver) +6333, 40, transfer data from device to memory +6373, 376, check for errors +6749, 1, IRET +6750, 1, switch to user mode +6751, 54, CPU bursts +6805, 1, switch to kernel mode +6806, 10, context saved +6816, 1, find vector 16 in memory position 0x0020 +6817, 1, load address 0X02DF into the PC +6818, 956, END_IO: run the ISR (device driver) +7774, 416, check device status +8190, 1, IRET +8191, 1, switch to user mode +8192, 96, CPU bursts +8288, 1, switch to kernel mode +8289, 10, context saved +8299, 1, find vector 8 in memory position 0x0010 +8300, 1, load address 0X06EF into the PC +8301, 1000, SYSCALL: run the ISR (device driver) +9301, 40, transfer data from device to memory +9341, 376, check for errors +9717, 1, IRET +9718, 1, switch to user mode +9719, 54, CPU bursts +9773, 1, switch to kernel mode +9774, 10, context saved +9784, 1, find vector 8 in memory position 0x0010 +9785, 1, load address 0X06EF into the PC +9786, 1000, END_IO: run the ISR (device driver) +10786, 416, check device status +11202, 1, IRET +11203, 1, switch to user mode +11204, 77, CPU bursts +11281, 1, switch to kernel mode +11282, 10, context saved +11292, 1, find vector 11 in memory position 0x0016 +11293, 1, load address 0X01F8 into the PC +11294, 523, SYSCALL: run the ISR (device driver) +11817, 40, transfer data from device to memory +11857, 376, check for errors +12233, 1, IRET +12234, 1, switch to user mode +12235, 33, CPU bursts +12268, 1, switch to kernel mode +12269, 10, context saved +12279, 1, find vector 11 in memory position 0x0016 +12280, 1, load address 0X01F8 into the PC +12281, 523, END_IO: run the ISR (device driver) +12804, 416, check device status +13220, 1, IRET +13221, 1, switch to user mode +13222, 60, CPU bursts +13282, 1, switch to kernel mode +13283, 10, context saved +13293, 1, find vector 16 in memory position 0x0020 +13294, 1, load address 0X02DF into the PC +13295, 956, SYSCALL: run the ISR (device driver) +14251, 40, transfer data from device to memory +14291, 376, check for errors +14667, 1, IRET +14668, 1, switch to user mode +14669, 21, CPU bursts +14690, 1, switch to kernel mode +14691, 10, context saved +14701, 1, find vector 16 in memory position 0x0020 +14702, 1, load address 0X02DF into the PC +14703, 956, END_IO: run the ISR (device driver) +15659, 416, check device status +16075, 1, IRET +16076, 1, switch to user mode +16077, 19, CPU bursts +16096, 1, switch to kernel mode +16097, 10, context saved +16107, 1, find vector 2 in memory position 0x0004 +16108, 1, load address 0X0695 into the PC +16109, 150, SYSCALL: run the ISR (device driver) +16259, 40, transfer data from device to memory +16299, 376, check for errors +16675, 1, IRET +16676, 1, switch to user mode +16677, 26, CPU bursts +16703, 1, switch to kernel mode +16704, 10, context saved +16714, 1, find vector 2 in memory position 0x0004 +16715, 1, load address 0X0695 into the PC +16716, 150, END_IO: run the ISR (device driver) +16866, 416, check device status +17282, 1, IRET +17283, 1, switch to user mode +17284, 38, CPU bursts +17322, 1, switch to kernel mode +17323, 10, context saved +17333, 1, find vector 16 in memory position 0x0020 +17334, 1, load address 0X02DF into the PC +17335, 956, SYSCALL: run the ISR (device driver) +18291, 40, transfer data from device to memory +18331, 376, check for errors +18707, 1, IRET +18708, 1, switch to user mode +18709, 28, CPU bursts +18737, 1, switch to kernel mode +18738, 10, context saved +18748, 1, find vector 16 in memory position 0x0020 +18749, 1, load address 0X02DF into the PC +18750, 956, END_IO: run the ISR (device driver) +19706, 416, check device status +20122, 1, IRET +20123, 1, switch to user mode +20124, 65, CPU bursts +20189, 1, switch to kernel mode +20190, 10, context saved +20200, 1, find vector 16 in memory position 0x0020 +20201, 1, load address 0X02DF into the PC +20202, 956, SYSCALL: run the ISR (device driver) +21158, 40, transfer data from device to memory +21198, 376, check for errors +21574, 1, IRET +21575, 1, switch to user mode +21576, 88, CPU bursts +21664, 1, switch to kernel mode +21665, 10, context saved +21675, 1, find vector 16 in memory position 0x0020 +21676, 1, load address 0X02DF into the PC +21677, 956, END_IO: run the ISR (device driver) +22633, 416, check device status +23049, 1, IRET +23050, 1, switch to user mode +23051, 100, CPU bursts +23151, 1, switch to kernel mode +23152, 10, context saved +23162, 1, find vector 17 in memory position 0x0022 +23163, 1, load address 0X05B3 into the PC +23164, 235, SYSCALL: run the ISR (device driver) +23399, 40, transfer data from device to memory +23439, 376, check for errors +23815, 1, IRET +23816, 1, switch to user mode +23817, 28, CPU bursts +23845, 1, switch to kernel mode +23846, 10, context saved +23856, 1, find vector 17 in memory position 0x0022 +23857, 1, load address 0X05B3 into the PC +23858, 235, END_IO: run the ISR (device driver) +24093, 416, check device status +24509, 1, IRET +24510, 1, switch to user mode +24511, 25, CPU bursts +24536, 1, switch to kernel mode +24537, 10, context saved +24547, 1, find vector 1 in memory position 0x0002 +24548, 1, load address 0X029C into the PC +24549, 100, SYSCALL: run the ISR (device driver) +24649, 40, transfer data from device to memory +24689, 376, check for errors +25065, 1, IRET +25066, 1, switch to user mode +25067, 21, CPU bursts +25088, 1, switch to kernel mode +25089, 10, context saved +25099, 1, find vector 1 in memory position 0x0002 +25100, 1, load address 0X029C into the PC +25101, 100, END_IO: run the ISR (device driver) +25201, 416, check device status +25617, 1, IRET +25618, 1, switch to user mode +25619, 25, CPU bursts +25644, 1, switch to kernel mode +25645, 10, context saved +25655, 1, find vector 19 in memory position 0x0026 +25656, 1, load address 0X0765 into the PC +25657, 652, SYSCALL: run the ISR (device driver) +26309, 40, transfer data from device to memory +26349, 376, check for errors +26725, 1, IRET +26726, 1, switch to user mode +26727, 34, CPU bursts +26761, 1, switch to kernel mode +26762, 10, context saved +26772, 1, find vector 19 in memory position 0x0026 +26773, 1, load address 0X0765 into the PC +26774, 652, END_IO: run the ISR (device driver) +27426, 416, check device status +27842, 1, IRET +27843, 1, switch to user mode +27844, 34, CPU bursts +27878, 1, switch to kernel mode +27879, 10, context saved +27889, 1, find vector 8 in memory position 0x0010 +27890, 1, load address 0X06EF into the PC +27891, 1000, SYSCALL: run the ISR (device driver) +28891, 40, transfer data from device to memory +28931, 376, check for errors +29307, 1, IRET +29308, 1, switch to user mode +29309, 59, CPU bursts +29368, 1, switch to kernel mode +29369, 10, context saved +29379, 1, find vector 8 in memory position 0x0010 +29380, 1, load address 0X06EF into the PC +29381, 1000, END_IO: run the ISR (device driver) +30381, 416, check device status +30797, 1, IRET +30798, 1, switch to user mode +30799, 44, CPU bursts +30843, 1, switch to kernel mode +30844, 10, context saved +30854, 1, find vector 15 in memory position 0x001E +30855, 1, load address 0X0584 into the PC +30856, 68, SYSCALL: run the ISR (device driver) +30924, 40, transfer data from device to memory +30964, 376, check for errors +31340, 1, IRET +31341, 1, switch to user mode +31342, 51, CPU bursts +31393, 1, switch to kernel mode +31394, 10, context saved +31404, 1, find vector 15 in memory position 0x001E +31405, 1, load address 0X0584 into the PC +31406, 68, END_IO: run the ISR (device driver) +31474, 416, check device status +31890, 1, IRET +31891, 1, switch to user mode +31892, 87, CPU bursts +31979, 1, switch to kernel mode +31980, 10, context saved +31990, 1, find vector 11 in memory position 0x0016 +31991, 1, load address 0X01F8 into the PC +31992, 523, SYSCALL: run the ISR (device driver) +32515, 40, transfer data from device to memory +32555, 376, check for errors +32931, 1, IRET +32932, 1, switch to user mode +32933, 65, CPU bursts +32998, 1, switch to kernel mode +32999, 10, context saved +33009, 1, find vector 11 in memory position 0x0016 +33010, 1, load address 0X01F8 into the PC +33011, 523, END_IO: run the ISR (device driver) +33534, 416, check device status +33950, 1, IRET +33951, 1, switch to user mode +33952, 48, CPU bursts +34000, 1, switch to kernel mode +34001, 10, context saved +34011, 1, find vector 16 in memory position 0x0020 +34012, 1, load address 0X02DF into the PC +34013, 956, SYSCALL: run the ISR (device driver) +34969, 40, transfer data from device to memory +35009, 376, check for errors +35385, 1, IRET +35386, 1, switch to user mode +35387, 51, CPU bursts +35438, 1, switch to kernel mode +35439, 10, context saved +35449, 1, find vector 16 in memory position 0x0020 +35450, 1, load address 0X02DF into the PC +35451, 956, END_IO: run the ISR (device driver) +36407, 416, check device status +36823, 1, IRET +36824, 1, switch to user mode +36825, 37, CPU bursts +36862, 1, switch to kernel mode +36863, 10, context saved +36873, 1, find vector 1 in memory position 0x0002 +36874, 1, load address 0X029C into the PC +36875, 100, SYSCALL: run the ISR (device driver) +36975, 40, transfer data from device to memory +37015, 376, check for errors +37391, 1, IRET +37392, 1, switch to user mode +37393, 18, CPU bursts +37411, 1, switch to kernel mode +37412, 10, context saved +37422, 1, find vector 1 in memory position 0x0002 +37423, 1, load address 0X029C into the PC +37424, 100, END_IO: run the ISR (device driver) +37524, 416, check device status +37940, 1, IRET +37941, 1, switch to user mode +37942, 11, CPU bursts +37953, 1, switch to kernel mode +37954, 10, context saved +37964, 1, find vector 2 in memory position 0x0004 +37965, 1, load address 0X0695 into the PC +37966, 150, SYSCALL: run the ISR (device driver) +38116, 40, transfer data from device to memory +38156, 376, check for errors +38532, 1, IRET +38533, 1, switch to user mode +38534, 46, CPU bursts +38580, 1, switch to kernel mode +38581, 10, context saved +38591, 1, find vector 2 in memory position 0x0004 +38592, 1, load address 0X0695 into the PC +38593, 150, END_IO: run the ISR (device driver) +38743, 416, check device status +39159, 1, IRET +39160, 1, switch to user mode +39161, 33, CPU bursts +39194, 1, switch to kernel mode +39195, 10, context saved +39205, 1, find vector 12 in memory position 0x0018 +39206, 1, load address 0X03B9 into the PC +39207, 145, SYSCALL: run the ISR (device driver) +39352, 40, transfer data from device to memory +39392, 376, check for errors +39768, 1, IRET +39769, 1, switch to user mode +39770, 75, CPU bursts +39845, 1, switch to kernel mode +39846, 10, context saved +39856, 1, find vector 12 in memory position 0x0018 +39857, 1, load address 0X03B9 into the PC +39858, 145, END_IO: run the ISR (device driver) +40003, 416, check device status +40419, 1, IRET +40420, 1, switch to user mode +40421, 88, CPU bursts +40509, 1, switch to kernel mode +40510, 10, context saved +40520, 1, find vector 18 in memory position 0x0024 +40521, 1, load address 0X060A into the PC +40522, 123, SYSCALL: run the ISR (device driver) +40645, 40, transfer data from device to memory +40685, 376, check for errors +41061, 1, IRET +41062, 1, switch to user mode +41063, 29, CPU bursts +41092, 1, switch to kernel mode +41093, 10, context saved +41103, 1, find vector 18 in memory position 0x0024 +41104, 1, load address 0X060A into the PC +41105, 123, END_IO: run the ISR (device driver) +41228, 416, check device status +41644, 1, IRET +41645, 1, switch to user mode +41646, 28, CPU bursts +41674, 1, switch to kernel mode +41675, 10, context saved +41685, 1, find vector 1 in memory position 0x0002 +41686, 1, load address 0X029C into the PC +41687, 100, SYSCALL: run the ISR (device driver) +41787, 40, transfer data from device to memory +41827, 376, check for errors +42203, 1, IRET +42204, 1, switch to user mode +42205, 69, CPU bursts +42274, 1, switch to kernel mode +42275, 10, context saved +42285, 1, find vector 1 in memory position 0x0002 +42286, 1, load address 0X029C into the PC +42287, 100, END_IO: run the ISR (device driver) +42387, 416, check device status +42803, 1, IRET +42804, 1, switch to user mode +42805, 48, CPU bursts +42853, 1, switch to kernel mode +42854, 10, context saved +42864, 1, find vector 4 in memory position 0x0008 +42865, 1, load address 0X0292 into the PC +42866, 250, SYSCALL: run the ISR (device driver) +43116, 40, transfer data from device to memory +43156, 376, check for errors +43532, 1, IRET +43533, 1, switch to user mode +43534, 36, CPU bursts +43570, 1, switch to kernel mode +43571, 10, context saved +43581, 1, find vector 4 in memory position 0x0008 +43582, 1, load address 0X0292 into the PC +43583, 250, END_IO: run the ISR (device driver) +43833, 416, check device status +44249, 1, IRET +44250, 1, switch to user mode +44251, 99, CPU bursts +44350, 1, switch to kernel mode +44351, 10, context saved +44361, 1, find vector 18 in memory position 0x0024 +44362, 1, load address 0X060A into the PC +44363, 123, SYSCALL: run the ISR (device driver) +44486, 40, transfer data from device to memory +44526, 376, check for errors +44902, 1, IRET +44903, 1, switch to user mode +44904, 56, CPU bursts +44960, 1, switch to kernel mode +44961, 10, context saved +44971, 1, find vector 18 in memory position 0x0024 +44972, 1, load address 0X060A into the PC +44973, 123, END_IO: run the ISR (device driver) +45096, 416, check device status +45512, 1, IRET +45513, 1, switch to user mode +45514, 61, CPU bursts +45575, 1, switch to kernel mode +45576, 10, context saved +45586, 1, find vector 16 in memory position 0x0020 +45587, 1, load address 0X02DF into the PC +45588, 956, SYSCALL: run the ISR (device driver) +46544, 40, transfer data from device to memory +46584, 376, check for errors +46960, 1, IRET +46961, 1, switch to user mode +46962, 35, CPU bursts +46997, 1, switch to kernel mode +46998, 10, context saved +47008, 1, find vector 16 in memory position 0x0020 +47009, 1, load address 0X02DF into the PC +47010, 956, END_IO: run the ISR (device driver) +47966, 416, check device status +48382, 1, IRET +48383, 1, switch to user mode +48384, 54, CPU bursts +48438, 1, switch to kernel mode +48439, 10, context saved +48449, 1, find vector 10 in memory position 0x0014 +48450, 1, load address 0X07B0 into the PC +48451, 564, SYSCALL: run the ISR (device driver) +49015, 40, transfer data from device to memory +49055, 376, check for errors +49431, 1, IRET +49432, 1, switch to user mode +49433, 83, CPU bursts +49516, 1, switch to kernel mode +49517, 10, context saved +49527, 1, find vector 10 in memory position 0x0014 +49528, 1, load address 0X07B0 into the PC +49529, 564, END_IO: run the ISR (device driver) +50093, 416, check device status +50509, 1, IRET +50510, 1, switch to user mode +50511, 51, CPU bursts +50562, 1, switch to kernel mode +50563, 10, context saved +50573, 1, find vector 11 in memory position 0x0016 +50574, 1, load address 0X01F8 into the PC +50575, 523, SYSCALL: run the ISR (device driver) +51098, 40, transfer data from device to memory +51138, 376, check for errors +51514, 1, IRET +51515, 1, switch to user mode +51516, 85, CPU bursts +51601, 1, switch to kernel mode +51602, 10, context saved +51612, 1, find vector 11 in memory position 0x0016 +51613, 1, load address 0X01F8 into the PC +51614, 523, END_IO: run the ISR (device driver) +52137, 416, check device status +52553, 1, IRET +52554, 1, switch to user mode +52555, 48, CPU bursts +52603, 1, switch to kernel mode +52604, 10, context saved +52614, 1, find vector 6 in memory position 0x000C +52615, 1, load address 0X0639 into the PC +52616, 265, SYSCALL: run the ISR (device driver) +52881, 40, transfer data from device to memory +52921, 376, check for errors +53297, 1, IRET +53298, 1, switch to user mode +53299, 58, CPU bursts +53357, 1, switch to kernel mode +53358, 10, context saved +53368, 1, find vector 6 in memory position 0x000C +53369, 1, load address 0X0639 into the PC +53370, 265, END_IO: run the ISR (device driver) +53635, 416, check device status +54051, 1, IRET +54052, 1, switch to user mode +54053, 21, CPU bursts +54074, 1, switch to kernel mode +54075, 10, context saved +54085, 1, find vector 5 in memory position 0x000A +54086, 1, load address 0X048B into the PC +54087, 211, SYSCALL: run the ISR (device driver) +54298, 40, transfer data from device to memory +54338, 376, check for errors +54714, 1, IRET +54715, 1, switch to user mode +54716, 62, CPU bursts +54778, 1, switch to kernel mode +54779, 10, context saved +54789, 1, find vector 5 in memory position 0x000A +54790, 1, load address 0X048B into the PC +54791, 211, END_IO: run the ISR (device driver) +55002, 416, check device status +55418, 1, IRET +55419, 1, switch to user mode +55420, 41, CPU bursts +55461, 1, switch to kernel mode +55462, 10, context saved +55472, 1, find vector 4 in memory position 0x0008 +55473, 1, load address 0X0292 into the PC +55474, 250, SYSCALL: run the ISR (device driver) +55724, 40, transfer data from device to memory +55764, 376, check for errors +56140, 1, IRET +56141, 1, switch to user mode +56142, 48, CPU bursts +56190, 1, switch to kernel mode +56191, 10, context saved +56201, 1, find vector 4 in memory position 0x0008 +56202, 1, load address 0X0292 into the PC +56203, 250, END_IO: run the ISR (device driver) +56453, 416, check device status +56869, 1, IRET +56870, 1, switch to user mode +56871, 63, CPU bursts diff --git a/output_files/execution11.txt b/output_files/execution11.txt new file mode 100644 index 0000000..402c1e4 --- /dev/null +++ b/output_files/execution11.txt @@ -0,0 +1,571 @@ +0, 51, CPU bursts +51, 1, switch to kernel mode +52, 10, context saved +62, 1, find vector 14 in memory position 0x001C +63, 1, load address 0X0165 into the PC +64, 456, SYSCALL: run the ISR (device driver) +520, 80, transfer data from device to memory +560, 376, check for errors +936, 1, IRET +937, 1, switch to user mode +938, 39, CPU bursts +977, 1, switch to kernel mode +978, 10, context saved +988, 1, find vector 14 in memory position 0x001C +989, 1, load address 0X0165 into the PC +990, 456, END_IO: run the ISR (device driver) +1446, 416, check device status +1862, 1, IRET +1863, 1, switch to user mode +1864, 72, CPU bursts +1936, 1, switch to kernel mode +1937, 10, context saved +1947, 1, find vector 19 in memory position 0x0026 +1948, 1, load address 0X0765 into the PC +1949, 652, SYSCALL: run the ISR (device driver) +2601, 80, transfer data from device to memory +2641, 376, check for errors +3017, 1, IRET +3018, 1, switch to user mode +3019, 28, CPU bursts +3047, 1, switch to kernel mode +3048, 10, context saved +3058, 1, find vector 19 in memory position 0x0026 +3059, 1, load address 0X0765 into the PC +3060, 652, END_IO: run the ISR (device driver) +3712, 416, check device status +4128, 1, IRET +4129, 1, switch to user mode +4130, 32, CPU bursts +4162, 1, switch to kernel mode +4163, 10, context saved +4173, 1, find vector 7 in memory position 0x000E +4174, 1, load address 0X00BD into the PC +4175, 152, SYSCALL: run the ISR (device driver) +4327, 80, transfer data from device to memory +4367, 376, check for errors +4743, 1, IRET +4744, 1, switch to user mode +4745, 25, CPU bursts +4770, 1, switch to kernel mode +4771, 10, context saved +4781, 1, find vector 7 in memory position 0x000E +4782, 1, load address 0X00BD into the PC +4783, 152, END_IO: run the ISR (device driver) +4935, 416, check device status +5351, 1, IRET +5352, 1, switch to user mode +5353, 11, CPU bursts +5364, 1, switch to kernel mode +5365, 10, context saved +5375, 1, find vector 16 in memory position 0x0020 +5376, 1, load address 0X02DF into the PC +5377, 956, SYSCALL: run the ISR (device driver) +6333, 80, transfer data from device to memory +6373, 376, check for errors +6749, 1, IRET +6750, 1, switch to user mode +6751, 54, CPU bursts +6805, 1, switch to kernel mode +6806, 10, context saved +6816, 1, find vector 16 in memory position 0x0020 +6817, 1, load address 0X02DF into the PC +6818, 956, END_IO: run the ISR (device driver) +7774, 416, check device status +8190, 1, IRET +8191, 1, switch to user mode +8192, 96, CPU bursts +8288, 1, switch to kernel mode +8289, 10, context saved +8299, 1, find vector 8 in memory position 0x0010 +8300, 1, load address 0X06EF into the PC +8301, 1000, SYSCALL: run the ISR (device driver) +9301, 80, transfer data from device to memory +9341, 376, check for errors +9717, 1, IRET +9718, 1, switch to user mode +9719, 54, CPU bursts +9773, 1, switch to kernel mode +9774, 10, context saved +9784, 1, find vector 8 in memory position 0x0010 +9785, 1, load address 0X06EF into the PC +9786, 1000, END_IO: run the ISR (device driver) +10786, 416, check device status +11202, 1, IRET +11203, 1, switch to user mode +11204, 77, CPU bursts +11281, 1, switch to kernel mode +11282, 10, context saved +11292, 1, find vector 11 in memory position 0x0016 +11293, 1, load address 0X01F8 into the PC +11294, 523, SYSCALL: run the ISR (device driver) +11817, 80, transfer data from device to memory +11857, 376, check for errors +12233, 1, IRET +12234, 1, switch to user mode +12235, 33, CPU bursts +12268, 1, switch to kernel mode +12269, 10, context saved +12279, 1, find vector 11 in memory position 0x0016 +12280, 1, load address 0X01F8 into the PC +12281, 523, END_IO: run the ISR (device driver) +12804, 416, check device status +13220, 1, IRET +13221, 1, switch to user mode +13222, 60, CPU bursts +13282, 1, switch to kernel mode +13283, 10, context saved +13293, 1, find vector 16 in memory position 0x0020 +13294, 1, load address 0X02DF into the PC +13295, 956, SYSCALL: run the ISR (device driver) +14251, 80, transfer data from device to memory +14291, 376, check for errors +14667, 1, IRET +14668, 1, switch to user mode +14669, 21, CPU bursts +14690, 1, switch to kernel mode +14691, 10, context saved +14701, 1, find vector 16 in memory position 0x0020 +14702, 1, load address 0X02DF into the PC +14703, 956, END_IO: run the ISR (device driver) +15659, 416, check device status +16075, 1, IRET +16076, 1, switch to user mode +16077, 19, CPU bursts +16096, 1, switch to kernel mode +16097, 10, context saved +16107, 1, find vector 2 in memory position 0x0004 +16108, 1, load address 0X0695 into the PC +16109, 150, SYSCALL: run the ISR (device driver) +16259, 80, transfer data from device to memory +16299, 376, check for errors +16675, 1, IRET +16676, 1, switch to user mode +16677, 26, CPU bursts +16703, 1, switch to kernel mode +16704, 10, context saved +16714, 1, find vector 2 in memory position 0x0004 +16715, 1, load address 0X0695 into the PC +16716, 150, END_IO: run the ISR (device driver) +16866, 416, check device status +17282, 1, IRET +17283, 1, switch to user mode +17284, 38, CPU bursts +17322, 1, switch to kernel mode +17323, 10, context saved +17333, 1, find vector 16 in memory position 0x0020 +17334, 1, load address 0X02DF into the PC +17335, 956, SYSCALL: run the ISR (device driver) +18291, 80, transfer data from device to memory +18331, 376, check for errors +18707, 1, IRET +18708, 1, switch to user mode +18709, 28, CPU bursts +18737, 1, switch to kernel mode +18738, 10, context saved +18748, 1, find vector 16 in memory position 0x0020 +18749, 1, load address 0X02DF into the PC +18750, 956, END_IO: run the ISR (device driver) +19706, 416, check device status +20122, 1, IRET +20123, 1, switch to user mode +20124, 65, CPU bursts +20189, 1, switch to kernel mode +20190, 10, context saved +20200, 1, find vector 16 in memory position 0x0020 +20201, 1, load address 0X02DF into the PC +20202, 956, SYSCALL: run the ISR (device driver) +21158, 80, transfer data from device to memory +21198, 376, check for errors +21574, 1, IRET +21575, 1, switch to user mode +21576, 88, CPU bursts +21664, 1, switch to kernel mode +21665, 10, context saved +21675, 1, find vector 16 in memory position 0x0020 +21676, 1, load address 0X02DF into the PC +21677, 956, END_IO: run the ISR (device driver) +22633, 416, check device status +23049, 1, IRET +23050, 1, switch to user mode +23051, 100, CPU bursts +23151, 1, switch to kernel mode +23152, 10, context saved +23162, 1, find vector 17 in memory position 0x0022 +23163, 1, load address 0X05B3 into the PC +23164, 235, SYSCALL: run the ISR (device driver) +23399, 80, transfer data from device to memory +23439, 376, check for errors +23815, 1, IRET +23816, 1, switch to user mode +23817, 28, CPU bursts +23845, 1, switch to kernel mode +23846, 10, context saved +23856, 1, find vector 17 in memory position 0x0022 +23857, 1, load address 0X05B3 into the PC +23858, 235, END_IO: run the ISR (device driver) +24093, 416, check device status +24509, 1, IRET +24510, 1, switch to user mode +24511, 25, CPU bursts +24536, 1, switch to kernel mode +24537, 10, context saved +24547, 1, find vector 1 in memory position 0x0002 +24548, 1, load address 0X029C into the PC +24549, 100, SYSCALL: run the ISR (device driver) +24649, 80, transfer data from device to memory +24689, 376, check for errors +25065, 1, IRET +25066, 1, switch to user mode +25067, 21, CPU bursts +25088, 1, switch to kernel mode +25089, 10, context saved +25099, 1, find vector 1 in memory position 0x0002 +25100, 1, load address 0X029C into the PC +25101, 100, END_IO: run the ISR (device driver) +25201, 416, check device status +25617, 1, IRET +25618, 1, switch to user mode +25619, 25, CPU bursts +25644, 1, switch to kernel mode +25645, 10, context saved +25655, 1, find vector 19 in memory position 0x0026 +25656, 1, load address 0X0765 into the PC +25657, 652, SYSCALL: run the ISR (device driver) +26309, 80, transfer data from device to memory +26349, 376, check for errors +26725, 1, IRET +26726, 1, switch to user mode +26727, 34, CPU bursts +26761, 1, switch to kernel mode +26762, 10, context saved +26772, 1, find vector 19 in memory position 0x0026 +26773, 1, load address 0X0765 into the PC +26774, 652, END_IO: run the ISR (device driver) +27426, 416, check device status +27842, 1, IRET +27843, 1, switch to user mode +27844, 34, CPU bursts +27878, 1, switch to kernel mode +27879, 10, context saved +27889, 1, find vector 8 in memory position 0x0010 +27890, 1, load address 0X06EF into the PC +27891, 1000, SYSCALL: run the ISR (device driver) +28891, 80, transfer data from device to memory +28931, 376, check for errors +29307, 1, IRET +29308, 1, switch to user mode +29309, 59, CPU bursts +29368, 1, switch to kernel mode +29369, 10, context saved +29379, 1, find vector 8 in memory position 0x0010 +29380, 1, load address 0X06EF into the PC +29381, 1000, END_IO: run the ISR (device driver) +30381, 416, check device status +30797, 1, IRET +30798, 1, switch to user mode +30799, 44, CPU bursts +30843, 1, switch to kernel mode +30844, 10, context saved +30854, 1, find vector 15 in memory position 0x001E +30855, 1, load address 0X0584 into the PC +30856, 68, SYSCALL: run the ISR (device driver) +30924, 80, transfer data from device to memory +30964, 376, check for errors +31340, 1, IRET +31341, 1, switch to user mode +31342, 51, CPU bursts +31393, 1, switch to kernel mode +31394, 10, context saved +31404, 1, find vector 15 in memory position 0x001E +31405, 1, load address 0X0584 into the PC +31406, 68, END_IO: run the ISR (device driver) +31474, 416, check device status +31890, 1, IRET +31891, 1, switch to user mode +31892, 87, CPU bursts +31979, 1, switch to kernel mode +31980, 10, context saved +31990, 1, find vector 11 in memory position 0x0016 +31991, 1, load address 0X01F8 into the PC +31992, 523, SYSCALL: run the ISR (device driver) +32515, 80, transfer data from device to memory +32555, 376, check for errors +32931, 1, IRET +32932, 1, switch to user mode +32933, 65, CPU bursts +32998, 1, switch to kernel mode +32999, 10, context saved +33009, 1, find vector 11 in memory position 0x0016 +33010, 1, load address 0X01F8 into the PC +33011, 523, END_IO: run the ISR (device driver) +33534, 416, check device status +33950, 1, IRET +33951, 1, switch to user mode +33952, 48, CPU bursts +34000, 1, switch to kernel mode +34001, 10, context saved +34011, 1, find vector 16 in memory position 0x0020 +34012, 1, load address 0X02DF into the PC +34013, 956, SYSCALL: run the ISR (device driver) +34969, 80, transfer data from device to memory +35009, 376, check for errors +35385, 1, IRET +35386, 1, switch to user mode +35387, 51, CPU bursts +35438, 1, switch to kernel mode +35439, 10, context saved +35449, 1, find vector 16 in memory position 0x0020 +35450, 1, load address 0X02DF into the PC +35451, 956, END_IO: run the ISR (device driver) +36407, 416, check device status +36823, 1, IRET +36824, 1, switch to user mode +36825, 37, CPU bursts +36862, 1, switch to kernel mode +36863, 10, context saved +36873, 1, find vector 1 in memory position 0x0002 +36874, 1, load address 0X029C into the PC +36875, 100, SYSCALL: run the ISR (device driver) +36975, 80, transfer data from device to memory +37015, 376, check for errors +37391, 1, IRET +37392, 1, switch to user mode +37393, 18, CPU bursts +37411, 1, switch to kernel mode +37412, 10, context saved +37422, 1, find vector 1 in memory position 0x0002 +37423, 1, load address 0X029C into the PC +37424, 100, END_IO: run the ISR (device driver) +37524, 416, check device status +37940, 1, IRET +37941, 1, switch to user mode +37942, 11, CPU bursts +37953, 1, switch to kernel mode +37954, 10, context saved +37964, 1, find vector 2 in memory position 0x0004 +37965, 1, load address 0X0695 into the PC +37966, 150, SYSCALL: run the ISR (device driver) +38116, 80, transfer data from device to memory +38156, 376, check for errors +38532, 1, IRET +38533, 1, switch to user mode +38534, 46, CPU bursts +38580, 1, switch to kernel mode +38581, 10, context saved +38591, 1, find vector 2 in memory position 0x0004 +38592, 1, load address 0X0695 into the PC +38593, 150, END_IO: run the ISR (device driver) +38743, 416, check device status +39159, 1, IRET +39160, 1, switch to user mode +39161, 33, CPU bursts +39194, 1, switch to kernel mode +39195, 10, context saved +39205, 1, find vector 12 in memory position 0x0018 +39206, 1, load address 0X03B9 into the PC +39207, 145, SYSCALL: run the ISR (device driver) +39352, 80, transfer data from device to memory +39392, 376, check for errors +39768, 1, IRET +39769, 1, switch to user mode +39770, 75, CPU bursts +39845, 1, switch to kernel mode +39846, 10, context saved +39856, 1, find vector 12 in memory position 0x0018 +39857, 1, load address 0X03B9 into the PC +39858, 145, END_IO: run the ISR (device driver) +40003, 416, check device status +40419, 1, IRET +40420, 1, switch to user mode +40421, 88, CPU bursts +40509, 1, switch to kernel mode +40510, 10, context saved +40520, 1, find vector 18 in memory position 0x0024 +40521, 1, load address 0X060A into the PC +40522, 123, SYSCALL: run the ISR (device driver) +40645, 80, transfer data from device to memory +40685, 376, check for errors +41061, 1, IRET +41062, 1, switch to user mode +41063, 29, CPU bursts +41092, 1, switch to kernel mode +41093, 10, context saved +41103, 1, find vector 18 in memory position 0x0024 +41104, 1, load address 0X060A into the PC +41105, 123, END_IO: run the ISR (device driver) +41228, 416, check device status +41644, 1, IRET +41645, 1, switch to user mode +41646, 28, CPU bursts +41674, 1, switch to kernel mode +41675, 10, context saved +41685, 1, find vector 1 in memory position 0x0002 +41686, 1, load address 0X029C into the PC +41687, 100, SYSCALL: run the ISR (device driver) +41787, 80, transfer data from device to memory +41827, 376, check for errors +42203, 1, IRET +42204, 1, switch to user mode +42205, 69, CPU bursts +42274, 1, switch to kernel mode +42275, 10, context saved +42285, 1, find vector 1 in memory position 0x0002 +42286, 1, load address 0X029C into the PC +42287, 100, END_IO: run the ISR (device driver) +42387, 416, check device status +42803, 1, IRET +42804, 1, switch to user mode +42805, 48, CPU bursts +42853, 1, switch to kernel mode +42854, 10, context saved +42864, 1, find vector 4 in memory position 0x0008 +42865, 1, load address 0X0292 into the PC +42866, 250, SYSCALL: run the ISR (device driver) +43116, 80, transfer data from device to memory +43156, 376, check for errors +43532, 1, IRET +43533, 1, switch to user mode +43534, 36, CPU bursts +43570, 1, switch to kernel mode +43571, 10, context saved +43581, 1, find vector 4 in memory position 0x0008 +43582, 1, load address 0X0292 into the PC +43583, 250, END_IO: run the ISR (device driver) +43833, 416, check device status +44249, 1, IRET +44250, 1, switch to user mode +44251, 99, CPU bursts +44350, 1, switch to kernel mode +44351, 10, context saved +44361, 1, find vector 18 in memory position 0x0024 +44362, 1, load address 0X060A into the PC +44363, 123, SYSCALL: run the ISR (device driver) +44486, 80, transfer data from device to memory +44526, 376, check for errors +44902, 1, IRET +44903, 1, switch to user mode +44904, 56, CPU bursts +44960, 1, switch to kernel mode +44961, 10, context saved +44971, 1, find vector 18 in memory position 0x0024 +44972, 1, load address 0X060A into the PC +44973, 123, END_IO: run the ISR (device driver) +45096, 416, check device status +45512, 1, IRET +45513, 1, switch to user mode +45514, 61, CPU bursts +45575, 1, switch to kernel mode +45576, 10, context saved +45586, 1, find vector 16 in memory position 0x0020 +45587, 1, load address 0X02DF into the PC +45588, 956, SYSCALL: run the ISR (device driver) +46544, 80, transfer data from device to memory +46584, 376, check for errors +46960, 1, IRET +46961, 1, switch to user mode +46962, 35, CPU bursts +46997, 1, switch to kernel mode +46998, 10, context saved +47008, 1, find vector 16 in memory position 0x0020 +47009, 1, load address 0X02DF into the PC +47010, 956, END_IO: run the ISR (device driver) +47966, 416, check device status +48382, 1, IRET +48383, 1, switch to user mode +48384, 54, CPU bursts +48438, 1, switch to kernel mode +48439, 10, context saved +48449, 1, find vector 10 in memory position 0x0014 +48450, 1, load address 0X07B0 into the PC +48451, 564, SYSCALL: run the ISR (device driver) +49015, 80, transfer data from device to memory +49055, 376, check for errors +49431, 1, IRET +49432, 1, switch to user mode +49433, 83, CPU bursts +49516, 1, switch to kernel mode +49517, 10, context saved +49527, 1, find vector 10 in memory position 0x0014 +49528, 1, load address 0X07B0 into the PC +49529, 564, END_IO: run the ISR (device driver) +50093, 416, check device status +50509, 1, IRET +50510, 1, switch to user mode +50511, 51, CPU bursts +50562, 1, switch to kernel mode +50563, 10, context saved +50573, 1, find vector 11 in memory position 0x0016 +50574, 1, load address 0X01F8 into the PC +50575, 523, SYSCALL: run the ISR (device driver) +51098, 80, transfer data from device to memory +51138, 376, check for errors +51514, 1, IRET +51515, 1, switch to user mode +51516, 85, CPU bursts +51601, 1, switch to kernel mode +51602, 10, context saved +51612, 1, find vector 11 in memory position 0x0016 +51613, 1, load address 0X01F8 into the PC +51614, 523, END_IO: run the ISR (device driver) +52137, 416, check device status +52553, 1, IRET +52554, 1, switch to user mode +52555, 48, CPU bursts +52603, 1, switch to kernel mode +52604, 10, context saved +52614, 1, find vector 6 in memory position 0x000C +52615, 1, load address 0X0639 into the PC +52616, 265, SYSCALL: run the ISR (device driver) +52881, 80, transfer data from device to memory +52921, 376, check for errors +53297, 1, IRET +53298, 1, switch to user mode +53299, 58, CPU bursts +53357, 1, switch to kernel mode +53358, 10, context saved +53368, 1, find vector 6 in memory position 0x000C +53369, 1, load address 0X0639 into the PC +53370, 265, END_IO: run the ISR (device driver) +53635, 416, check device status +54051, 1, IRET +54052, 1, switch to user mode +54053, 21, CPU bursts +54074, 1, switch to kernel mode +54075, 10, context saved +54085, 1, find vector 5 in memory position 0x000A +54086, 1, load address 0X048B into the PC +54087, 211, SYSCALL: run the ISR (device driver) +54298, 80, transfer data from device to memory +54338, 376, check for errors +54714, 1, IRET +54715, 1, switch to user mode +54716, 62, CPU bursts +54778, 1, switch to kernel mode +54779, 10, context saved +54789, 1, find vector 5 in memory position 0x000A +54790, 1, load address 0X048B into the PC +54791, 211, END_IO: run the ISR (device driver) +55002, 416, check device status +55418, 1, IRET +55419, 1, switch to user mode +55420, 41, CPU bursts +55461, 1, switch to kernel mode +55462, 10, context saved +55472, 1, find vector 4 in memory position 0x0008 +55473, 1, load address 0X0292 into the PC +55474, 250, SYSCALL: run the ISR (device driver) +55724, 80, transfer data from device to memory +55764, 376, check for errors +56140, 1, IRET +56141, 1, switch to user mode +56142, 48, CPU bursts +56190, 1, switch to kernel mode +56191, 10, context saved +56201, 1, find vector 4 in memory position 0x0008 +56202, 1, load address 0X0292 into the PC +56203, 250, END_IO: run the ISR (device driver) +56453, 416, check device status +56869, 1, IRET +56870, 1, switch to user mode +56871, 63, CPU bursts diff --git a/output_files/execution2.txt b/output_files/execution2.txt new file mode 100644 index 0000000..0cef70a --- /dev/null +++ b/output_files/execution2.txt @@ -0,0 +1,571 @@ +0, 51, CPU bursts +51, 1, switch to kernel mode +52, 20, context saved +72, 1, find vector 14 in memory position 0x001C +73, 1, load address 0X0165 into the PC +74, 456, SYSCALL: run the ISR (device driver) +530, 40, transfer data from device to memory +570, 376, check for errors +946, 1, IRET +947, 1, switch to user mode +948, 39, CPU bursts +987, 1, switch to kernel mode +988, 20, context saved +1008, 1, find vector 14 in memory position 0x001C +1009, 1, load address 0X0165 into the PC +1010, 456, END_IO: run the ISR (device driver) +1466, 416, check device status +1882, 1, IRET +1883, 1, switch to user mode +1884, 72, CPU bursts +1956, 1, switch to kernel mode +1957, 20, context saved +1977, 1, find vector 19 in memory position 0x0026 +1978, 1, load address 0X0765 into the PC +1979, 652, SYSCALL: run the ISR (device driver) +2631, 40, transfer data from device to memory +2671, 376, check for errors +3047, 1, IRET +3048, 1, switch to user mode +3049, 28, CPU bursts +3077, 1, switch to kernel mode +3078, 20, context saved +3098, 1, find vector 19 in memory position 0x0026 +3099, 1, load address 0X0765 into the PC +3100, 652, END_IO: run the ISR (device driver) +3752, 416, check device status +4168, 1, IRET +4169, 1, switch to user mode +4170, 32, CPU bursts +4202, 1, switch to kernel mode +4203, 20, context saved +4223, 1, find vector 7 in memory position 0x000E +4224, 1, load address 0X00BD into the PC +4225, 152, SYSCALL: run the ISR (device driver) +4377, 40, transfer data from device to memory +4417, 376, check for errors +4793, 1, IRET +4794, 1, switch to user mode +4795, 25, CPU bursts +4820, 1, switch to kernel mode +4821, 20, context saved +4841, 1, find vector 7 in memory position 0x000E +4842, 1, load address 0X00BD into the PC +4843, 152, END_IO: run the ISR (device driver) +4995, 416, check device status +5411, 1, IRET +5412, 1, switch to user mode +5413, 11, CPU bursts +5424, 1, switch to kernel mode +5425, 20, context saved +5445, 1, find vector 16 in memory position 0x0020 +5446, 1, load address 0X02DF into the PC +5447, 956, SYSCALL: run the ISR (device driver) +6403, 40, transfer data from device to memory +6443, 376, check for errors +6819, 1, IRET +6820, 1, switch to user mode +6821, 54, CPU bursts +6875, 1, switch to kernel mode +6876, 20, context saved +6896, 1, find vector 16 in memory position 0x0020 +6897, 1, load address 0X02DF into the PC +6898, 956, END_IO: run the ISR (device driver) +7854, 416, check device status +8270, 1, IRET +8271, 1, switch to user mode +8272, 96, CPU bursts +8368, 1, switch to kernel mode +8369, 20, context saved +8389, 1, find vector 8 in memory position 0x0010 +8390, 1, load address 0X06EF into the PC +8391, 1000, SYSCALL: run the ISR (device driver) +9391, 40, transfer data from device to memory +9431, 376, check for errors +9807, 1, IRET +9808, 1, switch to user mode +9809, 54, CPU bursts +9863, 1, switch to kernel mode +9864, 20, context saved +9884, 1, find vector 8 in memory position 0x0010 +9885, 1, load address 0X06EF into the PC +9886, 1000, END_IO: run the ISR (device driver) +10886, 416, check device status +11302, 1, IRET +11303, 1, switch to user mode +11304, 77, CPU bursts +11381, 1, switch to kernel mode +11382, 20, context saved +11402, 1, find vector 11 in memory position 0x0016 +11403, 1, load address 0X01F8 into the PC +11404, 523, SYSCALL: run the ISR (device driver) +11927, 40, transfer data from device to memory +11967, 376, check for errors +12343, 1, IRET +12344, 1, switch to user mode +12345, 33, CPU bursts +12378, 1, switch to kernel mode +12379, 20, context saved +12399, 1, find vector 11 in memory position 0x0016 +12400, 1, load address 0X01F8 into the PC +12401, 523, END_IO: run the ISR (device driver) +12924, 416, check device status +13340, 1, IRET +13341, 1, switch to user mode +13342, 60, CPU bursts +13402, 1, switch to kernel mode +13403, 20, context saved +13423, 1, find vector 16 in memory position 0x0020 +13424, 1, load address 0X02DF into the PC +13425, 956, SYSCALL: run the ISR (device driver) +14381, 40, transfer data from device to memory +14421, 376, check for errors +14797, 1, IRET +14798, 1, switch to user mode +14799, 21, CPU bursts +14820, 1, switch to kernel mode +14821, 20, context saved +14841, 1, find vector 16 in memory position 0x0020 +14842, 1, load address 0X02DF into the PC +14843, 956, END_IO: run the ISR (device driver) +15799, 416, check device status +16215, 1, IRET +16216, 1, switch to user mode +16217, 19, CPU bursts +16236, 1, switch to kernel mode +16237, 20, context saved +16257, 1, find vector 2 in memory position 0x0004 +16258, 1, load address 0X0695 into the PC +16259, 150, SYSCALL: run the ISR (device driver) +16409, 40, transfer data from device to memory +16449, 376, check for errors +16825, 1, IRET +16826, 1, switch to user mode +16827, 26, CPU bursts +16853, 1, switch to kernel mode +16854, 20, context saved +16874, 1, find vector 2 in memory position 0x0004 +16875, 1, load address 0X0695 into the PC +16876, 150, END_IO: run the ISR (device driver) +17026, 416, check device status +17442, 1, IRET +17443, 1, switch to user mode +17444, 38, CPU bursts +17482, 1, switch to kernel mode +17483, 20, context saved +17503, 1, find vector 16 in memory position 0x0020 +17504, 1, load address 0X02DF into the PC +17505, 956, SYSCALL: run the ISR (device driver) +18461, 40, transfer data from device to memory +18501, 376, check for errors +18877, 1, IRET +18878, 1, switch to user mode +18879, 28, CPU bursts +18907, 1, switch to kernel mode +18908, 20, context saved +18928, 1, find vector 16 in memory position 0x0020 +18929, 1, load address 0X02DF into the PC +18930, 956, END_IO: run the ISR (device driver) +19886, 416, check device status +20302, 1, IRET +20303, 1, switch to user mode +20304, 65, CPU bursts +20369, 1, switch to kernel mode +20370, 20, context saved +20390, 1, find vector 16 in memory position 0x0020 +20391, 1, load address 0X02DF into the PC +20392, 956, SYSCALL: run the ISR (device driver) +21348, 40, transfer data from device to memory +21388, 376, check for errors +21764, 1, IRET +21765, 1, switch to user mode +21766, 88, CPU bursts +21854, 1, switch to kernel mode +21855, 20, context saved +21875, 1, find vector 16 in memory position 0x0020 +21876, 1, load address 0X02DF into the PC +21877, 956, END_IO: run the ISR (device driver) +22833, 416, check device status +23249, 1, IRET +23250, 1, switch to user mode +23251, 100, CPU bursts +23351, 1, switch to kernel mode +23352, 20, context saved +23372, 1, find vector 17 in memory position 0x0022 +23373, 1, load address 0X05B3 into the PC +23374, 235, SYSCALL: run the ISR (device driver) +23609, 40, transfer data from device to memory +23649, 376, check for errors +24025, 1, IRET +24026, 1, switch to user mode +24027, 28, CPU bursts +24055, 1, switch to kernel mode +24056, 20, context saved +24076, 1, find vector 17 in memory position 0x0022 +24077, 1, load address 0X05B3 into the PC +24078, 235, END_IO: run the ISR (device driver) +24313, 416, check device status +24729, 1, IRET +24730, 1, switch to user mode +24731, 25, CPU bursts +24756, 1, switch to kernel mode +24757, 20, context saved +24777, 1, find vector 1 in memory position 0x0002 +24778, 1, load address 0X029C into the PC +24779, 100, SYSCALL: run the ISR (device driver) +24879, 40, transfer data from device to memory +24919, 376, check for errors +25295, 1, IRET +25296, 1, switch to user mode +25297, 21, CPU bursts +25318, 1, switch to kernel mode +25319, 20, context saved +25339, 1, find vector 1 in memory position 0x0002 +25340, 1, load address 0X029C into the PC +25341, 100, END_IO: run the ISR (device driver) +25441, 416, check device status +25857, 1, IRET +25858, 1, switch to user mode +25859, 25, CPU bursts +25884, 1, switch to kernel mode +25885, 20, context saved +25905, 1, find vector 19 in memory position 0x0026 +25906, 1, load address 0X0765 into the PC +25907, 652, SYSCALL: run the ISR (device driver) +26559, 40, transfer data from device to memory +26599, 376, check for errors +26975, 1, IRET +26976, 1, switch to user mode +26977, 34, CPU bursts +27011, 1, switch to kernel mode +27012, 20, context saved +27032, 1, find vector 19 in memory position 0x0026 +27033, 1, load address 0X0765 into the PC +27034, 652, END_IO: run the ISR (device driver) +27686, 416, check device status +28102, 1, IRET +28103, 1, switch to user mode +28104, 34, CPU bursts +28138, 1, switch to kernel mode +28139, 20, context saved +28159, 1, find vector 8 in memory position 0x0010 +28160, 1, load address 0X06EF into the PC +28161, 1000, SYSCALL: run the ISR (device driver) +29161, 40, transfer data from device to memory +29201, 376, check for errors +29577, 1, IRET +29578, 1, switch to user mode +29579, 59, CPU bursts +29638, 1, switch to kernel mode +29639, 20, context saved +29659, 1, find vector 8 in memory position 0x0010 +29660, 1, load address 0X06EF into the PC +29661, 1000, END_IO: run the ISR (device driver) +30661, 416, check device status +31077, 1, IRET +31078, 1, switch to user mode +31079, 44, CPU bursts +31123, 1, switch to kernel mode +31124, 20, context saved +31144, 1, find vector 15 in memory position 0x001E +31145, 1, load address 0X0584 into the PC +31146, 68, SYSCALL: run the ISR (device driver) +31214, 40, transfer data from device to memory +31254, 376, check for errors +31630, 1, IRET +31631, 1, switch to user mode +31632, 51, CPU bursts +31683, 1, switch to kernel mode +31684, 20, context saved +31704, 1, find vector 15 in memory position 0x001E +31705, 1, load address 0X0584 into the PC +31706, 68, END_IO: run the ISR (device driver) +31774, 416, check device status +32190, 1, IRET +32191, 1, switch to user mode +32192, 87, CPU bursts +32279, 1, switch to kernel mode +32280, 20, context saved +32300, 1, find vector 11 in memory position 0x0016 +32301, 1, load address 0X01F8 into the PC +32302, 523, SYSCALL: run the ISR (device driver) +32825, 40, transfer data from device to memory +32865, 376, check for errors +33241, 1, IRET +33242, 1, switch to user mode +33243, 65, CPU bursts +33308, 1, switch to kernel mode +33309, 20, context saved +33329, 1, find vector 11 in memory position 0x0016 +33330, 1, load address 0X01F8 into the PC +33331, 523, END_IO: run the ISR (device driver) +33854, 416, check device status +34270, 1, IRET +34271, 1, switch to user mode +34272, 48, CPU bursts +34320, 1, switch to kernel mode +34321, 20, context saved +34341, 1, find vector 16 in memory position 0x0020 +34342, 1, load address 0X02DF into the PC +34343, 956, SYSCALL: run the ISR (device driver) +35299, 40, transfer data from device to memory +35339, 376, check for errors +35715, 1, IRET +35716, 1, switch to user mode +35717, 51, CPU bursts +35768, 1, switch to kernel mode +35769, 20, context saved +35789, 1, find vector 16 in memory position 0x0020 +35790, 1, load address 0X02DF into the PC +35791, 956, END_IO: run the ISR (device driver) +36747, 416, check device status +37163, 1, IRET +37164, 1, switch to user mode +37165, 37, CPU bursts +37202, 1, switch to kernel mode +37203, 20, context saved +37223, 1, find vector 1 in memory position 0x0002 +37224, 1, load address 0X029C into the PC +37225, 100, SYSCALL: run the ISR (device driver) +37325, 40, transfer data from device to memory +37365, 376, check for errors +37741, 1, IRET +37742, 1, switch to user mode +37743, 18, CPU bursts +37761, 1, switch to kernel mode +37762, 20, context saved +37782, 1, find vector 1 in memory position 0x0002 +37783, 1, load address 0X029C into the PC +37784, 100, END_IO: run the ISR (device driver) +37884, 416, check device status +38300, 1, IRET +38301, 1, switch to user mode +38302, 11, CPU bursts +38313, 1, switch to kernel mode +38314, 20, context saved +38334, 1, find vector 2 in memory position 0x0004 +38335, 1, load address 0X0695 into the PC +38336, 150, SYSCALL: run the ISR (device driver) +38486, 40, transfer data from device to memory +38526, 376, check for errors +38902, 1, IRET +38903, 1, switch to user mode +38904, 46, CPU bursts +38950, 1, switch to kernel mode +38951, 20, context saved +38971, 1, find vector 2 in memory position 0x0004 +38972, 1, load address 0X0695 into the PC +38973, 150, END_IO: run the ISR (device driver) +39123, 416, check device status +39539, 1, IRET +39540, 1, switch to user mode +39541, 33, CPU bursts +39574, 1, switch to kernel mode +39575, 20, context saved +39595, 1, find vector 12 in memory position 0x0018 +39596, 1, load address 0X03B9 into the PC +39597, 145, SYSCALL: run the ISR (device driver) +39742, 40, transfer data from device to memory +39782, 376, check for errors +40158, 1, IRET +40159, 1, switch to user mode +40160, 75, CPU bursts +40235, 1, switch to kernel mode +40236, 20, context saved +40256, 1, find vector 12 in memory position 0x0018 +40257, 1, load address 0X03B9 into the PC +40258, 145, END_IO: run the ISR (device driver) +40403, 416, check device status +40819, 1, IRET +40820, 1, switch to user mode +40821, 88, CPU bursts +40909, 1, switch to kernel mode +40910, 20, context saved +40930, 1, find vector 18 in memory position 0x0024 +40931, 1, load address 0X060A into the PC +40932, 123, SYSCALL: run the ISR (device driver) +41055, 40, transfer data from device to memory +41095, 376, check for errors +41471, 1, IRET +41472, 1, switch to user mode +41473, 29, CPU bursts +41502, 1, switch to kernel mode +41503, 20, context saved +41523, 1, find vector 18 in memory position 0x0024 +41524, 1, load address 0X060A into the PC +41525, 123, END_IO: run the ISR (device driver) +41648, 416, check device status +42064, 1, IRET +42065, 1, switch to user mode +42066, 28, CPU bursts +42094, 1, switch to kernel mode +42095, 20, context saved +42115, 1, find vector 1 in memory position 0x0002 +42116, 1, load address 0X029C into the PC +42117, 100, SYSCALL: run the ISR (device driver) +42217, 40, transfer data from device to memory +42257, 376, check for errors +42633, 1, IRET +42634, 1, switch to user mode +42635, 69, CPU bursts +42704, 1, switch to kernel mode +42705, 20, context saved +42725, 1, find vector 1 in memory position 0x0002 +42726, 1, load address 0X029C into the PC +42727, 100, END_IO: run the ISR (device driver) +42827, 416, check device status +43243, 1, IRET +43244, 1, switch to user mode +43245, 48, CPU bursts +43293, 1, switch to kernel mode +43294, 20, context saved +43314, 1, find vector 4 in memory position 0x0008 +43315, 1, load address 0X0292 into the PC +43316, 250, SYSCALL: run the ISR (device driver) +43566, 40, transfer data from device to memory +43606, 376, check for errors +43982, 1, IRET +43983, 1, switch to user mode +43984, 36, CPU bursts +44020, 1, switch to kernel mode +44021, 20, context saved +44041, 1, find vector 4 in memory position 0x0008 +44042, 1, load address 0X0292 into the PC +44043, 250, END_IO: run the ISR (device driver) +44293, 416, check device status +44709, 1, IRET +44710, 1, switch to user mode +44711, 99, CPU bursts +44810, 1, switch to kernel mode +44811, 20, context saved +44831, 1, find vector 18 in memory position 0x0024 +44832, 1, load address 0X060A into the PC +44833, 123, SYSCALL: run the ISR (device driver) +44956, 40, transfer data from device to memory +44996, 376, check for errors +45372, 1, IRET +45373, 1, switch to user mode +45374, 56, CPU bursts +45430, 1, switch to kernel mode +45431, 20, context saved +45451, 1, find vector 18 in memory position 0x0024 +45452, 1, load address 0X060A into the PC +45453, 123, END_IO: run the ISR (device driver) +45576, 416, check device status +45992, 1, IRET +45993, 1, switch to user mode +45994, 61, CPU bursts +46055, 1, switch to kernel mode +46056, 20, context saved +46076, 1, find vector 16 in memory position 0x0020 +46077, 1, load address 0X02DF into the PC +46078, 956, SYSCALL: run the ISR (device driver) +47034, 40, transfer data from device to memory +47074, 376, check for errors +47450, 1, IRET +47451, 1, switch to user mode +47452, 35, CPU bursts +47487, 1, switch to kernel mode +47488, 20, context saved +47508, 1, find vector 16 in memory position 0x0020 +47509, 1, load address 0X02DF into the PC +47510, 956, END_IO: run the ISR (device driver) +48466, 416, check device status +48882, 1, IRET +48883, 1, switch to user mode +48884, 54, CPU bursts +48938, 1, switch to kernel mode +48939, 20, context saved +48959, 1, find vector 10 in memory position 0x0014 +48960, 1, load address 0X07B0 into the PC +48961, 564, SYSCALL: run the ISR (device driver) +49525, 40, transfer data from device to memory +49565, 376, check for errors +49941, 1, IRET +49942, 1, switch to user mode +49943, 83, CPU bursts +50026, 1, switch to kernel mode +50027, 20, context saved +50047, 1, find vector 10 in memory position 0x0014 +50048, 1, load address 0X07B0 into the PC +50049, 564, END_IO: run the ISR (device driver) +50613, 416, check device status +51029, 1, IRET +51030, 1, switch to user mode +51031, 51, CPU bursts +51082, 1, switch to kernel mode +51083, 20, context saved +51103, 1, find vector 11 in memory position 0x0016 +51104, 1, load address 0X01F8 into the PC +51105, 523, SYSCALL: run the ISR (device driver) +51628, 40, transfer data from device to memory +51668, 376, check for errors +52044, 1, IRET +52045, 1, switch to user mode +52046, 85, CPU bursts +52131, 1, switch to kernel mode +52132, 20, context saved +52152, 1, find vector 11 in memory position 0x0016 +52153, 1, load address 0X01F8 into the PC +52154, 523, END_IO: run the ISR (device driver) +52677, 416, check device status +53093, 1, IRET +53094, 1, switch to user mode +53095, 48, CPU bursts +53143, 1, switch to kernel mode +53144, 20, context saved +53164, 1, find vector 6 in memory position 0x000C +53165, 1, load address 0X0639 into the PC +53166, 265, SYSCALL: run the ISR (device driver) +53431, 40, transfer data from device to memory +53471, 376, check for errors +53847, 1, IRET +53848, 1, switch to user mode +53849, 58, CPU bursts +53907, 1, switch to kernel mode +53908, 20, context saved +53928, 1, find vector 6 in memory position 0x000C +53929, 1, load address 0X0639 into the PC +53930, 265, END_IO: run the ISR (device driver) +54195, 416, check device status +54611, 1, IRET +54612, 1, switch to user mode +54613, 21, CPU bursts +54634, 1, switch to kernel mode +54635, 20, context saved +54655, 1, find vector 5 in memory position 0x000A +54656, 1, load address 0X048B into the PC +54657, 211, SYSCALL: run the ISR (device driver) +54868, 40, transfer data from device to memory +54908, 376, check for errors +55284, 1, IRET +55285, 1, switch to user mode +55286, 62, CPU bursts +55348, 1, switch to kernel mode +55349, 20, context saved +55369, 1, find vector 5 in memory position 0x000A +55370, 1, load address 0X048B into the PC +55371, 211, END_IO: run the ISR (device driver) +55582, 416, check device status +55998, 1, IRET +55999, 1, switch to user mode +56000, 41, CPU bursts +56041, 1, switch to kernel mode +56042, 20, context saved +56062, 1, find vector 4 in memory position 0x0008 +56063, 1, load address 0X0292 into the PC +56064, 250, SYSCALL: run the ISR (device driver) +56314, 40, transfer data from device to memory +56354, 376, check for errors +56730, 1, IRET +56731, 1, switch to user mode +56732, 48, CPU bursts +56780, 1, switch to kernel mode +56781, 20, context saved +56801, 1, find vector 4 in memory position 0x0008 +56802, 1, load address 0X0292 into the PC +56803, 250, END_IO: run the ISR (device driver) +57053, 416, check device status +57469, 1, IRET +57470, 1, switch to user mode +57471, 63, CPU bursts diff --git a/output_files/execution3.txt b/output_files/execution3.txt new file mode 100644 index 0000000..3391fcd --- /dev/null +++ b/output_files/execution3.txt @@ -0,0 +1,571 @@ +0, 51, CPU bursts +51, 1, switch to kernel mode +52, 30, context saved +82, 1, find vector 14 in memory position 0x001C +83, 1, load address 0X0165 into the PC +84, 456, SYSCALL: run the ISR (device driver) +540, 40, transfer data from device to memory +580, 376, check for errors +956, 1, IRET +957, 1, switch to user mode +958, 39, CPU bursts +997, 1, switch to kernel mode +998, 30, context saved +1028, 1, find vector 14 in memory position 0x001C +1029, 1, load address 0X0165 into the PC +1030, 456, END_IO: run the ISR (device driver) +1486, 416, check device status +1902, 1, IRET +1903, 1, switch to user mode +1904, 72, CPU bursts +1976, 1, switch to kernel mode +1977, 30, context saved +2007, 1, find vector 19 in memory position 0x0026 +2008, 1, load address 0X0765 into the PC +2009, 652, SYSCALL: run the ISR (device driver) +2661, 40, transfer data from device to memory +2701, 376, check for errors +3077, 1, IRET +3078, 1, switch to user mode +3079, 28, CPU bursts +3107, 1, switch to kernel mode +3108, 30, context saved +3138, 1, find vector 19 in memory position 0x0026 +3139, 1, load address 0X0765 into the PC +3140, 652, END_IO: run the ISR (device driver) +3792, 416, check device status +4208, 1, IRET +4209, 1, switch to user mode +4210, 32, CPU bursts +4242, 1, switch to kernel mode +4243, 30, context saved +4273, 1, find vector 7 in memory position 0x000E +4274, 1, load address 0X00BD into the PC +4275, 152, SYSCALL: run the ISR (device driver) +4427, 40, transfer data from device to memory +4467, 376, check for errors +4843, 1, IRET +4844, 1, switch to user mode +4845, 25, CPU bursts +4870, 1, switch to kernel mode +4871, 30, context saved +4901, 1, find vector 7 in memory position 0x000E +4902, 1, load address 0X00BD into the PC +4903, 152, END_IO: run the ISR (device driver) +5055, 416, check device status +5471, 1, IRET +5472, 1, switch to user mode +5473, 11, CPU bursts +5484, 1, switch to kernel mode +5485, 30, context saved +5515, 1, find vector 16 in memory position 0x0020 +5516, 1, load address 0X02DF into the PC +5517, 956, SYSCALL: run the ISR (device driver) +6473, 40, transfer data from device to memory +6513, 376, check for errors +6889, 1, IRET +6890, 1, switch to user mode +6891, 54, CPU bursts +6945, 1, switch to kernel mode +6946, 30, context saved +6976, 1, find vector 16 in memory position 0x0020 +6977, 1, load address 0X02DF into the PC +6978, 956, END_IO: run the ISR (device driver) +7934, 416, check device status +8350, 1, IRET +8351, 1, switch to user mode +8352, 96, CPU bursts +8448, 1, switch to kernel mode +8449, 30, context saved +8479, 1, find vector 8 in memory position 0x0010 +8480, 1, load address 0X06EF into the PC +8481, 1000, SYSCALL: run the ISR (device driver) +9481, 40, transfer data from device to memory +9521, 376, check for errors +9897, 1, IRET +9898, 1, switch to user mode +9899, 54, CPU bursts +9953, 1, switch to kernel mode +9954, 30, context saved +9984, 1, find vector 8 in memory position 0x0010 +9985, 1, load address 0X06EF into the PC +9986, 1000, END_IO: run the ISR (device driver) +10986, 416, check device status +11402, 1, IRET +11403, 1, switch to user mode +11404, 77, CPU bursts +11481, 1, switch to kernel mode +11482, 30, context saved +11512, 1, find vector 11 in memory position 0x0016 +11513, 1, load address 0X01F8 into the PC +11514, 523, SYSCALL: run the ISR (device driver) +12037, 40, transfer data from device to memory +12077, 376, check for errors +12453, 1, IRET +12454, 1, switch to user mode +12455, 33, CPU bursts +12488, 1, switch to kernel mode +12489, 30, context saved +12519, 1, find vector 11 in memory position 0x0016 +12520, 1, load address 0X01F8 into the PC +12521, 523, END_IO: run the ISR (device driver) +13044, 416, check device status +13460, 1, IRET +13461, 1, switch to user mode +13462, 60, CPU bursts +13522, 1, switch to kernel mode +13523, 30, context saved +13553, 1, find vector 16 in memory position 0x0020 +13554, 1, load address 0X02DF into the PC +13555, 956, SYSCALL: run the ISR (device driver) +14511, 40, transfer data from device to memory +14551, 376, check for errors +14927, 1, IRET +14928, 1, switch to user mode +14929, 21, CPU bursts +14950, 1, switch to kernel mode +14951, 30, context saved +14981, 1, find vector 16 in memory position 0x0020 +14982, 1, load address 0X02DF into the PC +14983, 956, END_IO: run the ISR (device driver) +15939, 416, check device status +16355, 1, IRET +16356, 1, switch to user mode +16357, 19, CPU bursts +16376, 1, switch to kernel mode +16377, 30, context saved +16407, 1, find vector 2 in memory position 0x0004 +16408, 1, load address 0X0695 into the PC +16409, 150, SYSCALL: run the ISR (device driver) +16559, 40, transfer data from device to memory +16599, 376, check for errors +16975, 1, IRET +16976, 1, switch to user mode +16977, 26, CPU bursts +17003, 1, switch to kernel mode +17004, 30, context saved +17034, 1, find vector 2 in memory position 0x0004 +17035, 1, load address 0X0695 into the PC +17036, 150, END_IO: run the ISR (device driver) +17186, 416, check device status +17602, 1, IRET +17603, 1, switch to user mode +17604, 38, CPU bursts +17642, 1, switch to kernel mode +17643, 30, context saved +17673, 1, find vector 16 in memory position 0x0020 +17674, 1, load address 0X02DF into the PC +17675, 956, SYSCALL: run the ISR (device driver) +18631, 40, transfer data from device to memory +18671, 376, check for errors +19047, 1, IRET +19048, 1, switch to user mode +19049, 28, CPU bursts +19077, 1, switch to kernel mode +19078, 30, context saved +19108, 1, find vector 16 in memory position 0x0020 +19109, 1, load address 0X02DF into the PC +19110, 956, END_IO: run the ISR (device driver) +20066, 416, check device status +20482, 1, IRET +20483, 1, switch to user mode +20484, 65, CPU bursts +20549, 1, switch to kernel mode +20550, 30, context saved +20580, 1, find vector 16 in memory position 0x0020 +20581, 1, load address 0X02DF into the PC +20582, 956, SYSCALL: run the ISR (device driver) +21538, 40, transfer data from device to memory +21578, 376, check for errors +21954, 1, IRET +21955, 1, switch to user mode +21956, 88, CPU bursts +22044, 1, switch to kernel mode +22045, 30, context saved +22075, 1, find vector 16 in memory position 0x0020 +22076, 1, load address 0X02DF into the PC +22077, 956, END_IO: run the ISR (device driver) +23033, 416, check device status +23449, 1, IRET +23450, 1, switch to user mode +23451, 100, CPU bursts +23551, 1, switch to kernel mode +23552, 30, context saved +23582, 1, find vector 17 in memory position 0x0022 +23583, 1, load address 0X05B3 into the PC +23584, 235, SYSCALL: run the ISR (device driver) +23819, 40, transfer data from device to memory +23859, 376, check for errors +24235, 1, IRET +24236, 1, switch to user mode +24237, 28, CPU bursts +24265, 1, switch to kernel mode +24266, 30, context saved +24296, 1, find vector 17 in memory position 0x0022 +24297, 1, load address 0X05B3 into the PC +24298, 235, END_IO: run the ISR (device driver) +24533, 416, check device status +24949, 1, IRET +24950, 1, switch to user mode +24951, 25, CPU bursts +24976, 1, switch to kernel mode +24977, 30, context saved +25007, 1, find vector 1 in memory position 0x0002 +25008, 1, load address 0X029C into the PC +25009, 100, SYSCALL: run the ISR (device driver) +25109, 40, transfer data from device to memory +25149, 376, check for errors +25525, 1, IRET +25526, 1, switch to user mode +25527, 21, CPU bursts +25548, 1, switch to kernel mode +25549, 30, context saved +25579, 1, find vector 1 in memory position 0x0002 +25580, 1, load address 0X029C into the PC +25581, 100, END_IO: run the ISR (device driver) +25681, 416, check device status +26097, 1, IRET +26098, 1, switch to user mode +26099, 25, CPU bursts +26124, 1, switch to kernel mode +26125, 30, context saved +26155, 1, find vector 19 in memory position 0x0026 +26156, 1, load address 0X0765 into the PC +26157, 652, SYSCALL: run the ISR (device driver) +26809, 40, transfer data from device to memory +26849, 376, check for errors +27225, 1, IRET +27226, 1, switch to user mode +27227, 34, CPU bursts +27261, 1, switch to kernel mode +27262, 30, context saved +27292, 1, find vector 19 in memory position 0x0026 +27293, 1, load address 0X0765 into the PC +27294, 652, END_IO: run the ISR (device driver) +27946, 416, check device status +28362, 1, IRET +28363, 1, switch to user mode +28364, 34, CPU bursts +28398, 1, switch to kernel mode +28399, 30, context saved +28429, 1, find vector 8 in memory position 0x0010 +28430, 1, load address 0X06EF into the PC +28431, 1000, SYSCALL: run the ISR (device driver) +29431, 40, transfer data from device to memory +29471, 376, check for errors +29847, 1, IRET +29848, 1, switch to user mode +29849, 59, CPU bursts +29908, 1, switch to kernel mode +29909, 30, context saved +29939, 1, find vector 8 in memory position 0x0010 +29940, 1, load address 0X06EF into the PC +29941, 1000, END_IO: run the ISR (device driver) +30941, 416, check device status +31357, 1, IRET +31358, 1, switch to user mode +31359, 44, CPU bursts +31403, 1, switch to kernel mode +31404, 30, context saved +31434, 1, find vector 15 in memory position 0x001E +31435, 1, load address 0X0584 into the PC +31436, 68, SYSCALL: run the ISR (device driver) +31504, 40, transfer data from device to memory +31544, 376, check for errors +31920, 1, IRET +31921, 1, switch to user mode +31922, 51, CPU bursts +31973, 1, switch to kernel mode +31974, 30, context saved +32004, 1, find vector 15 in memory position 0x001E +32005, 1, load address 0X0584 into the PC +32006, 68, END_IO: run the ISR (device driver) +32074, 416, check device status +32490, 1, IRET +32491, 1, switch to user mode +32492, 87, CPU bursts +32579, 1, switch to kernel mode +32580, 30, context saved +32610, 1, find vector 11 in memory position 0x0016 +32611, 1, load address 0X01F8 into the PC +32612, 523, SYSCALL: run the ISR (device driver) +33135, 40, transfer data from device to memory +33175, 376, check for errors +33551, 1, IRET +33552, 1, switch to user mode +33553, 65, CPU bursts +33618, 1, switch to kernel mode +33619, 30, context saved +33649, 1, find vector 11 in memory position 0x0016 +33650, 1, load address 0X01F8 into the PC +33651, 523, END_IO: run the ISR (device driver) +34174, 416, check device status +34590, 1, IRET +34591, 1, switch to user mode +34592, 48, CPU bursts +34640, 1, switch to kernel mode +34641, 30, context saved +34671, 1, find vector 16 in memory position 0x0020 +34672, 1, load address 0X02DF into the PC +34673, 956, SYSCALL: run the ISR (device driver) +35629, 40, transfer data from device to memory +35669, 376, check for errors +36045, 1, IRET +36046, 1, switch to user mode +36047, 51, CPU bursts +36098, 1, switch to kernel mode +36099, 30, context saved +36129, 1, find vector 16 in memory position 0x0020 +36130, 1, load address 0X02DF into the PC +36131, 956, END_IO: run the ISR (device driver) +37087, 416, check device status +37503, 1, IRET +37504, 1, switch to user mode +37505, 37, CPU bursts +37542, 1, switch to kernel mode +37543, 30, context saved +37573, 1, find vector 1 in memory position 0x0002 +37574, 1, load address 0X029C into the PC +37575, 100, SYSCALL: run the ISR (device driver) +37675, 40, transfer data from device to memory +37715, 376, check for errors +38091, 1, IRET +38092, 1, switch to user mode +38093, 18, CPU bursts +38111, 1, switch to kernel mode +38112, 30, context saved +38142, 1, find vector 1 in memory position 0x0002 +38143, 1, load address 0X029C into the PC +38144, 100, END_IO: run the ISR (device driver) +38244, 416, check device status +38660, 1, IRET +38661, 1, switch to user mode +38662, 11, CPU bursts +38673, 1, switch to kernel mode +38674, 30, context saved +38704, 1, find vector 2 in memory position 0x0004 +38705, 1, load address 0X0695 into the PC +38706, 150, SYSCALL: run the ISR (device driver) +38856, 40, transfer data from device to memory +38896, 376, check for errors +39272, 1, IRET +39273, 1, switch to user mode +39274, 46, CPU bursts +39320, 1, switch to kernel mode +39321, 30, context saved +39351, 1, find vector 2 in memory position 0x0004 +39352, 1, load address 0X0695 into the PC +39353, 150, END_IO: run the ISR (device driver) +39503, 416, check device status +39919, 1, IRET +39920, 1, switch to user mode +39921, 33, CPU bursts +39954, 1, switch to kernel mode +39955, 30, context saved +39985, 1, find vector 12 in memory position 0x0018 +39986, 1, load address 0X03B9 into the PC +39987, 145, SYSCALL: run the ISR (device driver) +40132, 40, transfer data from device to memory +40172, 376, check for errors +40548, 1, IRET +40549, 1, switch to user mode +40550, 75, CPU bursts +40625, 1, switch to kernel mode +40626, 30, context saved +40656, 1, find vector 12 in memory position 0x0018 +40657, 1, load address 0X03B9 into the PC +40658, 145, END_IO: run the ISR (device driver) +40803, 416, check device status +41219, 1, IRET +41220, 1, switch to user mode +41221, 88, CPU bursts +41309, 1, switch to kernel mode +41310, 30, context saved +41340, 1, find vector 18 in memory position 0x0024 +41341, 1, load address 0X060A into the PC +41342, 123, SYSCALL: run the ISR (device driver) +41465, 40, transfer data from device to memory +41505, 376, check for errors +41881, 1, IRET +41882, 1, switch to user mode +41883, 29, CPU bursts +41912, 1, switch to kernel mode +41913, 30, context saved +41943, 1, find vector 18 in memory position 0x0024 +41944, 1, load address 0X060A into the PC +41945, 123, END_IO: run the ISR (device driver) +42068, 416, check device status +42484, 1, IRET +42485, 1, switch to user mode +42486, 28, CPU bursts +42514, 1, switch to kernel mode +42515, 30, context saved +42545, 1, find vector 1 in memory position 0x0002 +42546, 1, load address 0X029C into the PC +42547, 100, SYSCALL: run the ISR (device driver) +42647, 40, transfer data from device to memory +42687, 376, check for errors +43063, 1, IRET +43064, 1, switch to user mode +43065, 69, CPU bursts +43134, 1, switch to kernel mode +43135, 30, context saved +43165, 1, find vector 1 in memory position 0x0002 +43166, 1, load address 0X029C into the PC +43167, 100, END_IO: run the ISR (device driver) +43267, 416, check device status +43683, 1, IRET +43684, 1, switch to user mode +43685, 48, CPU bursts +43733, 1, switch to kernel mode +43734, 30, context saved +43764, 1, find vector 4 in memory position 0x0008 +43765, 1, load address 0X0292 into the PC +43766, 250, SYSCALL: run the ISR (device driver) +44016, 40, transfer data from device to memory +44056, 376, check for errors +44432, 1, IRET +44433, 1, switch to user mode +44434, 36, CPU bursts +44470, 1, switch to kernel mode +44471, 30, context saved +44501, 1, find vector 4 in memory position 0x0008 +44502, 1, load address 0X0292 into the PC +44503, 250, END_IO: run the ISR (device driver) +44753, 416, check device status +45169, 1, IRET +45170, 1, switch to user mode +45171, 99, CPU bursts +45270, 1, switch to kernel mode +45271, 30, context saved +45301, 1, find vector 18 in memory position 0x0024 +45302, 1, load address 0X060A into the PC +45303, 123, SYSCALL: run the ISR (device driver) +45426, 40, transfer data from device to memory +45466, 376, check for errors +45842, 1, IRET +45843, 1, switch to user mode +45844, 56, CPU bursts +45900, 1, switch to kernel mode +45901, 30, context saved +45931, 1, find vector 18 in memory position 0x0024 +45932, 1, load address 0X060A into the PC +45933, 123, END_IO: run the ISR (device driver) +46056, 416, check device status +46472, 1, IRET +46473, 1, switch to user mode +46474, 61, CPU bursts +46535, 1, switch to kernel mode +46536, 30, context saved +46566, 1, find vector 16 in memory position 0x0020 +46567, 1, load address 0X02DF into the PC +46568, 956, SYSCALL: run the ISR (device driver) +47524, 40, transfer data from device to memory +47564, 376, check for errors +47940, 1, IRET +47941, 1, switch to user mode +47942, 35, CPU bursts +47977, 1, switch to kernel mode +47978, 30, context saved +48008, 1, find vector 16 in memory position 0x0020 +48009, 1, load address 0X02DF into the PC +48010, 956, END_IO: run the ISR (device driver) +48966, 416, check device status +49382, 1, IRET +49383, 1, switch to user mode +49384, 54, CPU bursts +49438, 1, switch to kernel mode +49439, 30, context saved +49469, 1, find vector 10 in memory position 0x0014 +49470, 1, load address 0X07B0 into the PC +49471, 564, SYSCALL: run the ISR (device driver) +50035, 40, transfer data from device to memory +50075, 376, check for errors +50451, 1, IRET +50452, 1, switch to user mode +50453, 83, CPU bursts +50536, 1, switch to kernel mode +50537, 30, context saved +50567, 1, find vector 10 in memory position 0x0014 +50568, 1, load address 0X07B0 into the PC +50569, 564, END_IO: run the ISR (device driver) +51133, 416, check device status +51549, 1, IRET +51550, 1, switch to user mode +51551, 51, CPU bursts +51602, 1, switch to kernel mode +51603, 30, context saved +51633, 1, find vector 11 in memory position 0x0016 +51634, 1, load address 0X01F8 into the PC +51635, 523, SYSCALL: run the ISR (device driver) +52158, 40, transfer data from device to memory +52198, 376, check for errors +52574, 1, IRET +52575, 1, switch to user mode +52576, 85, CPU bursts +52661, 1, switch to kernel mode +52662, 30, context saved +52692, 1, find vector 11 in memory position 0x0016 +52693, 1, load address 0X01F8 into the PC +52694, 523, END_IO: run the ISR (device driver) +53217, 416, check device status +53633, 1, IRET +53634, 1, switch to user mode +53635, 48, CPU bursts +53683, 1, switch to kernel mode +53684, 30, context saved +53714, 1, find vector 6 in memory position 0x000C +53715, 1, load address 0X0639 into the PC +53716, 265, SYSCALL: run the ISR (device driver) +53981, 40, transfer data from device to memory +54021, 376, check for errors +54397, 1, IRET +54398, 1, switch to user mode +54399, 58, CPU bursts +54457, 1, switch to kernel mode +54458, 30, context saved +54488, 1, find vector 6 in memory position 0x000C +54489, 1, load address 0X0639 into the PC +54490, 265, END_IO: run the ISR (device driver) +54755, 416, check device status +55171, 1, IRET +55172, 1, switch to user mode +55173, 21, CPU bursts +55194, 1, switch to kernel mode +55195, 30, context saved +55225, 1, find vector 5 in memory position 0x000A +55226, 1, load address 0X048B into the PC +55227, 211, SYSCALL: run the ISR (device driver) +55438, 40, transfer data from device to memory +55478, 376, check for errors +55854, 1, IRET +55855, 1, switch to user mode +55856, 62, CPU bursts +55918, 1, switch to kernel mode +55919, 30, context saved +55949, 1, find vector 5 in memory position 0x000A +55950, 1, load address 0X048B into the PC +55951, 211, END_IO: run the ISR (device driver) +56162, 416, check device status +56578, 1, IRET +56579, 1, switch to user mode +56580, 41, CPU bursts +56621, 1, switch to kernel mode +56622, 30, context saved +56652, 1, find vector 4 in memory position 0x0008 +56653, 1, load address 0X0292 into the PC +56654, 250, SYSCALL: run the ISR (device driver) +56904, 40, transfer data from device to memory +56944, 376, check for errors +57320, 1, IRET +57321, 1, switch to user mode +57322, 48, CPU bursts +57370, 1, switch to kernel mode +57371, 30, context saved +57401, 1, find vector 4 in memory position 0x0008 +57402, 1, load address 0X0292 into the PC +57403, 250, END_IO: run the ISR (device driver) +57653, 416, check device status +58069, 1, IRET +58070, 1, switch to user mode +58071, 63, CPU bursts diff --git a/output_files/execution4.txt b/output_files/execution4.txt new file mode 100644 index 0000000..d455f26 --- /dev/null +++ b/output_files/execution4.txt @@ -0,0 +1,96 @@ +0, 75, CPU bursts +75, 1, switch to kernel mode +76, 10, context saved +86, 1, find vector 5 in memory position 0x000A +87, 1, load address 0X048B into the PC +88, 211, SYSCALL: run the ISR (device driver) +299, 40, transfer data from device to memory +339, 376, check for errors +715, 1, IRET +716, 1, switch to user mode +717, 84, CPU bursts +801, 1, switch to kernel mode +802, 10, context saved +812, 1, find vector 5 in memory position 0x000A +813, 1, load address 0X048B into the PC +814, 211, END_IO: run the ISR (device driver) +1025, 416, check device status +1441, 1, IRET +1442, 1, switch to user mode +1443, 22, CPU bursts +1465, 1, switch to kernel mode +1466, 10, context saved +1476, 1, find vector 10 in memory position 0x0014 +1477, 1, load address 0X07B0 into the PC +1478, 564, SYSCALL: run the ISR (device driver) +2042, 40, transfer data from device to memory +2082, 376, check for errors +2458, 1, IRET +2459, 1, switch to user mode +2460, 80, CPU bursts +2540, 1, switch to kernel mode +2541, 10, context saved +2551, 1, find vector 10 in memory position 0x0014 +2552, 1, load address 0X07B0 into the PC +2553, 564, END_IO: run the ISR (device driver) +3117, 416, check device status +3533, 1, IRET +3534, 1, switch to user mode +3535, 79, CPU bursts +3614, 1, switch to kernel mode +3615, 10, context saved +3625, 1, find vector 6 in memory position 0x000C +3626, 1, load address 0X0639 into the PC +3627, 265, SYSCALL: run the ISR (device driver) +3892, 40, transfer data from device to memory +3932, 376, check for errors +4308, 1, IRET +4309, 1, switch to user mode +4310, 68, CPU bursts +4378, 1, switch to kernel mode +4379, 10, context saved +4389, 1, find vector 6 in memory position 0x000C +4390, 1, load address 0X0639 into the PC +4391, 265, END_IO: run the ISR (device driver) +4656, 416, check device status +5072, 1, IRET +5073, 1, switch to user mode +5074, 71, CPU bursts +5145, 1, switch to kernel mode +5146, 10, context saved +5156, 1, find vector 4 in memory position 0x0008 +5157, 1, load address 0X0292 into the PC +5158, 250, SYSCALL: run the ISR (device driver) +5408, 40, transfer data from device to memory +5448, 376, check for errors +5824, 1, IRET +5825, 1, switch to user mode +5826, 97, CPU bursts +5923, 1, switch to kernel mode +5924, 10, context saved +5934, 1, find vector 4 in memory position 0x0008 +5935, 1, load address 0X0292 into the PC +5936, 250, END_IO: run the ISR (device driver) +6186, 416, check device status +6602, 1, IRET +6603, 1, switch to user mode +6604, 84, CPU bursts +6688, 1, switch to kernel mode +6689, 10, context saved +6699, 1, find vector 7 in memory position 0x000E +6700, 1, load address 0X00BD into the PC +6701, 152, SYSCALL: run the ISR (device driver) +6853, 40, transfer data from device to memory +6893, 376, check for errors +7269, 1, IRET +7270, 1, switch to user mode +7271, 38, CPU bursts +7309, 1, switch to kernel mode +7310, 10, context saved +7320, 1, find vector 7 in memory position 0x000E +7321, 1, load address 0X00BD into the PC +7322, 152, END_IO: run the ISR (device driver) +7474, 416, check device status +7890, 1, IRET +7891, 1, switch to user mode +7892, 90, CPU bursts diff --git a/output_files/execution5.txt b/output_files/execution5.txt new file mode 100644 index 0000000..41355b6 --- /dev/null +++ b/output_files/execution5.txt @@ -0,0 +1,96 @@ +0, 75, CPU bursts +75, 1, switch to kernel mode +76, 20, context saved +96, 1, find vector 5 in memory position 0x000A +97, 1, load address 0X048B into the PC +98, 211, SYSCALL: run the ISR (device driver) +309, 40, transfer data from device to memory +349, 376, check for errors +725, 1, IRET +726, 1, switch to user mode +727, 84, CPU bursts +811, 1, switch to kernel mode +812, 20, context saved +832, 1, find vector 5 in memory position 0x000A +833, 1, load address 0X048B into the PC +834, 211, END_IO: run the ISR (device driver) +1045, 416, check device status +1461, 1, IRET +1462, 1, switch to user mode +1463, 22, CPU bursts +1485, 1, switch to kernel mode +1486, 20, context saved +1506, 1, find vector 10 in memory position 0x0014 +1507, 1, load address 0X07B0 into the PC +1508, 564, SYSCALL: run the ISR (device driver) +2072, 40, transfer data from device to memory +2112, 376, check for errors +2488, 1, IRET +2489, 1, switch to user mode +2490, 80, CPU bursts +2570, 1, switch to kernel mode +2571, 20, context saved +2591, 1, find vector 10 in memory position 0x0014 +2592, 1, load address 0X07B0 into the PC +2593, 564, END_IO: run the ISR (device driver) +3157, 416, check device status +3573, 1, IRET +3574, 1, switch to user mode +3575, 79, CPU bursts +3654, 1, switch to kernel mode +3655, 20, context saved +3675, 1, find vector 6 in memory position 0x000C +3676, 1, load address 0X0639 into the PC +3677, 265, SYSCALL: run the ISR (device driver) +3942, 40, transfer data from device to memory +3982, 376, check for errors +4358, 1, IRET +4359, 1, switch to user mode +4360, 68, CPU bursts +4428, 1, switch to kernel mode +4429, 20, context saved +4449, 1, find vector 6 in memory position 0x000C +4450, 1, load address 0X0639 into the PC +4451, 265, END_IO: run the ISR (device driver) +4716, 416, check device status +5132, 1, IRET +5133, 1, switch to user mode +5134, 71, CPU bursts +5205, 1, switch to kernel mode +5206, 20, context saved +5226, 1, find vector 4 in memory position 0x0008 +5227, 1, load address 0X0292 into the PC +5228, 250, SYSCALL: run the ISR (device driver) +5478, 40, transfer data from device to memory +5518, 376, check for errors +5894, 1, IRET +5895, 1, switch to user mode +5896, 97, CPU bursts +5993, 1, switch to kernel mode +5994, 20, context saved +6014, 1, find vector 4 in memory position 0x0008 +6015, 1, load address 0X0292 into the PC +6016, 250, END_IO: run the ISR (device driver) +6266, 416, check device status +6682, 1, IRET +6683, 1, switch to user mode +6684, 84, CPU bursts +6768, 1, switch to kernel mode +6769, 20, context saved +6789, 1, find vector 7 in memory position 0x000E +6790, 1, load address 0X00BD into the PC +6791, 152, SYSCALL: run the ISR (device driver) +6943, 40, transfer data from device to memory +6983, 376, check for errors +7359, 1, IRET +7360, 1, switch to user mode +7361, 38, CPU bursts +7399, 1, switch to kernel mode +7400, 20, context saved +7420, 1, find vector 7 in memory position 0x000E +7421, 1, load address 0X00BD into the PC +7422, 152, END_IO: run the ISR (device driver) +7574, 416, check device status +7990, 1, IRET +7991, 1, switch to user mode +7992, 90, CPU bursts diff --git a/output_files/execution6.txt b/output_files/execution6.txt new file mode 100644 index 0000000..405c1f7 --- /dev/null +++ b/output_files/execution6.txt @@ -0,0 +1,96 @@ +0, 75, CPU bursts +75, 1, switch to kernel mode +76, 30, context saved +106, 1, find vector 5 in memory position 0x000A +107, 1, load address 0X048B into the PC +108, 211, SYSCALL: run the ISR (device driver) +319, 40, transfer data from device to memory +359, 376, check for errors +735, 1, IRET +736, 1, switch to user mode +737, 84, CPU bursts +821, 1, switch to kernel mode +822, 30, context saved +852, 1, find vector 5 in memory position 0x000A +853, 1, load address 0X048B into the PC +854, 211, END_IO: run the ISR (device driver) +1065, 416, check device status +1481, 1, IRET +1482, 1, switch to user mode +1483, 22, CPU bursts +1505, 1, switch to kernel mode +1506, 30, context saved +1536, 1, find vector 10 in memory position 0x0014 +1537, 1, load address 0X07B0 into the PC +1538, 564, SYSCALL: run the ISR (device driver) +2102, 40, transfer data from device to memory +2142, 376, check for errors +2518, 1, IRET +2519, 1, switch to user mode +2520, 80, CPU bursts +2600, 1, switch to kernel mode +2601, 30, context saved +2631, 1, find vector 10 in memory position 0x0014 +2632, 1, load address 0X07B0 into the PC +2633, 564, END_IO: run the ISR (device driver) +3197, 416, check device status +3613, 1, IRET +3614, 1, switch to user mode +3615, 79, CPU bursts +3694, 1, switch to kernel mode +3695, 30, context saved +3725, 1, find vector 6 in memory position 0x000C +3726, 1, load address 0X0639 into the PC +3727, 265, SYSCALL: run the ISR (device driver) +3992, 40, transfer data from device to memory +4032, 376, check for errors +4408, 1, IRET +4409, 1, switch to user mode +4410, 68, CPU bursts +4478, 1, switch to kernel mode +4479, 30, context saved +4509, 1, find vector 6 in memory position 0x000C +4510, 1, load address 0X0639 into the PC +4511, 265, END_IO: run the ISR (device driver) +4776, 416, check device status +5192, 1, IRET +5193, 1, switch to user mode +5194, 71, CPU bursts +5265, 1, switch to kernel mode +5266, 30, context saved +5296, 1, find vector 4 in memory position 0x0008 +5297, 1, load address 0X0292 into the PC +5298, 250, SYSCALL: run the ISR (device driver) +5548, 40, transfer data from device to memory +5588, 376, check for errors +5964, 1, IRET +5965, 1, switch to user mode +5966, 97, CPU bursts +6063, 1, switch to kernel mode +6064, 30, context saved +6094, 1, find vector 4 in memory position 0x0008 +6095, 1, load address 0X0292 into the PC +6096, 250, END_IO: run the ISR (device driver) +6346, 416, check device status +6762, 1, IRET +6763, 1, switch to user mode +6764, 84, CPU bursts +6848, 1, switch to kernel mode +6849, 30, context saved +6879, 1, find vector 7 in memory position 0x000E +6880, 1, load address 0X00BD into the PC +6881, 152, SYSCALL: run the ISR (device driver) +7033, 40, transfer data from device to memory +7073, 376, check for errors +7449, 1, IRET +7450, 1, switch to user mode +7451, 38, CPU bursts +7489, 1, switch to kernel mode +7490, 30, context saved +7520, 1, find vector 7 in memory position 0x000E +7521, 1, load address 0X00BD into the PC +7522, 152, END_IO: run the ISR (device driver) +7674, 416, check device status +8090, 1, IRET +8091, 1, switch to user mode +8092, 90, CPU bursts diff --git a/output_files/execution7.txt b/output_files/execution7.txt new file mode 100644 index 0000000..04d09a1 --- /dev/null +++ b/output_files/execution7.txt @@ -0,0 +1,58 @@ +0, 95, CPU bursts +95, 1, switch to kernel mode +96, 10, context saved +106, 1, find vector 6 in memory position 0x000C +107, 1, load address 0X0639 into the PC +108, 265, SYSCALL: run the ISR (device driver) +373, 40, transfer data from device to memory +413, 376, check for errors +789, 1, IRET +790, 1, switch to user mode +791, 26, CPU bursts +817, 1, switch to kernel mode +818, 10, context saved +828, 1, find vector 6 in memory position 0x000C +829, 1, load address 0X0639 into the PC +830, 265, END_IO: run the ISR (device driver) +1095, 416, check device status +1511, 1, IRET +1512, 1, switch to user mode +1513, 72, CPU bursts +1585, 1, switch to kernel mode +1586, 10, context saved +1596, 1, find vector 17 in memory position 0x0022 +1597, 1, load address 0X05B3 into the PC +1598, 235, SYSCALL: run the ISR (device driver) +1833, 40, transfer data from device to memory +1873, 376, check for errors +2249, 1, IRET +2250, 1, switch to user mode +2251, 50, CPU bursts +2301, 1, switch to kernel mode +2302, 10, context saved +2312, 1, find vector 17 in memory position 0x0022 +2313, 1, load address 0X05B3 into the PC +2314, 235, END_IO: run the ISR (device driver) +2549, 416, check device status +2965, 1, IRET +2966, 1, switch to user mode +2967, 88, CPU bursts +3055, 1, switch to kernel mode +3056, 10, context saved +3066, 1, find vector 14 in memory position 0x001C +3067, 1, load address 0X0165 into the PC +3068, 456, SYSCALL: run the ISR (device driver) +3524, 40, transfer data from device to memory +3564, 376, check for errors +3940, 1, IRET +3941, 1, switch to user mode +3942, 31, CPU bursts +3973, 1, switch to kernel mode +3974, 10, context saved +3984, 1, find vector 14 in memory position 0x001C +3985, 1, load address 0X0165 into the PC +3986, 456, END_IO: run the ISR (device driver) +4442, 416, check device status +4858, 1, IRET +4859, 1, switch to user mode +4860, 52, CPU bursts diff --git a/output_files/execution8.txt b/output_files/execution8.txt new file mode 100644 index 0000000..1dd61e1 --- /dev/null +++ b/output_files/execution8.txt @@ -0,0 +1,58 @@ +0, 95, CPU bursts +95, 1, switch to kernel mode +96, 20, context saved +116, 1, find vector 6 in memory position 0x000C +117, 1, load address 0X0639 into the PC +118, 265, SYSCALL: run the ISR (device driver) +383, 40, transfer data from device to memory +423, 376, check for errors +799, 1, IRET +800, 1, switch to user mode +801, 26, CPU bursts +827, 1, switch to kernel mode +828, 20, context saved +848, 1, find vector 6 in memory position 0x000C +849, 1, load address 0X0639 into the PC +850, 265, END_IO: run the ISR (device driver) +1115, 416, check device status +1531, 1, IRET +1532, 1, switch to user mode +1533, 72, CPU bursts +1605, 1, switch to kernel mode +1606, 20, context saved +1626, 1, find vector 17 in memory position 0x0022 +1627, 1, load address 0X05B3 into the PC +1628, 235, SYSCALL: run the ISR (device driver) +1863, 40, transfer data from device to memory +1903, 376, check for errors +2279, 1, IRET +2280, 1, switch to user mode +2281, 50, CPU bursts +2331, 1, switch to kernel mode +2332, 20, context saved +2352, 1, find vector 17 in memory position 0x0022 +2353, 1, load address 0X05B3 into the PC +2354, 235, END_IO: run the ISR (device driver) +2589, 416, check device status +3005, 1, IRET +3006, 1, switch to user mode +3007, 88, CPU bursts +3095, 1, switch to kernel mode +3096, 20, context saved +3116, 1, find vector 14 in memory position 0x001C +3117, 1, load address 0X0165 into the PC +3118, 456, SYSCALL: run the ISR (device driver) +3574, 40, transfer data from device to memory +3614, 376, check for errors +3990, 1, IRET +3991, 1, switch to user mode +3992, 31, CPU bursts +4023, 1, switch to kernel mode +4024, 20, context saved +4044, 1, find vector 14 in memory position 0x001C +4045, 1, load address 0X0165 into the PC +4046, 456, END_IO: run the ISR (device driver) +4502, 416, check device status +4918, 1, IRET +4919, 1, switch to user mode +4920, 52, CPU bursts diff --git a/output_files/execution9.txt b/output_files/execution9.txt new file mode 100644 index 0000000..edaec2b --- /dev/null +++ b/output_files/execution9.txt @@ -0,0 +1,58 @@ +0, 95, CPU bursts +95, 1, switch to kernel mode +96, 30, context saved +126, 1, find vector 6 in memory position 0x000C +127, 1, load address 0X0639 into the PC +128, 265, SYSCALL: run the ISR (device driver) +393, 40, transfer data from device to memory +433, 376, check for errors +809, 1, IRET +810, 1, switch to user mode +811, 26, CPU bursts +837, 1, switch to kernel mode +838, 30, context saved +868, 1, find vector 6 in memory position 0x000C +869, 1, load address 0X0639 into the PC +870, 265, END_IO: run the ISR (device driver) +1135, 416, check device status +1551, 1, IRET +1552, 1, switch to user mode +1553, 72, CPU bursts +1625, 1, switch to kernel mode +1626, 30, context saved +1656, 1, find vector 17 in memory position 0x0022 +1657, 1, load address 0X05B3 into the PC +1658, 235, SYSCALL: run the ISR (device driver) +1893, 40, transfer data from device to memory +1933, 376, check for errors +2309, 1, IRET +2310, 1, switch to user mode +2311, 50, CPU bursts +2361, 1, switch to kernel mode +2362, 30, context saved +2392, 1, find vector 17 in memory position 0x0022 +2393, 1, load address 0X05B3 into the PC +2394, 235, END_IO: run the ISR (device driver) +2629, 416, check device status +3045, 1, IRET +3046, 1, switch to user mode +3047, 88, CPU bursts +3135, 1, switch to kernel mode +3136, 30, context saved +3166, 1, find vector 14 in memory position 0x001C +3167, 1, load address 0X0165 into the PC +3168, 456, SYSCALL: run the ISR (device driver) +3624, 40, transfer data from device to memory +3664, 376, check for errors +4040, 1, IRET +4041, 1, switch to user mode +4042, 31, CPU bursts +4073, 1, switch to kernel mode +4074, 30, context saved +4104, 1, find vector 14 in memory position 0x001C +4105, 1, load address 0X0165 into the PC +4106, 456, END_IO: run the ISR (device driver) +4562, 416, check device status +4978, 1, IRET +4979, 1, switch to user mode +4980, 52, CPU bursts From d63b945e10f2f7d93c0beadcdf9b9e0e07f1a807 Mon Sep 17 00:00:00 2001 From: Abdullah Al-Rashid Date: Mon, 6 Oct 2025 03:13:26 -0400 Subject: [PATCH 04/10] Second half of exe tables --- output_files/execution12.txt | 96 ++++++ output_files/execution13.txt | 96 ++++++ output_files/execution14.txt | 96 ++++++ output_files/execution15.txt | 58 ++++ output_files/execution16.txt | 58 ++++ output_files/execution17.txt | 58 ++++ output_files/execution18.txt | 628 +++++++++++++++++++++++++++++++++++ output_files/execution19.txt | 628 +++++++++++++++++++++++++++++++++++ output_files/execution20.txt | 628 +++++++++++++++++++++++++++++++++++ 9 files changed, 2346 insertions(+) create mode 100644 output_files/execution12.txt create mode 100644 output_files/execution13.txt create mode 100644 output_files/execution14.txt create mode 100644 output_files/execution15.txt create mode 100644 output_files/execution16.txt create mode 100644 output_files/execution17.txt create mode 100644 output_files/execution18.txt create mode 100644 output_files/execution19.txt create mode 100644 output_files/execution20.txt diff --git a/output_files/execution12.txt b/output_files/execution12.txt new file mode 100644 index 0000000..d455f26 --- /dev/null +++ b/output_files/execution12.txt @@ -0,0 +1,96 @@ +0, 75, CPU bursts +75, 1, switch to kernel mode +76, 10, context saved +86, 1, find vector 5 in memory position 0x000A +87, 1, load address 0X048B into the PC +88, 211, SYSCALL: run the ISR (device driver) +299, 40, transfer data from device to memory +339, 376, check for errors +715, 1, IRET +716, 1, switch to user mode +717, 84, CPU bursts +801, 1, switch to kernel mode +802, 10, context saved +812, 1, find vector 5 in memory position 0x000A +813, 1, load address 0X048B into the PC +814, 211, END_IO: run the ISR (device driver) +1025, 416, check device status +1441, 1, IRET +1442, 1, switch to user mode +1443, 22, CPU bursts +1465, 1, switch to kernel mode +1466, 10, context saved +1476, 1, find vector 10 in memory position 0x0014 +1477, 1, load address 0X07B0 into the PC +1478, 564, SYSCALL: run the ISR (device driver) +2042, 40, transfer data from device to memory +2082, 376, check for errors +2458, 1, IRET +2459, 1, switch to user mode +2460, 80, CPU bursts +2540, 1, switch to kernel mode +2541, 10, context saved +2551, 1, find vector 10 in memory position 0x0014 +2552, 1, load address 0X07B0 into the PC +2553, 564, END_IO: run the ISR (device driver) +3117, 416, check device status +3533, 1, IRET +3534, 1, switch to user mode +3535, 79, CPU bursts +3614, 1, switch to kernel mode +3615, 10, context saved +3625, 1, find vector 6 in memory position 0x000C +3626, 1, load address 0X0639 into the PC +3627, 265, SYSCALL: run the ISR (device driver) +3892, 40, transfer data from device to memory +3932, 376, check for errors +4308, 1, IRET +4309, 1, switch to user mode +4310, 68, CPU bursts +4378, 1, switch to kernel mode +4379, 10, context saved +4389, 1, find vector 6 in memory position 0x000C +4390, 1, load address 0X0639 into the PC +4391, 265, END_IO: run the ISR (device driver) +4656, 416, check device status +5072, 1, IRET +5073, 1, switch to user mode +5074, 71, CPU bursts +5145, 1, switch to kernel mode +5146, 10, context saved +5156, 1, find vector 4 in memory position 0x0008 +5157, 1, load address 0X0292 into the PC +5158, 250, SYSCALL: run the ISR (device driver) +5408, 40, transfer data from device to memory +5448, 376, check for errors +5824, 1, IRET +5825, 1, switch to user mode +5826, 97, CPU bursts +5923, 1, switch to kernel mode +5924, 10, context saved +5934, 1, find vector 4 in memory position 0x0008 +5935, 1, load address 0X0292 into the PC +5936, 250, END_IO: run the ISR (device driver) +6186, 416, check device status +6602, 1, IRET +6603, 1, switch to user mode +6604, 84, CPU bursts +6688, 1, switch to kernel mode +6689, 10, context saved +6699, 1, find vector 7 in memory position 0x000E +6700, 1, load address 0X00BD into the PC +6701, 152, SYSCALL: run the ISR (device driver) +6853, 40, transfer data from device to memory +6893, 376, check for errors +7269, 1, IRET +7270, 1, switch to user mode +7271, 38, CPU bursts +7309, 1, switch to kernel mode +7310, 10, context saved +7320, 1, find vector 7 in memory position 0x000E +7321, 1, load address 0X00BD into the PC +7322, 152, END_IO: run the ISR (device driver) +7474, 416, check device status +7890, 1, IRET +7891, 1, switch to user mode +7892, 90, CPU bursts diff --git a/output_files/execution13.txt b/output_files/execution13.txt new file mode 100644 index 0000000..9844a5b --- /dev/null +++ b/output_files/execution13.txt @@ -0,0 +1,96 @@ +0, 75, CPU bursts +75, 1, switch to kernel mode +76, 10, context saved +86, 1, find vector 5 in memory position 0x000A +87, 1, load address 0X048B into the PC +88, 211, SYSCALL: run the ISR (device driver) +299, 80, transfer data from device to memory +339, 376, check for errors +715, 1, IRET +716, 1, switch to user mode +717, 84, CPU bursts +801, 1, switch to kernel mode +802, 10, context saved +812, 1, find vector 5 in memory position 0x000A +813, 1, load address 0X048B into the PC +814, 211, END_IO: run the ISR (device driver) +1025, 416, check device status +1441, 1, IRET +1442, 1, switch to user mode +1443, 22, CPU bursts +1465, 1, switch to kernel mode +1466, 10, context saved +1476, 1, find vector 10 in memory position 0x0014 +1477, 1, load address 0X07B0 into the PC +1478, 564, SYSCALL: run the ISR (device driver) +2042, 80, transfer data from device to memory +2082, 376, check for errors +2458, 1, IRET +2459, 1, switch to user mode +2460, 80, CPU bursts +2540, 1, switch to kernel mode +2541, 10, context saved +2551, 1, find vector 10 in memory position 0x0014 +2552, 1, load address 0X07B0 into the PC +2553, 564, END_IO: run the ISR (device driver) +3117, 416, check device status +3533, 1, IRET +3534, 1, switch to user mode +3535, 79, CPU bursts +3614, 1, switch to kernel mode +3615, 10, context saved +3625, 1, find vector 6 in memory position 0x000C +3626, 1, load address 0X0639 into the PC +3627, 265, SYSCALL: run the ISR (device driver) +3892, 80, transfer data from device to memory +3932, 376, check for errors +4308, 1, IRET +4309, 1, switch to user mode +4310, 68, CPU bursts +4378, 1, switch to kernel mode +4379, 10, context saved +4389, 1, find vector 6 in memory position 0x000C +4390, 1, load address 0X0639 into the PC +4391, 265, END_IO: run the ISR (device driver) +4656, 416, check device status +5072, 1, IRET +5073, 1, switch to user mode +5074, 71, CPU bursts +5145, 1, switch to kernel mode +5146, 10, context saved +5156, 1, find vector 4 in memory position 0x0008 +5157, 1, load address 0X0292 into the PC +5158, 250, SYSCALL: run the ISR (device driver) +5408, 80, transfer data from device to memory +5448, 376, check for errors +5824, 1, IRET +5825, 1, switch to user mode +5826, 97, CPU bursts +5923, 1, switch to kernel mode +5924, 10, context saved +5934, 1, find vector 4 in memory position 0x0008 +5935, 1, load address 0X0292 into the PC +5936, 250, END_IO: run the ISR (device driver) +6186, 416, check device status +6602, 1, IRET +6603, 1, switch to user mode +6604, 84, CPU bursts +6688, 1, switch to kernel mode +6689, 10, context saved +6699, 1, find vector 7 in memory position 0x000E +6700, 1, load address 0X00BD into the PC +6701, 152, SYSCALL: run the ISR (device driver) +6853, 80, transfer data from device to memory +6893, 376, check for errors +7269, 1, IRET +7270, 1, switch to user mode +7271, 38, CPU bursts +7309, 1, switch to kernel mode +7310, 10, context saved +7320, 1, find vector 7 in memory position 0x000E +7321, 1, load address 0X00BD into the PC +7322, 152, END_IO: run the ISR (device driver) +7474, 416, check device status +7890, 1, IRET +7891, 1, switch to user mode +7892, 90, CPU bursts diff --git a/output_files/execution14.txt b/output_files/execution14.txt new file mode 100644 index 0000000..38b2ba5 --- /dev/null +++ b/output_files/execution14.txt @@ -0,0 +1,96 @@ +0, 75, CPU bursts +75, 1, switch to kernel mode +76, 10, context saved +86, 1, find vector 5 in memory position 0x000A +87, 1, load address 0X048B into the PC +88, 211, SYSCALL: run the ISR (device driver) +299, 120, transfer data from device to memory +339, 376, check for errors +715, 1, IRET +716, 1, switch to user mode +717, 84, CPU bursts +801, 1, switch to kernel mode +802, 10, context saved +812, 1, find vector 5 in memory position 0x000A +813, 1, load address 0X048B into the PC +814, 211, END_IO: run the ISR (device driver) +1025, 416, check device status +1441, 1, IRET +1442, 1, switch to user mode +1443, 22, CPU bursts +1465, 1, switch to kernel mode +1466, 10, context saved +1476, 1, find vector 10 in memory position 0x0014 +1477, 1, load address 0X07B0 into the PC +1478, 564, SYSCALL: run the ISR (device driver) +2042, 120, transfer data from device to memory +2082, 376, check for errors +2458, 1, IRET +2459, 1, switch to user mode +2460, 80, CPU bursts +2540, 1, switch to kernel mode +2541, 10, context saved +2551, 1, find vector 10 in memory position 0x0014 +2552, 1, load address 0X07B0 into the PC +2553, 564, END_IO: run the ISR (device driver) +3117, 416, check device status +3533, 1, IRET +3534, 1, switch to user mode +3535, 79, CPU bursts +3614, 1, switch to kernel mode +3615, 10, context saved +3625, 1, find vector 6 in memory position 0x000C +3626, 1, load address 0X0639 into the PC +3627, 265, SYSCALL: run the ISR (device driver) +3892, 120, transfer data from device to memory +3932, 376, check for errors +4308, 1, IRET +4309, 1, switch to user mode +4310, 68, CPU bursts +4378, 1, switch to kernel mode +4379, 10, context saved +4389, 1, find vector 6 in memory position 0x000C +4390, 1, load address 0X0639 into the PC +4391, 265, END_IO: run the ISR (device driver) +4656, 416, check device status +5072, 1, IRET +5073, 1, switch to user mode +5074, 71, CPU bursts +5145, 1, switch to kernel mode +5146, 10, context saved +5156, 1, find vector 4 in memory position 0x0008 +5157, 1, load address 0X0292 into the PC +5158, 250, SYSCALL: run the ISR (device driver) +5408, 120, transfer data from device to memory +5448, 376, check for errors +5824, 1, IRET +5825, 1, switch to user mode +5826, 97, CPU bursts +5923, 1, switch to kernel mode +5924, 10, context saved +5934, 1, find vector 4 in memory position 0x0008 +5935, 1, load address 0X0292 into the PC +5936, 250, END_IO: run the ISR (device driver) +6186, 416, check device status +6602, 1, IRET +6603, 1, switch to user mode +6604, 84, CPU bursts +6688, 1, switch to kernel mode +6689, 10, context saved +6699, 1, find vector 7 in memory position 0x000E +6700, 1, load address 0X00BD into the PC +6701, 152, SYSCALL: run the ISR (device driver) +6853, 120, transfer data from device to memory +6893, 376, check for errors +7269, 1, IRET +7270, 1, switch to user mode +7271, 38, CPU bursts +7309, 1, switch to kernel mode +7310, 10, context saved +7320, 1, find vector 7 in memory position 0x000E +7321, 1, load address 0X00BD into the PC +7322, 152, END_IO: run the ISR (device driver) +7474, 416, check device status +7890, 1, IRET +7891, 1, switch to user mode +7892, 90, CPU bursts diff --git a/output_files/execution15.txt b/output_files/execution15.txt new file mode 100644 index 0000000..04d09a1 --- /dev/null +++ b/output_files/execution15.txt @@ -0,0 +1,58 @@ +0, 95, CPU bursts +95, 1, switch to kernel mode +96, 10, context saved +106, 1, find vector 6 in memory position 0x000C +107, 1, load address 0X0639 into the PC +108, 265, SYSCALL: run the ISR (device driver) +373, 40, transfer data from device to memory +413, 376, check for errors +789, 1, IRET +790, 1, switch to user mode +791, 26, CPU bursts +817, 1, switch to kernel mode +818, 10, context saved +828, 1, find vector 6 in memory position 0x000C +829, 1, load address 0X0639 into the PC +830, 265, END_IO: run the ISR (device driver) +1095, 416, check device status +1511, 1, IRET +1512, 1, switch to user mode +1513, 72, CPU bursts +1585, 1, switch to kernel mode +1586, 10, context saved +1596, 1, find vector 17 in memory position 0x0022 +1597, 1, load address 0X05B3 into the PC +1598, 235, SYSCALL: run the ISR (device driver) +1833, 40, transfer data from device to memory +1873, 376, check for errors +2249, 1, IRET +2250, 1, switch to user mode +2251, 50, CPU bursts +2301, 1, switch to kernel mode +2302, 10, context saved +2312, 1, find vector 17 in memory position 0x0022 +2313, 1, load address 0X05B3 into the PC +2314, 235, END_IO: run the ISR (device driver) +2549, 416, check device status +2965, 1, IRET +2966, 1, switch to user mode +2967, 88, CPU bursts +3055, 1, switch to kernel mode +3056, 10, context saved +3066, 1, find vector 14 in memory position 0x001C +3067, 1, load address 0X0165 into the PC +3068, 456, SYSCALL: run the ISR (device driver) +3524, 40, transfer data from device to memory +3564, 376, check for errors +3940, 1, IRET +3941, 1, switch to user mode +3942, 31, CPU bursts +3973, 1, switch to kernel mode +3974, 10, context saved +3984, 1, find vector 14 in memory position 0x001C +3985, 1, load address 0X0165 into the PC +3986, 456, END_IO: run the ISR (device driver) +4442, 416, check device status +4858, 1, IRET +4859, 1, switch to user mode +4860, 52, CPU bursts diff --git a/output_files/execution16.txt b/output_files/execution16.txt new file mode 100644 index 0000000..e00c8d7 --- /dev/null +++ b/output_files/execution16.txt @@ -0,0 +1,58 @@ +0, 95, CPU bursts +95, 1, switch to kernel mode +96, 10, context saved +106, 1, find vector 6 in memory position 0x000C +107, 1, load address 0X0639 into the PC +108, 265, SYSCALL: run the ISR (device driver) +373, 80, transfer data from device to memory +413, 376, check for errors +789, 1, IRET +790, 1, switch to user mode +791, 26, CPU bursts +817, 1, switch to kernel mode +818, 10, context saved +828, 1, find vector 6 in memory position 0x000C +829, 1, load address 0X0639 into the PC +830, 265, END_IO: run the ISR (device driver) +1095, 416, check device status +1511, 1, IRET +1512, 1, switch to user mode +1513, 72, CPU bursts +1585, 1, switch to kernel mode +1586, 10, context saved +1596, 1, find vector 17 in memory position 0x0022 +1597, 1, load address 0X05B3 into the PC +1598, 235, SYSCALL: run the ISR (device driver) +1833, 80, transfer data from device to memory +1873, 376, check for errors +2249, 1, IRET +2250, 1, switch to user mode +2251, 50, CPU bursts +2301, 1, switch to kernel mode +2302, 10, context saved +2312, 1, find vector 17 in memory position 0x0022 +2313, 1, load address 0X05B3 into the PC +2314, 235, END_IO: run the ISR (device driver) +2549, 416, check device status +2965, 1, IRET +2966, 1, switch to user mode +2967, 88, CPU bursts +3055, 1, switch to kernel mode +3056, 10, context saved +3066, 1, find vector 14 in memory position 0x001C +3067, 1, load address 0X0165 into the PC +3068, 456, SYSCALL: run the ISR (device driver) +3524, 80, transfer data from device to memory +3564, 376, check for errors +3940, 1, IRET +3941, 1, switch to user mode +3942, 31, CPU bursts +3973, 1, switch to kernel mode +3974, 10, context saved +3984, 1, find vector 14 in memory position 0x001C +3985, 1, load address 0X0165 into the PC +3986, 456, END_IO: run the ISR (device driver) +4442, 416, check device status +4858, 1, IRET +4859, 1, switch to user mode +4860, 52, CPU bursts diff --git a/output_files/execution17.txt b/output_files/execution17.txt new file mode 100644 index 0000000..1474fc5 --- /dev/null +++ b/output_files/execution17.txt @@ -0,0 +1,58 @@ +0, 95, CPU bursts +95, 1, switch to kernel mode +96, 10, context saved +106, 1, find vector 6 in memory position 0x000C +107, 1, load address 0X0639 into the PC +108, 265, SYSCALL: run the ISR (device driver) +373, 120, transfer data from device to memory +413, 376, check for errors +789, 1, IRET +790, 1, switch to user mode +791, 26, CPU bursts +817, 1, switch to kernel mode +818, 10, context saved +828, 1, find vector 6 in memory position 0x000C +829, 1, load address 0X0639 into the PC +830, 265, END_IO: run the ISR (device driver) +1095, 416, check device status +1511, 1, IRET +1512, 1, switch to user mode +1513, 72, CPU bursts +1585, 1, switch to kernel mode +1586, 10, context saved +1596, 1, find vector 17 in memory position 0x0022 +1597, 1, load address 0X05B3 into the PC +1598, 235, SYSCALL: run the ISR (device driver) +1833, 120, transfer data from device to memory +1873, 376, check for errors +2249, 1, IRET +2250, 1, switch to user mode +2251, 50, CPU bursts +2301, 1, switch to kernel mode +2302, 10, context saved +2312, 1, find vector 17 in memory position 0x0022 +2313, 1, load address 0X05B3 into the PC +2314, 235, END_IO: run the ISR (device driver) +2549, 416, check device status +2965, 1, IRET +2966, 1, switch to user mode +2967, 88, CPU bursts +3055, 1, switch to kernel mode +3056, 10, context saved +3066, 1, find vector 14 in memory position 0x001C +3067, 1, load address 0X0165 into the PC +3068, 456, SYSCALL: run the ISR (device driver) +3524, 120, transfer data from device to memory +3564, 376, check for errors +3940, 1, IRET +3941, 1, switch to user mode +3942, 31, CPU bursts +3973, 1, switch to kernel mode +3974, 10, context saved +3984, 1, find vector 14 in memory position 0x001C +3985, 1, load address 0X0165 into the PC +3986, 456, END_IO: run the ISR (device driver) +4442, 416, check device status +4858, 1, IRET +4859, 1, switch to user mode +4860, 52, CPU bursts diff --git a/output_files/execution18.txt b/output_files/execution18.txt new file mode 100644 index 0000000..86a0453 --- /dev/null +++ b/output_files/execution18.txt @@ -0,0 +1,628 @@ +0, 49, CPU bursts +49, 1, switch to kernel mode +50, 10, context saved +60, 1, find vector 6 in memory position 0x000C +61, 1, load address 0X0639 into the PC +62, 265, SYSCALL: run the ISR (device driver) +327, 40, transfer data from device to memory +367, 376, check for errors +743, 1, IRET +744, 1, switch to user mode +745, 99, CPU bursts +844, 1, switch to kernel mode +845, 10, context saved +855, 1, find vector 6 in memory position 0x000C +856, 1, load address 0X0639 into the PC +857, 265, END_IO: run the ISR (device driver) +1122, 416, check device status +1538, 1, IRET +1539, 1, switch to user mode +1540, 72, CPU bursts +1612, 1, switch to kernel mode +1613, 10, context saved +1623, 1, find vector 13 in memory position 0x001A +1624, 1, load address 0X06C7 into the PC +1625, 636, SYSCALL: run the ISR (device driver) +2261, 40, transfer data from device to memory +2301, 376, check for errors +2677, 1, IRET +2678, 1, switch to user mode +2679, 29, CPU bursts +2708, 1, switch to kernel mode +2709, 10, context saved +2719, 1, find vector 13 in memory position 0x001A +2720, 1, load address 0X06C7 into the PC +2721, 636, END_IO: run the ISR (device driver) +3357, 416, check device status +3773, 1, IRET +3774, 1, switch to user mode +3775, 19, CPU bursts +3794, 1, switch to kernel mode +3795, 10, context saved +3805, 1, find vector 8 in memory position 0x0010 +3806, 1, load address 0X06EF into the PC +3807, 1000, SYSCALL: run the ISR (device driver) +4807, 40, transfer data from device to memory +4847, 376, check for errors +5223, 1, IRET +5224, 1, switch to user mode +5225, 66, CPU bursts +5291, 1, switch to kernel mode +5292, 10, context saved +5302, 1, find vector 8 in memory position 0x0010 +5303, 1, load address 0X06EF into the PC +5304, 1000, END_IO: run the ISR (device driver) +6304, 416, check device status +6720, 1, IRET +6721, 1, switch to user mode +6722, 11, CPU bursts +6733, 1, switch to kernel mode +6734, 10, context saved +6744, 1, find vector 4 in memory position 0x0008 +6745, 1, load address 0X0292 into the PC +6746, 250, SYSCALL: run the ISR (device driver) +6996, 40, transfer data from device to memory +7036, 376, check for errors +7412, 1, IRET +7413, 1, switch to user mode +7414, 21, CPU bursts +7435, 1, switch to kernel mode +7436, 10, context saved +7446, 1, find vector 4 in memory position 0x0008 +7447, 1, load address 0X0292 into the PC +7448, 250, END_IO: run the ISR (device driver) +7698, 416, check device status +8114, 1, IRET +8115, 1, switch to user mode +8116, 100, CPU bursts +8216, 1, switch to kernel mode +8217, 10, context saved +8227, 1, find vector 18 in memory position 0x0024 +8228, 1, load address 0X060A into the PC +8229, 123, SYSCALL: run the ISR (device driver) +8352, 40, transfer data from device to memory +8392, 376, check for errors +8768, 1, IRET +8769, 1, switch to user mode +8770, 41, CPU bursts +8811, 1, switch to kernel mode +8812, 10, context saved +8822, 1, find vector 18 in memory position 0x0024 +8823, 1, load address 0X060A into the PC +8824, 123, END_IO: run the ISR (device driver) +8947, 416, check device status +9363, 1, IRET +9364, 1, switch to user mode +9365, 10, CPU bursts +9375, 1, switch to kernel mode +9376, 10, context saved +9386, 1, find vector 12 in memory position 0x0018 +9387, 1, load address 0X03B9 into the PC +9388, 145, SYSCALL: run the ISR (device driver) +9533, 40, transfer data from device to memory +9573, 376, check for errors +9949, 1, IRET +9950, 1, switch to user mode +9951, 76, CPU bursts +10027, 1, switch to kernel mode +10028, 10, context saved +10038, 1, find vector 12 in memory position 0x0018 +10039, 1, load address 0X03B9 into the PC +10040, 145, END_IO: run the ISR (device driver) +10185, 416, check device status +10601, 1, IRET +10602, 1, switch to user mode +10603, 12, CPU bursts +10615, 1, switch to kernel mode +10616, 10, context saved +10626, 1, find vector 15 in memory position 0x001E +10627, 1, load address 0X0584 into the PC +10628, 68, SYSCALL: run the ISR (device driver) +10696, 40, transfer data from device to memory +10736, 376, check for errors +11112, 1, IRET +11113, 1, switch to user mode +11114, 57, CPU bursts +11171, 1, switch to kernel mode +11172, 10, context saved +11182, 1, find vector 15 in memory position 0x001E +11183, 1, load address 0X0584 into the PC +11184, 68, END_IO: run the ISR (device driver) +11252, 416, check device status +11668, 1, IRET +11669, 1, switch to user mode +11670, 93, CPU bursts +11763, 1, switch to kernel mode +11764, 10, context saved +11774, 1, find vector 11 in memory position 0x0016 +11775, 1, load address 0X01F8 into the PC +11776, 523, SYSCALL: run the ISR (device driver) +12299, 40, transfer data from device to memory +12339, 376, check for errors +12715, 1, IRET +12716, 1, switch to user mode +12717, 56, CPU bursts +12773, 1, switch to kernel mode +12774, 10, context saved +12784, 1, find vector 11 in memory position 0x0016 +12785, 1, load address 0X01F8 into the PC +12786, 523, END_IO: run the ISR (device driver) +13309, 416, check device status +13725, 1, IRET +13726, 1, switch to user mode +13727, 38, CPU bursts +13765, 1, switch to kernel mode +13766, 10, context saved +13776, 1, find vector 8 in memory position 0x0010 +13777, 1, load address 0X06EF into the PC +13778, 1000, SYSCALL: run the ISR (device driver) +14778, 40, transfer data from device to memory +14818, 376, check for errors +15194, 1, IRET +15195, 1, switch to user mode +15196, 12, CPU bursts +15208, 1, switch to kernel mode +15209, 10, context saved +15219, 1, find vector 8 in memory position 0x0010 +15220, 1, load address 0X06EF into the PC +15221, 1000, END_IO: run the ISR (device driver) +16221, 416, check device status +16637, 1, IRET +16638, 1, switch to user mode +16639, 53, CPU bursts +16692, 1, switch to kernel mode +16693, 10, context saved +16703, 1, find vector 13 in memory position 0x001A +16704, 1, load address 0X06C7 into the PC +16705, 636, SYSCALL: run the ISR (device driver) +17341, 40, transfer data from device to memory +17381, 376, check for errors +17757, 1, IRET +17758, 1, switch to user mode +17759, 10, CPU bursts +17769, 1, switch to kernel mode +17770, 10, context saved +17780, 1, find vector 13 in memory position 0x001A +17781, 1, load address 0X06C7 into the PC +17782, 636, END_IO: run the ISR (device driver) +18418, 416, check device status +18834, 1, IRET +18835, 1, switch to user mode +18836, 85, CPU bursts +18921, 1, switch to kernel mode +18922, 10, context saved +18932, 1, find vector 19 in memory position 0x0026 +18933, 1, load address 0X0765 into the PC +18934, 652, SYSCALL: run the ISR (device driver) +19586, 40, transfer data from device to memory +19626, 376, check for errors +20002, 1, IRET +20003, 1, switch to user mode +20004, 81, CPU bursts +20085, 1, switch to kernel mode +20086, 10, context saved +20096, 1, find vector 19 in memory position 0x0026 +20097, 1, load address 0X0765 into the PC +20098, 652, END_IO: run the ISR (device driver) +20750, 416, check device status +21166, 1, IRET +21167, 1, switch to user mode +21168, 19, CPU bursts +21187, 1, switch to kernel mode +21188, 10, context saved +21198, 1, find vector 9 in memory position 0x0012 +21199, 1, load address 0X036C into the PC +21200, 156, SYSCALL: run the ISR (device driver) +21356, 40, transfer data from device to memory +21396, 376, check for errors +21772, 1, IRET +21773, 1, switch to user mode +21774, 30, CPU bursts +21804, 1, switch to kernel mode +21805, 10, context saved +21815, 1, find vector 9 in memory position 0x0012 +21816, 1, load address 0X036C into the PC +21817, 156, END_IO: run the ISR (device driver) +21973, 416, check device status +22389, 1, IRET +22390, 1, switch to user mode +22391, 48, CPU bursts +22439, 1, switch to kernel mode +22440, 10, context saved +22450, 1, find vector 3 in memory position 0x0006 +22451, 1, load address 0X042B into the PC +22452, 300, SYSCALL: run the ISR (device driver) +22752, 40, transfer data from device to memory +22792, 376, check for errors +23168, 1, IRET +23169, 1, switch to user mode +23170, 35, CPU bursts +23205, 1, switch to kernel mode +23206, 10, context saved +23216, 1, find vector 3 in memory position 0x0006 +23217, 1, load address 0X042B into the PC +23218, 300, END_IO: run the ISR (device driver) +23518, 416, check device status +23934, 1, IRET +23935, 1, switch to user mode +23936, 88, CPU bursts +24024, 1, switch to kernel mode +24025, 10, context saved +24035, 1, find vector 11 in memory position 0x0016 +24036, 1, load address 0X01F8 into the PC +24037, 523, SYSCALL: run the ISR (device driver) +24560, 40, transfer data from device to memory +24600, 376, check for errors +24976, 1, IRET +24977, 1, switch to user mode +24978, 20, CPU bursts +24998, 1, switch to kernel mode +24999, 10, context saved +25009, 1, find vector 11 in memory position 0x0016 +25010, 1, load address 0X01F8 into the PC +25011, 523, END_IO: run the ISR (device driver) +25534, 416, check device status +25950, 1, IRET +25951, 1, switch to user mode +25952, 61, CPU bursts +26013, 1, switch to kernel mode +26014, 10, context saved +26024, 1, find vector 1 in memory position 0x0002 +26025, 1, load address 0X029C into the PC +26026, 100, SYSCALL: run the ISR (device driver) +26126, 40, transfer data from device to memory +26166, 376, check for errors +26542, 1, IRET +26543, 1, switch to user mode +26544, 20, CPU bursts +26564, 1, switch to kernel mode +26565, 10, context saved +26575, 1, find vector 1 in memory position 0x0002 +26576, 1, load address 0X029C into the PC +26577, 100, END_IO: run the ISR (device driver) +26677, 416, check device status +27093, 1, IRET +27094, 1, switch to user mode +27095, 48, CPU bursts +27143, 1, switch to kernel mode +27144, 10, context saved +27154, 1, find vector 1 in memory position 0x0002 +27155, 1, load address 0X029C into the PC +27156, 100, SYSCALL: run the ISR (device driver) +27256, 40, transfer data from device to memory +27296, 376, check for errors +27672, 1, IRET +27673, 1, switch to user mode +27674, 33, CPU bursts +27707, 1, switch to kernel mode +27708, 10, context saved +27718, 1, find vector 1 in memory position 0x0002 +27719, 1, load address 0X029C into the PC +27720, 100, END_IO: run the ISR (device driver) +27820, 416, check device status +28236, 1, IRET +28237, 1, switch to user mode +28238, 91, CPU bursts +28329, 1, switch to kernel mode +28330, 10, context saved +28340, 1, find vector 14 in memory position 0x001C +28341, 1, load address 0X0165 into the PC +28342, 456, SYSCALL: run the ISR (device driver) +28798, 40, transfer data from device to memory +28838, 376, check for errors +29214, 1, IRET +29215, 1, switch to user mode +29216, 41, CPU bursts +29257, 1, switch to kernel mode +29258, 10, context saved +29268, 1, find vector 14 in memory position 0x001C +29269, 1, load address 0X0165 into the PC +29270, 456, END_IO: run the ISR (device driver) +29726, 416, check device status +30142, 1, IRET +30143, 1, switch to user mode +30144, 99, CPU bursts +30243, 1, switch to kernel mode +30244, 10, context saved +30254, 1, find vector 3 in memory position 0x0006 +30255, 1, load address 0X042B into the PC +30256, 300, SYSCALL: run the ISR (device driver) +30556, 40, transfer data from device to memory +30596, 376, check for errors +30972, 1, IRET +30973, 1, switch to user mode +30974, 50, CPU bursts +31024, 1, switch to kernel mode +31025, 10, context saved +31035, 1, find vector 3 in memory position 0x0006 +31036, 1, load address 0X042B into the PC +31037, 300, END_IO: run the ISR (device driver) +31337, 416, check device status +31753, 1, IRET +31754, 1, switch to user mode +31755, 22, CPU bursts +31777, 1, switch to kernel mode +31778, 10, context saved +31788, 1, find vector 17 in memory position 0x0022 +31789, 1, load address 0X05B3 into the PC +31790, 235, SYSCALL: run the ISR (device driver) +32025, 40, transfer data from device to memory +32065, 376, check for errors +32441, 1, IRET +32442, 1, switch to user mode +32443, 66, CPU bursts +32509, 1, switch to kernel mode +32510, 10, context saved +32520, 1, find vector 17 in memory position 0x0022 +32521, 1, load address 0X05B3 into the PC +32522, 235, END_IO: run the ISR (device driver) +32757, 416, check device status +33173, 1, IRET +33174, 1, switch to user mode +33175, 55, CPU bursts +33230, 1, switch to kernel mode +33231, 10, context saved +33241, 1, find vector 14 in memory position 0x001C +33242, 1, load address 0X0165 into the PC +33243, 456, SYSCALL: run the ISR (device driver) +33699, 40, transfer data from device to memory +33739, 376, check for errors +34115, 1, IRET +34116, 1, switch to user mode +34117, 80, CPU bursts +34197, 1, switch to kernel mode +34198, 10, context saved +34208, 1, find vector 14 in memory position 0x001C +34209, 1, load address 0X0165 into the PC +34210, 456, END_IO: run the ISR (device driver) +34666, 416, check device status +35082, 1, IRET +35083, 1, switch to user mode +35084, 51, CPU bursts +35135, 1, switch to kernel mode +35136, 10, context saved +35146, 1, find vector 15 in memory position 0x001E +35147, 1, load address 0X0584 into the PC +35148, 68, SYSCALL: run the ISR (device driver) +35216, 40, transfer data from device to memory +35256, 376, check for errors +35632, 1, IRET +35633, 1, switch to user mode +35634, 61, CPU bursts +35695, 1, switch to kernel mode +35696, 10, context saved +35706, 1, find vector 15 in memory position 0x001E +35707, 1, load address 0X0584 into the PC +35708, 68, END_IO: run the ISR (device driver) +35776, 416, check device status +36192, 1, IRET +36193, 1, switch to user mode +36194, 39, CPU bursts +36233, 1, switch to kernel mode +36234, 10, context saved +36244, 1, find vector 17 in memory position 0x0022 +36245, 1, load address 0X05B3 into the PC +36246, 235, SYSCALL: run the ISR (device driver) +36481, 40, transfer data from device to memory +36521, 376, check for errors +36897, 1, IRET +36898, 1, switch to user mode +36899, 80, CPU bursts +36979, 1, switch to kernel mode +36980, 10, context saved +36990, 1, find vector 17 in memory position 0x0022 +36991, 1, load address 0X05B3 into the PC +36992, 235, END_IO: run the ISR (device driver) +37227, 416, check device status +37643, 1, IRET +37644, 1, switch to user mode +37645, 96, CPU bursts +37741, 1, switch to kernel mode +37742, 10, context saved +37752, 1, find vector 19 in memory position 0x0026 +37753, 1, load address 0X0765 into the PC +37754, 652, SYSCALL: run the ISR (device driver) +38406, 40, transfer data from device to memory +38446, 376, check for errors +38822, 1, IRET +38823, 1, switch to user mode +38824, 88, CPU bursts +38912, 1, switch to kernel mode +38913, 10, context saved +38923, 1, find vector 19 in memory position 0x0026 +38924, 1, load address 0X0765 into the PC +38925, 652, END_IO: run the ISR (device driver) +39577, 416, check device status +39993, 1, IRET +39994, 1, switch to user mode +39995, 97, CPU bursts +40092, 1, switch to kernel mode +40093, 10, context saved +40103, 1, find vector 8 in memory position 0x0010 +40104, 1, load address 0X06EF into the PC +40105, 1000, SYSCALL: run the ISR (device driver) +41105, 40, transfer data from device to memory +41145, 376, check for errors +41521, 1, IRET +41522, 1, switch to user mode +41523, 39, CPU bursts +41562, 1, switch to kernel mode +41563, 10, context saved +41573, 1, find vector 8 in memory position 0x0010 +41574, 1, load address 0X06EF into the PC +41575, 1000, END_IO: run the ISR (device driver) +42575, 416, check device status +42991, 1, IRET +42992, 1, switch to user mode +42993, 30, CPU bursts +43023, 1, switch to kernel mode +43024, 10, context saved +43034, 1, find vector 4 in memory position 0x0008 +43035, 1, load address 0X0292 into the PC +43036, 250, SYSCALL: run the ISR (device driver) +43286, 40, transfer data from device to memory +43326, 376, check for errors +43702, 1, IRET +43703, 1, switch to user mode +43704, 77, CPU bursts +43781, 1, switch to kernel mode +43782, 10, context saved +43792, 1, find vector 4 in memory position 0x0008 +43793, 1, load address 0X0292 into the PC +43794, 250, END_IO: run the ISR (device driver) +44044, 416, check device status +44460, 1, IRET +44461, 1, switch to user mode +44462, 85, CPU bursts +44547, 1, switch to kernel mode +44548, 10, context saved +44558, 1, find vector 13 in memory position 0x001A +44559, 1, load address 0X06C7 into the PC +44560, 636, SYSCALL: run the ISR (device driver) +45196, 40, transfer data from device to memory +45236, 376, check for errors +45612, 1, IRET +45613, 1, switch to user mode +45614, 47, CPU bursts +45661, 1, switch to kernel mode +45662, 10, context saved +45672, 1, find vector 13 in memory position 0x001A +45673, 1, load address 0X06C7 into the PC +45674, 636, END_IO: run the ISR (device driver) +46310, 416, check device status +46726, 1, IRET +46727, 1, switch to user mode +46728, 18, CPU bursts +46746, 1, switch to kernel mode +46747, 10, context saved +46757, 1, find vector 20 in memory position 0x0028 +46758, 1, load address 0X07B7 into the PC +46759, 40, SYSCALL: run the ISR (device driver) +46799, 40, transfer data from device to memory +46839, 376, check for errors +47215, 1, IRET +47216, 1, switch to user mode +47217, 44, CPU bursts +47261, 1, switch to kernel mode +47262, 10, context saved +47272, 1, find vector 20 in memory position 0x0028 +47273, 1, load address 0X07B7 into the PC +47274, 40, END_IO: run the ISR (device driver) +47314, 416, check device status +47730, 1, IRET +47731, 1, switch to user mode +47732, 53, CPU bursts +47785, 1, switch to kernel mode +47786, 10, context saved +47796, 1, find vector 6 in memory position 0x000C +47797, 1, load address 0X0639 into the PC +47798, 265, SYSCALL: run the ISR (device driver) +48063, 40, transfer data from device to memory +48103, 376, check for errors +48479, 1, IRET +48480, 1, switch to user mode +48481, 69, CPU bursts +48550, 1, switch to kernel mode +48551, 10, context saved +48561, 1, find vector 6 in memory position 0x000C +48562, 1, load address 0X0639 into the PC +48563, 265, END_IO: run the ISR (device driver) +48828, 416, check device status +49244, 1, IRET +49245, 1, switch to user mode +49246, 72, CPU bursts +49318, 1, switch to kernel mode +49319, 10, context saved +49329, 1, find vector 4 in memory position 0x0008 +49330, 1, load address 0X0292 into the PC +49331, 250, SYSCALL: run the ISR (device driver) +49581, 40, transfer data from device to memory +49621, 376, check for errors +49997, 1, IRET +49998, 1, switch to user mode +49999, 25, CPU bursts +50024, 1, switch to kernel mode +50025, 10, context saved +50035, 1, find vector 4 in memory position 0x0008 +50036, 1, load address 0X0292 into the PC +50037, 250, END_IO: run the ISR (device driver) +50287, 416, check device status +50703, 1, IRET +50704, 1, switch to user mode +50705, 87, CPU bursts +50792, 1, switch to kernel mode +50793, 10, context saved +50803, 1, find vector 5 in memory position 0x000A +50804, 1, load address 0X048B into the PC +50805, 211, SYSCALL: run the ISR (device driver) +51016, 40, transfer data from device to memory +51056, 376, check for errors +51432, 1, IRET +51433, 1, switch to user mode +51434, 63, CPU bursts +51497, 1, switch to kernel mode +51498, 10, context saved +51508, 1, find vector 5 in memory position 0x000A +51509, 1, load address 0X048B into the PC +51510, 211, END_IO: run the ISR (device driver) +51721, 416, check device status +52137, 1, IRET +52138, 1, switch to user mode +52139, 11, CPU bursts +52150, 1, switch to kernel mode +52151, 10, context saved +52161, 1, find vector 15 in memory position 0x001E +52162, 1, load address 0X0584 into the PC +52163, 68, SYSCALL: run the ISR (device driver) +52231, 40, transfer data from device to memory +52271, 376, check for errors +52647, 1, IRET +52648, 1, switch to user mode +52649, 74, CPU bursts +52723, 1, switch to kernel mode +52724, 10, context saved +52734, 1, find vector 15 in memory position 0x001E +52735, 1, load address 0X0584 into the PC +52736, 68, END_IO: run the ISR (device driver) +52804, 416, check device status +53220, 1, IRET +53221, 1, switch to user mode +53222, 19, CPU bursts +53241, 1, switch to kernel mode +53242, 10, context saved +53252, 1, find vector 4 in memory position 0x0008 +53253, 1, load address 0X0292 into the PC +53254, 250, SYSCALL: run the ISR (device driver) +53504, 40, transfer data from device to memory +53544, 376, check for errors +53920, 1, IRET +53921, 1, switch to user mode +53922, 69, CPU bursts +53991, 1, switch to kernel mode +53992, 10, context saved +54002, 1, find vector 4 in memory position 0x0008 +54003, 1, load address 0X0292 into the PC +54004, 250, END_IO: run the ISR (device driver) +54254, 416, check device status +54670, 1, IRET +54671, 1, switch to user mode +54672, 50, CPU bursts +54722, 1, switch to kernel mode +54723, 10, context saved +54733, 1, find vector 5 in memory position 0x000A +54734, 1, load address 0X048B into the PC +54735, 211, SYSCALL: run the ISR (device driver) +54946, 40, transfer data from device to memory +54986, 376, check for errors +55362, 1, IRET +55363, 1, switch to user mode +55364, 28, CPU bursts +55392, 1, switch to kernel mode +55393, 10, context saved +55403, 1, find vector 5 in memory position 0x000A +55404, 1, load address 0X048B into the PC +55405, 211, END_IO: run the ISR (device driver) +55616, 416, check device status +56032, 1, IRET +56033, 1, switch to user mode +56034, 23, CPU bursts diff --git a/output_files/execution19.txt b/output_files/execution19.txt new file mode 100644 index 0000000..0031ced --- /dev/null +++ b/output_files/execution19.txt @@ -0,0 +1,628 @@ +0, 49, CPU bursts +49, 1, switch to kernel mode +50, 10, context saved +60, 1, find vector 6 in memory position 0x000C +61, 1, load address 0X0639 into the PC +62, 265, SYSCALL: run the ISR (device driver) +327, 80, transfer data from device to memory +367, 376, check for errors +743, 1, IRET +744, 1, switch to user mode +745, 99, CPU bursts +844, 1, switch to kernel mode +845, 10, context saved +855, 1, find vector 6 in memory position 0x000C +856, 1, load address 0X0639 into the PC +857, 265, END_IO: run the ISR (device driver) +1122, 416, check device status +1538, 1, IRET +1539, 1, switch to user mode +1540, 72, CPU bursts +1612, 1, switch to kernel mode +1613, 10, context saved +1623, 1, find vector 13 in memory position 0x001A +1624, 1, load address 0X06C7 into the PC +1625, 636, SYSCALL: run the ISR (device driver) +2261, 80, transfer data from device to memory +2301, 376, check for errors +2677, 1, IRET +2678, 1, switch to user mode +2679, 29, CPU bursts +2708, 1, switch to kernel mode +2709, 10, context saved +2719, 1, find vector 13 in memory position 0x001A +2720, 1, load address 0X06C7 into the PC +2721, 636, END_IO: run the ISR (device driver) +3357, 416, check device status +3773, 1, IRET +3774, 1, switch to user mode +3775, 19, CPU bursts +3794, 1, switch to kernel mode +3795, 10, context saved +3805, 1, find vector 8 in memory position 0x0010 +3806, 1, load address 0X06EF into the PC +3807, 1000, SYSCALL: run the ISR (device driver) +4807, 80, transfer data from device to memory +4847, 376, check for errors +5223, 1, IRET +5224, 1, switch to user mode +5225, 66, CPU bursts +5291, 1, switch to kernel mode +5292, 10, context saved +5302, 1, find vector 8 in memory position 0x0010 +5303, 1, load address 0X06EF into the PC +5304, 1000, END_IO: run the ISR (device driver) +6304, 416, check device status +6720, 1, IRET +6721, 1, switch to user mode +6722, 11, CPU bursts +6733, 1, switch to kernel mode +6734, 10, context saved +6744, 1, find vector 4 in memory position 0x0008 +6745, 1, load address 0X0292 into the PC +6746, 250, SYSCALL: run the ISR (device driver) +6996, 80, transfer data from device to memory +7036, 376, check for errors +7412, 1, IRET +7413, 1, switch to user mode +7414, 21, CPU bursts +7435, 1, switch to kernel mode +7436, 10, context saved +7446, 1, find vector 4 in memory position 0x0008 +7447, 1, load address 0X0292 into the PC +7448, 250, END_IO: run the ISR (device driver) +7698, 416, check device status +8114, 1, IRET +8115, 1, switch to user mode +8116, 100, CPU bursts +8216, 1, switch to kernel mode +8217, 10, context saved +8227, 1, find vector 18 in memory position 0x0024 +8228, 1, load address 0X060A into the PC +8229, 123, SYSCALL: run the ISR (device driver) +8352, 80, transfer data from device to memory +8392, 376, check for errors +8768, 1, IRET +8769, 1, switch to user mode +8770, 41, CPU bursts +8811, 1, switch to kernel mode +8812, 10, context saved +8822, 1, find vector 18 in memory position 0x0024 +8823, 1, load address 0X060A into the PC +8824, 123, END_IO: run the ISR (device driver) +8947, 416, check device status +9363, 1, IRET +9364, 1, switch to user mode +9365, 10, CPU bursts +9375, 1, switch to kernel mode +9376, 10, context saved +9386, 1, find vector 12 in memory position 0x0018 +9387, 1, load address 0X03B9 into the PC +9388, 145, SYSCALL: run the ISR (device driver) +9533, 80, transfer data from device to memory +9573, 376, check for errors +9949, 1, IRET +9950, 1, switch to user mode +9951, 76, CPU bursts +10027, 1, switch to kernel mode +10028, 10, context saved +10038, 1, find vector 12 in memory position 0x0018 +10039, 1, load address 0X03B9 into the PC +10040, 145, END_IO: run the ISR (device driver) +10185, 416, check device status +10601, 1, IRET +10602, 1, switch to user mode +10603, 12, CPU bursts +10615, 1, switch to kernel mode +10616, 10, context saved +10626, 1, find vector 15 in memory position 0x001E +10627, 1, load address 0X0584 into the PC +10628, 68, SYSCALL: run the ISR (device driver) +10696, 80, transfer data from device to memory +10736, 376, check for errors +11112, 1, IRET +11113, 1, switch to user mode +11114, 57, CPU bursts +11171, 1, switch to kernel mode +11172, 10, context saved +11182, 1, find vector 15 in memory position 0x001E +11183, 1, load address 0X0584 into the PC +11184, 68, END_IO: run the ISR (device driver) +11252, 416, check device status +11668, 1, IRET +11669, 1, switch to user mode +11670, 93, CPU bursts +11763, 1, switch to kernel mode +11764, 10, context saved +11774, 1, find vector 11 in memory position 0x0016 +11775, 1, load address 0X01F8 into the PC +11776, 523, SYSCALL: run the ISR (device driver) +12299, 80, transfer data from device to memory +12339, 376, check for errors +12715, 1, IRET +12716, 1, switch to user mode +12717, 56, CPU bursts +12773, 1, switch to kernel mode +12774, 10, context saved +12784, 1, find vector 11 in memory position 0x0016 +12785, 1, load address 0X01F8 into the PC +12786, 523, END_IO: run the ISR (device driver) +13309, 416, check device status +13725, 1, IRET +13726, 1, switch to user mode +13727, 38, CPU bursts +13765, 1, switch to kernel mode +13766, 10, context saved +13776, 1, find vector 8 in memory position 0x0010 +13777, 1, load address 0X06EF into the PC +13778, 1000, SYSCALL: run the ISR (device driver) +14778, 80, transfer data from device to memory +14818, 376, check for errors +15194, 1, IRET +15195, 1, switch to user mode +15196, 12, CPU bursts +15208, 1, switch to kernel mode +15209, 10, context saved +15219, 1, find vector 8 in memory position 0x0010 +15220, 1, load address 0X06EF into the PC +15221, 1000, END_IO: run the ISR (device driver) +16221, 416, check device status +16637, 1, IRET +16638, 1, switch to user mode +16639, 53, CPU bursts +16692, 1, switch to kernel mode +16693, 10, context saved +16703, 1, find vector 13 in memory position 0x001A +16704, 1, load address 0X06C7 into the PC +16705, 636, SYSCALL: run the ISR (device driver) +17341, 80, transfer data from device to memory +17381, 376, check for errors +17757, 1, IRET +17758, 1, switch to user mode +17759, 10, CPU bursts +17769, 1, switch to kernel mode +17770, 10, context saved +17780, 1, find vector 13 in memory position 0x001A +17781, 1, load address 0X06C7 into the PC +17782, 636, END_IO: run the ISR (device driver) +18418, 416, check device status +18834, 1, IRET +18835, 1, switch to user mode +18836, 85, CPU bursts +18921, 1, switch to kernel mode +18922, 10, context saved +18932, 1, find vector 19 in memory position 0x0026 +18933, 1, load address 0X0765 into the PC +18934, 652, SYSCALL: run the ISR (device driver) +19586, 80, transfer data from device to memory +19626, 376, check for errors +20002, 1, IRET +20003, 1, switch to user mode +20004, 81, CPU bursts +20085, 1, switch to kernel mode +20086, 10, context saved +20096, 1, find vector 19 in memory position 0x0026 +20097, 1, load address 0X0765 into the PC +20098, 652, END_IO: run the ISR (device driver) +20750, 416, check device status +21166, 1, IRET +21167, 1, switch to user mode +21168, 19, CPU bursts +21187, 1, switch to kernel mode +21188, 10, context saved +21198, 1, find vector 9 in memory position 0x0012 +21199, 1, load address 0X036C into the PC +21200, 156, SYSCALL: run the ISR (device driver) +21356, 80, transfer data from device to memory +21396, 376, check for errors +21772, 1, IRET +21773, 1, switch to user mode +21774, 30, CPU bursts +21804, 1, switch to kernel mode +21805, 10, context saved +21815, 1, find vector 9 in memory position 0x0012 +21816, 1, load address 0X036C into the PC +21817, 156, END_IO: run the ISR (device driver) +21973, 416, check device status +22389, 1, IRET +22390, 1, switch to user mode +22391, 48, CPU bursts +22439, 1, switch to kernel mode +22440, 10, context saved +22450, 1, find vector 3 in memory position 0x0006 +22451, 1, load address 0X042B into the PC +22452, 300, SYSCALL: run the ISR (device driver) +22752, 80, transfer data from device to memory +22792, 376, check for errors +23168, 1, IRET +23169, 1, switch to user mode +23170, 35, CPU bursts +23205, 1, switch to kernel mode +23206, 10, context saved +23216, 1, find vector 3 in memory position 0x0006 +23217, 1, load address 0X042B into the PC +23218, 300, END_IO: run the ISR (device driver) +23518, 416, check device status +23934, 1, IRET +23935, 1, switch to user mode +23936, 88, CPU bursts +24024, 1, switch to kernel mode +24025, 10, context saved +24035, 1, find vector 11 in memory position 0x0016 +24036, 1, load address 0X01F8 into the PC +24037, 523, SYSCALL: run the ISR (device driver) +24560, 80, transfer data from device to memory +24600, 376, check for errors +24976, 1, IRET +24977, 1, switch to user mode +24978, 20, CPU bursts +24998, 1, switch to kernel mode +24999, 10, context saved +25009, 1, find vector 11 in memory position 0x0016 +25010, 1, load address 0X01F8 into the PC +25011, 523, END_IO: run the ISR (device driver) +25534, 416, check device status +25950, 1, IRET +25951, 1, switch to user mode +25952, 61, CPU bursts +26013, 1, switch to kernel mode +26014, 10, context saved +26024, 1, find vector 1 in memory position 0x0002 +26025, 1, load address 0X029C into the PC +26026, 100, SYSCALL: run the ISR (device driver) +26126, 80, transfer data from device to memory +26166, 376, check for errors +26542, 1, IRET +26543, 1, switch to user mode +26544, 20, CPU bursts +26564, 1, switch to kernel mode +26565, 10, context saved +26575, 1, find vector 1 in memory position 0x0002 +26576, 1, load address 0X029C into the PC +26577, 100, END_IO: run the ISR (device driver) +26677, 416, check device status +27093, 1, IRET +27094, 1, switch to user mode +27095, 48, CPU bursts +27143, 1, switch to kernel mode +27144, 10, context saved +27154, 1, find vector 1 in memory position 0x0002 +27155, 1, load address 0X029C into the PC +27156, 100, SYSCALL: run the ISR (device driver) +27256, 80, transfer data from device to memory +27296, 376, check for errors +27672, 1, IRET +27673, 1, switch to user mode +27674, 33, CPU bursts +27707, 1, switch to kernel mode +27708, 10, context saved +27718, 1, find vector 1 in memory position 0x0002 +27719, 1, load address 0X029C into the PC +27720, 100, END_IO: run the ISR (device driver) +27820, 416, check device status +28236, 1, IRET +28237, 1, switch to user mode +28238, 91, CPU bursts +28329, 1, switch to kernel mode +28330, 10, context saved +28340, 1, find vector 14 in memory position 0x001C +28341, 1, load address 0X0165 into the PC +28342, 456, SYSCALL: run the ISR (device driver) +28798, 80, transfer data from device to memory +28838, 376, check for errors +29214, 1, IRET +29215, 1, switch to user mode +29216, 41, CPU bursts +29257, 1, switch to kernel mode +29258, 10, context saved +29268, 1, find vector 14 in memory position 0x001C +29269, 1, load address 0X0165 into the PC +29270, 456, END_IO: run the ISR (device driver) +29726, 416, check device status +30142, 1, IRET +30143, 1, switch to user mode +30144, 99, CPU bursts +30243, 1, switch to kernel mode +30244, 10, context saved +30254, 1, find vector 3 in memory position 0x0006 +30255, 1, load address 0X042B into the PC +30256, 300, SYSCALL: run the ISR (device driver) +30556, 80, transfer data from device to memory +30596, 376, check for errors +30972, 1, IRET +30973, 1, switch to user mode +30974, 50, CPU bursts +31024, 1, switch to kernel mode +31025, 10, context saved +31035, 1, find vector 3 in memory position 0x0006 +31036, 1, load address 0X042B into the PC +31037, 300, END_IO: run the ISR (device driver) +31337, 416, check device status +31753, 1, IRET +31754, 1, switch to user mode +31755, 22, CPU bursts +31777, 1, switch to kernel mode +31778, 10, context saved +31788, 1, find vector 17 in memory position 0x0022 +31789, 1, load address 0X05B3 into the PC +31790, 235, SYSCALL: run the ISR (device driver) +32025, 80, transfer data from device to memory +32065, 376, check for errors +32441, 1, IRET +32442, 1, switch to user mode +32443, 66, CPU bursts +32509, 1, switch to kernel mode +32510, 10, context saved +32520, 1, find vector 17 in memory position 0x0022 +32521, 1, load address 0X05B3 into the PC +32522, 235, END_IO: run the ISR (device driver) +32757, 416, check device status +33173, 1, IRET +33174, 1, switch to user mode +33175, 55, CPU bursts +33230, 1, switch to kernel mode +33231, 10, context saved +33241, 1, find vector 14 in memory position 0x001C +33242, 1, load address 0X0165 into the PC +33243, 456, SYSCALL: run the ISR (device driver) +33699, 80, transfer data from device to memory +33739, 376, check for errors +34115, 1, IRET +34116, 1, switch to user mode +34117, 80, CPU bursts +34197, 1, switch to kernel mode +34198, 10, context saved +34208, 1, find vector 14 in memory position 0x001C +34209, 1, load address 0X0165 into the PC +34210, 456, END_IO: run the ISR (device driver) +34666, 416, check device status +35082, 1, IRET +35083, 1, switch to user mode +35084, 51, CPU bursts +35135, 1, switch to kernel mode +35136, 10, context saved +35146, 1, find vector 15 in memory position 0x001E +35147, 1, load address 0X0584 into the PC +35148, 68, SYSCALL: run the ISR (device driver) +35216, 80, transfer data from device to memory +35256, 376, check for errors +35632, 1, IRET +35633, 1, switch to user mode +35634, 61, CPU bursts +35695, 1, switch to kernel mode +35696, 10, context saved +35706, 1, find vector 15 in memory position 0x001E +35707, 1, load address 0X0584 into the PC +35708, 68, END_IO: run the ISR (device driver) +35776, 416, check device status +36192, 1, IRET +36193, 1, switch to user mode +36194, 39, CPU bursts +36233, 1, switch to kernel mode +36234, 10, context saved +36244, 1, find vector 17 in memory position 0x0022 +36245, 1, load address 0X05B3 into the PC +36246, 235, SYSCALL: run the ISR (device driver) +36481, 80, transfer data from device to memory +36521, 376, check for errors +36897, 1, IRET +36898, 1, switch to user mode +36899, 80, CPU bursts +36979, 1, switch to kernel mode +36980, 10, context saved +36990, 1, find vector 17 in memory position 0x0022 +36991, 1, load address 0X05B3 into the PC +36992, 235, END_IO: run the ISR (device driver) +37227, 416, check device status +37643, 1, IRET +37644, 1, switch to user mode +37645, 96, CPU bursts +37741, 1, switch to kernel mode +37742, 10, context saved +37752, 1, find vector 19 in memory position 0x0026 +37753, 1, load address 0X0765 into the PC +37754, 652, SYSCALL: run the ISR (device driver) +38406, 80, transfer data from device to memory +38446, 376, check for errors +38822, 1, IRET +38823, 1, switch to user mode +38824, 88, CPU bursts +38912, 1, switch to kernel mode +38913, 10, context saved +38923, 1, find vector 19 in memory position 0x0026 +38924, 1, load address 0X0765 into the PC +38925, 652, END_IO: run the ISR (device driver) +39577, 416, check device status +39993, 1, IRET +39994, 1, switch to user mode +39995, 97, CPU bursts +40092, 1, switch to kernel mode +40093, 10, context saved +40103, 1, find vector 8 in memory position 0x0010 +40104, 1, load address 0X06EF into the PC +40105, 1000, SYSCALL: run the ISR (device driver) +41105, 80, transfer data from device to memory +41145, 376, check for errors +41521, 1, IRET +41522, 1, switch to user mode +41523, 39, CPU bursts +41562, 1, switch to kernel mode +41563, 10, context saved +41573, 1, find vector 8 in memory position 0x0010 +41574, 1, load address 0X06EF into the PC +41575, 1000, END_IO: run the ISR (device driver) +42575, 416, check device status +42991, 1, IRET +42992, 1, switch to user mode +42993, 30, CPU bursts +43023, 1, switch to kernel mode +43024, 10, context saved +43034, 1, find vector 4 in memory position 0x0008 +43035, 1, load address 0X0292 into the PC +43036, 250, SYSCALL: run the ISR (device driver) +43286, 80, transfer data from device to memory +43326, 376, check for errors +43702, 1, IRET +43703, 1, switch to user mode +43704, 77, CPU bursts +43781, 1, switch to kernel mode +43782, 10, context saved +43792, 1, find vector 4 in memory position 0x0008 +43793, 1, load address 0X0292 into the PC +43794, 250, END_IO: run the ISR (device driver) +44044, 416, check device status +44460, 1, IRET +44461, 1, switch to user mode +44462, 85, CPU bursts +44547, 1, switch to kernel mode +44548, 10, context saved +44558, 1, find vector 13 in memory position 0x001A +44559, 1, load address 0X06C7 into the PC +44560, 636, SYSCALL: run the ISR (device driver) +45196, 80, transfer data from device to memory +45236, 376, check for errors +45612, 1, IRET +45613, 1, switch to user mode +45614, 47, CPU bursts +45661, 1, switch to kernel mode +45662, 10, context saved +45672, 1, find vector 13 in memory position 0x001A +45673, 1, load address 0X06C7 into the PC +45674, 636, END_IO: run the ISR (device driver) +46310, 416, check device status +46726, 1, IRET +46727, 1, switch to user mode +46728, 18, CPU bursts +46746, 1, switch to kernel mode +46747, 10, context saved +46757, 1, find vector 20 in memory position 0x0028 +46758, 1, load address 0X07B7 into the PC +46759, 80, SYSCALL: run the ISR (device driver) +46839, 80, transfer data from device to memory +46879, 376, check for errors +47255, 1, IRET +47256, 1, switch to user mode +47257, 44, CPU bursts +47301, 1, switch to kernel mode +47302, 10, context saved +47312, 1, find vector 20 in memory position 0x0028 +47313, 1, load address 0X07B7 into the PC +47314, 80, END_IO: run the ISR (device driver) +47394, 416, check device status +47810, 1, IRET +47811, 1, switch to user mode +47812, 53, CPU bursts +47865, 1, switch to kernel mode +47866, 10, context saved +47876, 1, find vector 6 in memory position 0x000C +47877, 1, load address 0X0639 into the PC +47878, 265, SYSCALL: run the ISR (device driver) +48143, 80, transfer data from device to memory +48183, 376, check for errors +48559, 1, IRET +48560, 1, switch to user mode +48561, 69, CPU bursts +48630, 1, switch to kernel mode +48631, 10, context saved +48641, 1, find vector 6 in memory position 0x000C +48642, 1, load address 0X0639 into the PC +48643, 265, END_IO: run the ISR (device driver) +48908, 416, check device status +49324, 1, IRET +49325, 1, switch to user mode +49326, 72, CPU bursts +49398, 1, switch to kernel mode +49399, 10, context saved +49409, 1, find vector 4 in memory position 0x0008 +49410, 1, load address 0X0292 into the PC +49411, 250, SYSCALL: run the ISR (device driver) +49661, 80, transfer data from device to memory +49701, 376, check for errors +50077, 1, IRET +50078, 1, switch to user mode +50079, 25, CPU bursts +50104, 1, switch to kernel mode +50105, 10, context saved +50115, 1, find vector 4 in memory position 0x0008 +50116, 1, load address 0X0292 into the PC +50117, 250, END_IO: run the ISR (device driver) +50367, 416, check device status +50783, 1, IRET +50784, 1, switch to user mode +50785, 87, CPU bursts +50872, 1, switch to kernel mode +50873, 10, context saved +50883, 1, find vector 5 in memory position 0x000A +50884, 1, load address 0X048B into the PC +50885, 211, SYSCALL: run the ISR (device driver) +51096, 80, transfer data from device to memory +51136, 376, check for errors +51512, 1, IRET +51513, 1, switch to user mode +51514, 63, CPU bursts +51577, 1, switch to kernel mode +51578, 10, context saved +51588, 1, find vector 5 in memory position 0x000A +51589, 1, load address 0X048B into the PC +51590, 211, END_IO: run the ISR (device driver) +51801, 416, check device status +52217, 1, IRET +52218, 1, switch to user mode +52219, 11, CPU bursts +52230, 1, switch to kernel mode +52231, 10, context saved +52241, 1, find vector 15 in memory position 0x001E +52242, 1, load address 0X0584 into the PC +52243, 68, SYSCALL: run the ISR (device driver) +52311, 80, transfer data from device to memory +52351, 376, check for errors +52727, 1, IRET +52728, 1, switch to user mode +52729, 74, CPU bursts +52803, 1, switch to kernel mode +52804, 10, context saved +52814, 1, find vector 15 in memory position 0x001E +52815, 1, load address 0X0584 into the PC +52816, 68, END_IO: run the ISR (device driver) +52884, 416, check device status +53300, 1, IRET +53301, 1, switch to user mode +53302, 19, CPU bursts +53321, 1, switch to kernel mode +53322, 10, context saved +53332, 1, find vector 4 in memory position 0x0008 +53333, 1, load address 0X0292 into the PC +53334, 250, SYSCALL: run the ISR (device driver) +53584, 80, transfer data from device to memory +53624, 376, check for errors +54000, 1, IRET +54001, 1, switch to user mode +54002, 69, CPU bursts +54071, 1, switch to kernel mode +54072, 10, context saved +54082, 1, find vector 4 in memory position 0x0008 +54083, 1, load address 0X0292 into the PC +54084, 250, END_IO: run the ISR (device driver) +54334, 416, check device status +54750, 1, IRET +54751, 1, switch to user mode +54752, 50, CPU bursts +54802, 1, switch to kernel mode +54803, 10, context saved +54813, 1, find vector 5 in memory position 0x000A +54814, 1, load address 0X048B into the PC +54815, 211, SYSCALL: run the ISR (device driver) +55026, 80, transfer data from device to memory +55066, 376, check for errors +55442, 1, IRET +55443, 1, switch to user mode +55444, 28, CPU bursts +55472, 1, switch to kernel mode +55473, 10, context saved +55483, 1, find vector 5 in memory position 0x000A +55484, 1, load address 0X048B into the PC +55485, 211, END_IO: run the ISR (device driver) +55696, 416, check device status +56112, 1, IRET +56113, 1, switch to user mode +56114, 23, CPU bursts diff --git a/output_files/execution20.txt b/output_files/execution20.txt new file mode 100644 index 0000000..fcd2bd1 --- /dev/null +++ b/output_files/execution20.txt @@ -0,0 +1,628 @@ +0, 49, CPU bursts +49, 1, switch to kernel mode +50, 10, context saved +60, 1, find vector 6 in memory position 0x000C +61, 1, load address 0X0639 into the PC +62, 265, SYSCALL: run the ISR (device driver) +327, 120, transfer data from device to memory +367, 376, check for errors +743, 1, IRET +744, 1, switch to user mode +745, 99, CPU bursts +844, 1, switch to kernel mode +845, 10, context saved +855, 1, find vector 6 in memory position 0x000C +856, 1, load address 0X0639 into the PC +857, 265, END_IO: run the ISR (device driver) +1122, 416, check device status +1538, 1, IRET +1539, 1, switch to user mode +1540, 72, CPU bursts +1612, 1, switch to kernel mode +1613, 10, context saved +1623, 1, find vector 13 in memory position 0x001A +1624, 1, load address 0X06C7 into the PC +1625, 636, SYSCALL: run the ISR (device driver) +2261, 120, transfer data from device to memory +2301, 376, check for errors +2677, 1, IRET +2678, 1, switch to user mode +2679, 29, CPU bursts +2708, 1, switch to kernel mode +2709, 10, context saved +2719, 1, find vector 13 in memory position 0x001A +2720, 1, load address 0X06C7 into the PC +2721, 636, END_IO: run the ISR (device driver) +3357, 416, check device status +3773, 1, IRET +3774, 1, switch to user mode +3775, 19, CPU bursts +3794, 1, switch to kernel mode +3795, 10, context saved +3805, 1, find vector 8 in memory position 0x0010 +3806, 1, load address 0X06EF into the PC +3807, 1000, SYSCALL: run the ISR (device driver) +4807, 120, transfer data from device to memory +4847, 376, check for errors +5223, 1, IRET +5224, 1, switch to user mode +5225, 66, CPU bursts +5291, 1, switch to kernel mode +5292, 10, context saved +5302, 1, find vector 8 in memory position 0x0010 +5303, 1, load address 0X06EF into the PC +5304, 1000, END_IO: run the ISR (device driver) +6304, 416, check device status +6720, 1, IRET +6721, 1, switch to user mode +6722, 11, CPU bursts +6733, 1, switch to kernel mode +6734, 10, context saved +6744, 1, find vector 4 in memory position 0x0008 +6745, 1, load address 0X0292 into the PC +6746, 250, SYSCALL: run the ISR (device driver) +6996, 120, transfer data from device to memory +7036, 376, check for errors +7412, 1, IRET +7413, 1, switch to user mode +7414, 21, CPU bursts +7435, 1, switch to kernel mode +7436, 10, context saved +7446, 1, find vector 4 in memory position 0x0008 +7447, 1, load address 0X0292 into the PC +7448, 250, END_IO: run the ISR (device driver) +7698, 416, check device status +8114, 1, IRET +8115, 1, switch to user mode +8116, 100, CPU bursts +8216, 1, switch to kernel mode +8217, 10, context saved +8227, 1, find vector 18 in memory position 0x0024 +8228, 1, load address 0X060A into the PC +8229, 123, SYSCALL: run the ISR (device driver) +8352, 120, transfer data from device to memory +8392, 376, check for errors +8768, 1, IRET +8769, 1, switch to user mode +8770, 41, CPU bursts +8811, 1, switch to kernel mode +8812, 10, context saved +8822, 1, find vector 18 in memory position 0x0024 +8823, 1, load address 0X060A into the PC +8824, 123, END_IO: run the ISR (device driver) +8947, 416, check device status +9363, 1, IRET +9364, 1, switch to user mode +9365, 10, CPU bursts +9375, 1, switch to kernel mode +9376, 10, context saved +9386, 1, find vector 12 in memory position 0x0018 +9387, 1, load address 0X03B9 into the PC +9388, 145, SYSCALL: run the ISR (device driver) +9533, 120, transfer data from device to memory +9573, 376, check for errors +9949, 1, IRET +9950, 1, switch to user mode +9951, 76, CPU bursts +10027, 1, switch to kernel mode +10028, 10, context saved +10038, 1, find vector 12 in memory position 0x0018 +10039, 1, load address 0X03B9 into the PC +10040, 145, END_IO: run the ISR (device driver) +10185, 416, check device status +10601, 1, IRET +10602, 1, switch to user mode +10603, 12, CPU bursts +10615, 1, switch to kernel mode +10616, 10, context saved +10626, 1, find vector 15 in memory position 0x001E +10627, 1, load address 0X0584 into the PC +10628, 68, SYSCALL: run the ISR (device driver) +10696, 120, transfer data from device to memory +10736, 376, check for errors +11112, 1, IRET +11113, 1, switch to user mode +11114, 57, CPU bursts +11171, 1, switch to kernel mode +11172, 10, context saved +11182, 1, find vector 15 in memory position 0x001E +11183, 1, load address 0X0584 into the PC +11184, 68, END_IO: run the ISR (device driver) +11252, 416, check device status +11668, 1, IRET +11669, 1, switch to user mode +11670, 93, CPU bursts +11763, 1, switch to kernel mode +11764, 10, context saved +11774, 1, find vector 11 in memory position 0x0016 +11775, 1, load address 0X01F8 into the PC +11776, 523, SYSCALL: run the ISR (device driver) +12299, 120, transfer data from device to memory +12339, 376, check for errors +12715, 1, IRET +12716, 1, switch to user mode +12717, 56, CPU bursts +12773, 1, switch to kernel mode +12774, 10, context saved +12784, 1, find vector 11 in memory position 0x0016 +12785, 1, load address 0X01F8 into the PC +12786, 523, END_IO: run the ISR (device driver) +13309, 416, check device status +13725, 1, IRET +13726, 1, switch to user mode +13727, 38, CPU bursts +13765, 1, switch to kernel mode +13766, 10, context saved +13776, 1, find vector 8 in memory position 0x0010 +13777, 1, load address 0X06EF into the PC +13778, 1000, SYSCALL: run the ISR (device driver) +14778, 120, transfer data from device to memory +14818, 376, check for errors +15194, 1, IRET +15195, 1, switch to user mode +15196, 12, CPU bursts +15208, 1, switch to kernel mode +15209, 10, context saved +15219, 1, find vector 8 in memory position 0x0010 +15220, 1, load address 0X06EF into the PC +15221, 1000, END_IO: run the ISR (device driver) +16221, 416, check device status +16637, 1, IRET +16638, 1, switch to user mode +16639, 53, CPU bursts +16692, 1, switch to kernel mode +16693, 10, context saved +16703, 1, find vector 13 in memory position 0x001A +16704, 1, load address 0X06C7 into the PC +16705, 636, SYSCALL: run the ISR (device driver) +17341, 120, transfer data from device to memory +17381, 376, check for errors +17757, 1, IRET +17758, 1, switch to user mode +17759, 10, CPU bursts +17769, 1, switch to kernel mode +17770, 10, context saved +17780, 1, find vector 13 in memory position 0x001A +17781, 1, load address 0X06C7 into the PC +17782, 636, END_IO: run the ISR (device driver) +18418, 416, check device status +18834, 1, IRET +18835, 1, switch to user mode +18836, 85, CPU bursts +18921, 1, switch to kernel mode +18922, 10, context saved +18932, 1, find vector 19 in memory position 0x0026 +18933, 1, load address 0X0765 into the PC +18934, 652, SYSCALL: run the ISR (device driver) +19586, 120, transfer data from device to memory +19626, 376, check for errors +20002, 1, IRET +20003, 1, switch to user mode +20004, 81, CPU bursts +20085, 1, switch to kernel mode +20086, 10, context saved +20096, 1, find vector 19 in memory position 0x0026 +20097, 1, load address 0X0765 into the PC +20098, 652, END_IO: run the ISR (device driver) +20750, 416, check device status +21166, 1, IRET +21167, 1, switch to user mode +21168, 19, CPU bursts +21187, 1, switch to kernel mode +21188, 10, context saved +21198, 1, find vector 9 in memory position 0x0012 +21199, 1, load address 0X036C into the PC +21200, 156, SYSCALL: run the ISR (device driver) +21356, 120, transfer data from device to memory +21396, 376, check for errors +21772, 1, IRET +21773, 1, switch to user mode +21774, 30, CPU bursts +21804, 1, switch to kernel mode +21805, 10, context saved +21815, 1, find vector 9 in memory position 0x0012 +21816, 1, load address 0X036C into the PC +21817, 156, END_IO: run the ISR (device driver) +21973, 416, check device status +22389, 1, IRET +22390, 1, switch to user mode +22391, 48, CPU bursts +22439, 1, switch to kernel mode +22440, 10, context saved +22450, 1, find vector 3 in memory position 0x0006 +22451, 1, load address 0X042B into the PC +22452, 300, SYSCALL: run the ISR (device driver) +22752, 120, transfer data from device to memory +22792, 376, check for errors +23168, 1, IRET +23169, 1, switch to user mode +23170, 35, CPU bursts +23205, 1, switch to kernel mode +23206, 10, context saved +23216, 1, find vector 3 in memory position 0x0006 +23217, 1, load address 0X042B into the PC +23218, 300, END_IO: run the ISR (device driver) +23518, 416, check device status +23934, 1, IRET +23935, 1, switch to user mode +23936, 88, CPU bursts +24024, 1, switch to kernel mode +24025, 10, context saved +24035, 1, find vector 11 in memory position 0x0016 +24036, 1, load address 0X01F8 into the PC +24037, 523, SYSCALL: run the ISR (device driver) +24560, 120, transfer data from device to memory +24600, 376, check for errors +24976, 1, IRET +24977, 1, switch to user mode +24978, 20, CPU bursts +24998, 1, switch to kernel mode +24999, 10, context saved +25009, 1, find vector 11 in memory position 0x0016 +25010, 1, load address 0X01F8 into the PC +25011, 523, END_IO: run the ISR (device driver) +25534, 416, check device status +25950, 1, IRET +25951, 1, switch to user mode +25952, 61, CPU bursts +26013, 1, switch to kernel mode +26014, 10, context saved +26024, 1, find vector 1 in memory position 0x0002 +26025, 1, load address 0X029C into the PC +26026, 100, SYSCALL: run the ISR (device driver) +26126, 120, transfer data from device to memory +26166, 376, check for errors +26542, 1, IRET +26543, 1, switch to user mode +26544, 20, CPU bursts +26564, 1, switch to kernel mode +26565, 10, context saved +26575, 1, find vector 1 in memory position 0x0002 +26576, 1, load address 0X029C into the PC +26577, 100, END_IO: run the ISR (device driver) +26677, 416, check device status +27093, 1, IRET +27094, 1, switch to user mode +27095, 48, CPU bursts +27143, 1, switch to kernel mode +27144, 10, context saved +27154, 1, find vector 1 in memory position 0x0002 +27155, 1, load address 0X029C into the PC +27156, 100, SYSCALL: run the ISR (device driver) +27256, 120, transfer data from device to memory +27296, 376, check for errors +27672, 1, IRET +27673, 1, switch to user mode +27674, 33, CPU bursts +27707, 1, switch to kernel mode +27708, 10, context saved +27718, 1, find vector 1 in memory position 0x0002 +27719, 1, load address 0X029C into the PC +27720, 100, END_IO: run the ISR (device driver) +27820, 416, check device status +28236, 1, IRET +28237, 1, switch to user mode +28238, 91, CPU bursts +28329, 1, switch to kernel mode +28330, 10, context saved +28340, 1, find vector 14 in memory position 0x001C +28341, 1, load address 0X0165 into the PC +28342, 456, SYSCALL: run the ISR (device driver) +28798, 120, transfer data from device to memory +28838, 376, check for errors +29214, 1, IRET +29215, 1, switch to user mode +29216, 41, CPU bursts +29257, 1, switch to kernel mode +29258, 10, context saved +29268, 1, find vector 14 in memory position 0x001C +29269, 1, load address 0X0165 into the PC +29270, 456, END_IO: run the ISR (device driver) +29726, 416, check device status +30142, 1, IRET +30143, 1, switch to user mode +30144, 99, CPU bursts +30243, 1, switch to kernel mode +30244, 10, context saved +30254, 1, find vector 3 in memory position 0x0006 +30255, 1, load address 0X042B into the PC +30256, 300, SYSCALL: run the ISR (device driver) +30556, 120, transfer data from device to memory +30596, 376, check for errors +30972, 1, IRET +30973, 1, switch to user mode +30974, 50, CPU bursts +31024, 1, switch to kernel mode +31025, 10, context saved +31035, 1, find vector 3 in memory position 0x0006 +31036, 1, load address 0X042B into the PC +31037, 300, END_IO: run the ISR (device driver) +31337, 416, check device status +31753, 1, IRET +31754, 1, switch to user mode +31755, 22, CPU bursts +31777, 1, switch to kernel mode +31778, 10, context saved +31788, 1, find vector 17 in memory position 0x0022 +31789, 1, load address 0X05B3 into the PC +31790, 235, SYSCALL: run the ISR (device driver) +32025, 120, transfer data from device to memory +32065, 376, check for errors +32441, 1, IRET +32442, 1, switch to user mode +32443, 66, CPU bursts +32509, 1, switch to kernel mode +32510, 10, context saved +32520, 1, find vector 17 in memory position 0x0022 +32521, 1, load address 0X05B3 into the PC +32522, 235, END_IO: run the ISR (device driver) +32757, 416, check device status +33173, 1, IRET +33174, 1, switch to user mode +33175, 55, CPU bursts +33230, 1, switch to kernel mode +33231, 10, context saved +33241, 1, find vector 14 in memory position 0x001C +33242, 1, load address 0X0165 into the PC +33243, 456, SYSCALL: run the ISR (device driver) +33699, 120, transfer data from device to memory +33739, 376, check for errors +34115, 1, IRET +34116, 1, switch to user mode +34117, 80, CPU bursts +34197, 1, switch to kernel mode +34198, 10, context saved +34208, 1, find vector 14 in memory position 0x001C +34209, 1, load address 0X0165 into the PC +34210, 456, END_IO: run the ISR (device driver) +34666, 416, check device status +35082, 1, IRET +35083, 1, switch to user mode +35084, 51, CPU bursts +35135, 1, switch to kernel mode +35136, 10, context saved +35146, 1, find vector 15 in memory position 0x001E +35147, 1, load address 0X0584 into the PC +35148, 68, SYSCALL: run the ISR (device driver) +35216, 120, transfer data from device to memory +35256, 376, check for errors +35632, 1, IRET +35633, 1, switch to user mode +35634, 61, CPU bursts +35695, 1, switch to kernel mode +35696, 10, context saved +35706, 1, find vector 15 in memory position 0x001E +35707, 1, load address 0X0584 into the PC +35708, 68, END_IO: run the ISR (device driver) +35776, 416, check device status +36192, 1, IRET +36193, 1, switch to user mode +36194, 39, CPU bursts +36233, 1, switch to kernel mode +36234, 10, context saved +36244, 1, find vector 17 in memory position 0x0022 +36245, 1, load address 0X05B3 into the PC +36246, 235, SYSCALL: run the ISR (device driver) +36481, 120, transfer data from device to memory +36521, 376, check for errors +36897, 1, IRET +36898, 1, switch to user mode +36899, 80, CPU bursts +36979, 1, switch to kernel mode +36980, 10, context saved +36990, 1, find vector 17 in memory position 0x0022 +36991, 1, load address 0X05B3 into the PC +36992, 235, END_IO: run the ISR (device driver) +37227, 416, check device status +37643, 1, IRET +37644, 1, switch to user mode +37645, 96, CPU bursts +37741, 1, switch to kernel mode +37742, 10, context saved +37752, 1, find vector 19 in memory position 0x0026 +37753, 1, load address 0X0765 into the PC +37754, 652, SYSCALL: run the ISR (device driver) +38406, 120, transfer data from device to memory +38446, 376, check for errors +38822, 1, IRET +38823, 1, switch to user mode +38824, 88, CPU bursts +38912, 1, switch to kernel mode +38913, 10, context saved +38923, 1, find vector 19 in memory position 0x0026 +38924, 1, load address 0X0765 into the PC +38925, 652, END_IO: run the ISR (device driver) +39577, 416, check device status +39993, 1, IRET +39994, 1, switch to user mode +39995, 97, CPU bursts +40092, 1, switch to kernel mode +40093, 10, context saved +40103, 1, find vector 8 in memory position 0x0010 +40104, 1, load address 0X06EF into the PC +40105, 1000, SYSCALL: run the ISR (device driver) +41105, 120, transfer data from device to memory +41145, 376, check for errors +41521, 1, IRET +41522, 1, switch to user mode +41523, 39, CPU bursts +41562, 1, switch to kernel mode +41563, 10, context saved +41573, 1, find vector 8 in memory position 0x0010 +41574, 1, load address 0X06EF into the PC +41575, 1000, END_IO: run the ISR (device driver) +42575, 416, check device status +42991, 1, IRET +42992, 1, switch to user mode +42993, 30, CPU bursts +43023, 1, switch to kernel mode +43024, 10, context saved +43034, 1, find vector 4 in memory position 0x0008 +43035, 1, load address 0X0292 into the PC +43036, 250, SYSCALL: run the ISR (device driver) +43286, 120, transfer data from device to memory +43326, 376, check for errors +43702, 1, IRET +43703, 1, switch to user mode +43704, 77, CPU bursts +43781, 1, switch to kernel mode +43782, 10, context saved +43792, 1, find vector 4 in memory position 0x0008 +43793, 1, load address 0X0292 into the PC +43794, 250, END_IO: run the ISR (device driver) +44044, 416, check device status +44460, 1, IRET +44461, 1, switch to user mode +44462, 85, CPU bursts +44547, 1, switch to kernel mode +44548, 10, context saved +44558, 1, find vector 13 in memory position 0x001A +44559, 1, load address 0X06C7 into the PC +44560, 636, SYSCALL: run the ISR (device driver) +45196, 120, transfer data from device to memory +45236, 376, check for errors +45612, 1, IRET +45613, 1, switch to user mode +45614, 47, CPU bursts +45661, 1, switch to kernel mode +45662, 10, context saved +45672, 1, find vector 13 in memory position 0x001A +45673, 1, load address 0X06C7 into the PC +45674, 636, END_IO: run the ISR (device driver) +46310, 416, check device status +46726, 1, IRET +46727, 1, switch to user mode +46728, 18, CPU bursts +46746, 1, switch to kernel mode +46747, 10, context saved +46757, 1, find vector 20 in memory position 0x0028 +46758, 1, load address 0X07B7 into the PC +46759, 120, SYSCALL: run the ISR (device driver) +46879, 120, transfer data from device to memory +46919, 376, check for errors +47295, 1, IRET +47296, 1, switch to user mode +47297, 44, CPU bursts +47341, 1, switch to kernel mode +47342, 10, context saved +47352, 1, find vector 20 in memory position 0x0028 +47353, 1, load address 0X07B7 into the PC +47354, 120, END_IO: run the ISR (device driver) +47474, 416, check device status +47890, 1, IRET +47891, 1, switch to user mode +47892, 53, CPU bursts +47945, 1, switch to kernel mode +47946, 10, context saved +47956, 1, find vector 6 in memory position 0x000C +47957, 1, load address 0X0639 into the PC +47958, 265, SYSCALL: run the ISR (device driver) +48223, 120, transfer data from device to memory +48263, 376, check for errors +48639, 1, IRET +48640, 1, switch to user mode +48641, 69, CPU bursts +48710, 1, switch to kernel mode +48711, 10, context saved +48721, 1, find vector 6 in memory position 0x000C +48722, 1, load address 0X0639 into the PC +48723, 265, END_IO: run the ISR (device driver) +48988, 416, check device status +49404, 1, IRET +49405, 1, switch to user mode +49406, 72, CPU bursts +49478, 1, switch to kernel mode +49479, 10, context saved +49489, 1, find vector 4 in memory position 0x0008 +49490, 1, load address 0X0292 into the PC +49491, 250, SYSCALL: run the ISR (device driver) +49741, 120, transfer data from device to memory +49781, 376, check for errors +50157, 1, IRET +50158, 1, switch to user mode +50159, 25, CPU bursts +50184, 1, switch to kernel mode +50185, 10, context saved +50195, 1, find vector 4 in memory position 0x0008 +50196, 1, load address 0X0292 into the PC +50197, 250, END_IO: run the ISR (device driver) +50447, 416, check device status +50863, 1, IRET +50864, 1, switch to user mode +50865, 87, CPU bursts +50952, 1, switch to kernel mode +50953, 10, context saved +50963, 1, find vector 5 in memory position 0x000A +50964, 1, load address 0X048B into the PC +50965, 211, SYSCALL: run the ISR (device driver) +51176, 120, transfer data from device to memory +51216, 376, check for errors +51592, 1, IRET +51593, 1, switch to user mode +51594, 63, CPU bursts +51657, 1, switch to kernel mode +51658, 10, context saved +51668, 1, find vector 5 in memory position 0x000A +51669, 1, load address 0X048B into the PC +51670, 211, END_IO: run the ISR (device driver) +51881, 416, check device status +52297, 1, IRET +52298, 1, switch to user mode +52299, 11, CPU bursts +52310, 1, switch to kernel mode +52311, 10, context saved +52321, 1, find vector 15 in memory position 0x001E +52322, 1, load address 0X0584 into the PC +52323, 68, SYSCALL: run the ISR (device driver) +52391, 120, transfer data from device to memory +52431, 376, check for errors +52807, 1, IRET +52808, 1, switch to user mode +52809, 74, CPU bursts +52883, 1, switch to kernel mode +52884, 10, context saved +52894, 1, find vector 15 in memory position 0x001E +52895, 1, load address 0X0584 into the PC +52896, 68, END_IO: run the ISR (device driver) +52964, 416, check device status +53380, 1, IRET +53381, 1, switch to user mode +53382, 19, CPU bursts +53401, 1, switch to kernel mode +53402, 10, context saved +53412, 1, find vector 4 in memory position 0x0008 +53413, 1, load address 0X0292 into the PC +53414, 250, SYSCALL: run the ISR (device driver) +53664, 120, transfer data from device to memory +53704, 376, check for errors +54080, 1, IRET +54081, 1, switch to user mode +54082, 69, CPU bursts +54151, 1, switch to kernel mode +54152, 10, context saved +54162, 1, find vector 4 in memory position 0x0008 +54163, 1, load address 0X0292 into the PC +54164, 250, END_IO: run the ISR (device driver) +54414, 416, check device status +54830, 1, IRET +54831, 1, switch to user mode +54832, 50, CPU bursts +54882, 1, switch to kernel mode +54883, 10, context saved +54893, 1, find vector 5 in memory position 0x000A +54894, 1, load address 0X048B into the PC +54895, 211, SYSCALL: run the ISR (device driver) +55106, 120, transfer data from device to memory +55146, 376, check for errors +55522, 1, IRET +55523, 1, switch to user mode +55524, 28, CPU bursts +55552, 1, switch to kernel mode +55553, 10, context saved +55563, 1, find vector 5 in memory position 0x000A +55564, 1, load address 0X048B into the PC +55565, 211, END_IO: run the ISR (device driver) +55776, 416, check device status +56192, 1, IRET +56193, 1, switch to user mode +56194, 23, CPU bursts From f83d41af4c2299a1eb711d5497042bc86ab1c92f Mon Sep 17 00:00:00 2001 From: Abdullah Al-Rashid Date: Mon, 6 Oct 2025 03:16:02 -0400 Subject: [PATCH 05/10] Made more use of isr_body_time --- interrupts.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interrupts.cpp b/interrupts.cpp index 51da8a6..d6d6012 100644 --- a/interrupts.cpp +++ b/interrupts.cpp @@ -50,7 +50,7 @@ int main(int argc, char** argv) { execution += std::to_string(current_time) + ", " + std::to_string(device_delay) + ", SYSCALL: run the ISR (device driver)\n"; current_time += device_delay; - execution += std::to_string(current_time) + ", 40, transfer data from device to memory\n"; + execution += std::to_string(current_time) + ", " + std::to_string(isr_body_time) + ", transfer data from device to memory\n"; current_time += 40; execution += std::to_string(current_time) + ", 376, check for errors\n"; From 83ba94d7835fde79e73dc3df75d40d1abbb0daa9 Mon Sep 17 00:00:00 2001 From: Amin Eldery Date: Mon, 6 Oct 2025 03:22:35 -0400 Subject: [PATCH 06/10] Input Files used to create exe tables --- input_files/trace.txt | 121 +++++++++++++++++++++++++++++++++ input_files/trace_1.txt | 21 ++++++ input_files/trace_2.txt | 13 ++++ input_files/trace_3.txt | 133 ++++++++++++++++++++++++++++++++++++ input_files/trace_4.txt | 137 +++++++++++++++++++++++++++++++++++++ input_files/trace_5.txt | 145 ++++++++++++++++++++++++++++++++++++++++ 6 files changed, 570 insertions(+) create mode 100644 input_files/trace.txt create mode 100644 input_files/trace_1.txt create mode 100644 input_files/trace_2.txt create mode 100644 input_files/trace_3.txt create mode 100644 input_files/trace_4.txt create mode 100644 input_files/trace_5.txt diff --git a/input_files/trace.txt b/input_files/trace.txt new file mode 100644 index 0000000..921249c --- /dev/null +++ b/input_files/trace.txt @@ -0,0 +1,121 @@ +CPU, 51 +SYSCALL, 14 +CPU, 39 +END_IO, 14 +CPU, 72 +SYSCALL, 19 +CPU, 28 +END_IO, 19 +CPU, 32 +SYSCALL, 7 +CPU, 25 +END_IO, 7 +CPU, 11 +SYSCALL, 16 +CPU, 54 +END_IO, 16 +CPU, 96 +SYSCALL, 8 +CPU, 54 +END_IO, 8 +CPU, 77 +SYSCALL, 11 +CPU, 33 +END_IO, 11 +CPU, 60 +SYSCALL, 16 +CPU, 21 +END_IO, 16 +CPU, 19 +SYSCALL, 2 +CPU, 26 +END_IO, 2 +CPU, 38 +SYSCALL, 16 +CPU, 28 +END_IO, 16 +CPU, 65 +SYSCALL, 16 +CPU, 88 +END_IO, 16 +CPU, 100 +SYSCALL, 17 +CPU, 28 +END_IO, 17 +CPU, 25 +SYSCALL, 1 +CPU, 21 +END_IO, 1 +CPU, 25 +SYSCALL, 19 +CPU, 34 +END_IO, 19 +CPU, 34 +SYSCALL, 8 +CPU, 59 +END_IO, 8 +CPU, 44 +SYSCALL, 15 +CPU, 51 +END_IO, 15 +CPU, 87 +SYSCALL, 11 +CPU, 65 +END_IO, 11 +CPU, 48 +SYSCALL, 16 +CPU, 51 +END_IO, 16 +CPU, 37 +SYSCALL, 1 +CPU, 18 +END_IO, 1 +CPU, 11 +SYSCALL, 2 +CPU, 46 +END_IO, 2 +CPU, 33 +SYSCALL, 12 +CPU, 75 +END_IO, 12 +CPU, 88 +SYSCALL, 18 +CPU, 29 +END_IO, 18 +CPU, 28 +SYSCALL, 1 +CPU, 69 +END_IO, 1 +CPU, 48 +SYSCALL, 4 +CPU, 36 +END_IO, 4 +CPU, 99 +SYSCALL, 18 +CPU, 56 +END_IO, 18 +CPU, 61 +SYSCALL, 16 +CPU, 35 +END_IO, 16 +CPU, 54 +SYSCALL, 10 +CPU, 83 +END_IO, 10 +CPU, 51 +SYSCALL, 11 +CPU, 85 +END_IO, 11 +CPU, 48 +SYSCALL, 6 +CPU, 58 +END_IO, 6 +CPU, 21 +SYSCALL, 5 +CPU, 62 +END_IO, 5 +CPU, 41 +SYSCALL, 4 +CPU, 48 +END_IO, 4 +CPU, 63 \ No newline at end of file diff --git a/input_files/trace_1.txt b/input_files/trace_1.txt new file mode 100644 index 0000000..e7c8940 --- /dev/null +++ b/input_files/trace_1.txt @@ -0,0 +1,21 @@ +CPU, 75 +SYSCALL, 5 +CPU, 84 +END_IO, 5 +CPU, 22 +SYSCALL, 10 +CPU, 80 +END_IO, 10 +CPU, 79 +SYSCALL, 6 +CPU, 68 +END_IO, 6 +CPU, 71 +SYSCALL, 4 +CPU, 97 +END_IO, 4 +CPU, 84 +SYSCALL, 7 +CPU, 38 +END_IO, 7 +CPU, 90 diff --git a/input_files/trace_2.txt b/input_files/trace_2.txt new file mode 100644 index 0000000..fca2f81 --- /dev/null +++ b/input_files/trace_2.txt @@ -0,0 +1,13 @@ +CPU, 95 +SYSCALL, 6 +CPU, 26 +END_IO, 6 +CPU, 72 +SYSCALL, 17 +CPU, 50 +END_IO, 17 +CPU, 88 +SYSCALL, 14 +CPU, 31 +END_IO, 14 +CPU, 52 diff --git a/input_files/trace_3.txt b/input_files/trace_3.txt new file mode 100644 index 0000000..6cfbde4 --- /dev/null +++ b/input_files/trace_3.txt @@ -0,0 +1,133 @@ +CPU, 49 +SYSCALL, 6 +CPU, 99 +END_IO, 6 +CPU, 72 +SYSCALL, 13 +CPU, 29 +END_IO, 13 +CPU, 19 +SYSCALL, 8 +CPU, 66 +END_IO, 8 +CPU, 11 +SYSCALL, 4 +CPU, 21 +END_IO, 4 +CPU, 100 +SYSCALL, 18 +CPU, 41 +END_IO, 18 +CPU, 10 +SYSCALL, 12 +CPU, 76 +END_IO, 12 +CPU, 12 +SYSCALL, 15 +CPU, 57 +END_IO, 15 +CPU, 93 +SYSCALL, 11 +CPU, 56 +END_IO, 11 +CPU, 38 +SYSCALL, 8 +CPU, 12 +END_IO, 8 +CPU, 53 +SYSCALL, 13 +CPU, 10 +END_IO, 13 +CPU, 85 +SYSCALL, 19 +CPU, 81 +END_IO, 19 +CPU, 19 +SYSCALL, 9 +CPU, 30 +END_IO, 9 +CPU, 48 +SYSCALL, 3 +CPU, 35 +END_IO, 3 +CPU, 88 +SYSCALL, 11 +CPU, 20 +END_IO, 11 +CPU, 61 +SYSCALL, 1 +CPU, 20 +END_IO, 1 +CPU, 48 +SYSCALL, 1 +CPU, 33 +END_IO, 1 +CPU, 91 +SYSCALL, 14 +CPU, 41 +END_IO, 14 +CPU, 99 +SYSCALL, 3 +CPU, 50 +END_IO, 3 +CPU, 22 +SYSCALL, 17 +CPU, 66 +END_IO, 17 +CPU, 55 +SYSCALL, 14 +CPU, 80 +END_IO, 14 +CPU, 51 +SYSCALL, 15 +CPU, 61 +END_IO, 15 +CPU, 39 +SYSCALL, 17 +CPU, 80 +END_IO, 17 +CPU, 96 +SYSCALL, 19 +CPU, 88 +END_IO, 19 +CPU, 97 +SYSCALL, 8 +CPU, 39 +END_IO, 8 +CPU, 30 +SYSCALL, 4 +CPU, 77 +END_IO, 4 +CPU, 85 +SYSCALL, 13 +CPU, 47 +END_IO, 13 +CPU, 18 +SYSCALL, 20 +CPU, 44 +END_IO, 20 +CPU, 53 +SYSCALL, 6 +CPU, 69 +END_IO, 6 +CPU, 72 +SYSCALL, 4 +CPU, 25 +END_IO, 4 +CPU, 87 +SYSCALL, 5 +CPU, 63 +END_IO, 5 +CPU, 11 +SYSCALL, 15 +CPU, 74 +END_IO, 15 +CPU, 19 +SYSCALL, 4 +CPU, 69 +END_IO, 4 +CPU, 50 +SYSCALL, 5 +CPU, 28 +END_IO, 5 +CPU, 23 diff --git a/input_files/trace_4.txt b/input_files/trace_4.txt new file mode 100644 index 0000000..93bb86f --- /dev/null +++ b/input_files/trace_4.txt @@ -0,0 +1,137 @@ +CPU, 86 +SYSCALL, 9 +CPU, 61 +END_IO, 9 +CPU, 27 +SYSCALL, 17 +CPU, 19 +END_IO, 17 +CPU, 92 +SYSCALL, 8 +CPU, 36 +END_IO, 8 +CPU, 19 +SYSCALL, 1 +CPU, 33 +END_IO, 1 +CPU, 90 +SYSCALL, 20 +CPU, 13 +END_IO, 20 +CPU, 12 +SYSCALL, 13 +CPU, 23 +END_IO, 13 +CPU, 51 +SYSCALL, 10 +CPU, 49 +END_IO, 10 +CPU, 87 +SYSCALL, 5 +CPU, 55 +END_IO, 5 +CPU, 17 +SYSCALL, 3 +CPU, 66 +END_IO, 3 +CPU, 93 +SYSCALL, 20 +CPU, 12 +END_IO, 20 +CPU, 88 +SYSCALL, 14 +CPU, 79 +END_IO, 14 +CPU, 93 +SYSCALL, 1 +CPU, 94 +END_IO, 1 +CPU, 68 +SYSCALL, 3 +CPU, 58 +END_IO, 3 +CPU, 48 +SYSCALL, 14 +CPU, 87 +END_IO, 14 +CPU, 72 +SYSCALL, 8 +CPU, 82 +END_IO, 8 +CPU, 99 +SYSCALL, 18 +CPU, 65 +END_IO, 18 +CPU, 24 +SYSCALL, 12 +CPU, 26 +END_IO, 12 +CPU, 54 +SYSCALL, 11 +CPU, 78 +END_IO, 11 +CPU, 66 +SYSCALL, 15 +CPU, 79 +END_IO, 15 +CPU, 82 +SYSCALL, 4 +CPU, 88 +END_IO, 4 +CPU, 16 +SYSCALL, 8 +CPU, 26 +END_IO, 8 +CPU, 22 +SYSCALL, 18 +CPU, 95 +END_IO, 18 +CPU, 63 +SYSCALL, 18 +CPU, 18 +END_IO, 18 +CPU, 50 +SYSCALL, 14 +CPU, 56 +END_IO, 14 +CPU, 83 +SYSCALL, 16 +CPU, 23 +END_IO, 16 +CPU, 80 +SYSCALL, 15 +CPU, 98 +END_IO, 15 +CPU, 77 +SYSCALL, 14 +CPU, 11 +END_IO, 14 +CPU, 61 +SYSCALL, 14 +CPU, 34 +END_IO, 14 +CPU, 32 +SYSCALL, 7 +CPU, 69 +END_IO, 7 +CPU, 79 +SYSCALL, 20 +CPU, 41 +END_IO, 20 +CPU, 63 +SYSCALL, 7 +CPU, 27 +END_IO, 7 +CPU, 85 +SYSCALL, 11 +CPU, 68 +END_IO, 11 +CPU, 23 +SYSCALL, 14 +CPU, 22 +END_IO, 14 +CPU, 29 +SYSCALL, 17 +CPU, 99 +END_IO, 17 +CPU, 46 diff --git a/input_files/trace_5.txt b/input_files/trace_5.txt new file mode 100644 index 0000000..d554687 --- /dev/null +++ b/input_files/trace_5.txt @@ -0,0 +1,145 @@ +CPU, 14 +SYSCALL, 5 +CPU, 78 +END_IO, 5 +CPU, 84 +SYSCALL, 16 +CPU, 70 +END_IO, 16 +CPU, 35 +SYSCALL, 9 +CPU, 51 +END_IO, 9 +CPU, 72 +SYSCALL, 2 +CPU, 99 +END_IO, 2 +CPU, 69 +SYSCALL, 11 +CPU, 70 +END_IO, 11 +CPU, 62 +SYSCALL, 19 +CPU, 34 +END_IO, 19 +CPU, 85 +SYSCALL, 15 +CPU, 73 +END_IO, 15 +CPU, 26 +SYSCALL, 10 +CPU, 89 +END_IO, 10 +CPU, 15 +SYSCALL, 7 +CPU, 24 +END_IO, 7 +CPU, 23 +SYSCALL, 10 +CPU, 57 +END_IO, 10 +CPU, 11 +SYSCALL, 4 +CPU, 100 +END_IO, 4 +CPU, 73 +SYSCALL, 11 +CPU, 18 +END_IO, 11 +CPU, 34 +SYSCALL, 4 +CPU, 65 +END_IO, 4 +CPU, 77 +SYSCALL, 15 +CPU, 31 +END_IO, 15 +CPU, 18 +SYSCALL, 6 +CPU, 84 +END_IO, 6 +CPU, 39 +SYSCALL, 6 +CPU, 41 +END_IO, 6 +CPU, 95 +SYSCALL, 14 +CPU, 16 +END_IO, 14 +CPU, 24 +SYSCALL, 2 +CPU, 26 +END_IO, 2 +CPU, 90 +SYSCALL, 15 +CPU, 76 +END_IO, 15 +CPU, 37 +SYSCALL, 14 +CPU, 28 +END_IO, 14 +CPU, 92 +SYSCALL, 19 +CPU, 24 +END_IO, 19 +CPU, 74 +SYSCALL, 16 +CPU, 11 +END_IO, 16 +CPU, 26 +SYSCALL, 1 +CPU, 55 +END_IO, 1 +CPU, 43 +SYSCALL, 19 +CPU, 80 +END_IO, 19 +CPU, 95 +SYSCALL, 1 +CPU, 98 +END_IO, 1 +CPU, 47 +SYSCALL, 8 +CPU, 20 +END_IO, 8 +CPU, 29 +SYSCALL, 20 +CPU, 99 +END_IO, 20 +CPU, 38 +SYSCALL, 19 +CPU, 75 +END_IO, 19 +CPU, 16 +SYSCALL, 4 +CPU, 23 +END_IO, 4 +CPU, 47 +SYSCALL, 11 +CPU, 17 +END_IO, 11 +CPU, 39 +SYSCALL, 19 +CPU, 48 +END_IO, 19 +CPU, 45 +SYSCALL, 12 +CPU, 83 +END_IO, 12 +CPU, 68 +SYSCALL, 20 +CPU, 100 +END_IO, 20 +CPU, 61 +SYSCALL, 11 +CPU, 96 +END_IO, 11 +CPU, 88 +SYSCALL, 2 +CPU, 42 +END_IO, 2 +CPU, 41 +SYSCALL, 3 +CPU, 73 +END_IO, 3 +CPU, 52 From 1c358c4a38780b7b2b3d00be8e0a0f48f20f49e5 Mon Sep 17 00:00:00 2001 From: Abdullah Al-Rashid Date: Mon, 6 Oct 2025 03:30:18 -0400 Subject: [PATCH 07/10] Delete testcases directory --- testcases/trace_1.txt | 21 ------ testcases/trace_2.txt | 13 ---- testcases/trace_3.txt | 133 -------------------------------------- testcases/trace_4.txt | 137 --------------------------------------- testcases/trace_5.txt | 145 ------------------------------------------ 5 files changed, 449 deletions(-) delete mode 100644 testcases/trace_1.txt delete mode 100644 testcases/trace_2.txt delete mode 100644 testcases/trace_3.txt delete mode 100644 testcases/trace_4.txt delete mode 100644 testcases/trace_5.txt diff --git a/testcases/trace_1.txt b/testcases/trace_1.txt deleted file mode 100644 index e7c8940..0000000 --- a/testcases/trace_1.txt +++ /dev/null @@ -1,21 +0,0 @@ -CPU, 75 -SYSCALL, 5 -CPU, 84 -END_IO, 5 -CPU, 22 -SYSCALL, 10 -CPU, 80 -END_IO, 10 -CPU, 79 -SYSCALL, 6 -CPU, 68 -END_IO, 6 -CPU, 71 -SYSCALL, 4 -CPU, 97 -END_IO, 4 -CPU, 84 -SYSCALL, 7 -CPU, 38 -END_IO, 7 -CPU, 90 diff --git a/testcases/trace_2.txt b/testcases/trace_2.txt deleted file mode 100644 index fca2f81..0000000 --- a/testcases/trace_2.txt +++ /dev/null @@ -1,13 +0,0 @@ -CPU, 95 -SYSCALL, 6 -CPU, 26 -END_IO, 6 -CPU, 72 -SYSCALL, 17 -CPU, 50 -END_IO, 17 -CPU, 88 -SYSCALL, 14 -CPU, 31 -END_IO, 14 -CPU, 52 diff --git a/testcases/trace_3.txt b/testcases/trace_3.txt deleted file mode 100644 index 6cfbde4..0000000 --- a/testcases/trace_3.txt +++ /dev/null @@ -1,133 +0,0 @@ -CPU, 49 -SYSCALL, 6 -CPU, 99 -END_IO, 6 -CPU, 72 -SYSCALL, 13 -CPU, 29 -END_IO, 13 -CPU, 19 -SYSCALL, 8 -CPU, 66 -END_IO, 8 -CPU, 11 -SYSCALL, 4 -CPU, 21 -END_IO, 4 -CPU, 100 -SYSCALL, 18 -CPU, 41 -END_IO, 18 -CPU, 10 -SYSCALL, 12 -CPU, 76 -END_IO, 12 -CPU, 12 -SYSCALL, 15 -CPU, 57 -END_IO, 15 -CPU, 93 -SYSCALL, 11 -CPU, 56 -END_IO, 11 -CPU, 38 -SYSCALL, 8 -CPU, 12 -END_IO, 8 -CPU, 53 -SYSCALL, 13 -CPU, 10 -END_IO, 13 -CPU, 85 -SYSCALL, 19 -CPU, 81 -END_IO, 19 -CPU, 19 -SYSCALL, 9 -CPU, 30 -END_IO, 9 -CPU, 48 -SYSCALL, 3 -CPU, 35 -END_IO, 3 -CPU, 88 -SYSCALL, 11 -CPU, 20 -END_IO, 11 -CPU, 61 -SYSCALL, 1 -CPU, 20 -END_IO, 1 -CPU, 48 -SYSCALL, 1 -CPU, 33 -END_IO, 1 -CPU, 91 -SYSCALL, 14 -CPU, 41 -END_IO, 14 -CPU, 99 -SYSCALL, 3 -CPU, 50 -END_IO, 3 -CPU, 22 -SYSCALL, 17 -CPU, 66 -END_IO, 17 -CPU, 55 -SYSCALL, 14 -CPU, 80 -END_IO, 14 -CPU, 51 -SYSCALL, 15 -CPU, 61 -END_IO, 15 -CPU, 39 -SYSCALL, 17 -CPU, 80 -END_IO, 17 -CPU, 96 -SYSCALL, 19 -CPU, 88 -END_IO, 19 -CPU, 97 -SYSCALL, 8 -CPU, 39 -END_IO, 8 -CPU, 30 -SYSCALL, 4 -CPU, 77 -END_IO, 4 -CPU, 85 -SYSCALL, 13 -CPU, 47 -END_IO, 13 -CPU, 18 -SYSCALL, 20 -CPU, 44 -END_IO, 20 -CPU, 53 -SYSCALL, 6 -CPU, 69 -END_IO, 6 -CPU, 72 -SYSCALL, 4 -CPU, 25 -END_IO, 4 -CPU, 87 -SYSCALL, 5 -CPU, 63 -END_IO, 5 -CPU, 11 -SYSCALL, 15 -CPU, 74 -END_IO, 15 -CPU, 19 -SYSCALL, 4 -CPU, 69 -END_IO, 4 -CPU, 50 -SYSCALL, 5 -CPU, 28 -END_IO, 5 -CPU, 23 diff --git a/testcases/trace_4.txt b/testcases/trace_4.txt deleted file mode 100644 index 93bb86f..0000000 --- a/testcases/trace_4.txt +++ /dev/null @@ -1,137 +0,0 @@ -CPU, 86 -SYSCALL, 9 -CPU, 61 -END_IO, 9 -CPU, 27 -SYSCALL, 17 -CPU, 19 -END_IO, 17 -CPU, 92 -SYSCALL, 8 -CPU, 36 -END_IO, 8 -CPU, 19 -SYSCALL, 1 -CPU, 33 -END_IO, 1 -CPU, 90 -SYSCALL, 20 -CPU, 13 -END_IO, 20 -CPU, 12 -SYSCALL, 13 -CPU, 23 -END_IO, 13 -CPU, 51 -SYSCALL, 10 -CPU, 49 -END_IO, 10 -CPU, 87 -SYSCALL, 5 -CPU, 55 -END_IO, 5 -CPU, 17 -SYSCALL, 3 -CPU, 66 -END_IO, 3 -CPU, 93 -SYSCALL, 20 -CPU, 12 -END_IO, 20 -CPU, 88 -SYSCALL, 14 -CPU, 79 -END_IO, 14 -CPU, 93 -SYSCALL, 1 -CPU, 94 -END_IO, 1 -CPU, 68 -SYSCALL, 3 -CPU, 58 -END_IO, 3 -CPU, 48 -SYSCALL, 14 -CPU, 87 -END_IO, 14 -CPU, 72 -SYSCALL, 8 -CPU, 82 -END_IO, 8 -CPU, 99 -SYSCALL, 18 -CPU, 65 -END_IO, 18 -CPU, 24 -SYSCALL, 12 -CPU, 26 -END_IO, 12 -CPU, 54 -SYSCALL, 11 -CPU, 78 -END_IO, 11 -CPU, 66 -SYSCALL, 15 -CPU, 79 -END_IO, 15 -CPU, 82 -SYSCALL, 4 -CPU, 88 -END_IO, 4 -CPU, 16 -SYSCALL, 8 -CPU, 26 -END_IO, 8 -CPU, 22 -SYSCALL, 18 -CPU, 95 -END_IO, 18 -CPU, 63 -SYSCALL, 18 -CPU, 18 -END_IO, 18 -CPU, 50 -SYSCALL, 14 -CPU, 56 -END_IO, 14 -CPU, 83 -SYSCALL, 16 -CPU, 23 -END_IO, 16 -CPU, 80 -SYSCALL, 15 -CPU, 98 -END_IO, 15 -CPU, 77 -SYSCALL, 14 -CPU, 11 -END_IO, 14 -CPU, 61 -SYSCALL, 14 -CPU, 34 -END_IO, 14 -CPU, 32 -SYSCALL, 7 -CPU, 69 -END_IO, 7 -CPU, 79 -SYSCALL, 20 -CPU, 41 -END_IO, 20 -CPU, 63 -SYSCALL, 7 -CPU, 27 -END_IO, 7 -CPU, 85 -SYSCALL, 11 -CPU, 68 -END_IO, 11 -CPU, 23 -SYSCALL, 14 -CPU, 22 -END_IO, 14 -CPU, 29 -SYSCALL, 17 -CPU, 99 -END_IO, 17 -CPU, 46 diff --git a/testcases/trace_5.txt b/testcases/trace_5.txt deleted file mode 100644 index d554687..0000000 --- a/testcases/trace_5.txt +++ /dev/null @@ -1,145 +0,0 @@ -CPU, 14 -SYSCALL, 5 -CPU, 78 -END_IO, 5 -CPU, 84 -SYSCALL, 16 -CPU, 70 -END_IO, 16 -CPU, 35 -SYSCALL, 9 -CPU, 51 -END_IO, 9 -CPU, 72 -SYSCALL, 2 -CPU, 99 -END_IO, 2 -CPU, 69 -SYSCALL, 11 -CPU, 70 -END_IO, 11 -CPU, 62 -SYSCALL, 19 -CPU, 34 -END_IO, 19 -CPU, 85 -SYSCALL, 15 -CPU, 73 -END_IO, 15 -CPU, 26 -SYSCALL, 10 -CPU, 89 -END_IO, 10 -CPU, 15 -SYSCALL, 7 -CPU, 24 -END_IO, 7 -CPU, 23 -SYSCALL, 10 -CPU, 57 -END_IO, 10 -CPU, 11 -SYSCALL, 4 -CPU, 100 -END_IO, 4 -CPU, 73 -SYSCALL, 11 -CPU, 18 -END_IO, 11 -CPU, 34 -SYSCALL, 4 -CPU, 65 -END_IO, 4 -CPU, 77 -SYSCALL, 15 -CPU, 31 -END_IO, 15 -CPU, 18 -SYSCALL, 6 -CPU, 84 -END_IO, 6 -CPU, 39 -SYSCALL, 6 -CPU, 41 -END_IO, 6 -CPU, 95 -SYSCALL, 14 -CPU, 16 -END_IO, 14 -CPU, 24 -SYSCALL, 2 -CPU, 26 -END_IO, 2 -CPU, 90 -SYSCALL, 15 -CPU, 76 -END_IO, 15 -CPU, 37 -SYSCALL, 14 -CPU, 28 -END_IO, 14 -CPU, 92 -SYSCALL, 19 -CPU, 24 -END_IO, 19 -CPU, 74 -SYSCALL, 16 -CPU, 11 -END_IO, 16 -CPU, 26 -SYSCALL, 1 -CPU, 55 -END_IO, 1 -CPU, 43 -SYSCALL, 19 -CPU, 80 -END_IO, 19 -CPU, 95 -SYSCALL, 1 -CPU, 98 -END_IO, 1 -CPU, 47 -SYSCALL, 8 -CPU, 20 -END_IO, 8 -CPU, 29 -SYSCALL, 20 -CPU, 99 -END_IO, 20 -CPU, 38 -SYSCALL, 19 -CPU, 75 -END_IO, 19 -CPU, 16 -SYSCALL, 4 -CPU, 23 -END_IO, 4 -CPU, 47 -SYSCALL, 11 -CPU, 17 -END_IO, 11 -CPU, 39 -SYSCALL, 19 -CPU, 48 -END_IO, 19 -CPU, 45 -SYSCALL, 12 -CPU, 83 -END_IO, 12 -CPU, 68 -SYSCALL, 20 -CPU, 100 -END_IO, 20 -CPU, 61 -SYSCALL, 11 -CPU, 96 -END_IO, 11 -CPU, 88 -SYSCALL, 2 -CPU, 42 -END_IO, 2 -CPU, 41 -SYSCALL, 3 -CPU, 73 -END_IO, 3 -CPU, 52 From 0b85fcc1754f550b934996cc1bea6cf47ec0cf06 Mon Sep 17 00:00:00 2001 From: Abdullah Al-Rashid Date: Mon, 6 Oct 2025 03:30:37 -0400 Subject: [PATCH 08/10] Delete interrupts.exe --- interrupts.exe | Bin 388907 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 interrupts.exe diff --git a/interrupts.exe b/interrupts.exe deleted file mode 100644 index 586380e56c95346d31d5c4fd7cbe016bdc058a71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 388907 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 Yk4(n##yYKyqz%QfS|E>D@fGg>58>HG@c;k- From ce3ab2b7d1d8d030a5e3a6b7f7b7b2a259713f6c Mon Sep 17 00:00:00 2001 From: Abdullah Al-Rashid Date: Mon, 6 Oct 2025 03:30:51 -0400 Subject: [PATCH 09/10] Delete trace.txt --- trace.txt | 121 ------------------------------------------------------ 1 file changed, 121 deletions(-) delete mode 100644 trace.txt diff --git a/trace.txt b/trace.txt deleted file mode 100644 index 921249c..0000000 --- a/trace.txt +++ /dev/null @@ -1,121 +0,0 @@ -CPU, 51 -SYSCALL, 14 -CPU, 39 -END_IO, 14 -CPU, 72 -SYSCALL, 19 -CPU, 28 -END_IO, 19 -CPU, 32 -SYSCALL, 7 -CPU, 25 -END_IO, 7 -CPU, 11 -SYSCALL, 16 -CPU, 54 -END_IO, 16 -CPU, 96 -SYSCALL, 8 -CPU, 54 -END_IO, 8 -CPU, 77 -SYSCALL, 11 -CPU, 33 -END_IO, 11 -CPU, 60 -SYSCALL, 16 -CPU, 21 -END_IO, 16 -CPU, 19 -SYSCALL, 2 -CPU, 26 -END_IO, 2 -CPU, 38 -SYSCALL, 16 -CPU, 28 -END_IO, 16 -CPU, 65 -SYSCALL, 16 -CPU, 88 -END_IO, 16 -CPU, 100 -SYSCALL, 17 -CPU, 28 -END_IO, 17 -CPU, 25 -SYSCALL, 1 -CPU, 21 -END_IO, 1 -CPU, 25 -SYSCALL, 19 -CPU, 34 -END_IO, 19 -CPU, 34 -SYSCALL, 8 -CPU, 59 -END_IO, 8 -CPU, 44 -SYSCALL, 15 -CPU, 51 -END_IO, 15 -CPU, 87 -SYSCALL, 11 -CPU, 65 -END_IO, 11 -CPU, 48 -SYSCALL, 16 -CPU, 51 -END_IO, 16 -CPU, 37 -SYSCALL, 1 -CPU, 18 -END_IO, 1 -CPU, 11 -SYSCALL, 2 -CPU, 46 -END_IO, 2 -CPU, 33 -SYSCALL, 12 -CPU, 75 -END_IO, 12 -CPU, 88 -SYSCALL, 18 -CPU, 29 -END_IO, 18 -CPU, 28 -SYSCALL, 1 -CPU, 69 -END_IO, 1 -CPU, 48 -SYSCALL, 4 -CPU, 36 -END_IO, 4 -CPU, 99 -SYSCALL, 18 -CPU, 56 -END_IO, 18 -CPU, 61 -SYSCALL, 16 -CPU, 35 -END_IO, 16 -CPU, 54 -SYSCALL, 10 -CPU, 83 -END_IO, 10 -CPU, 51 -SYSCALL, 11 -CPU, 85 -END_IO, 11 -CPU, 48 -SYSCALL, 6 -CPU, 58 -END_IO, 6 -CPU, 21 -SYSCALL, 5 -CPU, 62 -END_IO, 5 -CPU, 41 -SYSCALL, 4 -CPU, 48 -END_IO, 4 -CPU, 63 \ No newline at end of file From 7ad0c1221d0ffa6f95926b5299abac1baeec2f47 Mon Sep 17 00:00:00 2001 From: Abdullah Al-Rashid Date: Mon, 6 Oct 2025 03:31:03 -0400 Subject: [PATCH 10/10] Delete execution.txt --- execution.txt | 571 -------------------------------------------------- 1 file changed, 571 deletions(-) delete mode 100644 execution.txt diff --git a/execution.txt b/execution.txt deleted file mode 100644 index 816a8b4..0000000 --- a/execution.txt +++ /dev/null @@ -1,571 +0,0 @@ -0, 51, CPU bursts -51, 1, switch to kernel mode -52, 10, context saved -62, 1, find vector 14 in memory position 0x001C -63, 1, load address 0X0165 into the PC -64, 456, SYSCALL: run the ISR (device driver) -520, 40, transfer data from device to memory -560, 376, check for errors -936, 1, IRET -937, 1, switch to user mode -938, 39, CPU bursts -977, 1, switch to kernel mode -978, 10, context saved -988, 1, find vector 14 in memory position 0x001C -989, 1, load address 0X0165 into the PC -990, 456, END_IO: run the ISR (device driver) -1446, 416, check device status -1862, 1, IRET -1863, 1, switch to user mode -1864, 72, CPU bursts -1936, 1, switch to kernel mode -1937, 10, context saved -1947, 1, find vector 19 in memory position 0x0026 -1948, 1, load address 0X0765 into the PC -1949, 652, SYSCALL: run the ISR (device driver) -2601, 40, transfer data from device to memory -2641, 376, check for errors -3017, 1, IRET -3018, 1, switch to user mode -3019, 28, CPU bursts -3047, 1, switch to kernel mode -3048, 10, context saved -3058, 1, find vector 19 in memory position 0x0026 -3059, 1, load address 0X0765 into the PC -3060, 652, END_IO: run the ISR (device driver) -3712, 416, check device status -4128, 1, IRET -4129, 1, switch to user mode -4130, 32, CPU bursts -4162, 1, switch to kernel mode -4163, 10, context saved -4173, 1, find vector 7 in memory position 0x000E -4174, 1, load address 0X00BD into the PC -4175, 152, SYSCALL: run the ISR (device driver) -4327, 40, transfer data from device to memory -4367, 376, check for errors -4743, 1, IRET -4744, 1, switch to user mode -4745, 25, CPU bursts -4770, 1, switch to kernel mode -4771, 10, context saved -4781, 1, find vector 7 in memory position 0x000E -4782, 1, load address 0X00BD into the PC -4783, 152, END_IO: run the ISR (device driver) -4935, 416, check device status -5351, 1, IRET -5352, 1, switch to user mode -5353, 11, CPU bursts -5364, 1, switch to kernel mode -5365, 10, context saved -5375, 1, find vector 16 in memory position 0x0020 -5376, 1, load address 0X02DF into the PC -5377, 956, SYSCALL: run the ISR (device driver) -6333, 40, transfer data from device to memory -6373, 376, check for errors -6749, 1, IRET -6750, 1, switch to user mode -6751, 54, CPU bursts -6805, 1, switch to kernel mode -6806, 10, context saved -6816, 1, find vector 16 in memory position 0x0020 -6817, 1, load address 0X02DF into the PC -6818, 956, END_IO: run the ISR (device driver) -7774, 416, check device status -8190, 1, IRET -8191, 1, switch to user mode -8192, 96, CPU bursts -8288, 1, switch to kernel mode -8289, 10, context saved -8299, 1, find vector 8 in memory position 0x0010 -8300, 1, load address 0X06EF into the PC -8301, 1000, SYSCALL: run the ISR (device driver) -9301, 40, transfer data from device to memory -9341, 376, check for errors -9717, 1, IRET -9718, 1, switch to user mode -9719, 54, CPU bursts -9773, 1, switch to kernel mode -9774, 10, context saved -9784, 1, find vector 8 in memory position 0x0010 -9785, 1, load address 0X06EF into the PC -9786, 1000, END_IO: run the ISR (device driver) -10786, 416, check device status -11202, 1, IRET -11203, 1, switch to user mode -11204, 77, CPU bursts -11281, 1, switch to kernel mode -11282, 10, context saved -11292, 1, find vector 11 in memory position 0x0016 -11293, 1, load address 0X01F8 into the PC -11294, 523, SYSCALL: run the ISR (device driver) -11817, 40, transfer data from device to memory -11857, 376, check for errors -12233, 1, IRET -12234, 1, switch to user mode -12235, 33, CPU bursts -12268, 1, switch to kernel mode -12269, 10, context saved -12279, 1, find vector 11 in memory position 0x0016 -12280, 1, load address 0X01F8 into the PC -12281, 523, END_IO: run the ISR (device driver) -12804, 416, check device status -13220, 1, IRET -13221, 1, switch to user mode -13222, 60, CPU bursts -13282, 1, switch to kernel mode -13283, 10, context saved -13293, 1, find vector 16 in memory position 0x0020 -13294, 1, load address 0X02DF into the PC -13295, 956, SYSCALL: run the ISR (device driver) -14251, 40, transfer data from device to memory -14291, 376, check for errors -14667, 1, IRET -14668, 1, switch to user mode -14669, 21, CPU bursts -14690, 1, switch to kernel mode -14691, 10, context saved -14701, 1, find vector 16 in memory position 0x0020 -14702, 1, load address 0X02DF into the PC -14703, 956, END_IO: run the ISR (device driver) -15659, 416, check device status -16075, 1, IRET -16076, 1, switch to user mode -16077, 19, CPU bursts -16096, 1, switch to kernel mode -16097, 10, context saved -16107, 1, find vector 2 in memory position 0x0004 -16108, 1, load address 0X0695 into the PC -16109, 150, SYSCALL: run the ISR (device driver) -16259, 40, transfer data from device to memory -16299, 376, check for errors -16675, 1, IRET -16676, 1, switch to user mode -16677, 26, CPU bursts -16703, 1, switch to kernel mode -16704, 10, context saved -16714, 1, find vector 2 in memory position 0x0004 -16715, 1, load address 0X0695 into the PC -16716, 150, END_IO: run the ISR (device driver) -16866, 416, check device status -17282, 1, IRET -17283, 1, switch to user mode -17284, 38, CPU bursts -17322, 1, switch to kernel mode -17323, 10, context saved -17333, 1, find vector 16 in memory position 0x0020 -17334, 1, load address 0X02DF into the PC -17335, 956, SYSCALL: run the ISR (device driver) -18291, 40, transfer data from device to memory -18331, 376, check for errors -18707, 1, IRET -18708, 1, switch to user mode -18709, 28, CPU bursts -18737, 1, switch to kernel mode -18738, 10, context saved -18748, 1, find vector 16 in memory position 0x0020 -18749, 1, load address 0X02DF into the PC -18750, 956, END_IO: run the ISR (device driver) -19706, 416, check device status -20122, 1, IRET -20123, 1, switch to user mode -20124, 65, CPU bursts -20189, 1, switch to kernel mode -20190, 10, context saved -20200, 1, find vector 16 in memory position 0x0020 -20201, 1, load address 0X02DF into the PC -20202, 956, SYSCALL: run the ISR (device driver) -21158, 40, transfer data from device to memory -21198, 376, check for errors -21574, 1, IRET -21575, 1, switch to user mode -21576, 88, CPU bursts -21664, 1, switch to kernel mode -21665, 10, context saved -21675, 1, find vector 16 in memory position 0x0020 -21676, 1, load address 0X02DF into the PC -21677, 956, END_IO: run the ISR (device driver) -22633, 416, check device status -23049, 1, IRET -23050, 1, switch to user mode -23051, 100, CPU bursts -23151, 1, switch to kernel mode -23152, 10, context saved -23162, 1, find vector 17 in memory position 0x0022 -23163, 1, load address 0X05B3 into the PC -23164, 235, SYSCALL: run the ISR (device driver) -23399, 40, transfer data from device to memory -23439, 376, check for errors -23815, 1, IRET -23816, 1, switch to user mode -23817, 28, CPU bursts -23845, 1, switch to kernel mode -23846, 10, context saved -23856, 1, find vector 17 in memory position 0x0022 -23857, 1, load address 0X05B3 into the PC -23858, 235, END_IO: run the ISR (device driver) -24093, 416, check device status -24509, 1, IRET -24510, 1, switch to user mode -24511, 25, CPU bursts -24536, 1, switch to kernel mode -24537, 10, context saved -24547, 1, find vector 1 in memory position 0x0002 -24548, 1, load address 0X029C into the PC -24549, 100, SYSCALL: run the ISR (device driver) -24649, 40, transfer data from device to memory -24689, 376, check for errors -25065, 1, IRET -25066, 1, switch to user mode -25067, 21, CPU bursts -25088, 1, switch to kernel mode -25089, 10, context saved -25099, 1, find vector 1 in memory position 0x0002 -25100, 1, load address 0X029C into the PC -25101, 100, END_IO: run the ISR (device driver) -25201, 416, check device status -25617, 1, IRET -25618, 1, switch to user mode -25619, 25, CPU bursts -25644, 1, switch to kernel mode -25645, 10, context saved -25655, 1, find vector 19 in memory position 0x0026 -25656, 1, load address 0X0765 into the PC -25657, 652, SYSCALL: run the ISR (device driver) -26309, 40, transfer data from device to memory -26349, 376, check for errors -26725, 1, IRET -26726, 1, switch to user mode -26727, 34, CPU bursts -26761, 1, switch to kernel mode -26762, 10, context saved -26772, 1, find vector 19 in memory position 0x0026 -26773, 1, load address 0X0765 into the PC -26774, 652, END_IO: run the ISR (device driver) -27426, 416, check device status -27842, 1, IRET -27843, 1, switch to user mode -27844, 34, CPU bursts -27878, 1, switch to kernel mode -27879, 10, context saved -27889, 1, find vector 8 in memory position 0x0010 -27890, 1, load address 0X06EF into the PC -27891, 1000, SYSCALL: run the ISR (device driver) -28891, 40, transfer data from device to memory -28931, 376, check for errors -29307, 1, IRET -29308, 1, switch to user mode -29309, 59, CPU bursts -29368, 1, switch to kernel mode -29369, 10, context saved -29379, 1, find vector 8 in memory position 0x0010 -29380, 1, load address 0X06EF into the PC -29381, 1000, END_IO: run the ISR (device driver) -30381, 416, check device status -30797, 1, IRET -30798, 1, switch to user mode -30799, 44, CPU bursts -30843, 1, switch to kernel mode -30844, 10, context saved -30854, 1, find vector 15 in memory position 0x001E -30855, 1, load address 0X0584 into the PC -30856, 68, SYSCALL: run the ISR (device driver) -30924, 40, transfer data from device to memory -30964, 376, check for errors -31340, 1, IRET -31341, 1, switch to user mode -31342, 51, CPU bursts -31393, 1, switch to kernel mode -31394, 10, context saved -31404, 1, find vector 15 in memory position 0x001E -31405, 1, load address 0X0584 into the PC -31406, 68, END_IO: run the ISR (device driver) -31474, 416, check device status -31890, 1, IRET -31891, 1, switch to user mode -31892, 87, CPU bursts -31979, 1, switch to kernel mode -31980, 10, context saved -31990, 1, find vector 11 in memory position 0x0016 -31991, 1, load address 0X01F8 into the PC -31992, 523, SYSCALL: run the ISR (device driver) -32515, 40, transfer data from device to memory -32555, 376, check for errors -32931, 1, IRET -32932, 1, switch to user mode -32933, 65, CPU bursts -32998, 1, switch to kernel mode -32999, 10, context saved -33009, 1, find vector 11 in memory position 0x0016 -33010, 1, load address 0X01F8 into the PC -33011, 523, END_IO: run the ISR (device driver) -33534, 416, check device status -33950, 1, IRET -33951, 1, switch to user mode -33952, 48, CPU bursts -34000, 1, switch to kernel mode -34001, 10, context saved -34011, 1, find vector 16 in memory position 0x0020 -34012, 1, load address 0X02DF into the PC -34013, 956, SYSCALL: run the ISR (device driver) -34969, 40, transfer data from device to memory -35009, 376, check for errors -35385, 1, IRET -35386, 1, switch to user mode -35387, 51, CPU bursts -35438, 1, switch to kernel mode -35439, 10, context saved -35449, 1, find vector 16 in memory position 0x0020 -35450, 1, load address 0X02DF into the PC -35451, 956, END_IO: run the ISR (device driver) -36407, 416, check device status -36823, 1, IRET -36824, 1, switch to user mode -36825, 37, CPU bursts -36862, 1, switch to kernel mode -36863, 10, context saved -36873, 1, find vector 1 in memory position 0x0002 -36874, 1, load address 0X029C into the PC -36875, 100, SYSCALL: run the ISR (device driver) -36975, 40, transfer data from device to memory -37015, 376, check for errors -37391, 1, IRET -37392, 1, switch to user mode -37393, 18, CPU bursts -37411, 1, switch to kernel mode -37412, 10, context saved -37422, 1, find vector 1 in memory position 0x0002 -37423, 1, load address 0X029C into the PC -37424, 100, END_IO: run the ISR (device driver) -37524, 416, check device status -37940, 1, IRET -37941, 1, switch to user mode -37942, 11, CPU bursts -37953, 1, switch to kernel mode -37954, 10, context saved -37964, 1, find vector 2 in memory position 0x0004 -37965, 1, load address 0X0695 into the PC -37966, 150, SYSCALL: run the ISR (device driver) -38116, 40, transfer data from device to memory -38156, 376, check for errors -38532, 1, IRET -38533, 1, switch to user mode -38534, 46, CPU bursts -38580, 1, switch to kernel mode -38581, 10, context saved -38591, 1, find vector 2 in memory position 0x0004 -38592, 1, load address 0X0695 into the PC -38593, 150, END_IO: run the ISR (device driver) -38743, 416, check device status -39159, 1, IRET -39160, 1, switch to user mode -39161, 33, CPU bursts -39194, 1, switch to kernel mode -39195, 10, context saved -39205, 1, find vector 12 in memory position 0x0018 -39206, 1, load address 0X03B9 into the PC -39207, 145, SYSCALL: run the ISR (device driver) -39352, 40, transfer data from device to memory -39392, 376, check for errors -39768, 1, IRET -39769, 1, switch to user mode -39770, 75, CPU bursts -39845, 1, switch to kernel mode -39846, 10, context saved -39856, 1, find vector 12 in memory position 0x0018 -39857, 1, load address 0X03B9 into the PC -39858, 145, END_IO: run the ISR (device driver) -40003, 416, check device status -40419, 1, IRET -40420, 1, switch to user mode -40421, 88, CPU bursts -40509, 1, switch to kernel mode -40510, 10, context saved -40520, 1, find vector 18 in memory position 0x0024 -40521, 1, load address 0X060A into the PC -40522, 123, SYSCALL: run the ISR (device driver) -40645, 40, transfer data from device to memory -40685, 376, check for errors -41061, 1, IRET -41062, 1, switch to user mode -41063, 29, CPU bursts -41092, 1, switch to kernel mode -41093, 10, context saved -41103, 1, find vector 18 in memory position 0x0024 -41104, 1, load address 0X060A into the PC -41105, 123, END_IO: run the ISR (device driver) -41228, 416, check device status -41644, 1, IRET -41645, 1, switch to user mode -41646, 28, CPU bursts -41674, 1, switch to kernel mode -41675, 10, context saved -41685, 1, find vector 1 in memory position 0x0002 -41686, 1, load address 0X029C into the PC -41687, 100, SYSCALL: run the ISR (device driver) -41787, 40, transfer data from device to memory -41827, 376, check for errors -42203, 1, IRET -42204, 1, switch to user mode -42205, 69, CPU bursts -42274, 1, switch to kernel mode -42275, 10, context saved -42285, 1, find vector 1 in memory position 0x0002 -42286, 1, load address 0X029C into the PC -42287, 100, END_IO: run the ISR (device driver) -42387, 416, check device status -42803, 1, IRET -42804, 1, switch to user mode -42805, 48, CPU bursts -42853, 1, switch to kernel mode -42854, 10, context saved -42864, 1, find vector 4 in memory position 0x0008 -42865, 1, load address 0X0292 into the PC -42866, 250, SYSCALL: run the ISR (device driver) -43116, 40, transfer data from device to memory -43156, 376, check for errors -43532, 1, IRET -43533, 1, switch to user mode -43534, 36, CPU bursts -43570, 1, switch to kernel mode -43571, 10, context saved -43581, 1, find vector 4 in memory position 0x0008 -43582, 1, load address 0X0292 into the PC -43583, 250, END_IO: run the ISR (device driver) -43833, 416, check device status -44249, 1, IRET -44250, 1, switch to user mode -44251, 99, CPU bursts -44350, 1, switch to kernel mode -44351, 10, context saved -44361, 1, find vector 18 in memory position 0x0024 -44362, 1, load address 0X060A into the PC -44363, 123, SYSCALL: run the ISR (device driver) -44486, 40, transfer data from device to memory -44526, 376, check for errors -44902, 1, IRET -44903, 1, switch to user mode -44904, 56, CPU bursts -44960, 1, switch to kernel mode -44961, 10, context saved -44971, 1, find vector 18 in memory position 0x0024 -44972, 1, load address 0X060A into the PC -44973, 123, END_IO: run the ISR (device driver) -45096, 416, check device status -45512, 1, IRET -45513, 1, switch to user mode -45514, 61, CPU bursts -45575, 1, switch to kernel mode -45576, 10, context saved -45586, 1, find vector 16 in memory position 0x0020 -45587, 1, load address 0X02DF into the PC -45588, 956, SYSCALL: run the ISR (device driver) -46544, 40, transfer data from device to memory -46584, 376, check for errors -46960, 1, IRET -46961, 1, switch to user mode -46962, 35, CPU bursts -46997, 1, switch to kernel mode -46998, 10, context saved -47008, 1, find vector 16 in memory position 0x0020 -47009, 1, load address 0X02DF into the PC -47010, 956, END_IO: run the ISR (device driver) -47966, 416, check device status -48382, 1, IRET -48383, 1, switch to user mode -48384, 54, CPU bursts -48438, 1, switch to kernel mode -48439, 10, context saved -48449, 1, find vector 10 in memory position 0x0014 -48450, 1, load address 0X07B0 into the PC -48451, 564, SYSCALL: run the ISR (device driver) -49015, 40, transfer data from device to memory -49055, 376, check for errors -49431, 1, IRET -49432, 1, switch to user mode -49433, 83, CPU bursts -49516, 1, switch to kernel mode -49517, 10, context saved -49527, 1, find vector 10 in memory position 0x0014 -49528, 1, load address 0X07B0 into the PC -49529, 564, END_IO: run the ISR (device driver) -50093, 416, check device status -50509, 1, IRET -50510, 1, switch to user mode -50511, 51, CPU bursts -50562, 1, switch to kernel mode -50563, 10, context saved -50573, 1, find vector 11 in memory position 0x0016 -50574, 1, load address 0X01F8 into the PC -50575, 523, SYSCALL: run the ISR (device driver) -51098, 40, transfer data from device to memory -51138, 376, check for errors -51514, 1, IRET -51515, 1, switch to user mode -51516, 85, CPU bursts -51601, 1, switch to kernel mode -51602, 10, context saved -51612, 1, find vector 11 in memory position 0x0016 -51613, 1, load address 0X01F8 into the PC -51614, 523, END_IO: run the ISR (device driver) -52137, 416, check device status -52553, 1, IRET -52554, 1, switch to user mode -52555, 48, CPU bursts -52603, 1, switch to kernel mode -52604, 10, context saved -52614, 1, find vector 6 in memory position 0x000C -52615, 1, load address 0X0639 into the PC -52616, 265, SYSCALL: run the ISR (device driver) -52881, 40, transfer data from device to memory -52921, 376, check for errors -53297, 1, IRET -53298, 1, switch to user mode -53299, 58, CPU bursts -53357, 1, switch to kernel mode -53358, 10, context saved -53368, 1, find vector 6 in memory position 0x000C -53369, 1, load address 0X0639 into the PC -53370, 265, END_IO: run the ISR (device driver) -53635, 416, check device status -54051, 1, IRET -54052, 1, switch to user mode -54053, 21, CPU bursts -54074, 1, switch to kernel mode -54075, 10, context saved -54085, 1, find vector 5 in memory position 0x000A -54086, 1, load address 0X048B into the PC -54087, 211, SYSCALL: run the ISR (device driver) -54298, 40, transfer data from device to memory -54338, 376, check for errors -54714, 1, IRET -54715, 1, switch to user mode -54716, 62, CPU bursts -54778, 1, switch to kernel mode -54779, 10, context saved -54789, 1, find vector 5 in memory position 0x000A -54790, 1, load address 0X048B into the PC -54791, 211, END_IO: run the ISR (device driver) -55002, 416, check device status -55418, 1, IRET -55419, 1, switch to user mode -55420, 41, CPU bursts -55461, 1, switch to kernel mode -55462, 10, context saved -55472, 1, find vector 4 in memory position 0x0008 -55473, 1, load address 0X0292 into the PC -55474, 250, SYSCALL: run the ISR (device driver) -55724, 40, transfer data from device to memory -55764, 376, check for errors -56140, 1, IRET -56141, 1, switch to user mode -56142, 48, CPU bursts -56190, 1, switch to kernel mode -56191, 10, context saved -56201, 1, find vector 4 in memory position 0x0008 -56202, 1, load address 0X0292 into the PC -56203, 250, END_IO: run the ISR (device driver) -56453, 416, check device status -56869, 1, IRET -56870, 1, switch to user mode -56871, 63, CPU bursts