Clicker 0.8.8 is out - HDD tutorial too

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.
Post Reply
User avatar
Pype.Clicker
Member
Member
Posts: 5964
Joined: Wed Oct 18, 2006 2:31 am
Location: In a galaxy, far, far away
Contact:

Clicker 0.8.8 is out - HDD tutorial too

Post by Pype.Clicker »

finally, i have it all : the source distribution and the disk image. This is the first 'full' release of Clicker with the disk driver, so i would be very interrested by reports you could submit ... but remember it's still a bit experimental ... if you have no crash machine, you should better keep it in the BOCHS for now...

the proposed test sequence is:

Code: Select all

quick advance with [SHIFT+SPACE]
confirm initialization completion with [ESC]
move to module manager with [SHIFT+F4] [CTRL+F5]
load 'ioman' module
move to KDS browser with [CTRL+F2]
informations about detected disks is in system.device.disk.* check everything is fine before going further.
go back to module manager
load 'testio'
move to the testio page with [CTRL+F6]
run the "readMBR" test
check the hex bytes correspond to the partition types on your system.

if you're interrested in hacking the sources, i suggest you get a look at http://clicker.sourceforge.net/forums/i ... hreadid=23

a tutorial about disk driver design in multitasking environment should come out in the few next days :)
Ozguxxx

Re:Clicker 0.8.8 is out

Post by Ozguxxx »

a tutorial about disk driver design in multitasking environment should come out in the few next days

That would be really cool, please anounce it "LOUDLY" ;D when you finish.
User avatar
Pype.Clicker
Member
Member
Posts: 5964
Joined: Wed Oct 18, 2006 2:31 am
Location: In a galaxy, far, far away
Contact:

Re:Clicker 0.8.8 is out

Post by Pype.Clicker »

<loudly> it is released</loudly>, but for now SF's website doesn't respond :(

lemme know if there are obscure parts, etc. that's my first "real" tutorial ever :)
Ozguxxx

Re:Clicker 0.8.8 is out - HDD tutorial too

Post by Ozguxxx »

Well, at a quick glance it seems fairly complicated I will try to finish reading and "digesting" it, which is hardest part, as soon as possible (unfortunately I can have very little time nowadays) and try to respond, but I think I can get some basic design ideas to adept to my code, which is what I am looking for ;D, thanx...
User avatar
Pype.Clicker
Member
Member
Posts: 5964
Joined: Wed Oct 18, 2006 2:31 am
Location: In a galaxy, far, far away
Contact:

Re:Clicker 0.8.8 is out - HDD tutorial too

Post by Pype.Clicker »

a section about mutual exclusion handling as been added ...
Ozguxxx

Re:Clicker 0.8.8 is out - HDD tutorial too

Post by Ozguxxx »

Finally... ;D

I could make a quick look at tutorial and with a few notes, I am ready to (rock &) roll.

Note: I am sorry Pype, I have lots of thingz in my mind nowadays, I could not check tutorial thoroughly, I will make some simple comments here but more will surely be coming. (I dont know when ;D)

Introduction: Firstly I want to tell that I am not the one who is responsible for criticizing this tutorial, or the one who really has enough knowledge and experience to criticize this tutorial. I must say that there is a lot to talk about this tutorial other than anything I say here, in all contexts, but I will just make my OWN interpretation of tutorial. I cannot be held responsible for anything that is wrong about anything or anybody. here we go:

Devlopment (is there a mistake here?) of a pmode multitasked disk driver by Pype. Original tutorial can be downloaded at http://clicker.sourceforge.net/docs/tea ... mming.html

Language:
Concise and explaining. Pype has done a great in literary work. An impressive beginning with scientific abstract, intended audience headers. BTW I could not understand intended audience??? Lacking of contents will be told later. Nice format with source code set aside, paragraphs well oriented, good fonts choice in italics and bold for encouraging readibility, Figures are not very self explaining but I will talk about them later. Titles are not very scholar type: they are self-explaining, oriented with paragraphs. Bulleting and numbering is added at right places to get attention. No important spelling mistakes as far as I could observe.

Contents:
I think there is a severe lack in contents. Text should be dealing with disk driver considerations in a multitasked, multiprogrammed environment important multitasking issues about mutexes and synchronization is added at the very end. I think reorganization should be considered.

I think text loses its general to specific approach to disk driver context at source codes at 4th page. Definitely adding the source code of about this length will discourage people. Source code, since it is a lot harder than tracing algorithms, is making person afraid of text. BTW, there is alot of things that a person should learn from page 4, I mean while trying to understand source code, one should also relate source code to design of driver structure graph showing queue scheduler, ioDiskList, ataController and ataRequest structures, but on top of all of these one must try to adopt the ideas in the text to his/her design, which is one's ultimate aim. With this much source code, a person cannot do all of these at one time. In that sense, text is too specific because of source code a person cannot do much but the things that source code says. Text mostly deals with Clicker and Mobius approach to disk driver, which is discouraging.

There are good ideas that I got from the text, like submit()ting request handler to scheduler and then a kind of "registering" its own handler, multispace buffer supporting virtual memory manager(which I definitely will implement too), sorry I could not read mutex parts thoroughly, so nothing really to say about them. BTW, I did not like very much the idea of PIO. Text does not issue DMA considerations anywhere but deals firstly with PIO, at least a brief introduction to DMA considerations would be good.

Prerequisites are very much generic, I mean a person ready to write a multitasking pmode device driver would most probably accomplish almost all of these prerequisites. Some theoritically thinking prerequisites would do more sense. I mean from point of view of a computer science person what are the prerequisites of a multitasked pmode disk driver? is a more meaningful prereq. for beginning.

As a last word, text is very much high level, I think a person of my experience in OS development will find it not very useful in the sense that it seems as a kind of reference to some specific implementation of disk driver rather than a tutorial.

-FIN-
Ozguxxx

Re:Clicker 0.8.8 is out - HDD tutorial too

Post by Ozguxxx »

Hey im sorry, link is not working, get tutorial from above Pype's link. :-[
User avatar
Pype.Clicker
Member
Member
Posts: 5964
Joined: Wed Oct 18, 2006 2:31 am
Location: In a galaxy, far, far away
Contact:

Re:Clicker 0.8.8 is out - HDD tutorial too

Post by Pype.Clicker »

thanks for your feedback, ozgun. i'll make a second pass on my text asap, including my recent discoveries on ultra-dma (imho, ISA dma for disk drive doesn't worth the investment, as it's slower than PIO on most modern PCs ...) and i'll re-think the example code (probably will write it in Java and explaining what helper classes are expected to do, rahter than in Clicker-specific C ...)
Ozguxxx

Re:Clicker 0.8.8 is out - HDD tutorial too

Post by Ozguxxx »

Hey, I think clicker specific code is ok but I mean it should be more readable and should not discourage readibility, I am always afraid of tracing code. I think java idea is great since it is heavily dependent on classes and oop so it will enhance visualization of design in the tutorial.
User avatar
Pype.Clicker
Member
Member
Posts: 5964
Joined: Wed Oct 18, 2006 2:31 am
Location: In a galaxy, far, far away
Contact:

Re:Clicker 0.8.8 is out - HDD tutorial too

Post by Pype.Clicker »

haven't got the time to update the tutorial already, but i found back
collected infos about Ultra DMA i've found earlier...

these will be the basis of the "What about DMA transfers" section...
Post Reply