https://github.com/Glowman554/NextOS
Operating system development try 2!
https://github.com/Glowman554/NextOS
kernel userspace
Last synced: 2 months ago
JSON representation
Operating system development try 2!
- Host: GitHub
- URL: https://github.com/Glowman554/NextOS
- Owner: Glowman554
- License: mit
- Created: 2020-11-22T14:05:50.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-04-01T20:02:03.000Z (about 2 years ago)
- Last Synced: 2025-01-19T04:34:14.822Z (4 months ago)
- Topics: kernel, userspace
- Language: C
- Homepage:
- Size: 7.62 MB
- Stars: 9
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# NextOS
[](https://gitpod.io/#https://github.com/Glowman554/NextOS)


A simple os written in c and c++.
It's a more advanced and more stable kernel than my first kernel [GKernel](https://github.com/Glowman554/gkernel)## Featurs
- App loading with Grub
- Keyboard support
- Mouse support
- PCI support
- Multitasking support
- Driver Abstraction
- VGA Mode
- Serial COM1 Debug Log
- Initrd
- ATA Driver## Building
You need to install `mkisofs gcc g++ as ld nasm make`.
To create an ISO file you need to enter `make iso`.## Demo
## Syscalls
| Name | eax | ebx | ecx | edx |
| - | - | - | - | - |
| SYSCALL_PUTC | 0 | char c | - | - |
| SYSCALL_PUTS | 1 | char* s | - | - |
| SYSCALL_PUTN | 2 | int number | int base | -
| SYSCALL_CLRSCR | 3| - | - | - |
| SYSCALL_SETCOLOR | 4 | uint32_t color | - | - |
| SYSCALL_KVERSION | 5 | int ver (return) | - | -
| SYSCALL_KVENDOR | 6 | char* ven (return) | - | - |
| SYSCALL_EXEC | 7 | char* file | - | -
| SYSCALL_INIT_TASK | 8 | void* entry | - | - |
| SYSCALL_TASK_EXIT | 9 | int errorcode | - | - |
| SYSCALL_REBOOT | 10 | - | - | - |
| SYSCALL_GET_TICK | 12 | uint32_t tick (return) | - | - |
| SYSCALL_RESET_TICK | 13 | - | - | - |
| SYSCALL_MULTIBOOT | 14 | multiboot_info *mb_info | - | - |
| SYSCALL_VGA_MODE | 15 | - | - | - |
| SYSCALL_VGA_SETPIXEL | 16 | int x | int y | uint32_t color |
| SYSCALL_VGA_SETCOLOR | 17 | uint32_t fgcolor | uint32_t bgcolor | - |
| SYSCALL_LOAD_INITRD | 18 | char* file | - | - |
| SYSCALL_FSROOT_READDIR | 19 | int index | struct dirent *node (return) | - |
| SYSCALL_FSROOT_FINDDIR | 20 | char* dir | fs_node_t *fsnode (return) | - |
| SYSCAlL_FSROOT_READ | 21 | uint32_t offset | uint32_t size | fs_node_t *fsnode |
| SYSCALL_GET_BUFFER | 22 | uint8_t* buf (return) | - | - |
| SYSCALL_INIT_DRIVER | 23 | char* name | driver_handler_ptr driver_handler | int id (return) |
| SYSCALL_CALL_DRIVER | 24 | int id | void* data | int data (return) |
| SYSCALL_FIND_DRIVER | 25 | char* name | int id (return) | - |
| SYSCALL_DRAW_CHAR | 26 | char c | int x | int y |
| SYSCALL_SETX | 27 | int x | - | - |
| SYSCALL_SETY | 28 | int y | - | - |
| SYSCALL_GETX | 29 | int x (return) | - | - |
| SYSCALL_GETY | 30 | int y (return) | - | - |
| SYSCALL_SET_KB_HANDLER | 31 | kb_handler handler | - | - |
| SYSCALL_SET_MOUSE_HANDLER | 32 | mouse_move_handler h1 | mouse_button_handler h2 | - |
| SYSCALL_GETPIXEL | 33 | int x | int y | char c (return) |## Copyright
See LICENSE