flat assembler
Message board for the users of flat assembler.

Index > OS Construction > Kernel reability (+ FAT question)

Author
Thread Post new topic Reply to topic
narada



Joined: 15 Feb 2008
Posts: 77
Location: Ukraine, Dnepropetrovsk
narada
Sorry for my eng )))

1) So, the Minix-3 OS have a reability module that reloads a driver when it crashes. How this is works??? I mean, how it can works on some abstract OS where processes did not have messages or some... they are fully independed and did not responds on kernel messages?

2) Have anybody FAT12/16 module in fasm, minimum functions - only to load 2-3 files from root dir. I need this to include in my microkernel, but it will be no more 16kb, so needed minimalistic functions (I mean FAT module + АВС module (w/o interrupts or BIOS))

_________________
http://www.omegicus.com
Post 12 Mar 2008, 20:07
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
narada



Joined: 15 Feb 2008
Posts: 77
Location: Ukraine, Dnepropetrovsk
narada
not ABC - Floppy Controller (FDC ))))
Post 12 Mar 2008, 20:08
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 17716
Location: In your JS exploiting you and your system
revolution
I'm not really sure what you are asking but here goes:

1. I expect that the OS will know that a service has crashed when it causes an exception. This means the service has tried to access memory or IO it does not own or div/0 etc.

2. An FDC module without the BIOS may be include in some of the hobby OSes that are discussed here. Have a look at the source codes for the FDC drivers, what you want may be there. The other part about the FAT reader should be easier to find, but if you can't find one then coding it should be quite simple.
Post 13 Mar 2008, 08:49
View user's profile Send private message Visit poster's website Reply with quote
narada



Joined: 15 Feb 2008
Posts: 77
Location: Ukraine, Dnepropetrovsk
narada
Yes, but when process has crashed like all time loop", when it does not have an exception error, like this:
"
@x:
jmp @x
"
How kernel can detect this???
Post 13 Mar 2008, 12:28
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
edfed



Joined: 20 Feb 2006
Posts: 4242
Location: 2018
edfed
watch dog.

watcha bootcha goot doggy style.
Post 13 Mar 2008, 12:55
View user's profile Send private message Visit poster's website Reply with quote
narada



Joined: 15 Feb 2008
Posts: 77
Location: Ukraine, Dnepropetrovsk
narada
what dog??? ))
Post 13 Mar 2008, 18:12
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
edfed



Joined: 20 Feb 2006
Posts: 4242
Location: 2018
edfed
WATCH DOG .

google:> watch dog, CR
Post 13 Mar 2008, 18:37
View user's profile Send private message Visit poster's website Reply with quote
narada



Joined: 15 Feb 2008
Posts: 77
Location: Ukraine, Dnepropetrovsk
narada
thanks, but this is not the same I searched.
See, process have no any relations with outer system, including kernel or drivers or timer. Simple program that only loops (@x: jmp @x) - so how can any timer or kernel find this bug???
My idea to see how many CPU time it have and if process use CPU very hard, then kernel do "priority = (priority - 1)". Until the priority = idle. So, the process already will not crash all system. This is not for processes with prioryty level = realtime.

The idea of sending signals to process I wish realize only on the drivers-system, becouse EVERY driver must have (in my idea) a function of replying on kernel reability-signals, but for the others programs this method is incorrect.
Post 13 Mar 2008, 19:17
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
edfed



Joined: 20 Feb 2006
Posts: 4242
Location: 2018
edfed
sure it is the same. but there are a lot of variants in watch dogging.

the principle is to verify the access to an instruction periodically.

at main label, for example, we can directlly execute a reset counter instruction.

then, the counter, connected to timer IRQ, will decrement each tick.
if the counter = 0, then, the program is in an infinite loop.

then, it's time to jump again to main. and then, the program goes out of the loop.
Post 13 Mar 2008, 19:54
View user's profile Send private message Visit poster's website Reply with quote
narada



Joined: 15 Feb 2008
Posts: 77
Location: Ukraine, Dnepropetrovsk
narada
Yes 100% with you. )) but it's only for (in my idea, see text below) "drivers-system".

But how make this with other, "user-mode programs", they can don't have "a reset counter instruction" - the programmer may not have to think about OS-architecture. Understand me? )))
Post 13 Mar 2008, 20:32
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
edfed



Joined: 20 Feb 2006
Posts: 4242
Location: 2018
edfed
is it the os construction section?
if yes, then, implementation of watch dog timer is part of the question.

and application programmer can think about it if the os have a service for. it's to the system constructor to implement watch dog.

then when launching a program, the system can set a breakpoint in the program.this break point will reset the counter.

cooking without cooking (running without running, buy without buying, sleep without sleeping..etc...), there is the ambition of programmers?

if you want a feature in your programs, it is to you to do that.
Post 13 Mar 2008, 20:55
View user's profile Send private message Visit poster's website Reply with quote
narada



Joined: 15 Feb 2008
Posts: 77
Location: Ukraine, Dnepropetrovsk
narada
idea with breakpoint - the best. Thanks )))
Post 13 Mar 2008, 22:53
View user's profile Send private message Visit poster's website ICQ Number 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-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.

Website powered by rwasa.