yeah, atm im working on:

*some sort of command interpreter.

Hint: limit commands to 3 chars; as each char is typed, jump to the code handling that char (get another char or execute command). Make your proggies query for options and params.


*some sort of graphics abstraction layer which should be easier than adressing the video
memory directly. also, the ability to scroll up and down the screen would be nice

check to see if the BIOS understands ANSI 3.64. If so, you should be able to use a subset of the VT100 escape sequences (insert line, delete line, move up/down, scroll up/down and the like). Either that or find an old VT100/VT200 or other dumb terminal and hook it to the serial port.


*some sort of filesystem - in comp/sci ive been studying linked lists and am thinking about making a basic linked list but dont fancy this in ASM

Go even simpler. Allocate, say, 16KB for each file and divide the floppy into blocks of that size. Fixed-size files. And a table at the front of the floppy that holds the name and length of each file; limit names to 8 chars.


*ways to manipulating the f/s and the ablity to save the text entered onto a floppy

my aim is to get it working nicely on my cyrix 286 compatible with 4mb ram and dual 3.5" floppies...

Just remember not to make it too complex. The KISS principle applies here. While it would be nice to have a complete file system, the simplicity of writing a simple, fix-file-size storage system will keep your sense of accomplishment moving along. While it would be nice to have a complete, nose-wiping user interface, a simple set of commands allowing you to edt, asm, lnk, run, lst, del, etc. would keep you moving along. While it would be nice to have a nice virtual memory subsystem, it'll be far easier to divide memory into chunks the same size as your floppy chunks: your assembler resides in one chunk, your asm source in another, and a third will contain the binary output, which you then write to disk and assign a name to. Maybe you use a RAM disk, so-to-speak; ala-Linux, you read the filesystem into memory and periodically write it back to floppy (in case of power outage or crash).

And remember, the third implementation of each piece should be sufficiently generalized to make further enhancements fairly trivial. First: hack something so it works. Second: rewrite it with a second function in it. Third, now that the light bulb is on, you can see how to rewrite it in a more generalized fashion.

ill report back in about a year lol ;)

yeah, atm im working on:

*some sort of command interpreter.

*some sort of graphics abstraction layer which should be easier than adressing the video
memory directly. also, the ability to scroll up and down the screen would be nice

*some sort of filesystem - in comp/sci ive been studying linked lists and am thinking about making a basic linked list but dont fancy this in ASM

*ways to manipulating the f/s and the ablity to save the text entered onto a floppy

my aim is to get it working nicely on my cyrix 286 compatible with 4mb ram and dual 3.5" floppies

the floppy seems soooo much easier to cope with than a drive. btw, im not using C, just ASM.

The only pitfalls im encountering are to do with interrupts. Ive decided not to use them really, and just to poll reguarly.

reackon i may be able to get to this stage in a year maybe? might steal some ideas from something like visopsys or menuet

If you wanted something equivalent to maybe MS-DOS, and working in asm, my guess would be that you are thinking of at least two years, and perhaps 40,000 lines of code.

If you wanted something equivalent to maybe MS-DOS, and working in asm, my guess would be that you are thinking of at least two years, and perhaps 40,000 lines of code.

:) im getting most of the basis for it from an book i found in the libary, and from the net, There is loads of ASM o/s code on the net.

hello,
u had a query of designing an operting system so i request u that if u got the answer then plz also tell me about that. what resources i need above all what i gotta do.

commented: There were 35 posts before yours, did you bother to read ANY of the answers given? -7
commented: also, learn English -5
commented: while( youve_not_found_the_answer ) start_reading_from_the_beginning(); -4

how and what software will you use to create your own operating system?

"how and what software will you use to create your own operating system?"

First and foremost you will need an assembler, a C compiler, a decent text editor, bochs (a virtual machine), virtual box (another virtual machine), and various small utilities, such as a hex dump program, which you will probably need to write for yourself.

but in the rarely occerence of the stated position above, the most significant thing is by trying to formulate an OS he will understand the guts of how an OS works goodness Luck, despite an OS being a hug task and a duanting process, you can still keep it small and practical, creating net OS's to repair computer complications would be a goodness application.

OS's are hard to make

commented: Thanks for resurrecting an old thread to make a useless comment. -3

C++, Visual Basic, Java, Dreamweaver. There are so many programs that you can use for make an interface for a windows. You only need some patience, knowledge.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.