Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
OS-9
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Comparisons with Unix== OS-9's notion of processes and I/O paths is quite similar to that of Unix in nearly all respects, but there are some significant differences. Firstly, the [[file system]] is not a single tree, but instead is a forest with each tree corresponding to a device. Second, OS-9 does not have a Unix-style [[Fork (operating system)|fork()]] system call—instead it has a system call which creates a process running a specified program, performing much the same function as a [[fork-exec]] or a [[spawn (computing)|spawn]]. Additionally, OS-9 processes keep track of two "current directories" rather than just one; the "current execution directory" is where it will by default look first to load programs to run (which is similar to the use of PATH [[environment variable]] under UNIX). The other is the current data directory. Another difference is that in OS-9, grandparent directories can be indicated by repeating periods three or more times, without any intervening slashes (a feature also found in [[4DOS]]/[[4OS2]]/[[4NT (shell)|4NT]]/[[Take Command (command line interpreter)|TC]]). For example, <code>..../file</code> in OS-9, is similar to <code>../../../file</code> in Unix. But <code>.</code> and <code>..</code>, with just one or two periods, each work the same in both OS-9 and Unix. OS-9 has had a modular design from the beginning, influenced by notions of the designers of the [[Motorola 6809|6809]] and how they expected software would be distributed in the future (see the three-part series of articles in January–March 1979 [[Byte magazine|''Byte'']] by Terry Ritter, et al. of Motorola who designed the CPU). The module structure requires more explanation: OS-9 keeps a "module directory", a memory-resident list of all modules that are in memory either by having been loaded, or by having been found in ROM during an initial scan at boot time. When one types a command to the OS-9 shell, it will look first in the current module directory for a module of the specified name and will use it (and increase its link count) if found, or it will look on disk for an appropriately named file if not. In OS-9/6809 and OS-9/68000, the module directory is flat, but OS-9000 made the module directory tree-structured. The OS-9000 shell looks in one's alternative module directory for a MODPATH environment variable, analogous to the PATH variable in all versions, indicating the sequence of module directories in which to look for pre-loaded modules. Modules are not only used to hold programs, but can also be created on the fly to hold data, and are the way in which OS-9 supports shared memory. OS-9/non-68000 supports [[Pthreads|POSIX threads]]. A single process can start any number of threads.
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
OS-9
(section)
Add topic