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
MUSIC/SP
(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!
==Features== A complete description of MUSIC/SP and its features can be found in its extensive documentation.<ref>{{cite web |title=MUSIC/SP Documentation Archive |url=https://www.canpub.com/teammpg/de/mcgweb/manuals_mus51.zip |website=Hosted on the Canpub MUSIC/SP Archive}}</ref> Key features are summarized below. ===File system=== The MUSIC/SP file system was unique in a number of respects. There was a single system-wide file index. The owner's [[userid]] and the file name were hashed to locate the file in this index, so any file on the system could be located with a single I/O operation. However, this presented a [[flat file system]] to the user. It lacked the directory structure commonly offered by [[DOS]], [[Microsoft Windows]] and [[Unix]] systems. In 1990 a "tree-structured" directory view of the file system was overlaid on this, bringing the system more in line with the file systems that were then available. By default the information stored in the files was compressed. This offered considerable saving in disk space. The file system had a fairly sophisticated access control scheme allowing the owner to control who could read, write, append to and execute the file. It also had the concept of a "public" file which was visible to all users and a "private" file which was only visible to the owner. ===Virtual memory=== The initial versions of the system provided no support for virtual memory and address translation. Only one active user could reside in core memory at any time. Swapping (to disk) was used to time-share between different users, and a variable-length timeslice was used. Virtual memory support was introduced in 1985. This allowed multiple users to be in core memory at the same time, removed many of the restrictions in the size of the programs that could be run and provided a significant performance improvement. System performance was also improved by pre-loading commonly used modules into virtual memory at startup time where they could be available to all users simultaneously. ===Programming languages=== The system was designed to support academic computing and the teaching of computer science, so a rich suite of programming languages was available. The system [[Kernel (operating system)|nucleus]] was written in IBM/370 assembler but most of the native applications were written in [[FORTRAN]]. The system supported the Waterloo [[WATFIV]] and [[WATBOL]] compilers and also provided compilers for [[Pascal (programming language)|Pascal]], C, [[PL/I]], [[BASIC]], [[APL (programming language)|APL]], [[ALGOL]], [[IBM RPG|RPG]], and [[GPSS]]. The system was missing a command scripting language until [[REXX]] was ported from CMS in 1984. Later, in 1986, a complete user interface was written entirely in REXX. ===E-mail and the Internet=== E-mail was one of the major applications on MUSIC/SP. The e-mail interface initially provided access to local e-mail. As the networks developed, this was expanded to provide access to [[BITNET]] and Internet based e-mail. MUSIC/SP did not have direct access to the Internet until 1990, when the University of Wisconsin WiscNet [[Internet protocol suite|TCP/IP]] code was ported to the system, allowing the system to provide access to all Internet services. ===Compatibility with other IBM systems=== A major feature of the system was its ability to run programs that were designed to run on IBM's mainstream operating system ([[MVS]]). This was accomplished using an MVS emulator that intercepted system calls at the [[Supervisor Call instruction]] (SVC) level. Most third-party applications ran in this mode. Rather than write their own version of an application, the MUSIC/SP developers would usually start from the MVS version and rebuild it to run in MVS emulation mode. Since the MVS emulation was a small subset of the real thing, the applications generally ran more efficiently on MUSIC/SP. ===Other features=== One major advantage the system had in educational environments was that through the use of special lines called "control cards" at the top of a file, source files for any supported language could be automatically directed to the appropriate compiler (Fortran being the default), compiled, linked, and executed, (with compilation, linkage, and execution options also specified in control cards) simply by entering the filename on a command line. A wide variety of [[Computer terminal|terminals]] were supported as of 1980, including both [[EBCDIC]]-based units using IBM-proprietary protocols, and asynchronous [[ASCII]]-based units. Since terminals were connected through various types of [[Front end processor|front-end processors]] (as per common IBM timesharing practice both then and now), and could therefore function without CPU attention for a considerable amount of time, MUSIC used variable-length time slices, which could, on compute-bound processing, reach a maximum of several seconds per time slice; conversely, if a user filled the output buffer or reached a conversational read, the timeslice would end immediately.
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)