Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

OS BUILDING

Name: Anonymous 2007-11-01 20:54

GOALS:
Fit on a floppy disk
x86 Architecture
Basic File operations (Delete, Move, Create Dir, list, run)
Simple programs running on the CPU itself

How would I go about doing this. What language should I use?

Name: Anonymous 2007-11-04 5:45

>>33
The DOS addressing didn't come to mind... mainly because when I was writing stuff in the 90s the DOS system of referring to devices was totally inadequate. I have particularily fond memories of the debugging for sound cards and modems - with no drivers, no interface, no standards and very little sketchy documentation.

Also the listing for block devices in DOS is actually just 0,1,2... the characters are "added" by the user-called program and the directory string resembles an URL in that it has to be handled in pieces: first convert and set the possible device, then parse the directory and open the file.

I've been a Linux user for some time, but what I've gathered from some bits and pieces of programming on WinNT kernel, you basicly "address" the devices via standard API:s under the names like user32.dll, kernel32.dll and the functions listed therein. There is also a "syscall" instruction that works in about the same way as an interrupt that allows you to pass directions to the kernel from user-mode. Of course once your program is in the "well-protected" system-mode you can just pass instructions to the system like you did back in the day. But, to my knowledge beyound the .dll API:s there is no standardized way of addressing devices. In Gates-think: "users shouldn't worry of devices or they might develop to dangerous hackers and threaten the monopoly. On the other hand, proper (non-malware) programming is done by professionals under big projects with access to propietary resources such as the source and documentation for the firmware and drivers. Coding needs be neither simple or fast, don't worry about it."

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List