230 likes | 383 Views
Dynacube Operating Systems. Dynacube for Today and Tomorrow. Guided by Mrs. G. Andal Jayalakshmi, B.E, M.S. Mohammed Hassan Shah J. Meenakshi K.R. Problem Description. The project aims to implement an operating system with the following features Intel x86 based
E N D
Dynacube Operating Systems Dynacube for Today and Tomorrow Guided byMrs. G. Andal Jayalakshmi, B.E, M.S Mohammed Hassan Shah J. Meenakshi K.R.
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 Details Languages Used: Intel Assembly C – without using Standard libraries C++ - for GUI components Platform Used: GNU/Linux Tools Used: GCC, G++ Compiler NASM Assembler VMware, Bochs Emulator Kdevelop IDE Thiagarajar College of Engineering, INDIA
Description of Modules Thiagarajar College of Engineering, INDIA
Kernel Module 100% Completed • Kernel Initialization • Process Manager • Memory Manager Thiagarajar College of Engineering, INDIA
Kernel Initialization 100% 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 100% Completed • 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 Thiagarajar College of Engineering, INDIA
Memory Manager 100% 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 Module 100% 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
Device Manager Module 100% Completed Floppy Device Driver • Floppy process creation and Request Handling • Floppy IRQ Handling • DMA Initialization and Transfer • Motor Handling • Seeking and Recalibration • Read And Write Sector Thiagarajar College of Engineering, INDIA
File System Module 100% Completed • FAT12 with Long Name Standard • File and Directory Management – creation, removal, retrieval • Descriptor Handling • File Buffering Thiagarajar College of Engineering, INDIA
DServer (GUI) Module 100% 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 Implemented Process Manager Floppy Driver fork exit send receive read_sector write_sector File System open read write create remove rename Thiagarajar College of Engineering, INDIA
System Calls Continued Graphics Library GUI setPixel getPixel getImage putImage drawLine drawRect drawCircle create show hide destroy resize enable disable 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
Bibliography • Design 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
Conclusion • The 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 Thiagarajar College of Engineering, INDIA