Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
OS-9
(section)
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.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)