SlideShare a Scribd company logo
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
X28-7327-5
              ®
                                                                                                                               FORTRAN Coding Form                                                                                                               Printed in U.S.A.

 PROGRAM                                                                                                                                                    GRAPHIC                                                             PAGE      OF
                                                                                                                                           PUNCHING
                                                                                                                                           INSTRUCTIONS                                                                         CARD ELECTRO NUMBER*
 PROGRAMMER                                                                                               DATE                                              PUNCH
                          CONT.




     STATEMENT                                                                                                                                                                                                                                         IDENTIFICATION
      NUMBER
                                                                                                                                FORTRAN STATEMENT                                                                                                        SEQUENCE
 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
* A standard card form, IBM electro 888157, is available for punching statements from this form
®
                                                                                                                             FORTRAN C
PROGRAM

PROGRAMMER                                                                                              DATE

                        CONT.
    STATEMENT
     NUMBER
                                                                                                                              FORTRAN ST
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
Key Punch Room
Punched Card
Punched Z(1) = Y + W(1)
        Card
Binary formated
Vision
John 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 µSecs
Float. Pt Add Time: 4.36µSecs
IBM 7094 configuration
IBM 7094 configuration
IBM 7094 configuration
IBM 7094 configuration
IBM 7094 configuration
Console
IBM 709
Max Mathews




John Kelly
Max Mathews




John Kelly
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
                                          Memory Protection
    with each other
•   Input-output equipement may be initiated by a user and
                                         Trap all input-output
    read words in on another user program instructions
•   Time sharing supervisor must be able to interrupt user
                                            Time controlled
    program after a quantum of computation      interrupt
•   Large core memories (e.g.. a million words) would ease
    the system programming complications immensely
                                                8 MB RAM ;-)
    since the different active user programs, systems
    programs could remain in core memory at all times.
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
• 2 32,768 Core memory bank for the
   nd

  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
            5          7       5
           base       end     relo

• Protection check
    base [ 5* 256 ]<= addr <= end [ 7 * 256 ]
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
                   Privileged	
  instructions
• all	
  I/O	
  instructions	
  (RDS,	
  WRS,	
  BSR,	
  BSF,	
  
  User mode: subset of 7094 instructions
  • Memory access only
  SDN,	
  RUN,	
  REW,	
  etc)	
   to defined region by
     memory relocation and protection
   all	
  channel	
  instructions	
  (RCHx,	
  LCHx,	
  SCHx,	
  

   • Certain instructions are forbidden and invoke
   etc)	
  
      protection trap
   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
MAIL
 • Described in Programming Staff Note 39



• Created file MAIL BOX in directory
• User has been informed about new mail
MAIL
 • Described in Programming Staff Note 39



• Created file MAIL BOX in directory
• User has been informed about new mail
MAIL
 • Described in Programming Staff Note 39



• Created file MAIL BOX in directory
• User has been informed about new mail
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

More Related Content

What's hot

Private Network Project for Colleges
Private Network Project for CollegesPrivate Network Project for Colleges
Private Network Project for Colleges
Aditya Jain
 
Chapter 29 Domain Name System.ppt
Chapter 29 Domain Name System.pptChapter 29 Domain Name System.ppt
Chapter 29 Domain Name System.ppt
webhostingguy
 
Basics Of Networking (Overview)
Basics Of Networking (Overview)Basics Of Networking (Overview)
Basics Of Networking (Overview)
ashiesh0007
 
Linux.ppt
Linux.ppt Linux.ppt
Linux.ppt
onu9
 
Vi editor in linux
Vi editor in linuxVi editor in linux
Vi editor in linux
Bhumivaghasiya
 
BIOS basic input output system
BIOS basic input output systemBIOS basic input output system
BIOS basic input output system
Vipul Buchade
 
Vi editor
Vi   editorVi   editor
Vi editor
Nidhi Sharma
 
input output devices
input output devicesinput output devices
input output devices
uafridi
 
Programming Fundamental Presentation
Programming Fundamental PresentationProgramming Fundamental Presentation
Programming Fundamental Presentation
fazli khaliq
 
Computer Networking
Computer NetworkingComputer Networking
Computer Networking
kieshore
 
Linux architecture
Linux architectureLinux architecture
Linux architecture
mcganesh
 
CIS99_Ch_01 (1).pptx
CIS99_Ch_01 (1).pptxCIS99_Ch_01 (1).pptx
CIS99_Ch_01 (1).pptx
AslamRj1
 
VI editor in unix
VI editor in unix VI editor in unix
VI editor in unix
Ahmed Fayyaz
 
Computre Basics and Hardware
Computre Basics and HardwareComputre Basics and Hardware
Computre Basics and Hardware
SURESHCOMPUTERCARE
 
Input output device
Input output deviceInput output device
Input output device
Prof. Dr. K. Adisesha
 
How the internet works
How the internet worksHow the internet works
How the internet works
ftcim
 
Linux LVM Logical Volume Management
Linux LVM Logical Volume ManagementLinux LVM Logical Volume Management
Linux LVM Logical Volume Management
Manolis Kartsonakis
 
Computer architecture
Computer architectureComputer architecture
Computer architecture
Burhan Ahmed
 
Hardware & networking
Hardware & networkingHardware & networking
Hardware & networking
Ajay Mistry
 
Domain name system (dns)
Domain name system (dns)Domain name system (dns)
Domain name system (dns)
Atikur Rahman
 

What's hot (20)

Private Network Project for Colleges
Private Network Project for CollegesPrivate Network Project for Colleges
Private Network Project for Colleges
 
Chapter 29 Domain Name System.ppt
Chapter 29 Domain Name System.pptChapter 29 Domain Name System.ppt
Chapter 29 Domain Name System.ppt
 
Basics Of Networking (Overview)
Basics Of Networking (Overview)Basics Of Networking (Overview)
Basics Of Networking (Overview)
 
Linux.ppt
Linux.ppt Linux.ppt
Linux.ppt
 
Vi editor in linux
Vi editor in linuxVi editor in linux
Vi editor in linux
 
BIOS basic input output system
BIOS basic input output systemBIOS basic input output system
BIOS basic input output system
 
Vi editor
Vi   editorVi   editor
Vi editor
 
input output devices
input output devicesinput output devices
input output devices
 
Programming Fundamental Presentation
Programming Fundamental PresentationProgramming Fundamental Presentation
Programming Fundamental Presentation
 
Computer Networking
Computer NetworkingComputer Networking
Computer Networking
 
Linux architecture
Linux architectureLinux architecture
Linux architecture
 
CIS99_Ch_01 (1).pptx
CIS99_Ch_01 (1).pptxCIS99_Ch_01 (1).pptx
CIS99_Ch_01 (1).pptx
 
VI editor in unix
VI editor in unix VI editor in unix
VI editor in unix
 
Computre Basics and Hardware
Computre Basics and HardwareComputre Basics and Hardware
Computre Basics and Hardware
 
Input output device
Input output deviceInput output device
Input output device
 
How the internet works
How the internet worksHow the internet works
How the internet works
 
Linux LVM Logical Volume Management
Linux LVM Logical Volume ManagementLinux LVM Logical Volume Management
Linux LVM Logical Volume Management
 
Computer architecture
Computer architectureComputer architecture
Computer architecture
 
Hardware & networking
Hardware & networkingHardware & networking
Hardware & networking
 
Domain name system (dns)
Domain name system (dns)Domain name system (dns)
Domain name system (dns)
 

Viewers also liked

Escalonador Earliest Deadline First - TDC2014SP
Escalonador Earliest Deadline First - TDC2014SPEscalonador Earliest Deadline First - TDC2014SP
Escalonador Earliest Deadline First - TDC2014SP
Rafael Moreira
 
Zero to a Billion in 4.86 Years (A Whirlwind History of Operating Systems)
Zero to a Billion in 4.86 Years (A Whirlwind History of Operating Systems)Zero to a Billion in 4.86 Years (A Whirlwind History of Operating Systems)
Zero to a Billion in 4.86 Years (A Whirlwind History of Operating Systems)
David Evans
 
Cpu organisation
Cpu organisationCpu organisation
Cpu organisation
Er Sangita Vishwakarma
 
Computer architecture
Computer architectureComputer architecture
Computer architecture
neclinux
 
Generations of computer
Generations of computerGenerations of computer
Generations of computer
SuYash Ratner
 
Generations of computers
Generations of computersGenerations of computers
Generations of computers
Zafar Ayub
 
The Future of the Operating System - Keynote LinuxCon 2015
The Future of the Operating System -  Keynote LinuxCon 2015The Future of the Operating System -  Keynote LinuxCon 2015
The Future of the Operating System - Keynote LinuxCon 2015
Steven Francia
 
GENERATIONS OF COMPUTER
GENERATIONS OF COMPUTERGENERATIONS OF COMPUTER
GENERATIONS OF COMPUTER
Rajat More
 
02 evolution zhu
02 evolution zhu02 evolution zhu
02 evolution zhu
c09271
 

Viewers also liked (9)

Escalonador Earliest Deadline First - TDC2014SP
Escalonador Earliest Deadline First - TDC2014SPEscalonador Earliest Deadline First - TDC2014SP
Escalonador Earliest Deadline First - TDC2014SP
 
Zero to a Billion in 4.86 Years (A Whirlwind History of Operating Systems)
Zero to a Billion in 4.86 Years (A Whirlwind History of Operating Systems)Zero to a Billion in 4.86 Years (A Whirlwind History of Operating Systems)
Zero to a Billion in 4.86 Years (A Whirlwind History of Operating Systems)
 
Cpu organisation
Cpu organisationCpu organisation
Cpu organisation
 
Computer architecture
Computer architectureComputer architecture
Computer architecture
 
Generations of computer
Generations of computerGenerations of computer
Generations of computer
 
Generations of computers
Generations of computersGenerations of computers
Generations of computers
 
The Future of the Operating System - Keynote LinuxCon 2015
The Future of the Operating System -  Keynote LinuxCon 2015The Future of the Operating System -  Keynote LinuxCon 2015
The Future of the Operating System - Keynote LinuxCon 2015
 
GENERATIONS OF COMPUTER
GENERATIONS OF COMPUTERGENERATIONS OF COMPUTER
GENERATIONS OF COMPUTER
 
02 evolution zhu
02 evolution zhu02 evolution zhu
02 evolution zhu
 

Similar to CTSS - Compatible Time Sharing System

Microprocessors
MicroprocessorsMicroprocessors
Microprocessors
Mukesh Pilaniya
 
Microprocessor
MicroprocessorMicroprocessor
Microprocessor
Rahul Kumar
 
EASA Part-66 Module 5.6 : Basic Computer Structure
EASA Part-66 Module  5.6 : Basic Computer StructureEASA Part-66 Module  5.6 : Basic Computer Structure
EASA Part-66 Module 5.6 : Basic Computer Structure
soulstalker
 
25l8005
25l800525l8005
25l8005
amit swami
 
Emb Sys Rev Ver1
Emb Sys   Rev Ver1Emb Sys   Rev Ver1
Emb Sys Rev Ver1
ncct
 
Understanding IBM Tivoli OMEGAMON for DB2 Batch Reporting, Customization and ...
Understanding IBM Tivoli OMEGAMON for DB2 Batch Reporting, Customization and ...Understanding IBM Tivoli OMEGAMON for DB2 Batch Reporting, Customization and ...
Understanding IBM Tivoli OMEGAMON for DB2 Batch Reporting, Customization and ...
Cuneyt Goksu
 
D0364017024
D0364017024D0364017024
D0364017024
theijes
 
8 Channel Analog Data Logger
8 Channel Analog Data Logger8 Channel Analog Data Logger
8 Channel Analog Data Logger
Raghav Shetty
 
microcontroller 8051 17.07.2023.pdf
microcontroller 8051 17.07.2023.pdfmicrocontroller 8051 17.07.2023.pdf
microcontroller 8051 17.07.2023.pdf
818Farida
 
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON
 
Soviet Russia Smartcard Hacks You
Soviet Russia Smartcard Hacks YouSoviet Russia Smartcard Hacks You
Soviet Russia Smartcard Hacks You
Priyanka Aash
 
WIMAX
WIMAXWIMAX
WIMAX
AJAL A J
 
Csd01
Csd01Csd01
Honeywell vista-10p-programming-guide
Honeywell vista-10p-programming-guideHoneywell vista-10p-programming-guide
Honeywell vista-10p-programming-guide
Alarm Grid
 
System-on-Chip Design, Embedded System Design Challenges
System-on-Chip Design, Embedded System Design ChallengesSystem-on-Chip Design, Embedded System Design Challenges
System-on-Chip Design, Embedded System Design Challenges
pboulet
 
Dpdk applications
Dpdk applicationsDpdk applications
Dpdk applications
Vipin Varghese
 
39245147 intro-es-i
39245147 intro-es-i39245147 intro-es-i
39245147 intro-es-i
Embeddedbvp
 
ZTE FL NGN ZXSS10 Induction training manual.pdf
ZTE FL NGN ZXSS10 Induction training  manual.pdfZTE FL NGN ZXSS10 Induction training  manual.pdf
ZTE FL NGN ZXSS10 Induction training manual.pdf
mengistuyirga
 
Managing hardware assets
Managing hardware assetsManaging hardware assets
Managing hardware assets
Prof. Othman Alsalloum
 
Klessydra t - designing vector coprocessors for multi-threaded edge-computing...
Klessydra t - designing vector coprocessors for multi-threaded edge-computing...Klessydra t - designing vector coprocessors for multi-threaded edge-computing...
Klessydra t - designing vector coprocessors for multi-threaded edge-computing...
RISC-V International
 

Similar to CTSS - Compatible Time Sharing System (20)

Microprocessors
MicroprocessorsMicroprocessors
Microprocessors
 
Microprocessor
MicroprocessorMicroprocessor
Microprocessor
 
EASA Part-66 Module 5.6 : Basic Computer Structure
EASA Part-66 Module  5.6 : Basic Computer StructureEASA Part-66 Module  5.6 : Basic Computer Structure
EASA Part-66 Module 5.6 : Basic Computer Structure
 
25l8005
25l800525l8005
25l8005
 
Emb Sys Rev Ver1
Emb Sys   Rev Ver1Emb Sys   Rev Ver1
Emb Sys Rev Ver1
 
Understanding IBM Tivoli OMEGAMON for DB2 Batch Reporting, Customization and ...
Understanding IBM Tivoli OMEGAMON for DB2 Batch Reporting, Customization and ...Understanding IBM Tivoli OMEGAMON for DB2 Batch Reporting, Customization and ...
Understanding IBM Tivoli OMEGAMON for DB2 Batch Reporting, Customization and ...
 
D0364017024
D0364017024D0364017024
D0364017024
 
8 Channel Analog Data Logger
8 Channel Analog Data Logger8 Channel Analog Data Logger
8 Channel Analog Data Logger
 
microcontroller 8051 17.07.2023.pdf
microcontroller 8051 17.07.2023.pdfmicrocontroller 8051 17.07.2023.pdf
microcontroller 8051 17.07.2023.pdf
 
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
 
Soviet Russia Smartcard Hacks You
Soviet Russia Smartcard Hacks YouSoviet Russia Smartcard Hacks You
Soviet Russia Smartcard Hacks You
 
WIMAX
WIMAXWIMAX
WIMAX
 
Csd01
Csd01Csd01
Csd01
 
Honeywell vista-10p-programming-guide
Honeywell vista-10p-programming-guideHoneywell vista-10p-programming-guide
Honeywell vista-10p-programming-guide
 
System-on-Chip Design, Embedded System Design Challenges
System-on-Chip Design, Embedded System Design ChallengesSystem-on-Chip Design, Embedded System Design Challenges
System-on-Chip Design, Embedded System Design Challenges
 
Dpdk applications
Dpdk applicationsDpdk applications
Dpdk applications
 
39245147 intro-es-i
39245147 intro-es-i39245147 intro-es-i
39245147 intro-es-i
 
ZTE FL NGN ZXSS10 Induction training manual.pdf
ZTE FL NGN ZXSS10 Induction training  manual.pdfZTE FL NGN ZXSS10 Induction training  manual.pdf
ZTE FL NGN ZXSS10 Induction training manual.pdf
 
Managing hardware assets
Managing hardware assetsManaging hardware assets
Managing hardware assets
 
Klessydra t - designing vector coprocessors for multi-threaded edge-computing...
Klessydra t - designing vector coprocessors for multi-threaded edge-computing...Klessydra t - designing vector coprocessors for multi-threaded edge-computing...
Klessydra t - designing vector coprocessors for multi-threaded edge-computing...
 

CTSS - Compatible Time Sharing System

  • 1. CTSS Compatible Time Sharing System Sebastian Woinar
  • 3. Area of a triangle
  • 4. Area of a triangle 1 0 0 0 0 9 9 9 9 9 0 0 0 0 0
  • 5. X28-7327-5 ® FORTRAN Coding Form Printed in U.S.A. PROGRAM GRAPHIC PAGE OF PUNCHING INSTRUCTIONS CARD ELECTRO NUMBER* PROGRAMMER DATE PUNCH CONT. STATEMENT IDENTIFICATION NUMBER FORTRAN STATEMENT SEQUENCE 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 * A standard card form, IBM electro 888157, is available for punching statements from this form
  • 6. ® FORTRAN C PROGRAM PROGRAMMER DATE CONT. STATEMENT NUMBER FORTRAN ST 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
  • 8.
  • 10. Punched Z(1) = Y + W(1) Card
  • 11.
  • 13.
  • 14.
  • 16. Fernando José Corbató Fernando José Corbató
  • 19. Operating System • FMS - FORTRAN Monitor System • compile FORTRAN programs • IBSYS • compile FORTRAN, COBOL etc.
  • 21. IBM 7094 configuration Basic Cycle Time: 2.18 µSecs Float. Pt Add Time: 4.36µSecs
  • 24.
  • 25.
  • 30.
  • 33. CTSS
  • 34. c
  • 35. 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.
  • 36. Hardware Problems • Different user programs (and supervisor) may interfere Memory Protection with each other • Input-output equipement may be initiated by a user and Trap all input-output read words in on another user program instructions • Time sharing supervisor must be able to interrupt user Time controlled program after a quantum of computation interrupt • Large core memories (e.g.. a million words) would ease the system programming complications immensely 8 MB RAM ;-) since the different active user programs, systems programs could remain in core memory at all times.
  • 37. Programming Problems • Supervisor should charge user usage accounting automatically • Supervisor should coordinate all user input-output • Good system programs tooling
  • 38. 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
  • 39. 7094 Modifications • Standard 60 cycle accounting and interrupt clock • Memory boundary and relocation register • 2 32,768 Core memory bank for the nd supervisor • 7094 has become a two-mode machine
  • 40. 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
  • 41. Memory protection • 32k memory is managed in 128 blocks of 256 words • 3 7 Bit registers 5 7 5 base end relo • Protection check base [ 5* 256 ]<= addr <= end [ 7 * 256 ]
  • 42. 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
  • 43. Instruction protection Privileged  instructions • all  I/O  instructions  (RDS,  WRS,  BSR,  BSF,   User mode: subset of 7094 instructions • Memory access only SDN,  RUN,  REW,  etc)   to defined region by memory relocation and protection all  channel  instructions  (RCHx,  LCHx,  SCHx,   • Certain instructions are forbidden and invoke etc)   protection trap all  I/O  transfer  instructions  (TEFx,  TRCx,   TCOx,  TCNx)   plus  and  minus  sense  (+0760...  and  -­‐0760...)  
  • 44. Scheduling algorithm • Goal: • optimize turnaround time • minimize response time
  • 45. 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
  • 54. TYPSET & RUNOFF • TYPSET for creating and editing files • High speed input mode • Edit mode • RUNOFF • Control words in the text • Line-length, indention, alignment
  • 55. MAIL • Described in Programming Staff Note 39 • Created file MAIL BOX in directory • User has been informed about new mail
  • 56. MAIL • Described in Programming Staff Note 39 • Created file MAIL BOX in directory • User has been informed about new mail
  • 57. MAIL • Described in Programming Staff Note 39 • Created file MAIL BOX in directory • User has been informed about new mail
  • 58. MAIL • Described in Programming Staff Note 39 • Created file MAIL BOX in directory • User has been informed about new mail
  • 59. RUNCOM • File-system file of commands to be executed in a batch • Commands are usable like library subroutine
  • 61. 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