Page 1 of 2

SeaKernel 0.02 Beta 3 test request

Posted: Sat Jun 28, 2008 1:05 pm
by piranha
This isn't a major release, but it is a release and a test request.
SeaKernel 0.02 Beta 3. The last post I made for a request was Beta 1.

Anyway, new features:
  • New Improved Scheduler: Much faster, and all the features work. I posted it in Test Forum under 'Some Codiness'.
    Better Signaling: Faster, more stable.
    New Improved Shell. Better looking, with new features.
    File Handles and Process Resources.
See the Changelog for more.

I'd like feedback on the new shell, the 'help' command, and the new things. I'd also like this tested on some real machines.

And everything that it does is run in usermode and as a separate app. All system calls.

In the shell, you don't have to specify to run a program with a period. Now, '.ls', 'ls', '/ls' or even './ls' will work.
ls: List files.
mrt: Task Monitor.
The rest is explained in the 'help' command.

Also, does the build system work for everyone? And 'make config'? The README has some info too.

[Floppy Image]: Here is a new floppy image: >>here<<. Note: This fixed some bad bugs mentioned in later posts.
[Source]: http://code.google.com/p/seakernel/source/checkout
To build from source, type 'sh ./build'.
Building from source seems to fix a bug, that fix is scheduled for next release.
EDIT: To login, type '1' and then 'root'. And enter.
If you have questions or comments, please ask/say.

Thanks, JL

Re: SeaKernel 0.02 Beta 3 test request

Posted: Sat Jun 28, 2008 2:02 pm
by inflater
First to say, I'm not gonna look into the source code (and I didn't do that ever in announcements section), so, let's review the outer workings:

- The new shell looks pretty nice. I like the layout. :)
- One small bug: the time is "frozen" until you press the enter key. I had 21:43 on my main PC and 21:40 on your OS, when I pressed ENTER it updated. Maybe a hook to IRQ0 will help. :)
- When I typed "h" and pressed ENTER, the system rebooted. Is that a error? Because when I ls'ed, I've saw an entry named "/h", so I think it is on purpose.
- Support for the numeric keypad would be nice :)
- A little bug: when I typed "die" and 0 on the numeric keypad and ENTER'ed it, it was processed as "dieÉ" and it resulted in system halt (as if like "die2" was written)
- I tried to full your command line (typing "asjkdhkaasdj" until the end etc) and then I "backspaced" the text, but the "last" character at the border wasn't removed, like this:

Code: Select all

                  | Welcome
Sea$ ... .asf. _ f| Type help
but it doesnt matter much.
- The time was then "21:43 PM", but when you want to write it in the USA 12-hour style, wouldn't it be "9:43 PM" ? Because if you would like using the 24 hour style, PM or AM isn't added at the end.
- Typing "modlst" results in page fault at "0x0x60080ffd - eip: 0xC0081C00". A little bug: remove one "0x" from the "at ..." section. BTW you could disable the keyboard interrupt during error handlers ;)
- Putting on a FAT12 formatted floppy disk wouldn't result in a failure when using ls. :shock: It'll display the same directory contents just like on a SeaOS floppy. The same applies for executing OS modules, the modlst and pagefault. Is 'ls' hardcoded in your kernel? ;)

Sorry for being picky, I do that everywhere :lol:.

Apart from that, nice OS. More better from the Beta 1.

Regards
inflater

Re: SeaKernel 0.02 Beta 3 test request

Posted: Sat Jun 28, 2008 2:27 pm
by piranha
Thanks inflater.
A little bug: when I typed "die" and 0 on the numeric keypad and ENTER'ed it, it was processed as "dieÉ" and it resulted in system halt (as if like "die2" was written)
Hmmmm.....Well, SeaKernel only supports US keyboards at the moment. I don't know if thats the problem.

The /h is the help file. When help is typed, the /h file is copied onto the screen (using file handles, so it's also to test file handles).
I will work on the time bug.
And yes, I need to make the filled cmd line better.

modlst is a text file. The kernel does not (yet) check for if a file is executable before it executes it. So typing '/modlst' will result in a pagefault because that is a text file.

No, nothing is hardcoded. The shell is a seperate app, so is 'ls'.

The keyboard keeps enabled because when the pagefault occurs the task is killed. The kernel is still goin'.

Thanks, JL

Re: SeaKernel 0.02 Beta 3 test request

Posted: Sat Jun 28, 2008 2:37 pm
by babylon2233
Nice work. A lot of improvements from previous release. Hopefully it will get better.

Re: SeaKernel 0.02 Beta 3 test request

Posted: Sun Jun 29, 2008 10:22 am
by 01000101
hey, it looks good up until the point where I cant type anything.

In VPC2007 it seems that the keyboard doesn't work at all. The OS got all the way to the shell fine, but I couldn't enter a single command.

Re: SeaKernel 0.02 Beta 3 test request

Posted: Sun Jun 29, 2008 10:37 am
by piranha
Thanks babylon2233.

@ 'E': Thanks, I'll test that out....odd.

Does the build system work well?

-JL

Re: SeaKernel 0.02 Beta 3 test request

Posted: Sun Jun 29, 2008 1:41 pm
by lukem95
seems to work pretty well on VPC2007... what version is 01000101 running?

after starting 22 tasks the list went blank, slightly odd... it flickered every now and then as i continued to add . i got to 35 and it appeared to still be working fine, how many can it handle?

oh and also when typing test every now and then "random stuff..." appeared for about 1/3rd of a second.

+ i just noticed helph, testk, etc call the command... for example "test" with any amount of any letters after it will still work fine.

++ i while stress testing your kill i stopped tasks 2, 3 and as i killed task 4...

Image

the OS locked up at this point

- upon trying it again i created a task, killed it, created another and as i tried to kill this (repeatedly) nothing happened. When i created yet another task though, i could kill that one. This went on and in the end i could only kill tasks with an even Task# like so:

Image




sorry about the odd format of this post, i started writing it as i was still testing, and kept finding new things. I really can't be bothered to reformat it all, but to summerise:

@ = Good
@ = Bad
  • Lots of tasks works fine @
  • Nice looking shell @
  • Login is quite hard to use @
  • List of processes cuts out at 22 tasks @
  • Kill command is a bit dodgy @

Re: SeaKernel 0.02 Beta 3 test request

Posted: Sun Jun 29, 2008 2:14 pm
by piranha
Yes, the mrt program cannot handle more tasks than fits the screen. I need to fix that.

The 'Random Stuff...' message is printed before '/mrt' is run by the test program. The mrt program clears the screen, so that message sometimes disappears.

The kernel can handle many tasks. If all are running, the it's 15 before it gets slow. But thats not realistic. Many times a process will be waiting for something (IO, input, ISR, etc) and the task will be set to task_interruptible, and a wait flag pointer set that the scheduler checks to see if the process is done waiting.
In the test program, all new tasks become task_interruptible. So it's like a huge number (I haven't tested). Actually, it's like 60, but thats from MM issues.

-JL

Re: SeaKernel 0.02 Beta 3 test request

Posted: Sun Jun 29, 2008 3:18 pm
by piranha
+ i just noticed helph, testk, etc call the command... for example "test" with any amount of any letters after it will still work fine.
Yes, I know. I'll work on that...

Thanks you, I am creating a list of bugs and TODOs to work on later (too busy atm).

-JL

Re: SeaKernel 0.02 Beta 3 test request

Posted: Sun Jun 29, 2008 8:47 pm
by piranha
Well...I fixed the problems with mrt and test and tasking. Turns out that my kill_task function was written badly.

I was able to produce all of your problems lukem, and after my fixes, I can't reproduce any of them.

I can't believe my kill_task function...It wasn't to kill the task that I wanted, and then it freed memory from other tasks....Geez. It must've been written by a drunk idiot (hey, wait...).

If you want the most updated version, please build from source (which takes care of many angry bugs)

-JL

Re: SeaKernel 0.02 Beta 3 test request

Posted: Mon Jun 30, 2008 7:24 am
by octa
it was good..
but login screen was difficult to understand !!!! and backspace did not work in password
after reaching the end of screen it halted !!!!

and coming to shell after reaching the end of line it does not goes to next line..
and it would be helpful if "bad command" is printed...

tasks had few problems..
there was page fault when i view the task after i kill a task in middle..
and wat about ls.. i could not do anything wit folders..

caps lock did not work and also numlock..

leaving this.. the appearence was nice and it was done well..

Re: SeaKernel 0.02 Beta 3 test request

Posted: Mon Jun 30, 2008 8:02 am
by octa
one more thing.. even if i type.

Code: Select all

clear something
it executes clear... !!!
tat should be fixed !!

Re: SeaKernel 0.02 Beta 3 test request

Posted: Mon Jun 30, 2008 8:03 am
by Combuster
prave wrote:one more thing.. even if i type.

Code: Select all

clear something
it executes clear... !!!
tat should be fixed !!
In most cases, that wouldn't be a bug at all - you execute "clear" with "something" as its argument

Re: SeaKernel 0.02 Beta 3 test request

Posted: Mon Jun 30, 2008 10:46 am
by piranha
after reaching the end of screen it halted !!!!
Could you explain?

Directory support is scheduled for the next version.

Here is a new floppy image: >>here<<

Try that.

-JL

Re: SeaKernel 0.02 Beta 3 test request

Posted: Mon Jun 30, 2008 9:56 pm
by octa
justener wrong username 4 or 5 times when it comes to end of screen.
the screen is not cleared and i cannot logon..