Вы находитесь на странице: 1из 7

Kernel development

(Part of operating system)

SUBMITTED TO :

SUBMITTED BY:

Preface

As per requirement of 7th semester major project we are developing a Kernel ( a core which act as a bridge between applications and the actual data processing done at the hardware level). Our assignment could be defined as development of software Part of operating system ,a basic Kernel in C and Assembly. Through this system it was proposed to develop a kernel to understand the basics of operating system and to provide a chance to coming batches for easy understanding and further development.

This report briefly describes the systematic approach we are going to adopted for development of the Kernel by efficiently using the latest facilities .

Introduction
Project title : Kernel development
The project named Kernel development is a Kernel to be developed in C and Assembly programming language . This project will not only provide you a functional kernel but it's documentation too along with a chance of further developing this open source project. Kernel can be defined as a bridge between applications and the actual data processing done at the hardware level. The kernel is the main component of most computer operating systems; it The kernel's responsibilities include managing the system's resources Our project Kernel development is a basic kernel with most basic algorithms implemented that will help students to easily understand the development process. To develop a kernel is to say that you understand how to create software that interfaces with and manages the hardware. A kernel is designed to be a central core to the operating system the logic that manages the resources that the hardware has to offer.

o o o o

Kernel basic facilities


Process management Memory management Device management System calls

Modules of project
1) Setting up development environment 2) The basics: Setting the stage for GRUB(Grand Unified Bootloader) 3) Setting up a custom Global Descriptor Table (GDT) 4) Setting up a custom Interrupt Descriptor Table (IDT) 5) Setting up Interrupt Service Routines (ISRs) to handle your Interrupts and IRQs 6) Remapping the Programmable Interrupt Controllers (PICs) to new IDT entries 7) Installing and servicing IRQs 8) Managing the Programmable Interval Timer / System Clock (PIT) 9) Managing Keyboard IRQs and Keyboard Data

Objectives of Project
After thoroughly analyzing the existing system the following objectives have been set: Implementing basic algorithms for better understanding Providing documentation Making project open source for wider collaboration Using minimal Assembly Language Using free open source tools Developing in C as most students are familiar with it Providing documentary assistance for environmental setup.

Requirements
Hardware requirements: - a 100% IBM Compatible PC with: - a 386-based processor - 4MBytes of RAM - a VGA compatible video card with monitor - a Keyboard Technologies to be Used: Toolset Compilers Assemblers Virtual Machines -SUN Virtual Box Operating System Required: Any Linux operating system. - The Gnu C Compiler (GCC) [Unix] -Netwide Assembler (NASM) [Unix]

Boot loader: Grub.

Future Scope
This project gives the core idea about the functioning of a Operating System. With further collaboration it can be expanded to include more functionality and improved performance so that it can be used as a full fledged system

File system can be added . GUI can be added so better user experience.

Existing algorithms can be upgraded to make them at par with LINUX or WINDOWS.

Вам также может понравиться