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
Compatible Time-Sharing System
(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!
==Implementation== ===Kernel=== CTSS used a modified IBM 7090 mainframe computer<ref>{{cite web |url=https://people.csail.mit.edu/saltzer/Multics/CTSS-Documents/RPQs/RPQs.html |title=Documents describing special hardware for CTSS |access-date=2024-04-21 |archive-date=2024-06-25 |archive-url=https://web.archive.org/web/20240625150843/https://people.csail.mit.edu/saltzer/Multics/CTSS-Documents/RPQs/RPQs.html |url-status=live }}</ref> that had two 32,768 (32K) 36-bit-[[Word (computer architecture)|word]] banks of [[core memory]] instead of the default configuration which provides only one.<ref name="osc">{{cite book |title=Operating System Concepts |chapter=13: Historical Perspective |page=514 |first1=Abraham |last1=Silberschatz |first2=James L. |last2=Peterson |date=June 1988 |publisher=Addison-Wesley |isbn=0-201-18760-4}}</ref><ref>{{cite book |url=https://people.csail.mit.edu/saltzer/Multics/CTSS-Documents/RPQs/L22-6636-1.pdf |title=IBM 7090 and 7094 Data Processing Systems Additional Core Storage - RPO E02120 (7090) Dr RPO E15724 (7094) |series=Special Systems Features Bulletin |publisher=IBM |id=L22-6636-1}}</ref> One bank was reserved for the time-sharing supervisory program, the other for user programs. CTSS had a protected-mode kernel; the supervisor's functions in the A-core (memory bank A) could be called only by software interrupts, as in modern operating systems. Causing memory-protection interrupts were used for software interrupts.<ref name="ctsspg63" /> [[Central processing unit|Processor]] allocation [[Scheduling (computing)|scheduling]] with a quantum time unit 200 ms, was controlled by a [[multilevel feedback queue]].<ref name="osc"/> It also had some special memory-management hardware,<ref name="multiprogramming-package">{{cite book |url=https://people.csail.mit.edu/saltzer/Multics/CTSS-Documents/RPQs/L22-6641-3.pdf |title=IBM 7090-7094 Multiprogramming Package RPO E07291 (7090) or RPO 880287 (7094) |series=Special Systems Features Bulletin |publisher=IBM |id=L22-6641-3}}</ref> a clock interrupt,<ref>{{cite book |url=https://people.csail.mit.edu/saltzer/Multics/CTSS-Documents/RPQs/L22-6554-1.pdf |title=Core Storage Clock and Interval Timer - RPO FB9349 |series=Special Systems Features Bulletin |publisher=IBM |id=L22-6554-1 |access-date=2024-04-21 |archive-date=2023-04-08 |archive-url=https://web.archive.org/web/20230408045855/https://people.csail.mit.edu/saltzer/Multics/CTSS-Documents/RPQs/L22-6554-1.pdf |url-status=live }}</ref> and the ability to trap certain instructions.<ref name="multiprogramming-package" /> ===Supervisor subroutines=== * RDFLXA β Read an input line from console * WRFLX β Write an output line to console * DEAD β Put the user into dead status, with no program in memory * DORMNT β Put the user into dormant status, with program in memory * GETMEM β Get the size of the memory allocation * SETMEM β Set the size of the memory allocation * TSSFIL β Get access to the CTSS system files on the disk * USRFIL β Change back to user's own directory * GETBRK β Get the instruction location counter at quit ===Programming languages=== CTSS at first had only an assembler, [[FORTRAN Assembly Program|FAP]], and a compiler, MAD. Also, [[Fortran#FORTRAN II|Fortran II]] code could be translated into MAD code by using MADTRN. Later half of the system was written in MAD. Later there were other programming languages including [[COMIT|COMIT II]], [[Lisp (programming language)|LISP 1.5]] and a version of [[ALGOL]]. ===File system=== Each user had their own [[Directory (computing)|directory]], and there were also shared directories for groups of people with the same "problem number". Each [[Computer file|file]] had two names, the second indicating its type as did the [[Filename extension|extension]] in later systems. At first, each file could have one of four modes: temporary, permanent, read-only class 1, and read-only class 2. Read-only class 1 allowed the user to change the mode of the file. Files could also be symbolically linked between directories. A directory listing by ''listf'': 10 FILES 20 TRACKS USED DATE NAME MODE NO. TRACKS 5/20/63 MAIN MAD P 15 5/17/63 DPFA SYMTB P 1 5/17/63 DPFA BSS P 1 5/17/63 DPFA FAP P 2 ===Peripherals=== Input-output hardware was mostly standard IBM [[peripheral]]s. These included six data channels connecting to: * Printers, [[punched card]] readers and punches * [[IBM 729]] tape drives, an [[IBM 1301]] disk storage, later upgraded to an [[IBM 1302]], with 38 million word capacity * An [[IBM 7320]] drum memory with 186K words that could load a 32K-word memory bank in one second (later upgraded to 0.25 seconds) * Two custom high-speed vector graphics displays<ref>{{cite web |url=http://www.bitsavers.org/pdf/mit/lcs/tr/MIT-LCS-TR-056.pdf |title=An Integrated Hardware-Software System for Computer Graphics in Time Sharing |first1=D. E. |last1=Thornhill |first2=R. H. |last2=Stoz |first3=T. T. |last3=Ross |first4=J. E. |last4=Ward |date=1968 |publisher=MIT Project MAC |access-date=February 20, 2022 |id=ESL-R-356 and MAC-TR-56 |quote=Console facilities include hardware projection of three-dimensional line drawings, automatic light pen tracking, and a flexible set of knob, switch, and push-button inputs. The console is attached to the Project MAC IBM 7094 Compatible Time-Sharing System either directly or through a PDP-7 Computer.}}</ref> * An [[IBM 7750]] transmission control unit capable of supporting up to 112 [[teleprinter]] terminals, including [[IBM 1050]] [[Selectric]]s and [[Teletype Corporation#Teletype Corporation|Model 35]]s. Some of the terminals were located remotely, and the system could be accessed using the public [[Telex|Telex and TWX]] networks.
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)