To see other Chris
Utilities pages
use the following links:
www.popcristian.home.ro/indexold.html
www.evi-dent.go.ro
Welcome to POSys official site!
POSys is made from 3 parts: the most important part is the KERNEL32 witch manages all processor related functions like memory access, tasks and I/O. Other functions like drive, video, keyboard and other device access are made only through drivers. Also file execution will be made through drivers. The only part of the kernel32 that can be modified is init32 that loads the first drivers and the user interface.
Check List:
KERNEL32 [ In progress/research ]
Program Manager (research)
Loader:
Kernel API : export functions on ring 3
Device driver loading (ring 1)
User programs (rings 2,3)
(other tasks will be added conforming to the research)
Task Manager √ (partial)
Switch tasks (user controlled / timesharing) √
Create and manage threads and processes √ (partial)
IPC (Inter Process Communication):
Critical sections √
Semaphoring system √
Messaging system (async) √
Timers √ (partial)
Memory Manager (research/in progress)
Manage entire memory space (for the OS and for the user programs)
Allocation functions on specified areas
Dynamic allocation functions √ (partial)
Memory scanner
ISR √ (partial / research)
Defines the first interrupts and exceptions (0-32) (the PIC is reprogrammed to higher INTs)√
Defines a void interrupt for the other ints that might fire (contains only IRET). √
IRQ handling and routing √ (partial)
GDT
Defines the first entries in the GDT √ (partial)
IDT √ (partial)
Defines all the interrupts (0-255) mapping the first 32 to the code in ISR and the rest to the void interrupt function. √
Init 32
Reprogramming of PIC √
Reprogramming of PIT
Start critical device drivers
Start user interface
Device drivers:
Video driver (partial)
Keyboard driver
Floppy driver
HDD driver
FAT driver
EXEcutable driver (POSYS std)
The boot loader is the first executable part of the OS. This boot loader is made only for floppy disk loading.
Boot loader √ [ DONE ]
FAT12 disk header √
Load POSYS.LDR using FAT technology √
Implement error handling functions √
Use only 512 bytes of compiled code √
Posys loader is the real-mode of the OS. It continues the execution as the boot-loader can't have more than 512 bytes. This part loads the kernel32 and does the CPU setup before changing to protected mode.
POSYS loader [KERNEL16] √ [ DONE ]
Print sample logo √
Load KERNEL32.SYS using FAT technology √
Load Program Manager √
Load Task Manager √
Load Memory Manager √
Load ISR (Interrupt Service Routines) √
Load GDT (Global Descriptor Table) √
Load IDT (Interrupt Descriptor Table) √
Load Init32 (first 32bit program executed) √
Setup the CPU √
Set GDTR √
Set IDTR √
Clear Interrupts and copy IDT to 0h - 800h √
Execute the Init32 √
Last updated: January, 23, 2003