CTSS - Compatible Time Sharing System

61
CTSS Compatible Time Sharing System Sebastian Woinar

Transcript of CTSS - Compatible Time Sharing System

Page 1: CTSS - Compatible Time Sharing System

CTSS Compatible Time Sharing System

Sebastian Woinar

Page 2: CTSS - Compatible Time Sharing System

IBM 7094 at MIT

Page 3: CTSS - Compatible Time Sharing System

Area of a triangle

Page 4: CTSS - Compatible Time Sharing System

Area of a triangle

1 0 0 0 0 9 9 9 9 9 0 0 0 0 0

Page 5: CTSS - Compatible Time Sharing System

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

®

Page 6: CTSS - Compatible Time Sharing System

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

®

Page 7: CTSS - Compatible Time Sharing System

Key Punch Room

Page 8: CTSS - Compatible Time Sharing System
Page 9: CTSS - Compatible Time Sharing System

Punched Card

Page 10: CTSS - Compatible Time Sharing System

Punched CardZ(1) = Y + W(1)

Page 11: CTSS - Compatible Time Sharing System
Page 12: CTSS - Compatible Time Sharing System

Binary formated

Page 13: CTSS - Compatible Time Sharing System
Page 14: CTSS - Compatible Time Sharing System
Page 15: CTSS - Compatible Time Sharing System

VisionJohn McCarthy

Page 16: CTSS - Compatible Time Sharing System

Fernando José Corbató

Fernando José Corbató

Page 17: CTSS - Compatible Time Sharing System

IBM 709

Page 18: CTSS - Compatible Time Sharing System

IBM 709T/7090

Page 19: CTSS - Compatible Time Sharing System

Operating System

• FMS - FORTRAN Monitor System

• compile FORTRAN programs

• IBSYS

• compile FORTRAN, COBOL etc.

Page 20: CTSS - Compatible Time Sharing System

IBM 7094 configuration

Page 21: CTSS - Compatible Time Sharing System

IBM 7094 configuration

Basic Cycle Time: 2.18 µSecsFloat. Pt Add Time: 4.36µSecs

Page 22: CTSS - Compatible Time Sharing System

IBM 7094 configuration

Page 23: CTSS - Compatible Time Sharing System

IBM 7094 configuration

Page 24: CTSS - Compatible Time Sharing System
Page 25: CTSS - Compatible Time Sharing System
Page 26: CTSS - Compatible Time Sharing System

IBM 7094 configuration

Page 27: CTSS - Compatible Time Sharing System

IBM 7094 configuration

Page 28: CTSS - Compatible Time Sharing System

IBM 7094 configuration

Page 29: CTSS - Compatible Time Sharing System

IBM 709Console

Page 30: CTSS - Compatible Time Sharing System
Page 31: CTSS - Compatible Time Sharing System

John Kelly

Max Mathews

Page 32: CTSS - Compatible Time Sharing System

John Kelly

Max Mathews

Page 33: CTSS - Compatible Time Sharing System

CTSS

Page 34: CTSS - Compatible Time Sharing System

c

Page 35: CTSS - Compatible Time Sharing System

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.

Page 36: CTSS - Compatible Time Sharing System

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 ;-)

Page 37: CTSS - Compatible Time Sharing System

Programming Problems

• Supervisor should charge user usage accounting automatically

• Supervisor should coordinate all user input-output

• Good system programs tooling

Page 38: CTSS - Compatible Time Sharing System

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

Page 39: CTSS - Compatible Time Sharing System

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

Page 40: CTSS - Compatible Time Sharing System

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

Page 41: CTSS - Compatible Time Sharing System

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

Page 42: CTSS - Compatible Time Sharing System

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

Page 43: CTSS - Compatible Time Sharing System

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...)  

Page 44: CTSS - Compatible Time Sharing System

Scheduling algorithm

• Goal:

• optimize turnaround time

• minimize response time

Page 45: CTSS - Compatible Time Sharing System

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

Page 46: CTSS - Compatible Time Sharing System

Simulator

Page 47: CTSS - Compatible Time Sharing System

Simulator

Page 48: CTSS - Compatible Time Sharing System

Simulator

Page 49: CTSS - Compatible Time Sharing System

Simulator

Page 50: CTSS - Compatible Time Sharing System

Simulator

Page 51: CTSS - Compatible Time Sharing System

Simulator

Page 52: CTSS - Compatible Time Sharing System

Simulator

Page 53: CTSS - Compatible Time Sharing System

Simulator

Page 54: CTSS - Compatible Time Sharing System

TYPSET & RUNOFF

• TYPSET for creating and editing files

• High speed input mode

• Edit mode

• RUNOFF

• Control words in the text

• Line-length, indention, alignment

Page 55: CTSS - Compatible Time Sharing System

MAIL

• Described in Programming Staff Note 39

• Created file MAIL BOX in directory

• User has been informed about new mail

Page 56: CTSS - Compatible Time Sharing System

MAIL

• Described in Programming Staff Note 39

• Created file MAIL BOX in directory

• User has been informed about new mail

Page 57: CTSS - Compatible Time Sharing System

MAIL

• Described in Programming Staff Note 39

• Created file MAIL BOX in directory

• User has been informed about new mail

Page 58: CTSS - Compatible Time Sharing System

MAIL

• Described in Programming Staff Note 39

• Created file MAIL BOX in directory

• User has been informed about new mail

Page 59: CTSS - Compatible Time Sharing System

RUNCOM

• File-system file of commands to be executed in a batch

• Commands are usable like library subroutine

Page 60: CTSS - Compatible Time Sharing System

MAC Project

Page 61: CTSS - Compatible Time Sharing System

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