What does your OS look like? (Screen Shots..)

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
User avatar
arseniuss
Member
Member
Posts: 32
Joined: Tue Aug 10, 2010 12:13 am
Location: Latvia
Contact:

Re: What does your OS look like? (Screen Shots..)

Post by arseniuss »

Nothing much here. Just wrote Bochs graphics driver, trying scan PCI and having a bug in memory allocation. I get output through serial port.

Today wrote dynamic module(driver) building makefile.

Image
Hobby stuff (suckless libs, compilators, game engines, kernels): github. Work @ zabbix: arseniuss@zabbix
User avatar
makerimages
Member
Member
Posts: 27
Joined: Sun Dec 28, 2014 11:16 am
Libera.chat IRC: Makerimages
Location: Estonia

Re: What does your OS look like? (Screen Shots..)

Post by makerimages »

I've made a little more progress on OS Zin : converted to C, finished ACPI, and now, i implemented a very rough PS/2 keyboard driver.
If anyone would like to tinker away on improving the keyboard driver to support caps, shift and so on, please do let me know.

Image


Sources available on GitHub
Working on SinusOS.
User avatar
BrightLight
Member
Member
Posts: 901
Joined: Sat Dec 27, 2014 9:11 am
Location: Maadi, Cairo, Egypt
Contact:

Re: What does your OS look like? (Screen Shots..)

Post by BrightLight »

Virtual memory management, yaay! :P
Took almost a whole day to work out the paging tables, but I think it's safe to say, I did it! :)
What you see in the screenshot is done simply with this code:

Code: Select all

	; identify page the first MB of RAM
	mov eax, 0				; map 0x0 --
	mov ebx, 0				; -- to 0x0
	mov ecx, 256				; 256*4 KB blocks = ~ 1 MB
	call vmm_map_memory

	; this is just for debugging, will be removed
	mov eax, 0x100000			; map 0x100000 (1 MB) --
	mov ebx, 0xC0000000			; -- to 0xC0000000 (3 GB)
	mov ecx, 2				; 2*4 KB blocks = 8 KB
	call vmm_map_memory
Attachments
Capture.PNG
You know your OS is advanced when you stop using the Intel programming guide as a reference.
reload
Posts: 9
Joined: Sun Jul 12, 2015 10:15 am

Re: What does your OS look like? (Screen Shots..)

Post by reload »

Image
I working on my own OS.
I got working:
  • GDT
    IDT
    PIT
    Keyboard input and vga output
Last edited by reload on Mon Aug 03, 2015 9:55 am, edited 1 time in total.
....
User avatar
BASICFreak
Member
Member
Posts: 284
Joined: Fri Jan 16, 2009 8:34 pm
Location: Louisiana, USA

Re: What does your OS look like? (Screen Shots..)

Post by BASICFreak »

The best sign you can have after working for a week on a boot loader!

1. You modify about 20 lines in the kernel to remove all GRUB Compatibility and place your own.
2. And RUN FOR THE FIRST TIME (with the kernel that is)

Code: Select all

BOS v. 0.0.2	SRC/SYSTEM_x86/GDT.c	Compiled at 15:10:22 on Jul 15 2015	MAIN	  Line 18	Function "_GDT_init"
GDT Installed
BOS v. 0.0.2	SRC/SYSTEM_x86/IDT.c	Compiled at 14:43:27 on Jul 13 2015	MAIN	  Line 348	Function "_IDT_init"
IDT Installed
BOS v. 0.0.2	SRC/SYSTEM_x86/8259.c	Compiled at 14:43:28 on Jul 13 2015	MAIN	  Line 141	Function "_8259_INIT"
8259 PIC Installed
PIT Installed
BOS v. 0.0.2	SRC/MEM/PHYS.c	Compiled at 21:33:47 on Jul 16 2015	MAIN	  Line 90	Function "PHYSMEM_init"

	Total RAM = 32383 KB
	Used  RAM = 1203 KB
	Free  RAM = 31180 KB
BOS v. 0.0.2	SRC/MEM/PAGEFAULT.c	Compiled at 14:43:29 on Jul 13 2015	MAIN	  Line 67	Function "_pageFault_init"
BOS v. 0.0.2	SRC/MEM/VIRTUAL.c	Compiled at 14:43:29 on Jul 13 2015	MAIN	  Line 81	Function "VIRTUALMEM_init"

	Total RAM = 32383 KB
	Used  RAM = 1207 KB
	Free  RAM = 31176 KB
(SRC/MEM/VIRTUAL.c:55) MakeDirectory()	=	0x11A000

	Total RAM = 32383 KB
	Used  RAM = 1211 KB
	Free  RAM = 31172 KB

	Total RAM = 32383 KB
	Used  RAM = 1215 KB
	Free  RAM = 31168 KB
(SRC/MEM/VIRTUAL.c:46) MakeTable()	=	0x11C000

	Total RAM = 32383 KB
	Used  RAM = 1219 KB
	Free  RAM = 31164 KB
(SRC/MEM/VIRTUAL.c:46) MakeTable()	=	0x11D000

	Total RAM = 32383 KB
	Used  RAM = 1223 KB
	Free  RAM = 31160 KB
(SRC/MEM/VIRTUAL.c:46) MakeTable()	=	0x11E000

	Total RAM = 32383 KB
	Used  RAM = 1227 KB
	Free  RAM = 31156 KB
(SRC/MEM/VIRTUAL.c:46) MakeTable()	=	0x11F000

	Total RAM = 32383 KB
	Used  RAM = 1231 KB
	Free  RAM = 31152 KB
(SRC/MEM/VIRTUAL.c:46) MakeTable()	=	0x120000

	Total RAM = 32383 KB
	Used  RAM = 1235 KB
	Free  RAM = 31148 KB
(SRC/MEM/VIRTUAL.c:46) MakeTable()	=	0x121000

	Total RAM = 32383 KB
	Used  RAM = 1239 KB
	Free  RAM = 31144 KB
(SRC/MEM/VIRTUAL.c:46) MakeTable()	=	0x122000

	Total RAM = 32383 KB
	Used  RAM = 1243 KB
	Free  RAM = 31140 KB
(SRC/MEM/VIRTUAL.c:46) MakeTable()	=	0x123000

	Total RAM = 32383 KB
	Used  RAM = 1247 KB
	Free  RAM = 31136 KB
(SRC/MEM/VIRTUAL.c:46) MakeTable()	=	0x124000

	Total RAM = 32383 KB
	Used  RAM = 1251 KB
	Free  RAM = 31132 KB
(SRC/MEM/VIRTUAL.c:46) MakeTable()	=	0x125000

	Total RAM = 32383 KB
	Used  RAM = 1255 KB
	Free  RAM = 31128 KB
(SRC/MEM/VIRTUAL.c:46) MakeTable()	=	0x126000

	Total RAM = 32383 KB
	Used  RAM = 1259 KB
	Free  RAM = 31124 KB
(SRC/MEM/VIRTUAL.c:46) MakeTable()	=	0x127000

	Total RAM = 32383 KB
	Used  RAM = 1267 KB
	Free  RAM = 31116 KB
0	_API_Add_Symbol("outb", 0x100160);
1	_API_Add_Symbol("inb", 0x100170);
2	_API_Add_Symbol("outw", 0x100180);
3	_API_Add_Symbol("inw", 0x100190);
4	_API_Add_Symbol("outl", 0x1001A0);
5	_API_Add_Symbol("inl", 0x1001B0);
6	_API_Add_Symbol("newHandler", 0x1045E0);
7	_API_Add_Symbol("strlen", 0x100500);
8	_API_Add_Symbol("streql", 0x100520);
9	_API_Add_Symbol("strcmp", 0x100570);
10	_API_Add_Symbol("strcpy", 0x1005C0);
11	_API_Add_Symbol("stringf", 0x1006E0);
12	_API_Add_Symbol("malloc_page", 0x105870);
13	_API_Add_Symbol("calloc_page", 0x105C80);
14	_API_Add_Symbol("malloc_page_low", 0x105CB0);
15	_API_Add_Symbol("calloc_page_low", 0x105FA0);
16	_API_Add_Symbol("free_page", 0x105FD0);
17	_API_Add_Symbol("AddPage", 0x106600);
18	_API_Add_Symbol("DelPage", 0x106700);
19	_API_Add_Symbol("_API_Add_Symbol", 0x106940);
20	_API_Add_Symbol("_API_Get_Symbol", 0x1068F0);
21	_API_Add_Symbol("DEBUG_printf", 0x1009C0);
22	_API_Add_Symbol("INT", 0x106990);
23	_API_Add_Symbol("memcpy", 0x1001C0);
24	_API_Add_Symbol("memset", 0x1002A0);
25	_API_Add_Symbol("memsetw", 0x100410);
API Installed
End of Kernel Data = 0x110928
Bottom of Kernel Stack = 0x10F000
Loading Boot Time Modules...
	Total RAM = 32383 KB
	Used  RAM = 1271 KB
	Free  RAM = 31112 KB
BOS v. 0.0.2	SRC/MAIN.c	Compiled at 14:43:29 on Jul 13 2015	HAL	  Line 10	Function "main"

	Total RAM = 32383 KB
	Used  RAM = 1303 KB
	Free  RAM = 31080 KB
26	_API_Add_Symbol("HAL_ReadDev", 0x110968);
27	_API_Add_Symbol("HAL_WriteDev", 0x1109F8);
28	_API_Add_Symbol("HAL_RegisterDev", 0x110B58);
29	_API_Add_Symbol("HAL_UnregisterDev", 0x110A78);
30	_API_Add_Symbol("HAL_UnregisterDevByID", 0x110BD8);
31	_API_Add_Symbol("HAL_GetDevByName", 0x110C28);
32	_API_Add_Symbol("HAL_GetDev", 0x110AA8);
33	_API_Add_Symbol("HAL_NewDev", 0x110AE8);

	Total RAM = 32383 KB
	Used  RAM = 1307 KB
	Free  RAM = 31076 KB

	Total RAM = 32383 KB
	Used  RAM = 1311 KB
	Free  RAM = 31072 KB
34	_API_Add_Symbol("PCI_GetDevice", 0x113768);
35	_API_Add_Symbol("PCI_SetHAL", 0x1137B8);
36	_API_Add_Symbol("PCI_GetBaseAddr", 0x1137D8);
37	_API_Add_Symbol("PCI_GetINTLine", 0x113808);
Bus:Slot:Function	Vendor	Device	Class	SubClass	HeadType	BaseAddr	INTLine
PCI_0_0_0		0x8086	0x1237	0x6	0x0	0x0	0x0	0x0
PCI_0_1_0		0x8086	0x7000	0x6	0x1	0x80	0x0	0x0
PCI_0_1_1		0x8086	0x7010	0x1	0x1	0x0	0x0	0x0
PCI_0_1_3		0x8086	0x7113	0x6	0x80	0x0	0x0	0x9
PCI_0_2_0		0x1234	0x1111	0x3	0x0	0x0	0xC0000008	0x0

	Total RAM = 32383 KB
	Used  RAM = 1315 KB
	Free  RAM = 31068 KB
BOS v. 0.0.2	SRC/MAIN.c	Compiled at 14:43:29 on Jul 13 2015	VFS	  Line 12	Function "main"

	Total RAM = 32383 KB
	Used  RAM = 1323 KB
	Free  RAM = 31060 KB

	Total RAM = 32383 KB
	Used  RAM = 1331 KB
	Free  RAM = 31052 KB
38	_API_Add_Symbol("VFS_OpenFile", 0x116368);
39	_API_Add_Symbol("VFS_ReadFile", 0x1163A8);
40	_API_Add_Symbol("VFS_WriteFile", 0x116428);
41	_API_Add_Symbol("VFS_CloseFile", 0x1164A8);
42	_API_Add_Symbol("VFS_RegisterFileSystem", 0x1166B8);
43	_API_Add_Symbol("VFS_UnregisterFileSystem", 0x1167F8);
44	_API_Add_Symbol("VFS_ReadPartition", 0x1165B8);
45	_API_Add_Symbol("VFS_WritePartition", 0x116638);
46	_API_Add_Symbol("VFS_RegisterPartition", 0x116748);
47	_API_Add_Symbol("VFS_Mount", 0x116518);
48	_API_Add_Symbol("VFS_UMount", 0x116858);
DONE!
*Output via Bochs port

All memory management works, all modules are loaded, everything runs just like it did with GRUB, but I'm in a video mode.

I still should (but probably won't) change how my boot configuration file looks:

Code: Select all

V032002580110
R
DBIN        
KKERNEL  ELF
R
DBIN        
MHAL     DLL
R
DBIN        
MPCI     DLL
R
DBIN        
MVFS     DLL
B
Yes those names are 11 characters each



EDIT: Fixed typo's
BOS Source Thanks to GitHub
BOS Expanded Commentary
Both under active development!
Sortie wrote:
  • Don't play the role of an operating systems developer, be one.
  • Be truly afraid of undefined [behavior].
  • Your operating system should be itself, not fight what it is.
User avatar
BrightLight
Member
Member
Posts: 901
Joined: Sat Dec 27, 2014 9:11 am
Location: Maadi, Cairo, Egypt
Contact:

Re: What does your OS look like? (Screen Shots..)

Post by BrightLight »

It's exactly what it says... :) Sorry if I post here too often. :D
Sources on GitHub. LD linker script was modified from BareMetal OS, everything else was written by me.
Both programs and the shell run in ring 3.

EDIT: It's just a prototype of my C library.
Attachments
Capture.png
You know your OS is advanced when you stop using the Intel programming guide as a reference.
User avatar
bace
Member
Member
Posts: 34
Joined: Fri Jan 16, 2015 10:41 am
Location: United Kingdom

Re: What does your OS look like? (Screen Shots..)

Post by bace »

This forum post is so useful for getting motivated for more OS development =D>
I need to work on my kernel again :D
"for example, turning off the system’s power through the movement of a large red switch" - the Advanced Configuration and Power Interface Specification
wraund
Posts: 3
Joined: Tue Jan 13, 2015 4:55 pm

Re: What does your OS look like? (Screen Shots..)

Post by wraund »

Almost embarrassed by the lack of screen output! Currently I output important debug events to serial, and just use GDB and breakpoints for everything else.

Just managed to get threading working properly (after debugging a horrible problem with my memory manager that caused seemingly random page faults and wierd addresses). The animation below shows 30 threads running simultaneously!

Image

Features:
  • Threads
    Processes
    Paging
    Interrupts
    PIC / PIT
    Error handling via C++ Exceptions
    A horribly broken WIP memory manager
Next up i need to fix the memory manager and start working on loading kernel modules!
klange
Member
Member
Posts: 679
Joined: Wed Mar 30, 2011 12:31 am
Libera.chat IRC: klange
Discord: klange

Re: What does your OS look like? (Screen Shots..)

Post by klange »

Image
Image
Last edited by klange on Fri Aug 07, 2015 8:15 pm, edited 1 time in total.
User avatar
BASICFreak
Member
Member
Posts: 284
Joined: Fri Jan 16, 2009 8:34 pm
Location: Louisiana, USA

Re: What does your OS look like? (Screen Shots..)

Post by BASICFreak »

Ever had that moment where you realized the back-end you have made will be suitable?

After planning around 100 designs for HAL/VFSs I Decided it was time to try one.
Wasn't quite sure it would work out but after getting (some of) the FAT drivers in place, and fixing multiple page fault exceptions, I was thrilled to see:

Code: Select all

... ... ...
Cluster = 0xB	Start = 0x5400	Length = 0x200
Current Cluster Data:
52 A 44 42 49 4E 20 20 20 20 20 20 20 20 A 4B 4B 45 52 4E 45 4C 20 20 45 4C 46 A 4D 44 4D 41 20 20 20 20 20 44 4C 4C A 4D 46 44 43 20 20 20 20 20 44 4C 4C A 4D 46 41 54 20 20 20 20 20 44 4C 4C A 56 30 33 32 30 30 32 35 38 30 31 31 30 A 42 A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 

BOOT.CFG:
R
DBIN        
KKERNEL  ELF
MDMA     DLL
MFDC     DLL
MFAT     DLL
V032002580110
B

.DONE!

It is a simple output of a simple (text) file located at /fdc/boot/boot.cfg

Well, next time you see me here I will be booting of HDD and have a (should I say) GUI (probably not as it will be in dev, but it will have visual output...)
BOS Source Thanks to GitHub
BOS Expanded Commentary
Both under active development!
Sortie wrote:
  • Don't play the role of an operating systems developer, be one.
  • Be truly afraid of undefined [behavior].
  • Your operating system should be itself, not fight what it is.
gardinirafael
Posts: 21
Joined: Mon Feb 03, 2014 12:52 pm

Re: What does your OS look like? (Screen Shots..)

Post by gardinirafael »

Running at ARM Cortex M3 LPC1768 using UART0 driver.
Builtin applications:
Image
Result of standard commands
Image


Running at x86-32 using Bochs.
Image

Image
User avatar
BrightLight
Member
Member
Posts: 901
Joined: Sat Dec 27, 2014 9:11 am
Location: Maadi, Cairo, Egypt
Contact:

Re: What does your OS look like? (Screen Shots..)

Post by BrightLight »

I just thought, what's the point of having a mouse driver without a drawing program?
The black square is the mouse cursor, and it appears on top of all other objects. :)
Attachments
draw.png
draw.png (9.44 KiB) Viewed 7899 times
You know your OS is advanced when you stop using the Intel programming guide as a reference.
Techel
Member
Member
Posts: 215
Joined: Fri Jan 30, 2015 4:57 pm
Location: Germany
Contact:

Re: What does your OS look like? (Screen Shots..)

Post by Techel »

@omarrx024: nice os, but the link to your website results in a 403 ;)
User avatar
BrightLight
Member
Member
Posts: 901
Joined: Sat Dec 27, 2014 9:11 am
Location: Maadi, Cairo, Egypt
Contact:

Re: What does your OS look like? (Screen Shots..)

Post by BrightLight »

Roflo wrote:@omarrx024: nice os, but the link to your website results in a 403 ;)
Because the view limit has been reached, I'm working on GitHub Pages now. But I'm working too much in the OS and not in the site, lol.
You know your OS is advanced when you stop using the Intel programming guide as a reference.
spider75
Posts: 1
Joined: Wed Aug 12, 2015 2:51 am
Libera.chat IRC: spider--

Re: What does your OS look like? (Screen Shots..)

Post by spider75 »

klange wrote:Image
Image
Your OSes are amazing!
Post Reply