CTSS - Compatible Time Sharing System
-
Upload
sebastian-woinar -
Category
Documents
-
view
1.080 -
download
5
Transcript of CTSS - Compatible Time Sharing System
CTSS Compatible Time Sharing System
Sebastian Woinar
IBM 7094 at MIT
Area of a triangle
Area of a triangle
1 0 0 0 0 9 9 9 9 9 0 0 0 0 0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
IDENTIFICATIONSEQUENCEFORTRAN STATEMENT
PUNCHING INSTRUCTIONS
PUNCH
GRAPHIC PAGE OF
CARD ELECTRO NUMBER*
PROGRAM
PROGRAMMER DATE
* A standard card form, IBM electro 888157, is available for punching statements from this form
X28-7327-5Printed in U.S.A.FORTRAN Coding Form
CO
NT.
STATEMENTNUMBER
®
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
IDENTIFICATIONSEQUENCEFORTRAN STATEMENT
PUNCHING INSTRUCTIONS
PUNCH
GRAPHIC PAGE OF
CARD ELECTRO NUMBER*
PROGRAM
PROGRAMMER DATE
* A standard card form, IBM electro 888157, is available for punching statements from this form
X28-7327-5Printed in U.S.A.FORTRAN Coding Form
CO
NT.
STATEMENTNUMBER
®
Key Punch Room
Punched Card
Punched CardZ(1) = Y + W(1)
Binary formated
VisionJohn McCarthy
Fernando José Corbató
Fernando José Corbató
IBM 709
IBM 709T/7090
Operating System
• FMS - FORTRAN Monitor System
• compile FORTRAN programs
• IBSYS
• compile FORTRAN, COBOL etc.
IBM 7094 configuration
IBM 7094 configuration
Basic Cycle Time: 2.18 µSecsFloat. Pt Add Time: 4.36µSecs
IBM 7094 configuration
IBM 7094 configuration
IBM 7094 configuration
IBM 7094 configuration
IBM 7094 configuration
IBM 709Console
John Kelly
Max Mathews
John Kelly
Max Mathews
CTSS
c
Hardware Problems• Different user programs (and supervisor) may interfere
with each other
• Input-output equipement may be initiated by a user and read words in on another user program
• Time sharing supervisor must be able to interrupt user program after a quantum of computation
• Large core memories (e.g.. a million words) would ease the system programming complications immensely since the different active user programs, systems programs could remain in core memory at all times.
Hardware Problems• Different user programs (and supervisor) may interfere
with each other
• Input-output equipement may be initiated by a user and read words in on another user program
• Time sharing supervisor must be able to interrupt user program after a quantum of computation
• Large core memories (e.g.. a million words) would ease the system programming complications immensely since the different active user programs, systems programs could remain in core memory at all times.
Memory Protection
Trap all input-output instructions
Time controlled interrupt
8 MB RAM ;-)
Programming Problems
• Supervisor should charge user usage accounting automatically
• Supervisor should coordinate all user input-output
• Good system programs tooling
Usage Problems
• Too large a computation or excessive typewriter output may be requested
• Since real time is not usage-time, supervisor must inform user
• Computer malfuntions must be expected
7094 Modifications
• Standard 60 cycle accounting and interrupt clock
• Memory boundary and relocation register
• 2nd 32,768 Core memory bank for the supervisor
• 7094 has become a two-mode machine
Supervisor
• Provided virtual machines
• 3 foreground machines which run 7094 instructions and could invoke supervisor services
• 1 background machine with tape access
• Scheduling
• Managed I/O
Memory protection• 32k memory is managed in 128 blocks of 256
words
• 3 7 Bit registers
• Protection check
base [ 5* 256 ]<= addr <= end [ 7 * 256 ]
base relo5 7 5
end
Instruction protection
• User mode: subset of 7094 instructions
• Memory access only to defined region by memory relocation and protection
• Certain instructions are forbidden and invoke protection trap
Instruction protection
• User mode: subset of 7094 instructions
• Memory access only to defined region by memory relocation and protection
• Certain instructions are forbidden and invoke protection trap
Privileged instructions
all I/O instructions (RDS, WRS, BSR, BSF, SDN, RUN, REW, etc)
all channel instructions (RCHx, LCHx, SCHx, etc)
all I/O transfer instructions (TEFx, TRCx, TCOx, TCNx)
plus and minus sense (+0760... and -‐0760...)
Scheduling algorithm
• Goal:
• optimize turnaround time
• minimize response time
Multi Level Feedback Queue
• Task is put into level l0 dependent on its actual size (calculation time)
• Execution time in level x is 2x quanta
• If task is not completed, it is put at the end of level x+1 queue
• MLFQ is preemptive
Simulator
Simulator
Simulator
Simulator
Simulator
Simulator
Simulator
Simulator
TYPSET & RUNOFF
• TYPSET for creating and editing files
• High speed input mode
• Edit mode
• RUNOFF
• Control words in the text
• Line-length, indention, alignment
• Described in Programming Staff Note 39
• Created file MAIL BOX in directory
• User has been informed about new mail
• Described in Programming Staff Note 39
• Created file MAIL BOX in directory
• User has been informed about new mail
• Described in Programming Staff Note 39
• Created file MAIL BOX in directory
• User has been informed about new mail
• Described in Programming Staff Note 39
• Created file MAIL BOX in directory
• User has been informed about new mail
RUNCOM
• File-system file of commands to be executed in a batch
• Commands are usable like library subroutine
MAC Project
Quellen• REMINISCENCES ON THE HISTORY OF TIME SHARING
• Fernando J. Corbato, Marjorie Merwin Daggett, Robert C. Daley AN EXPERIMENTAL TIME-SHARING SYSTEM, Proceedings of Spring Joint Computer Conference, May 3, 1962
• R.M. Fano, The MAC system: a progress report, MAC-TR-12
• http://www.ibiblio.org/apollo/Documents/CTSS_ProgrammersGuide.pdf
• http://www.multicians.org/thvv/7094.html
• http://www.multicians.org/thvv/mail-details.html
• http://www.frobenius.com/7090.htm
• http://motherboard.vice.com/2011/2/17/watson-s-hardest-question-what-is-life--2
• http://u-tx.net/media/fano-on-ctss.png
• http://mason.gmu.edu/~tbell5/page2.html
• http://www-03.ibm.com/ibm/history/exhibits/storage/storage_1301.html
• http://www-03.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP7090.html
• http://simh.trailing-edge.com/docs/ctss_hardware.pdf
• http://mit.edu/saltzer/www/publications/ctss/CC-244.html
• http://en.wikipedia.org/wiki/Daisy_Bell
Simulator
• http://www.cozx.com/~dpitts/ibm7090.html
Videos
• http://www.youtube.com/watch?v=Q07PhW5sCEk
• http://www.youtube.com/watch?v=8edfFH0rklc