|
ABSTRACT
This paper describes the content of a one-term advanced undergraduate course being developed in the Department of Electrical Engineering at Princeton University. As the title suggests, the course is approached through theory and models, not through case studies. My experience is not only that students find the more traditional case-study approach intellectually unsatisfying and often confused or confusing, but they find that a little formalism helps them to see precisely what is the intellectual content of a discussion. My goal is not to teach them systems programming; it is instead to help them develop mathematical modeling techniques which prove useful in understanding and evaluating systems and their problems. Using this approach, I have successfully taught to juniors material. I have often seen reserved for graduate students.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
ACM. Proceedings of Symposium on Storage Allocation. CACM 4, 10 (Oct 1961).These papers argue the cases and techniques for static and dynamic storage allocation. They provide a complete picture of the state of considered thought on storage allocation as of 1961.
|
| |
2
|
ACM. Proceedings of Symposium on Operating Systems Principles. (Gatlinburg, Tenn., Oct 1967). Some of the papers appear in CACM 11, 5 (May 1968).These papers provide collectively a summary of the ideas through the middle 1960's. The session titles are: virtual memory, memory management; extended core memory systems; philosophies of process control; system theory and design; computer communications and networks.
|
| |
3
|
ACM. Proceedings of Symposium on Data Communications. (Pine Mt., Georgia, Oct. 1969).These papers provide a summary of the ideas on computer data communications and networks as of 1969. The session titles are: advanced networks; advances in data communications technology; preprocessors for data communications; legal, political, and privacy considerations; graphic displays and terminals; systems optimization; human factors; software implications.
|
| |
4
|
ACM. Proceedings of Second Symposium on Operating Systems Principles. (Princeton University, Oct 1969).These papers provide collectively a summary of ideas through the late 1960's. The session titles are: general principles of operating system design; virtual memory implementation; process management and communication; systems and techniques; instrumentation and measurement.
|
| |
5
|
ACM. Proceedings of the Project MAC Conference on Concurrent Systems and Parallel Computation. (Wood's Hole, Mass., June 1970). To appear.These papers cover various aspects of parallel computation, such as Petri Net theory, program schemata, and speed-independent asynchronous circuits. A complete bibliography of relevant literature is included.
|
| |
6
|
Alexander, M.T. Time Sharing Supervisor Programs (Notes). Univ. of Michigan Computing Center (May 1969).A comparison of four systems: the Michigan MTS, Multics, CP/67 and TSS/360.
|
 |
7
|
|
| |
8
|
Belady, L.A. A Study of Replacement Algorithms for virtual Storage Computers. IBM Sys. J. 5, 2 (1966), 78-101.A detailed empirical study covering several aspects of program behavior besides those relating to paging algorithms.
|
 |
9
|
|
| |
10
|
Coffman, E.G. Jr., and Klein rock, L. Computer Scheduling Methods and Their Counter measures. AFIPS 1968 SJCC Proc., 11-21.A review of the basic time sharing scheduling models and results, and of ways to gain high priority for service.
|
| |
11
|
Corbato, F.J. PL/I as a Tool for Systems Programming. MIT Project Mac Report MAC-M-378 (July 1968).Argues the case for a high-level operating systems programming language and gives Multics experience with PL/I.
|
| |
12
|
Corbato, F.J., Dagget, M.M., and Daley, R.C. An Experimental Time Sharing System. AFIPS 1962 FJCC Proc., 335. (Also in R3).Overview of CTSS (Compatible Time Sharing System) at MIT, including the proposal for the multilevel feedback queue.
|
| |
13
|
Corbato, F.J., and Vyssotsky, V.A. Introduction and Overview of the Multics System. AFIPS 1965 FJCC Proc., 306. (Also in R3).A description of the hardware and software facilities for the Multics system at MIT.
|
| |
14
|
Creech, B.A. Implementation of Operating Systems. Digest 1970 IEEE International Convention, IEEE Publ. 70 C 15, 118-119. Stresses the importance of a programming language for systems programming, and reports experience with Burroughs B6500 system.
|
| |
15
|
Critchlow, A.J. Generalized Multiprogramming and Multiprocessing Systems. AFIPS 1963FJCC Proc., 107-126.A review tracing the evolution of multiprogramming and multiprocessing concepts through the early 1960's.
|
| |
16
|
Crisman, P.A. (ed.) The Compatible Time Sharing System: A Programmer's Guide. MIT Press (1965). The complete description and specification of CTSS.
|
 |
17
|
|
| |
18
|
Daley, R.C., and Neumann, P.G A General Purpose File System for Secondary Storage. AFIPS 1965 FJCC Proc., 213. Describes a file directory hierarchy structure, its use and conventions, and implementation problems.
|
 |
19
|
|
| |
20
|
Denning, P.J. Equipment Configuration in Balanced Computer Systems. IEEE Trans. C-18, (Nov 1969), 1008-1012. (Also Il).Some aspects of designing systems with understandable behavior are defined and applied to the equipment configuration problem.
|
 |
21
|
|
 |
22
|
|
 |
23
|
|
| |
24
|
Dennis, J.B. Programming Generality, Parallelism, and Computer Architecture. IFIPS Cong. Proc. (1968); MIT Project MAC Computation Structures Group Memo No. 32 (Aug 1968). Defines "programming generality" and explores its consequences in system design.
|
| |
25
|
Dennis, J.B. Future Trends in Time Sharing Systems. MIT Computation Structures Group Memo No. 36-1 June 1969). Classifies time sharing systems and emphasizes the importance of programming generality in achieving the "information utility."
|
 |
26
|
|
 |
27
|
|
| |
28
|
Dijkstra, E.W. Cooperating Sequential Processes. Programming Languages. (F. Genuys, ed.) Academic Press (1968), 43-112.The first study of parallel processes, including a well illustrated and complete development of the minimum requirements on the coordination and synchronization primitives.
|
 |
29
|
|
| |
30
|
Gaver, D.P. Statistical Methods for Improving Simulation Efficiency. Carnegie-Mellon Univ., Management Sci Res. Grp Rpt No. 169 (Aug 1969).Discusses a number of methods for shortening the computation time of simulation.
|
 |
31
|
|
| |
32
|
Habermann, A.N. On the Harmonious. Cooperation of Abstract Machines. Ph.D. Dissertation, Technische ogeschool Eindhoven, Netherlands, Dept. of Mathematics (1967).A formal model for cooperating parallel processes using finite state machines; includes the "banker's algorithm" for preventing system deadlock.
|
 |
33
|
|
 |
34
|
|
 |
35
|
|
| |
36
|
Horning, J.J., and Randell, B. Structuring Complex Processes. IBM T.J. Watson Research Center Report RC2459 (May 1969).A formal model for the definition, control, and composition of processes.
|
| |
37
|
IEEE. Proceedings of 1969 Computer Group Conference. IEEE Trans. C-18, 11, (Nov 1969).Of interest is the session "computer system models and analysis."
|
 |
38
|
|
| |
39
|
Kilburn, T., Edwards, D.B.G., Lanigan, M.J., and Sumner, F.H. One-Level Storage System. IRE Trans. EC-ll, Apr 1962), 223.The first detailed description of the paging mechanism on the Atlas computer system, including the loop-detecting "learning" paging algorithm.
|
| |
40
|
Kleinrock, L. A Continuum of Time Sharing Scheduling Algorithms. AFIPS 1970 SJCC Proc.A large class of time sharing schedulers is defined in terms of piecewise linear priority time functions.
|
| |
41
|
Lampson,B.W. Dynamic Protection Structures. AFIPS 1969 FJCC Proc., 27-38.An exposition of the programming implications and power of a "capability" system of protection.
|
| |
42
|
Liptay, J.S. The Cache. IBM Sys. J. 7, 1 (1968).A description of the cache store on the IBM 360/85.
|
 |
43
|
|
 |
44
|
|
| |
45
|
Session "Resource Sharing in Computer Networks" in AFIPS 1970 SJCC Proc. 543-598.
|
| |
46
|
Parkhill, D. The Challenge of the Computer Utility. Addison-Wesley (1966).A good description of the issues, philosophy, methods, hopes, and fears extant during the early 1960's, when enthusiasm for the computer utility ran high.
|
 |
47
|
|
 |
48
|
|
 |
49
|
|
| |
50
|
Rosen, S. (ed.) Programming Systems and Languages. McGraw-Hill (1967).A collection of "classic" papers in programming language design, definition, assemblers, compilers, and operating systems to 1966.
|
 |
51
|
|
 |
52
|
|
 |
53
|
|
| |
54
|
|
| |
55
|
Sammet 7 J.E. Programming Languages. Prentice-Hall (1969).Encyclopedic coverage, comparing and contrasting over 100 programming languages.
|
 |
56
|
|
| |
57
|
Selwyn, L.L. Computer Resource Accounting in a Time Sharing Environment. AFIPS 1970 SJCC Proc., 119-129.A description of the management, accounting, and pricing systems of CTSS-Iike systems. Should be read in conjunction with W9, S6.
|
| |
58
|
|
 |
59
|
|
| |
60
|
Trimble, George. Time Sharing Bibliography. Computing Reviews 9, (May 1968).
|
| |
61
|
|
 |
62
|
|
| |
63
|
|
| |
64
|
Wegner, P. (ed.) Introduction to Systems Programming. Academic Press (1964).A collection of some "class-c" papers on operating system inciples during the early 1960's.
|
| |
65
|
|
| |
66
|
Wilkes, M.V. Slave Memories and Dynamic Storage Allocation. IEEE Trans. EC-14, (1965), 270-271.Proposes an automatic multilevel memory, the predecessor of the "cache store" {L2}.
|
 |
67
|
|
| |
68
|
|
| |
69
|
Wilkes, M.V. A Model for Core Space Allocation in a Time Sharing System. AFIPS 1969 SJCC Proc., 265-271.Uses experience with time sharing systems to develop a minimal relationship between processor and core allocation policies.
|
 |
70
|
|
| |
71
|
Wilkes, M.V., and Hartley, D.F. The Management System - A New Species of Software? Datamation (Sep 1969), 73-75.Outlines the motivation and requirements for a management system, and illustrates with the Cambridge University Multiple-Access System. Should be read in conjunction with S4, S6.
|
 |
72
|
|
|