-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathProgram.cs
More file actions
57 lines (49 loc) · 3.01 KB
/
Program.cs
File metadata and controls
57 lines (49 loc) · 3.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
using SimuKernel.CLI;
using SimuKernel.Utils;
namespace SimuKernel;
class Program
{
static void Main(string[] args)
{
Console.Clear();
PrintWelcomeBanner();
var config = Configuration.LoadFromFile("config.json");
var logger = new Logger(config.Logging.LogFilePath, config.Logging.Enabled);
logger.Log("SimuKernel started");
var menu = new MenuSystem(config, logger);
menu.ShowMainMenu();
logger.Log("SimuKernel shutdown");
}
static void PrintWelcomeBanner()
{
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine(@"
╔═══════════════════════════════════════════════════════════════════════════╗
║ ║
║ ███████╗██╗███╗ ███╗██╗ ██╗██╗ ██╗███████╗██████╗ ███╗ ██╗ ║
║ ██╔════╝██║████╗ ████║██║ ██║██║ ██╔╝██╔════╝██╔══██╗████╗ ██║ ║
║ ███████╗██║██╔████╔██║██║ ██║█████╔╝ █████╗ ██████╔╝██╔██╗ ██║ ║
║ ╚════██║██║██║╚██╔╝██║██║ ██║██╔═██╗ ██╔══╝ ██╔══██╗██║╚██╗██║ ║
║ ███████║██║██║ ╚═╝ ██║╚██████╔╝██║ ██╗███████╗██║ ██║██║ ╚████║ ║
║ ╚══════╝╚═╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝ ║
║ ║
║ Operating System Simulator ║
║ ║
╚═══════════════════════════════════════════════════════════════════════════╝
");
Console.ResetColor();
Console.WriteLine(" Version 1.0.0 - Built with .NET 8 on Fedora Linux");
Console.WriteLine(" Features: CPU Scheduling | Memory Paging | Process Simulation");
Console.WriteLine();
if (Console.IsInputRedirected)
{
Console.WriteLine("Starting...");
Thread.Sleep(1000);
}
else
{
Console.WriteLine("Press any key to continue...");
Console.ReadKey();
}
}
}