Post on 26-Mar-2015
Dynacube Operating SystemsDynacube for Today and Tomorrow
Mohammed Hassan Shah J. Meenakshi K.R.
Guided by Mrs. G. Andal Jayalakshmi, B.E, M.S
Thiagarajar College of Engineering, INDIA
Problem Description
The project aims to implement an operating system with the following features
Intel x86 based
32 bit Protected mode Multitasking
Modular Design Approach
Graphical User Interface (GUI)
POSIX 1003.1 standard compliancy
Thiagarajar College of Engineering, INDIA
Implementation DetailsLanguages Used:
Intel AssemblyC – without using Standard librariesC++ - for GUI components
Platform Used:
GNU/Linux
Tools Used:
GCC, G++ CompilerNASM AssemblerVMware, Bochs EmulatorKdevelop IDE
Thiagarajar College of Engineering, INDIA
Description of
Modules
Thiagarajar College of Engineering, INDIA
Kernel Module
Kernel Initialization
Process Manager
Memory Manager
100% Completed
Thiagarajar College of Engineering, INDIA
Kernel Initialization100% Completed
•Enabling A20 line
•Loading Global Descriptor Table
•Loading Interrupt Descriptor Table
•Remapping the Programmable Interrupt Controller
•Initializing the PCB, PGDE, PGTE and Virtual8086 Monitor
•Initializing the Timer, keyboard, mouse and floppy drivers
•Initializing the SVGA mode 114 (resolution 800 x 600 colors 64000)
•Enabling the Timer, Keyboard, Mouse and Floppy IRQ
•Enabling Interrupts
Thiagarajar College of Engineering, INDIA
Process Manager
Task State Segment based Multitasking
Queues used: Ready, message, device, gui_server.
Asynchronous Message Passing Interface
Scheduling policy – Priority based Round Robin
Dynamic process creation – loading binary image, LDT and page table initialization
100% Completed
Thiagarajar College of Engineering, INDIA
Memory Manager100% Completed
• Segmented paged memory model
• Dynamic memory allocation and de-allocation
•Page level – first- fit algorithm
•Variable chunk level
• Logical to linear and linear to physical mapping
• Physical memory copying
Thiagarajar College of Engineering, INDIA
Device Manager Module100% Completed
Keyboard and SVGA Video Driver
• Mode Info Retrieval and Setting (114)• Linear Frame Buffer and Double Buffering• Font Map and Cursor Creation• Primitive Graphical Library Functions
Mouse Driver
• Initializing, Calibration, Reset handling• Interrupt Handling • Cursor Tracking• Event Detection
Thiagarajar College of Engineering, INDIA
• Floppy process creation and Request Handling
• Floppy IRQ Handling
• DMA Initialization and Transfer
• Motor Handling
• Seeking and Recalibration
• Read And Write Sector
100% Completed
Device Manager Module
Floppy Device Driver
Thiagarajar College of Engineering, INDIA
File System Module100% Completed
• FAT12 with Long Name Standard
• File and Directory Management – creation, removal, retrieval
• Descriptor Handling
• File Buffering
Thiagarajar College of Engineering, INDIA
DServer (GUI) Module100% Completed
• GUI process and Message Handling
• Window Management
• Alias Id Mapping
• Z-order Processing
• Menu Handling
• Component Management
Thiagarajar College of Engineering, INDIA
System Calls ImplementedProcess Manager
forkexitsendreceive
Floppy Driver
read_sectorwrite_sector
File Systemopenread writecreateremoverename
Thiagarajar College of Engineering, INDIA
System Calls Continued
setPixelgetPixelgetImageputImagedrawLinedrawRectdrawCircle
Graphics Library
createshowhidedestroyresizeenabledisable
GUI
Thiagarajar College of Engineering, INDIA
Test Applications
• Dynaplorer (Explorer)
• Dynapad (Text Editor)
• Dynacalc (Calculator)
Thiagarajar College of Engineering, INDIA
Screen Shots
Thiagarajar College of Engineering, INDIA
Dynaplorer
Thiagarajar College of Engineering, INDIA
Dynapad
Thiagarajar College of Engineering, INDIA
Dynacalc
Thiagarajar College of Engineering, INDIA
BibliographyDesign Literature
Andrew S. Tanenbaum and Albert S. Woodhull, Operating Systems: Design and Implementation
Microsoft’s official FAT12 documentation
Hardware Literature IA-32 Intel Architecture Software Developer’s Manual
Volume 1: Basic Architecture
Volume 2: Instruction Set Reference
Volume 3: System Programming guide
VESA BIOS EXTENSION (VBE) Core Functions Standard Version: 3.0
NEC µPD765 and Intel 82072-7 Floppy Disk Controller specification
Adam Chapweske, PS/2 Keyboard and Mouse Interface
Thiagarajar College of Engineering, INDIA
ConclusionThe project has successfully achieved its stated goals. We are looking forward to make the following enhancements to our project in near future:
Extend Dynacube to 64bit architectures.
To provide SMP support.
To port GCC and G++ to our Dynacube operating system.
To include File System support for EXT2, EXT3 and NTFS formats.
To provide Unicode support.
To provide more sophisticated user interfaces.
To design a configurable Window manager.
Thiagarajar College of Engineering, INDIA
Queries ???
Queries ?
Thiagarajar College of Engineering, INDIA
Thank you