Thoughts on the Topic >OS<
----------------------
(C) Vladislav Semchenko
Exit ZXTime11 I'm pleased to admit
but I was surprised (I couldn’t believe my eyes when
I saw my name among the newspaper authors).
The very thought of using rst 0
arised from the desire to apply the principle
exit programs on Spectrum'e (jump
to address zero in TR-DOS), then "about
poured out" for a week, finally,
seemed worthwhile, was documented
so as not to get lost in a pile of papers c
other notes. And the note itself would-
la is not finished. But I must admit that
what is the outcome of the case (publication of the article) me
I was very intrigued - it was interesting
How will people react to this idea? And so
Finally today I "downloaded" ZXTime12.
I can’t say that I was very happy -
there was such a negative attitudetowards the end-
options, but it was nice to see what
a storm of emotions was caused by a simple note not
even supported by a diagram. In general, the spa
thank you for publishing. In principle, after you
progress ZXTime11 I was going to write about
should, but now I understand that this is not
makes sense.
Completing the discussion about ZeroOS pop-
I try to answer the “assaults” from memory.
Switch to eZ80, Z380 or, as a last resort,
tea Z180 in principle necessary and possible
possible step, but it is extremely difficult
cal. Previously it was assumed that the main
The problem is related to the degree of joint
tumoctu percent, but in practice it turns out
It turned out that the main problem is where and how
get these same eZ80, Z380. What about
concerns code compatibility, then eZ80,
Z380 is compatible from top to bottom with Z80 and Z180
even including those previously considered inappropriate
mented operations withhalves in-
dex registers. Some are sometimes used
The available undocumented commands may
be intercepted via TRAP. Problems
will arise only with "intersecting"
commands and ports, but this is a fee for co-
perfection. Ultimately, at 3OMHz
for Z380and 5OMHzforeZ80 problem some
which programs can be solved by emulation
one processor on another. But in principle
ne ZeroOS has the right to exist
at least because it has hardware
mechanism for protecting kernel memory OS from damage
Denia.
Now as for OSin general, not
depending on the design implementation. B
during discussions on this topic with members of the month
of the dark party the following steps were taken:
water:
1.If anddo it on Spectrum's OS
only multitasking with parallel processing
by filling out several (at least two)
dacha). Let it be several times
slower, but due to the low speed
Spectrum's actions will eliminate "downtime"
computer when performing long periods of time
operations (usually meaning
Archiving and write/read operations
disk drive).
2. In some cases it is possible npumehe-
corporate multitasking. But in
In this case, it is almost always necessary
can display program data on the screen, and
this means the program itself must be calculated
tanna for windowed operating mode. At the same time
It should be noted that in a dual-task solution
In this case, a simple division of the screen into
two parts. Split screen horizontally
umbrellas are more convenient when displaying text information
formation, and vertically - with graphical
coy.
3. Execution of even one program
in the presence of OSi is associated with the need
protection of the OS kernel in case of program failures (here
simply pressing RESET will not bypass
tucb, the OS is no longer in ROM).
4. In multitasking mode there is
another problem, namely: protection of pro-
ctpahctb program memory from each other.
Our opinions are divided on this matter
and there are two solutions:
4.1. Functions for selecting/removing fragments
memory cops to programs to give "to co-
news" OSi.
4.2. Same as 4.1, but additional
but requires the introduction of hardware mechanics
low memory protection. This option is for me
more to your liking and it’s not even that
I'm a hardware guy, I just rely on
perhaps in the matter of protecting memory too much
naively.
5. The axis should not be assigned to any
to any one user in-
interface (a la DOS, Norton or Windows).
The user must have the right to choose
choose which interface to work with. to me
I personally prefer the Norton-shaped in-
interface, and for some, perhaps Windows'
figurative.
It is also interesting to note that during
reasoning wasit was concluded that
as suchOSSpectrumin general, then
not needed - practically no one will
use system calls. Everything
the fact is that for many years
spektrumists wrote their programs "c
zero" only occasionally using system-
with calls TR-DOS, and even then not always.
This is, if you like, a kind of pro-style
programming That's why, how do I
It seems that IS-DOS lost. B defines
In a real sense, this is of course a big plus -
higher class of programmers, but from a different background
sides and minus - almost impossible
work of "old" programs on the new "hardware"
ze". From all of the above we have done
conclusion that MiniOS is necessary
but an acceptable minimum of functions without all
many bells and whistles such as symbol printing, clearing
screen, search for files in the table
cryptors and the like. Perhaps yes-
the same creation of the mhoroypobheboro system
expansion to hardware, for example this can
have the following form:
1) Expert level.It is assumed
that we know exactly what kind of hardware we are using
we will work (FDD or HDD, General
Sound or DMA Sound Card). That is, creating
a program for system purposes is given.
Here work with iron is carried out directly
(IN/OUT) or almost directly (RST, port,
data). I think the last option
more successful because they are not used
real ports and the procedure itself RST can
can search for real addresses
which reflect what we need
ports.
2) Programmer level. At this level
outside there is the necessary limit mini-
number of system calls like: count tab-
face file descriptors, read/write
send the data of such and such a file and so on
good. The programmer does the rest of the work.
performs independently.
3) Beginner level. In this case
the beginner uses in the writing process
configuring your program one or more
libraries, not necessarily standard
bathrooms, but accompanied by management c
description of functions. During the compilation process
the beginner's program will include-
remove the necessary functions and it will work
quite normal application (applica-
tion) to the OS. Although without possible opti-
mization. But if a beginner wants
it remains possible to optimize
the resulting assembly text.
Advantages of the above structure
obvious, since there is no need
the ability to carry a whole bunch of them in the system often
unnecessary and outdated (in the sense of new
faster and more optimal) functions. B the same
time for beginners there will be an opportunity
implement your projects. Although it's real
even if it is possible to “accustom” people to work,
thief under the AXIS - then only at the level of ek-
cnepta. The OS itself in this case is from-
contains the functions of a task manager (including
including eliminating conflicting applications
tions), device manager (address spoofing)
ports), and finally the file manager
fishing (commander built into the system, yes
and then with the possibility of replacement).
As for the implementation of multi-part
dacha on existing hardware, then I personally
I doubt the possibility of this, although
It would certainly be better that way. In principle and y
we had the same dilemma - the program
mist advocates for a purely software solution
question, hardist - for the hardware. Then
there is an eternal dispute among physicists
(hardists) and lyricists (programmers). B
in the end it's worth it. In principle, I do not deny
I know that everything can be solved only by
program level, but the best that is possible
do exactly this, it's already been done and that's it
MythOS).
- - -
Share your thoughts about the article