Device Driver For Kernel
Device Driver For Kernel
BACHELOR OF TECHNOLOGY
In INFORMATION TECHNOLOGY
BONAFIDE CERTIFICATE
Certified that this project report DESIGNING
A DEVICE DRIVER
SIGNATURE Prof.R.T.Sakthidaran HEAD OF THE DEPARTMENT Information Technology K.L.N.College of Engineering Pottapalayam P.O Madurai-Nedungulam Road Sivagangai District. DATE:
SIGNATURE Mrs.J.S.Kanchana ASSISTANT PROFESSOR Information Technology K.L.N.College of Engineering Pottapalayam P.O Madurai-Nedungulam Road Sivagangai District.
INTERNAL EXAMINER
EXTERNAL EXAMINER
ACKNOWLEDGMENT
We express our heartfelt gratitude to the Founder Mr. K.L.N. KRISHNAN, K.L.N. College of Engineering for inspiring us to achieve great heights. We would like to express our sincere gratitude to Dr. S. GANAPATHY, B.Sc, B.E., M.Sc (Engg.), Ph.D., Principal, K.L.N.College of Engineering for his kind patronage and all facilities offered. With gratitude, We record our indebtness Prof. R.T.SAKTHIDARAN, M.TECH (IITM)., DM (AIMA)., FIE., SMIEEE (USA)., Head of the Department of Information Technology who helped us to fire on all, cylinders during the course of the project work. With deep respect I express my gratitude to our faculty guide Mrs.J.S.KANCHANA M.E., ASSISTANT PROFESSOR, Department of Information Technology for helping us maintaining the momentum during the project work. And finally, we extended our sincere thanks to the teaching and non-teaching staff, our family, friends and well-wishers for their love, concern and moral support throughout the project.
SYMBOLS
DESCRIPTION
ACTOR
FLOW
USECASE
ACTIVE STATE
TO START PROCESS
1. INTRODUCTION
1.2 OBJECTIVE:
To design a device Mini Kernel this will perform all basic functionality of OS.
1.3 METHODOLOGY:
Methodology is defined as
The analysis of the principles of methods, rules, and postulates employed by a discipline The systematic study of methods that are, can be, or have been applied within a discipline A particular procedure or set of procedures The common idea here is the collection, the comparative study, and the critique of the individual method that are used in a given discipline or field of inquiry. Methodology refers to more than a simple set of methods; rather it refers to the rationale and the philosophical assumption that underlie a particular study.
Four Fundamental Process Activities 1) Software Specification. 2) Software Development. 3) Software Validation. 4) Software Evaluation. To solve actual problems, a software engineer or a team must incorporate a development Strategy that encompasses the process, method and tools layers and the generic phases. This Strategy is often referred as Process Model.
Life cycle models describe the interrelationships between software development phases.
1.5.1 TYPES:
The common life cycle models are: Spiral model Waterfall model Throwaway prototyping model Evolutionary prototyping model Incremental/iterative development Reusable software model A model for software engineering is chosen based on the nature of the project and application, the methods and tools to be used, and the controls and deliverables that are required. In this project we are using Incremental Software Lifecycle Model.
Since developer cannot gather all ideas for development of product so he develops the product with minimum requirements. On the further increments he will get the final indented product.
Increment 2:
Kernel Times Interrupt Handler
Increment 3:
Kernel Keyboard Handler
Review No.
Description Of Completion
Date of Completion
Duration
Second Month 4th week 1st week 2nd week 3rd week
Third Month 4th week 1st week 2nd week 3rd week
Fourth Month 4th week 1st week 2nd week 3rd week 4th week
Project Approval
Abstract
The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, as well as for business modeling and other non-software systems. The UML represents a collection of best engineering practices that have proven successful in the modeling of large and complex systems. The UML is a very important part of developing objects oriented software and the software development process. The UML uses mostly graphical notations to express the design of software projects.
GOALS:
The primary goals in the design of the UML were as follows: 1) Provide users a ready-to-use, expressive visual modeling language so they can develop and exchange meaningful models. 2) Provide extensibility and specialization mechanisms to extend the core concepts. 3) Be independent of particular programming languages and development processes. 4) Provide a formal basis for understanding the modeling language. 5) Encourage the growth of the OO tools market. 6) Support higher-level development concepts such as collaborations, frameworks, patterns, and components. 7) Integrate best practices.
TYPES:
The following are the types of UML diagrams followed in this project: Use Case Diagram Activity Diagram Sequence Diagram
6.1SOFTWARE TESTING:
Software testing is the process used to help identify the correctness, completeness, security, and quality of developed computer software.
BENEFITS:
The goal of unit testing is to isolate each part of the program and show that the individual parts are correct. It provides a written contract that the piece must satisfy.
ENCOURAGES:
Unit testing allows the programmer to refactor code at a later date, and make sure the module still works correctly (regression testing). This provides the benefit of encouraging programmers to make changes to the code since it is easy for the programmer To Check if the Piece is Still Working Properly.
SIMPLIFIES:
Unit testing helps eliminate uncertainty in the pieces themselves and can be used in a bottom-up testing style approach. By testing the parts of a program first and then testing the sum of its parts will make integration testing easier.
DOCUMENTS:
Unit testing provides a sort of living document for the class being tested. Clients looking to learn how to use the class can look at the unit test to determine how to use the class to fit their needs.
SYSTEM TESTING:
System testing of software or hardware is testing conducted on a complete, integrated system to evaluate the systems compliance with its specified requirements. System testing falls within scope of black box testing, and as such, should require no knowledge of the inner design of the code of logic. System
testing tasks, as its input, all the integrated software components that have successfully passed integration testing and also the software system itself integrated with any applicable hardware system(s). System testing is a more limiting type of testing; it seems to detect defects both within the inter assemblages and also within the system as a whole.
6.5.2. VALIDATION:
Software is completely assembled as a package, interfacing errors have been uncovered and corrected and a final series of software test-validation testing-may begin. Validation: Are we building the right product? After all validation test cases have been conducted one of two possible conditions exists. 1) Performance characteristics conform to specification and accepted. 2) A deviation from the specification is uncovered and deficiency list is created.
COLLABORATION DIAGRAM:
1 : P o w e r o ... 1 1 : S w itc h o ff( ) : S y 2 tecm lls B IO S r o u tin e s ( ) s: a : U ser : B 3 : S O S T fo r a ll d e v ic e s ( ) IO P : Boot D e v ic e
SEQUENCE DIAGRAM:
: S y s t e m: B IO S : B o o t : K e r n e :l M a i n : S t a c k : ID T : U ser D e v ic e f u n c t io n P o w e r o n () c a l ls B IO S r o u t i n e s ( ) P O S T f o r a ll d e v ic e s ( )
: IR Q
: : T im e r K e y b o a rd
L o a d s O S () L i n k a l l f i le s a n d c a l l m a i n ( ) In i t ia l i z e s S t a c k ( ) S e t u p ID T ( ) S e t u p r o u t i n e s f o r IR Q ( ) H a n d le r fo r k e y b o a r d ( ) T im e r h a n d l e r ( )
S w itc h o ff( ) K il l a l l p r o c e s s ( )
USE-CASE DIAGRAM:
User
Keyboard handler
Display manager