DanijelAskov / microkernel

An implementation of a small, but fully functional multithreaded operating system kernel with time sharing.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MicroKernel

Demonstration

Description

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).

Setup

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.

  1. Make sure you have 32-bit Windows (installed or available as a virtual machine)
  2. Download BCC 3.1 from here
  3. Extract the archive to C:\bc31\
  4. Move the content of this repository to C:\project\
  5. Open command prompt, navigate to C:\project\ and run compile.bat
  6. Run run.bat

Note to the reader of this README

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!

About

An implementation of a small, but fully functional multithreaded operating system kernel with time sharing.

License:GNU General Public License v3.0


Languages

Language:C++ 97.3%Language:C 2.1%Language:Batchfile 0.6%