Thoughts about an OS

Page 6/8
1 | 2 | 3 | 4 | 5 | | 7 | 8

By sjoerd

Hero (599)

sjoerd's picture

07-01-2003, 21:41

Uhm, 'let's use Unix' was a reaction to the 'i prefer new innovative technology'-statement of Mark.

If you read my other posts on this topic you'll see I am not that pro-Unix as you seem to think. Big smile

By Grauw

Ascended (9683)

Grauw's picture

08-01-2003, 00:55

Whow, a lot of activity.

I have not read the entire thread, but I want to comment a little on why a multitasking OS on MSX would be cool. Currently, I am multitasking a little bit already, with Compass it is quite easy to switch to DOS and back to Compass, and while in DOS the Compass environment will be 'suspended'. Compass 2 will go even further, and not only offer the ability to suspend Compass, but also DOS (or Basic). I simply *adore* Compass for this, it makes my life a 100% easier. If I need to refer to some text file, or look up a filename, I can simply go back to DOS for a minute and do what I want to do.

Basically, this is almost multitasking already, with the exception that in Compass its case programs are suspended when they're not running, and it can only 'multitask' 2 processes, one being Compass. TSR's are by the way also a form of multitasking. On top of that TSR's have to be specifically written for it (and MemMan is quite a mess, exception here, don't do this, but you can do that, all of which you have to remember too), while multitasking programs could just be written like any other normal DOS program.

Now it would be very very useful if there were *real* multitasking possible on MSX (Uzix already offers this), especially with environments like for example the Internet. I worked on a TCP/IP stack for MSX a few years ago, I got quite far but unfortunately due to a failing HD and lack of recent backup the project got lost. However I learnt from it a lot and felt that a true TCP/IP stack could only get to its right in a multitasking environment, and I although I liked the project a lot I won't work on it again unless I have that 'proper' environment.

I will give you an application example. Do you also hate the fact that you have to wait so long for LHEXT to finish unpacking files and can't do anything in the meantime? With a multitasking environment you could, and for example check out the README.TXT of the archive already... It is definately feasible, and the unpacking will not slow down by much, because the '2nd' command-prompt will primarily be waiting for input and the text-viewer will most of the time be waiting for the user to scroll down after he read the current page. These 'wait for input' loops barely require any processing power.

Another example, when writing a text document you need to calculate something. There are three options at the moment, quit the editor and go to basic, use an editor with built-in calculator, or grab a 'real' calculator. Option 1 is clearly a hassle, you need to save your document, loose the position you're on and have to restart everything afterwards. Option 2 is quite limiting, you'd need to use an editor which has such a thing (I know Compass has it but it's not a text editor, and Ted does not have it), and it's not easy to just 'implement' it in such an editor unless you are the original author or at the least have the source code. The last option is probably at the moment the easiest, however they cost money, you'll need to find it first, and simple calculators often can't perform the more difficult calculations, let alone decimal to hexadecimal converstions and such (even my expensive graphical TI-83 calculator can't do that by default).

With multitasking you could just run the calculator program and that would be it. Also letting it run on the background for later reference would be no problem. On my PC I use the calculator program a lot, and I find it very very useful.

Programming for a multitasking OS won't be much different from the current DOS programming, as long as you don't do stuff like multithreading. You can simply use the calls you always used in DOS2. A thing that *will* change though is that you can not access any hardware direcly anymore. Output to the screen *must* happen using the appropriate functions, the IN and OUT commands are a definate no-no, except for kernel-level drivers. However as long as there are good block-level functions (string output, block copy, block read, etc) there shouldn't be much of a slowdown. Most time-consuming activities are block-level and the OS routines can be expected to be optimized as much as possible. Therefore the overhead of the OS function call is rather neglectable.

~Grauw

By konamiman

Paragon (1112)

konamiman's picture

08-01-2003, 02:43

We should ask Microsoft for a MSX version of Windows XP. Not only for the stunning user interface, but also because of it's multitasking features and stability. I really think the new MSX deserves the best OS availible. And Windows XP has proven to be the best.

In my country, April's Fool day is december 28th. I knew that it is on april 1st on other countries, but never heard about january 7th...

Windows XP on my MSX? And having to ask M$ to register again when I plug a new cartridge? NO THANKS!! Besides I'm using that windoze right now, and it has proven to be same as the word "windows" has meant all those years: slow, unstable, eats all the resources of the computer.

The far M$ keeps from MSX, the better.

By DarQ

Paragon (1038)

DarQ's picture

08-01-2003, 09:40

Grauw, im glad i didnt have to explain that. You choose the perfect words to explain the basic of MT! So, there is definatly a need for such an OS and if it would not be shipped with the new MSX, then the community will have it done without ASCII/MSX-A or whatever company!

By sjoerd

Hero (599)

sjoerd's picture

08-01-2003, 10:30

My Windows XP proposal was just a reaction to the stupid (imho) 'let's use linux'. And MSX-A or ASCII or whoever could buy a Windows for MSX.

The new msx is going to be just another homecomputer (at least, I hope so), so why use Linux? Homecomputers are for fun, right? Linux is no fun at all. Besides that, Linux is not intented to be such a OS.

Why not make something new, nice and small in the spirit of MSX?

And konamiman, why are you using Windows XP when you dislike it the way you do?

And Mark, multithreading has nothing to do with running multiple OSes at the same time. It's just a way to use the cpu's execution units more efficient.

By DarQ

Paragon (1038)

DarQ's picture

08-01-2003, 11:20

please sjoerd, you didnt get the picture at all. I was talking about hyperthreading in context with 2 kernels. Hyperthreading makes the possibilities better!~

Oh and for the record (some said noone forces me to use winshit):

I am forced to use the dumbass OS. Simply because certain software is specificly designed for windows only. Unfortunatly, i need that software. As soon as i finish my study for C, i will probably switch to another OS that is based upon linux. Perhaps FreeBSD which is according to some, far superior to linux.

By sjoerd

Hero (599)

sjoerd's picture

08-01-2003, 11:55

Mark:

I believe I have a pretty clear picture of what hyperthreading is. You make it look like as if the two kernels will be executed in parallel while this is euh, very unlikely. Multithreading doesn't make it possible to run multiple programs on the same cpu at the same time.

And what software forces you to use Windows? Media Player? Outlook? Word? Internet Explorer? And when you finished your C study, you'll write your own versions right? Just to make sure you'll never have to use Windows again, right?

By DarQ

Paragon (1038)

DarQ's picture

08-01-2003, 12:28

well, im not about writing my own substitutes for the programs i use in win (1 of em is the lamest prog language of all, Visual BASIC) . Not at all. And no, i do not (and did not) suggest that hyperthreading enables parrallel computing on a single CPU. It is simply an enhanced version of software multithreading, without the software limits. Speed is on of the advantages. Clear?

By sjoerd

Hero (599)

sjoerd's picture

08-01-2003, 12:51

As I said, I know what hyperthreading is. In fact, it does enable parallel computing on a single cpu. All modern cpu's execute (or at least try to) multiple instructions per cycle. With hyperthreading Intel feeds the execution units from multiple streams. As far I can see, the limitations are the same as with software multithreading and is extra speed the only advantage. The ARM cpu of the new msx won't be using this, I think.

But we were discussing a new msx OS, right?

I think the new msx OS should recognize old msxdos programs and emulate them in a dosbox-like environment. The OS should be nice and small.

By DarQ

Paragon (1038)

DarQ's picture

08-01-2003, 12:54

xtra info:

Hyper-Threading Technology maakt het mogelijk dat één CPU als twee processors werkt, mits de software multithreaded is, wat tot een performanceboost van 30~40% kan leiden. De 0,13micron core van Northwood en Prestonia zijn in wezen identiek, met 512KB L2 cache en kloksnelheden van 2GHz en 2,2Ghz, maar kennelijk is de in Northwood aanwezige HTT feature (nog) niet ingeschakeld.

so, running 2 kernels is no problem at all.

edit: just as in my first post. According to the current speed of development, i would not be suprised if the technolgy, or similar, will be available at low cost

Page 6/8
1 | 2 | 3 | 4 | 5 | | 7 | 8