Projeto Systema Operacional reativado !

1. Projeto Systema Operacional reativado !

???
gokernel

(usa Linux Mint)

Enviado em 18/05/2019 - 12:53h

Olá pessoal !

Só passei para informar que o projeto GardenOS foi atualizado !

Projeto aqui:
https://github.com/gokernel2017/gardenOS

Simplesmente implementai isso:

//
// kheap.c
//
extern void kheap_SPEC (void);
extern void * kmalloc (unsigned sz);
extern void kfree (void *fr);

//
// sprintf.c
//
extern int sprintf (char *str, const char *format, ...);



Agradecimentos para esses projetos:
https://github.com/ajaysa/MyOS_Blundell
http://flick.sourceforge.net/

BETA AINDA !!!

OBS: Para compilar corretamente precisa de um compilador 32 BITS.

OBS: O gardenOS continua vivo ... e vou precisar do código ... ;)




  


2. Re: Projeto Systema Operacional reativado !

???
gokernel

(usa Linux Mint)

Enviado em 24/05/2019 - 19:54h

Olá pessoal !

Projeto atualizado e mais legível, parte do código do kernel ( /src/kernel.c ):

CLOCKS_PER_SEC é definido como := 1000

EDITADO ... EDITADO ... EDITADO ...



void PIT_timer_handler (int i) {

PIT_timer_ticks++;

}

void kernel_main_loop (void) {

video_puts (SHELL_PROMPT);

quit = 0;

while (!quit) {

// HERE: execute each 1 second:
//
if (PIT_timer_ticks % CLOCKS_PER_SEC == 0) {

video_display_time ();

}

//
// ... ! wait the next interrupts ...
//
kernel_wait ();
}
}

void kernel_main (struct multiboot_info *mbi) {

kernel_init (mbi);

intr_Init (); // interrupt init
intr_SetMask (IRQ_KEYBOARD, TRUE); // enable keyboard interrupt
intr_SetHandler (IRQ_VECTOR(IRQ_KEYBOARD), keyboard_handle); // set keyboard function handler

intr_timer_InitPIT (PIT_HZ / CLOCKS_PER_SEC); // 1000
intr_SetMask (IRQ_TIMER, TRUE); // enable timer interrupt
intr_SetHandler (IRQ_VECTOR(IRQ_TIMER), PIT_timer_handler); // set timer function handler

//-------------------------------------------
// HERE EXECUTE:
//
// 01: PIT (Programmable Interval Timer) := PIT_timer_handler ()
//
// 02: The KeyBoard Interrupt Handler := keyboard_handle ()
//
// 03: AND FINALLY | The Main Loop
//
//-------------------------------------------
//
kernel_main_loop ();

intr_Disable ();

kernel_finalize ();

if (is_reboot)
reboot ();
}


OBS: A data falta implementar o "time_zone" ... por isso não se assuste se a hora for diferente do seu horário local ...

Para sair digitar ( quit ) e teclar ENTER.

Apenas para teste performance !




3. Re: Projeto Systema Operacional reativado !

???
gokernel

(usa Linux Mint)

Enviado em 25/05/2019 - 09:09h

Opa ... BUG encontrado só no Linux e já foi corrigido... código atualizado lá no projeto !

Version Patch:

#define GARDEN_VERSION 0
#define GARDEN_VERSION_SUB 15
#define GARDEN_VERSION_PATCH 1




4. Re: Projeto Systema Operacional reativado !

???
gokernel

(usa Linux Mint)

Enviado em 28/05/2019 - 21:46h

Olá pessoal !

Iniciei a implementação da Summer Language no próprio kernel do GardenOS ... é tipo assim: o próprio kernel/shell funciona como um compilador JIT.

Para um simples teste no shell e teclar ENTER:


$ int a = 10, b = 20, c = 3, d = 5;

$ printi ( a * b + c * d + 100 );

> "SAIDA" | Result: 315


OBS1: se não tiver a primeira letra ( $ ) no shell, ele funciona como um shell básico normal ...

OBS2: Fiz apenas o básico só para testar ...




5. Re: Projeto Systema Operacional reativado !

???
gokernel

(usa Linux Mint)

Enviado em 02/06/2019 - 11:41h

Implementado InitRD !

Testando:

TO TEST WITH QEMU:
qemu -initrd initrd_file -kernel gardenOS_kernel
OR
qemu-system-i386 -initrd initrd_file -kernel gardenOS_kernel

TO TEST WITH GRUB( 1.x ):
----------------------------
title GARDEN OS
kernel /gardenOS_kernel
module /initrd_file
----------------------------




Agradecimento para esse cara ( JamesM's ) ... O Initrd.c é uma pequena modificação do código dele:
http://www.jamesmolloy.co.uk/tutorial_html/
http://www.jamesmolloy.co.uk/tutorial_html/8.-The%20VFS%20and%20the%20initrd.html

... APENAS PARA TESTES ...




6. Re: Projeto Systema Operacional reativado !

???
gokernel

(usa Linux Mint)

Enviado em 04/06/2019 - 20:35h


Projeto atualizado !

Shell, comandos adicionados:
cat
ls

https://github.com/gokernel2017/gokernel2017.github.io/blob/master/gardenOS_bmp.png






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts