Planning the development is a critical issue. As we must know our objectives and milestones that we would like to achieve. For the design of our system we will stick to some basic functionalities of an operating system:-
- boot a computer system.
- Actual LOC(Lines of Code) to be minimal.[Yet not decided on that, but surely to be minimal as compared to other Os like Minix, Linux and GeekOS].
- Source file to be minimal.
- will have a CUI(Character User Interface) rather than GUI(Graphical User Interface).
- We will create a uni-programming system.
- A command line interpreter as in Linux and DOS operating systems.
- A monolithic kernel
In design of such an operating system with minimal fucntionalities and code, still requires the prerequisites . In the next tutorial I will explain about writing a bootloader, which will boot your system. This tutorial will explain following points:-
- Assembly language concepts and some basic commands.
- System design before booting and after booting.
- Assembling of the code.
- Copying of the code to a virtual floppy disk.
- Booting the system.
This tutorial needs some understanding of Booting Process , boot loader and bochs or Virtualbox. Although I will explain about them in detail, but still reading these will enhance your knowledge about the subject.
- Black, Michael D. “Build an operating system from scratch: a project for an introductory operating systems course.” ACM SIGCSE Bulletin. Vol. 41. No. 1. ACM, 2009.
I would like the readers to please go through the license of the software before downloading it. I would request if you like the tutorial then please let others also know about it because sharing is caring.
Design and Development of Operating System for teaching operating system course by Gaurav Parashar is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.