Jump to content

Draft:GramadoOS

From Wikipedia, the free encyclopedia

GramadoOS is a hobby operating system created by a brazilian programer called Fred Nora. It was created from scratch and the main components are the boot loader, the kernel, the init process, the display server and some client-side GUI applications.

What is Gramado Kernel?

[edit]

Gramado Kernel is the main component of the Gramado Operating System.

What is Gramado Operating System?

[edit]

GramadoOS is a 64bit graphical operating system. It has a bootloader, a kernel and a desktop environment.

Kernel features.

[edit]
  • hw - cpu: Intel and AMD. 64bit only.
  • hw - mm: Paging. Chunck of 2MB, using 4KB pages.
  • hw - blk device: IDE. (Primary master only).
  • hw - char device: ps/2 keyboard.
  • hw - char device: ps/2 mouse works fine only on qemu.
  • hw - char device: Serial port. (COM). Used for debug.
  • hw - network device: e1000 Intel NIC. Works on Oracle virtual box.
  • sw - Processes: Process structure and Thread structure.
  • sw - Scheduler: Round robin. (Threads only).
  • sw - Syscalls using software interrups. (Traps).
  • sw - IPC: sockets.
  • sw - IPC: System messages using a queue in the thread structure.
  • sw - tty: It has 4 ring 0 kernel virtual consoles in fullscreen raw mode.
  • sw - tty: General use ttys and ptys for ring3 virtual terminals.
  • sw - fs: FAT16 file system for boot partition. No system partition yet.
  • sw - posix libc: Ring0 implementation of libc functions called by the ring3 libraries.
  • sw - network: Small support for sockets.
  • sw - network: Small ring0 implementation of protocol stack. (ETHERNET, ARP, IP, UDP, TCP and DHCP).
  • sw - display: Bootloader display device. VESA.
  • sw - user: Very small implementation of user structure.
  • sw - APIs:
  • sw - One loadable ring0 module, using static address.

Userland features.

[edit]
  • Display Server.
  • Unix-like commands running in the virtual console.
  • Some few clients connected to the display server via unix-sockets.
  • Ring3 processes can access the i/o ports via syscall. (For ring3 drivers only).

userland system programs.

[edit]
  • The network server.

The source code.

[edit]
  We need to import some dependencies to get the posix commands, 
  the display server and client-side GUI applications. 
  The address is https://github.com/gramado/de.
Building an operating system is a good way to understand how systems work and
the software stack needed to run your favorite application. But remember It's not
the best way to make money easily. So if you want to earn money easily,
go to the high demand area, which is probably the top layer of the stack,
which It is the place where web applications are made,
it includes front-end and back-end layers.
 ... 

Folders

[edit]

Stating with code and ending with data and binary images.

  * boot/      - Gramado boot loader.
  * kernel/    - The core kernel.
  * mods/      - Kernel modules.
  * userland/  - Init process and ring3 services.
  * your/      - Your stuff.

References:

[1]https://github.com/gramado