Title: Dynacube Operating Systems
1Dynacube Operating Systems
- Dynacube for Today and Tomorrow
Guided by Mrs. G. Andal Jayalakshmi, B.E, M.S
Mohammed Hassan Shah J. Meenakshi K.R.
2Problem 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
3Implementation 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
4Description of Modules
5Kernel Module
100 Completed
- Kernel Initialization
- Process Manager
- Memory Manager
6Kernel 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
7Process 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
8Memory 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
9Device 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
10Device 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
11File System Module
100 Completed
- FAT12 with Long Name Standard
- File and Directory Management creation,
removal, retrieval - Descriptor Handling
- File Buffering
12DServer (GUI) Module
100 Completed
- GUI process and Message Handling
- Window Management
- Alias Id Mapping
- Z-order Processing
- Menu Handling
- Component Management
13System Calls Implemented
Process Manager
Floppy Driver
fork exit send receive
read_sector write_sector
File System
open read write create remove rename
14System Calls Continued
Graphics Library
GUI
setPixel getPixel getImage putImage
drawLine drawRect drawCircle
create show hide destroy resize enable disable
15Test Applications
- Dynaplorer (Explorer)
- Dynapad (Text Editor)
- Dynacalc (Calculator)
16Screen Shots
17Dynaplorer
18Dynapad
19Dynacalc
20Bibliography
- Design Literature
- Andrew S. Tanenbaum and Albert S. Woodhull,
Operating Systems Design and Implementation - Microsofts official FAT12 documentation
- Hardware Literature
- IA-32 Intel Architecture Software Developers
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
21Conclusion
- 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.
22Queries
Queries ???
?
23Thank you