flat assembler
Message board for the users of flat assembler.

Index > OS Construction > Searching for a Tutorial on how to write a Hybrid Kernel

Author
Thread Post new topic Reply to topic
dstyl



Joined: 23 Jul 2015
Posts: 67
dstyl 09 Jan 2016, 19:21
Im searching for a Tutorial how to write a simple Hybrid Kernel.
But couldnt find one. If you know one please link it.
Thx in Advance.
Post 09 Jan 2016, 19:21
View user's profile Send private message Reply with quote
ACP



Joined: 23 Sep 2006
Posts: 204
ACP 09 Jan 2016, 22:16
I doubt you will find one that will fit your needs judging from your question, but if you need a good starting point I'd suggest to read this book: Modern Operating Systems (4th Edition)
Post 09 Jan 2016, 22:16
View user's profile Send private message Reply with quote
dstyl



Joined: 23 Jul 2015
Posts: 67
dstyl 09 Jan 2016, 22:51
Thank you for your answer. Sadly the recommended book is to expensive for me. I would favour a quick Tutorial to get me on the right path.
Post 09 Jan 2016, 22:51
View user's profile Send private message Reply with quote
sleepsleep



Joined: 05 Oct 2006
Posts: 12737
Location: ˛                             ⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣Posts: 0010456
sleepsleep 10 Jan 2016, 01:45
google PH.Modern.Operating.Systems.4th.Edition.2014.3.pdf
Post 10 Jan 2016, 01:45
View user's profile Send private message Reply with quote
dstyl



Joined: 23 Jul 2015
Posts: 67
dstyl 10 Jan 2016, 16:45
Ive read the pdf idoesnt contain any information about hybrid kernels. It mentions the microkernel part of xxnu and wondows nt and thats it. But thx for the tipp the book is really good.
Post 10 Jan 2016, 16:45
View user's profile Send private message Reply with quote
cod3b453



Joined: 25 Aug 2004
Posts: 618
cod3b453 10 Jan 2016, 23:44
It sounds like your focus is on the "hybrid" part - all this refers to is how you partition your drivers/services with respect to system (ring 0) and user (ring 3) mode. Most of this will be the same across all patterns (monolithic/hybrid/micro) except for the privileged instructions (ring 0 only) and IO access or IRQ ISRs (both can be any ring or restricted - up to you). The problem is this means it's actually not simple - you'll want to read about monolithic and micro then decide how you want to proceed.

The two major factors are: security vs speed and/or complexity of kernel vs drivers/services. Do you have any particular preferences for these?
Post 10 Jan 2016, 23:44
View user's profile Send private message Reply with quote
dstyl



Joined: 23 Jul 2015
Posts: 67
dstyl 11 Jan 2016, 22:00
Thx for answer.
My goal is to create a simple hybrid kernel demo.
Kernel should be as simple as it gets. Drivers should be handled by an iokit.
A part that i dont know how i will call it will manage the filesystem.
all of them should lie in ring0.

Thats my plan until now.

PROGRAMS - a SHELL for example
----------------------------------------------
LIBS - ?AUDIO? - other stuff
----------------------------------------------
FILESYSTEMMANAGER - KERNEL - IOKIT

im trying to get a similar structure to the xnu kernel

Image

Im an absolute beginner in os construction and im having at the moment trouble with a very basic kernel that only can print strings and start a shell and read basic keyinput, but only to videomemory.
I just want to know how to get the layout for a hybrid kernel wright at the beginning.
If you want you can look at the current source. Maybe you find some stuff that i made wrong.


Description:
Download
Filename: aXIU.zip
Filesize: 81.21 KB
Downloaded: 1377 Time(s)

Post 11 Jan 2016, 22:00
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.