This project is an implementation of a small, but fully functional multithreaded operating system kernel with time sharing. More precisely, it contains the source code of kernel's thread management subsystem.
User application (user.cpp
) and the kernel are compiled and linked into a single console application (m-kernel.exe
).
Static library lib/APPLICAT.lib
contains the implementation of system's scheduler.
You can see scheduler's interface in scheduler.h
.
The full project specification can be found here (Serbian language only).
This project uses a very old C++ compiler, Borland C++ Compiler (BCC), version 3.1, from 1992. BCC provides a simple way of tempering with interrupt vector table (IVT) on MS DOS (Microsoft Disk Operating System), which is necessary in order to implement time-sharing functionality.
- Make sure you have 32-bit Windows (installed or available as a virtual machine)
- Download BCC 3.1 from here
- Extract the archive to
C:\bc31\
- Move the content of this repository to
C:\project\
- Open command prompt, navigate to
C:\project\
and runcompile.bat
- Run
run.bat
If you have any question, suggestion or collaboration offer, please feel free to contact me. If you find this repository useful, please consider starring it!