Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - zorm

Pages: 1 ... 31 32 [33] 34
481
General Discussion / Re: Project M
« on: July 13, 2005, 03:25:59 am »
Im taking up the stance that I'll believe it when I have a Longhorn CD in my hands that contains it. Its not really important what it is as I suspect it will get dropped or pushed back at some point.

On another note, it would be nice if Microsoft made a nice bash-like command shell.

482
General Discussion / Re: Independance Day!
« on: July 01, 2005, 11:21:32 pm »
I was in Canada for Canada Day last year. I must say after seeing those people its a good thing they weren't forced to fight. They'd have gotten their asses kicked.

483
General Discussion / Re: La Computadora
« on: June 22, 2005, 01:13:22 am »
AMD vs. Intel is really a matter of personal preference. I however wouldn't buy an AMD because ive yet to see anyone have a good experience with them. For my money I'd much rather have an Intel CPU on an Intel motherboard.

Im not so sure about the power supply you picked out. If you haven't already I'd do some more research and make sure you aren't buying a total pile of crap.

484
Im pretty sure for the drivers themselves they are only updated upon reboot. If you are talking about settings like resolution and such thats different. Network cards however can have driver updates without a reboot, but it will lose its connection and everything will be disconnected while the update takes place.

485
Take a webserver running on a microkernel os and a need to update the ethernet driver. In order for a clean pass along the webserver will need to stop accepting new connections. Finish serving ongoing requests/connections. Then the driver update can take place and the webserver can be restarted. But the site will have appeared to be down since the time when it stopped accepting new connections.

The other option as I mentioned in my last post is to 'preserve' the state of the driver and then update it and restore the state. Of course you run into complex issues if you want to do this.

There might be some other option I haven't considered yet *shrugs*

486
I'm pretty sure it will unless someone has come up with a magic plan for handling it. I suppose it could be possible but it would require lots more code to preserve the state of what is happening in the driver and to pass it along to the new one.

487
Im not saying monolithic kernels don't have to reboot just that there is no advantage of being able to restart a service for something like an upgrade without rebooting. I sorta doubt you'll be able to play counter-strike and upgrade your video card driver at the same time. Counter-strike will have to be turned off, so the advantage really isn't there.

On code size, im comparing the kernel+services of a microkernel to that of a monolithic kernel. A microkernel is going to have more because it has to communicate with the services. The microkernel's services also have to have more to talk to the microkernel. The actually code for getting work done should stay the same for both microkernel and monolithic kernel.

488
Sure a microkernel isn't going to be more coding and a larger size? I'll likely do a mix but mostly going towards monolithic. Im not sure a microkernel has any real advantages at the end of the day. If you want to upgrade a driver without a reboot you still have to disable/shut off everything thats accessing the device or you might run into lots of problems. Since you have to shut off your programs its causing downtime and well you might as well have just rebooted.

The ekokernel and nanokernel concept is way out there. It may look good on paper but I think if its ever tried it will be found to be not practical.

489
Operating System Development / Re: Testbed vs Emulator!
« on: June 19, 2005, 09:49:56 pm »
I plan on using both, emulator will be used when changing things and such. When I have a semi stable version it will be tested on a test bed.

490
Code: [Select]
use16
org 0x7C00

BYTES_PER_SECTOR = 512

RESERVED_SECTORS = 1
MEDIA_DESCRIPTOR = 0xF0

NUMBER_OF_HEADS = 0x2
NUMBER_OF_TRACKS = 0x50
SECTORS_PER_TRACK = 0x12

NUMBER_OF_SECTORS = NUMBER_OF_HEADS * NUMBER_OF_TRACKS * SECTORS_PER_TRACK
SECTORS_PER_CLUSTER = 1
NUMBER_OF_FATS = 2

SECTORS_PER_FAT = 1
SECTORS_PER_ROOT = 1
;This was taken from a post on the fasm message board
NUMBER_OF_CLUSTERS = (NUMBER_OF_SECTORS-RESERVED_SECTORS-(NUMBER_OF_FATS*SECTORS_PER_FAT)-SECTORS_PER_ROOT)/SECTORS_PER_CLUSTER
REPEAT (((NUMBER_OF_CLUSTERS+1)/2*3+3)+BYTES_PER_SECTOR-1)/BYTES_PER_SECTOR
NUMBER_OF_CLUSTERS = (NUMBER_OF_SECTORS-RESERVED_SECTORS-(NUMBER_OF_FATS*SECTORS_PER_FAT)-SECTORS_PER_ROOT)/SECTORS_PER_CLUSTER
if (((NUMBER_OF_CLUSTERS+1)/2*3+3)+BYTES_PER_SECTOR-1)/BYTES_PER_SECTOR > SECTORS_PER_FAT
SECTORS_PER_FAT = SECTORS_PER_FAT+1
end if
END REPEAT

SECTORS_PER_ROOT = SECTORS_PER_ROOT+(NUMBER_OF_SECTORS-RESERVED_SECTORS-(NUMBER_OF_FATS*SECTORS_PER_FAT)-SECTORS_PER_ROOT)-(NUMBER_OF_CLUSTERS*SECTORS_PER_CLUSTER)
ENTRIES_PER_ROOT = SECTORS_PER_ROOT*BYTES_PER_SECTOR / 0x20


jmp beginning
nop ;To fill the first 3 bytes of fat12


OEMName db 'MSWIN4.1'
BytesPerSec dw BYTES_PER_SECTOR
SecPerClus db SECTORS_PER_CLUSTER
RsvdSecCnt dw RESERVED_SECTORS
numFats db NUMBER_OF_FATS
RootEntCnt dw ENTRIES_PER_ROOT
TotSec16 dw NUMBER_OF_SECTORS
Media db MEDIA_DESCRIPTOR
FATSz16 dw SECTORS_PER_FAT
SecPerTrk dw SECTORS_PER_TRACK
NumHeads dw NUMBER_OF_HEADS
HiddSec dd 0
TotSec32 dd 0
DrvNum db 0
Reservered1 db 0
BootSig db 0x29
VolID dd 0x33333333
VolLab db 'NO NAME    '
FilSysType db 'FAT12   '

beginning:
 ;Your code here

Attached is a PDF explaining the Fat Format which also explains how this works. It covers FAT12, FAT16 and FAT32.

491
Operating System Development / OS Development Forum Information
« on: June 19, 2005, 06:36:20 pm »
Anything having to do with OS Development or other low level programming can be posted here.

Rules:
1. Try to stay on topic
2. No personal attacks

Hopefully this will be simple enough that everyone can follow it!

492
Operating System Development / Zorm's OS
« on: June 18, 2005, 04:35:04 am »
So I reread lots of stuff about OS Development and started coding.

Code: [Select]
use16
org 0x7C00

beginning:
cli ;disable interrupts
xor ax, ax
mov ds, ax
mov es, ax
mov fs, ax
mov sp, 0x0fff0 ;Setup stack

;set 320x200 Color display mode
mov ax, 4
int 10h

push 21
push loadingString
call putString

hang:
jmp hang

putString:
mov bp, sp
mov dh, 1 ;row
mov dl, 0 ;column
mov al, 1 ;mode
mov bl, 0x07 ;display attribute
mov ah, 0x13 ;Write String
mov cx, [bp+4] ;String length
mov bp, [bp+2] ;String
int 0x10
retn

loadingString db 'Zorms OS Loading...', 13, 10

emptySpace = 510 - ($ - $$) ;Can be $$ or beginning
times emptySpace db 0
dw 0xAA55

Tested in Bochs it just prints a message right now and yes I realize putString clobbers stack and such but ill fix that later.

Edit:
I should point out this is for FASM as thats what im using.

493
Operating System Development / Re: I'm gonna try some OS Development
« on: June 17, 2005, 11:06:13 pm »
Are you testing on an old system or in something like VMWare or Bochs?

494
Unix / Linux Discussion / Re: Distributions?
« on: June 17, 2005, 11:05:09 pm »
Gentoo can take awhile to install yes. Of course I personally don't see why that matters. On my 500mhz celeron I start bootstrapping before I goto bed and its finished by morning. Then I emerge system and that takes until sometime in the afternoon. After that more user interaction is required for installing the kernel and picking loggers and such. But this doesn't take very long. If you want X and KDE well god help you because ive heard of insanely long compile times for these in the range of days. But I think these users were exaggerating but who knows. So yes it takes awhile to install but I feel its worth it because I can control just about everything that gets installed.

495
Unix / Linux Discussion / Re: Distributions?
« on: June 17, 2005, 06:45:54 pm »
Gentoo here. Its nice, easy to use and has large support forums. Running a bleeding edge gentoo system can cause some problems, but once stuff becomes stable its about as easy as it gets. When the 2.6 kernel came out I decided to try it and installing it was a pain in the ass on gentoo, but now 2.6 is the default and if you want 2.4 its as easy as changing a profile name. Also, its getting easier and easier to install with every release as they improve the system and the documentation for it.

Pages: 1 ... 31 32 [33] 34