• No results found

VISUALIZATION OF THE PDP-11/50

N/A
N/A
Protected

Academic year: 2021

Share "VISUALIZATION OF THE PDP-11/50"

Copied!
202
0
0

Loading.... (view fulltext now)

Full text

(1)VISUALIZATION OF THE PDP-11/50. Joseph Curtis Winther.

(2) bcnuu, Nava. Posxgraouaie. Momerey,. Calitorn.a. 93940.

(3) II. tf. 14. L. UolbKAllUAIt. i. i. obriuli L. I. bamorn. Monterey,. US. £34. 1. **^. leum. I ^iimir tjaosva. VIRTUALIZATION OF THE PDP-11/ 5 by. Joseph Curtis IVinther and. Douglas Mark Kruse June 197. Thesis Advisor: a. Approved. —. 5. B. iniiriw. i. m. if. i. hi. i. ii. E.. Allen. nii»— iibu. for public release; distribution unlimited.. pi. ^v..

(4)

(5) SECURITY CL A3S1 V ICA1. I'JN. OF THIS PAGE. ftWlMI limtm Knterr-d). READ INSTRUCTIONS BEFORE COMPLETING FORM. REPORT DOCUMENTATION PAGE t.. 4.. REPORT NUM3ER. TITLE (end. 2.. GOVT ACCESSION. NO.. type. Subline). Virtualization of the PDP-JJ/50. 7.. RECIPIENT'S CATALOG NUMBER. 3.. of-. report. Master. AUTHORfcJ. 4. period covered. Thesis June 1975 '. s. e.. performing org. report number. 6.. CONTRACT OR GRANT NUMBERf*). Joseph Curtis Winther and Douglas Mark Kruse 9.. PERFORMING ORGANIZATION NAME AND ADDRESS. 10.. PROGRAM ELEMENT. PROJECT, TASK AREA WORK UNIT NUMBERS ft. Naval Postgraduate School Monterey, California 95940 II.. CONTROLLING OFFICE NAME AND ADDRESS. 12.. Naval Postgraduate School Monterey, California 93940 TT MONITORING AGENCY NAME. ft. ADDRESSff/. REPORT DATE. June 1975. dlltorent tram Controlling Cilice). Naval Postgraduate School Monterey, California 93940. 13.. NUMOER OF PAGES. IE.. SECURITY CLASS,. (ol. .-..,<*. report). Unclassified ISa. DECLASSIFICATION/ DOWN GRAOING. SCHEDULE 16.. DISTRIBUTION STATEMENT. (ol thlt Report). Approved for public release; distribution unlimited.. 17.. DISTRIBUTION STATEMENT. 16.. SUPPLEMENTARY NOTES. 19.. KEY WORDS. (ol the tbitrect entered In. (Continue on rcverte elde. li. Block. 20, II diiteient Irou, Kcport). necsetary «nd Identify by Ll^ck number). virtual machine virtual machine monitor PDP-11/50 20.. ABSTRACT. (Continue. ott. revarte elde. II. neceiemry. tjnd Identity. by block nuv.btr). This thesis presents an overview of the virtual machine concept discussing different properties of the virtual machine and the basic environment necessary to virtualize an existing computer. Concurrent with this study, feasibility of virtual izing the PDP-11/50 of the Naval Postgraduate School including problems and possible approaches were examined. These results lead to an implementation of a basic virtual machine.. DD. I. jan. (Page. 73. 1). 1473. EDITION OF NOV 65 S/N 0102-014- 6S0! 1. I. IS. OBSOLETE SECURITY CLASSIFICATION OF THIS PAGE. (fThtn. Detm tntorea*.

(6)

(7) VISUALIZATION. OF THE. PDP-11 /50. by. Joseph Curtis / Winther Major, United States Marine Corps B.S., University Of Utah, 1961 and. Douglas Mark Kruse Captain, Unite a States Marine Coros B.S.r Colorado State Colleger 1966. Submitted in partial fulfillment of the requirements for the degree of FASTER OF SCIENCE IN COMPUTER SCIENCE. f. rci the. NAVAL POSTGRADUATE SCHOOL June 1975.

(8)

(9) Liorary. bcnooi Navai Postgraduate. ABSTRACT. r^merey.. This thesis presents an overview of the virtual. concept. discussing. different. properties. of. the. California. machine virtual. machine and the basic environment necessary to virtual. e. an. existing computer. Concurrent with this study/feasibility. of. virtual izinn the PDP-11/50 of the Naval. including. oroolems. and. Postgraduate. i. no.. z. School. possible approaches were examined.. These results lead to an implementation of mac h. i. a. basic. virtual.

(10)

(11) .. TABLE OF CONTENTS. I.. INTRODUCTION. II.. VIRTUAL MACHINES. -. .. 8. PRINCIPLES AND TERMINOLOGY. 12. A.. PRINCIPLES AND TERMINOLOGY. B.. BASIC REQUIREMENTS FOR VIRTUAL MACHINE SYSTEMS... 20. C.. HYBRID VIRTUAL MACHINE SYSTEMS. D.. THE VITUAL MACHINE MONITOR. E.. SOFTWARE AMD HARDWARE REQUIREMENTS. ,. 31. F.. ADVANTAGES AND APPLICATIONS OF VIRTUAL MACHINES.,. 32. 12. 26 27. .. III.. ARCHITECTURAL DESIGN OF THE PDP-11/50.. 67. IV.. PROBLEM DEFINITION AND POSSIBLE APPROACHES. 45. V.. A.. SYSTEM ENVIRONMENT. 45. B.. VIRTUALIZATION GOALS AND PROBLEM AREAS. 46. C.. MILESTONES.... D.. POSSIBLE APPROACHES. 49. .. 50. SELECTION AND IMPLEMENTATION. 54. A.. SELECTION. 54. B.. DESIGN CONSIDERATIONS..... 57. C. IMPLEMENTATION. 58. .. Overview....... 1 .. P r o g r a ti. 2*. Supervisor Module. 3. Preprocessor Module.. 4.. Execution Module........ 5. 58 61 • • • .. 63 67.

(12)

(13) .. 0.. VI.. 5.. Dispatcher Module.......... 6.. Debuci. 67. Modules. 70. a.. Display Module. 70. b. Modify Module. 73. c.. Breakpoint Module. 73. TEST AND EVALUATION. 75. CONCLUSION.. APPENDIX. A. GLOSSARY... APPENDIX. B. PDP-11/S0 CONFIGURATION. APPENDIX. C. SENSITIVE INSTRUCTIONS....... APPENDIX. D. USER MANUAL. BIBLIOGRAPHY. ..... INITIAL DISTRIBUTION LIST. 78 83 c .. .... 85 86. .. 90. . .. 95. .,. 98.

(14)

(15) ACKNOWLEDGEMENT. The authors would like to. wives. their. deserve and of. sdec. for i. a. supports the thesis.. I. express. their. their sincere interest.. recoonition for both real. their. and virtual. r. gratitude. to. Colleen and Jane. remarkable. patience. during the preparation.

(16)

(17) I.. INTRODUCTION. During the early 1960's when the dual state. third. computers were developed/th e concept of virtual iza". eration. tion was born. Little did one recognize the potential fits. gen-. bene-. rapid transition that would soon take place in the. or. comouter field. in. though. Even. virtual. the area of. this. machines.. raoid chanqe and increased comolcxity. may lead to the frustrations expressed by John Gosden/. Presidents Eauitable Life Assurance Society. Vice. [18],. these new announcements are a nuissance. rather qetting on with doing productive be work than keeo to aligned with trying the industry's technolooy." "All. of. rte'd. However/. the virtual. to stay.. Robert. P.. machine concept has arrived and. Goldberg. [111. is. here. notes that. "Virtual machines have finally arrived. Dismissed for a number of years as merely academic curiosities/ thev are now seen cost-effective techas for niques organizing computer systems resources system flexibility and to provide extraordinary support for certain uniaue applications." Rook m an , President*. and Phil. Innovation Data Processing. [181. satirically comments "Virtual computing is complicated/ simplicity you want/ Qet a bank of The current in. its. ciallv. a. 1. *. if s. an educational. is. institution.. 8. it's. " .. state-of-the-art cf virtual computing. infancy and its potential in. but 1. is. ripe for tapping*. still. esoe".

(18)

(19) e. fall. the. In. PDP-11/50. 3. 97. and parly 197 S f. '4. acaui red. School. ate. of. Digital. two. computers. as. part of. a. Disolay Research Facility.. also serve as. With the enchancement of virtual. increase. would. system. number. problems that face. of. i. za t. i. on. exploring. used. be. computer. system. without. level. interfering with the real where. able. the. of. advanced software and the. exists. series of. p. r. ob. mation systems.. classified. vironment/. concern. 1. ets. for both designers. there. generated. arid. users of. There are truly very few systems as. a. computer. inforcan. that. secure. Particularilv in the military enis. a. ever present problem. students whe will. tute and work in. tualized. machine's. whole new field of crime and. a. security. of. need for virtual. problem of security and privacy. Computer tech-. the. nology has soawncd. be. in. is tied. 'hands-on' environment.. Besides an educational. a. the. to. fear of destroying or. design and analysis of operating systems are ace cm pi a. for. system. Courses can be made avail-. fundamentals. the. a. The student ecu la imple-. software from the basic hardware level. ment and test. operating. resolve. to. student of computer science.. a. ideas and concepts.. new. comouter. this. ». students could be given their own virtual. All. valuable. a. flexibility and Potential. both. in. machine systems can. Virtual. uses.. Processing and. the Signal. the computer science student.. for. tool. Corporation. Equiornent. will. It. Postgradu-. the Naval. a. major. leave this educational. insti-. and. military computer installation. The holds. this ever growing problem.. areat. 9. i. r. -. promise as the solution to. would for. It. v. e x amp 1. t. be possible.

(20)

(21) the POD-11/50. for. int°rqrate classified and unclassified. to. processes without degrading the performance without. and. fear of possible compromise.. the. system. the. of It. would also. 'monoprocessing'. eliminate the the current locked door. en-. vironment policy for processing classified jobs.. Another need that can be solved bv usinq puter. development.. system. in. is. a. hours'. light. and. in. a. before being place 'on-line'. is. truly. exciting. an. com-. New enhancements to the. operating system could be throughly tested and 'day. virtual. debugged. in. multiprogramming environment The concept of virtual. i. z a t. ion. area of computer science and one in. which the effects on the data processing community are. just. begi nn ng._ i. The remainder of. tional In. this thesis is divided into five. chapters.. chapter II, the background and principles of visual-. ization a^e explored to develop virtual it.. of. A. the. a. basic understanding of the. machine and the current terminology associated. glossary (Appendix. A). is. with. provided for the convenience. the reader.. Chanter of. addi-. gives. III. the PDP-11/50. unsu. i. t. ab. i. 1. i. a. summary of the architectual design. family of computers and highlights some t. i. es. this tyoe of architectural. of. of. design. for virtual izati on.. Chanter. IV. presents. PDP-11/50 and examines. problems of virtualizinq the. the. some. possible. solutions. to. these. problems to include recommended milestones towards the ultimate goal. of. a. fullv virtu alized PDP-11/50, 10.

(22)

(23) The selection of. and implementation of V.. A. user manual. an aoproach. to. vi. this aporoach. is. (Appendix D). Both chapters IV and. V. is. rtual izp the PDP-11/S0 o. resented in. Chapter. also provided.. are self-contained and those. are knowledgeable about current. and technology should be able to. virtual sk. i. p. who. machine anplications. directly to these sec-. tions.. Chapter VI summarizes the conclusions of this tation ment. and. contains. implemen-. some suggestions for further develop-. .. 11.

(24)

(25) i. VIRTUAL ^ACHINFS. II.. A.. P&INClPLfc'S. -. A. N0. 7. ERMI NOLOGY. PRINCIPLES AND TERMINOLOGY machine can basically be pictured as an ima-. The virtual. ginary cony of some real existing computer system. programs. the capability of executing real. rather new idea has introduced to. concept. mu. of. 1. t. idea. the virtual. of. which. of. and devices.. world. as. compared. to. extendi no. In. the. multibasic. the. machine* one is lead to the realization. comouter can create many imaginary. that one real. each. computer. i. programming and multi -processing.. This unioue and. .. the. -env ronmen t ng i. with. but. may have different. computers*. hardware characteristics. addition, each imaginary machine may support. In. different operating systems.. "Basically lated. cooy. machine. virtual. a. copies). (or. panied. software*. i.e.. machine. a. along. (. MOV * BR*. the. e. c. . ) *. extended. system. is. cient*. *e have. the. basic. If. (system. we. simu-. [13]".. A. accom-. its. included the. calls*. I/O's*. instructions. hardware. introduced the. machine i.e.*. instruction. set. for. the bare machine plus operating. the extended machine.. virtual. The. be. t. with. set. machine. without. ooerating system.. operating system's instruction etc.). efficient. very. a. the bare host. of. bare ho^t machine is simply. is. isolated*. machine may be further defined as an effi-. duplicate of. a. real. machine.. It. first. must. efficient* meaning that the proorarns executing under the. virtual. machine should basically run. execution. on. the. real. machine. 12. at. speeds comparable to. This attribute of. a. virtual.

(26)

(27) mac h in e makes the virtual. reasonable to run production type. it. machine is realized. having the majority of instructions of. interpreters/. complete software total. rules out. concept. This. program running. a. executed directly on the. machine. on the virtual. computer.. ly. traditional emulators and. the system. to. is. machine must be isolatinsure that. plete control over managing its own systems no. unintentional. has com-. it. resources/. interference exists between the real. machine must produce. the virtual. Finally,-. a. duplicate or. essentially identical environment of real machines practical. machine is. run. to. always the notion of. is. job. to the. executed on. to be. machine. practicality. a. machine virtual. slightly different. (13].". a. is. If. a. real. make. virtual exist. im. comput-. functionally. one must modify. machine because the virtumachine/. then. machine concent has loss its beauty/ value/. and. is. the virtual. It. virtual. to. real. a. system or real machine/ whose execution. eauivalent. al. "Since. jobs on them.. real. software-hardware duplicate of. a. computer system there. a. and. system.. and virtual. er. demand. methods. both. for. the reason the virtual. f. ed iron the rest of. it. host. real. interpretation of all program instructions.. Second. that. on. machine.. Ihe efficiency aspect of tho virtual by. jobs. F i. 3]. from the real. .. should be obvious that certain tvpes of. instructions. can not be allowed to be executed directly but must be simulated by tho virtual. trapping. that. type. machine. of. The. job. instruction i. •>. of is. identifying the. heart of. an. rJ. the.

(28)

(29) The program. machine.. virtual. creation. machine. function. Its. interface between the real. software. r. machine environment. the virtual. machine monitor.. the virtual. executes on the. that. <*. a. host. 1. called. is. be. the. system and virtual. sys-. to. is. tem.. Figures. 1. ?. 13]. illustrate the basic differences. computer. conventional. between the machine. and. system. The conventional. organization.. and. virtual. a. state extended. dual. machine architecture contains only one basic machine which can supnort many user programs but. face. time.. proach,. al. ?. t. the virtual. will. software. Drivilegeo. machine. Thus any. machine ap-. It. is. nucleus. to that. software. nucleus. machine will execute on the virtu-. run on the real. machine.. given. a. interfaces which are functionally identical. the real. that. figure. in. at. machine monitor creates additional basic. the virtual. machine of. contrasted. As. only capa-. is. ble of running one privileged software nucleus. inter-. interesting to note, that. the. knowing whether. has no way of. privileged it. beino. is. executed on the real or virtual mac nine. Figure. 2. should. riot. imcly that. face supported by the virtual ical. to. the interface of. the bare machine that i.e.. not be produced on. S/36. face is not. same. com outer. different or. identical. (. 1. 8M. simulation. real. they will. family.. /J. virtual. a. 5. t. be,. IBM. be. the virtual 50. S/36. need. However, when the interat. the minimum,. of. the. two interfaces are completely. hen. S/360 versus BURROUGHS 6700) must. inter-. machine monitor must be ident-. machine monitor runs on, a. the basic machine. employed 14. to. map. then the. emulation one system.

(30)

(31) CONVENTIONAL EXTENDED MACHINE BARE. BASIC. MACHINE <-. PRIVILEGED. MACHINE INTERFACE. SOFTWARE. NUCLEUS. EXTENDED lf. USER. MACHINE_ INTERFACE. USER PROGRAM. PROGRAM. FIGURE. 3.5. I.

(32)

(33) ). Q. CM. L»J.. o. )®tf. CO. IS *. Ld. 3. 1. < M. J s, !. „J >H — U- u. ceo 0.. (/). z>. 2. < q:. o u. z:. CJ ©». X o <. o. Ul. I™. o. 0). -J. < Z>. 16. 3 O. <fl. »=.». C3. l!_.

(34)

(35) architecture into. another different architecture.. The question that might is:. logically asked. bp. this ooint. at. "Are there any restrictions on the type of orograrns that. can. orocessed. be. on. virtural. a. machine?". Surprisingly/. there is basically only one type of program. Droperly. execute. the virtual. on. not. pro™. a. program. of. now extremely rare. Reference 241. is. will. machine and that is. gram with timina dependencies. This type. once popular. that,. while. provides. a. detailed insight into this area.. lows. [. machine can now be formally defined as fol-. virtual. The 2a. 1. :. "A virtual computer is a hardware-software duplicate of a real exist inq com outer system in which a dominant of the virtual statistically subset processor's instructions execute directly on the host orocessor in native mode.". The method of producing. above. a. machine. virtual. depend on such things as the specific degree. the. of. is. one. no. machines that have been produced. categorized. implementation A. virtual. t. yoe. general. into. I. [. 3. r. 1. 3. r. 1. 4. ). virtual. approach. best. brand. and. date. monitor.. though*. can. be. types depending on the method of. .. machine monitor runs directly on the II. of. The virtual. method.. or to. machine. monitor is illustrated by figure. where as the type. mode'!. efficiency require 6r and the in-. genuity of the programmer of the There. the. definition may vary greatly. The method would. stated. com outers. Meet. to. monitor (figure 17. 3). 2. .. bare. t^ere. the. machine*. runr on the extended.

(36)

(37) TYPE. H. VIRTUAL MACHINE BARE. MACHIisiL. ^PRIVILEGED. SOFTWARE NUCLEUS. USER. VIRTUAL. PROGRAM. MACHINE MONITOR. TYPE ZEE VIRTUAL MACHINE. £. kvA^A^WV^ PRIVILEGED SOFTV/ARE M.U.CLJ; LJLS—. iZ_. USER PR. FIGURE. 18. 3. G RAN.

(38)

(39) .. machine under an operating system. A. t. yoe. monitor's only functio n. I. more virtual bare machines which will. is. to produce one or. operating. support any. system that the real bare machine would support. The type. tage. the services provided by. of. instance*. such. advan-. monitor? on the otner hand? can take. II. its. operating system* For. features as the memory management*. the actual. paging mechanism, and I/O operations of the operating system can be used.. When. cessor then we say. self-virtualizing. al. machine. virtual. the. that A'hen. virtual. the is. it. identical. is. system. computer. identical*. not. pro-. to the host. is. then the virtu-. machine must* as earlier stated* be of the same processor. family as the host machine and is said to be family virtualAn example of. izing.. 370/155. the. as. family virtual. host. i. zing is. machine which. is. system. IBM. an. supoorting. a. virtual. system 360/50 machine. One. apparent benefit of. very. upgrading the computer. in. processing. data. a. family virtual izing. is. 'installation.. Here the old system could be virtualized to process all have not been reorogrammed. that. Peorogrammina. requirements,. factor but could. manner.. In. be. fact*. then. accomplished. the. would. not. in. timely*. ramm. i. a. systems critical. directed. selected. for. repro-. ng. Recursive virtu-alizina copies. a. be. jobs. some application programs which are pro-. cessed very infrequently mav never pc g. new. meet. to. in. of. the. virtual. is. when. an. additional. copy. or. machine monitor run on the virtual 19.

(40)

(41) •. i. system or systems that have been produced by the puter,. then. have. we. in. virtual machines. Figure. 4. and the concepts of. perty*. is. It. supoorted. effect* produced another level. illustrates this. recursive. levels of virtual. machines.. only under the se. f 1. - v. i. machine monitor. model. of. is. in. figure. it. virtual. 4. fact. that. is. The. the virtua. specific. only possible to run. produced.. is. for. another virtual machine monitor and. is. a. six. level. produced. and. recursion. main advantage of practical. virtualizing. ng type system.. is. third. a. machine and so forth. Tests have successfully. been conducted over One. the. i. interface. could have in effect recursed again level. i. this property is indeed recursive*. One can see that 2. 1. tailored to interface with. the monitor when the identical. level. is. and therefore*. computer*. rt ua. of. pro-. interesting to note that recursive virtualizing. main reason for this restriction al. com-. host. is. the ability to test. [12]. importance and modify. in. recursive. the. virtual. monitor itself without interfering with normal pro-. machine cessing.. B.. BASIC REQUIREMENTS FOR VIRTUAL MACHINE SYSTEMS. Since the majority of. grams. running. on. a. instructions of. virtual. application. pro-. machine are going to execute. directly on the host computer without any software intervention*. a. method must be derived to trap only those "critical. instructions" that must not be allowed to be fore. adaressing. this. trapping. questions should first be. process/. considered* 20. executed.. Be-. more fundamental. namely. "What. is. a.

(42)

(43) VIRTUAL. RECURSION. BARE. MACH.. U. VMM. LEVEL. MACH. VI RT.. LEVEL. 2. VMM. MACH. VIRT.. 0.. EXT.. S. MACH. .J. USER. PRO 6.. FIGURE. 4 i. 21.

(44)

(45) instruction?" and "How can one identify them?".. critical. Basically the third generation of com outers created processor modes of operation (privileged. distinct. and nonprivileaed. visor'. permitted. certain. 'program'). The. -. instructions. in. supervisor. user. tr>e. system. instructions which are allowed. the supervisor. features. facilities or. input/outout. mechanisms. When. privileged. such. user. the. not. but. as. testing. in. orogram. the. crit™. initiating. and. modification of address maoping requires. the. execution. instruction the user program executes. a. This privileged. to the operating system.. sor call. mode. Privileged. mode.. These privileoed instructions typically control. mode. ical. are those. then. to be executed. in. 'super-. -. instructions to be executed. 'privileged'. which are denied execution. two. of. a. suoervi~ instruc-. tion is then executed on behalf of the user program.. Professor Robert machine. virtual. P.. Goldberg in his Ph.D thesis. architecture defined the critical. [131. on. instruc-. tions as the following:. sensitive instruction an instruction is because of 3rd generation virtual machine software construction wil'l give incorrect results if permitted to be exec uteri directlv on host the computer" "A. which*. .. It. tered. is. in. directly*. now obvious that. virtual. the. since. the. sensitive. encoun-. system cannot be allowed to execute. execution. could prevent the correct. instructions. of. sensitive. instructions. interpretation of certain instruc-. tions. He states. the key to implementing 22. a. virtual. machine on. a.

(46)

(47) s. .. provide. third generation system is to with. eoui valence. a. functional. complete. machine without allowing the direct. real. execution of sensitive instructions. instructions. Sensitive types* i. nst rue. namely/ t. i. are. into. and. behavior. sensitive. control. two general. divided. sensitive. ons. Control. 1.. instructions. sensitive instructions control. which. those. are. the resources and en-. vironment of the system. Examples of such instrucare those which attempt. tions. memory*. to change available. start an I/O operation,. or change the pro-. cessor mode.. Behavior sensitive instructions are. 2. .. instructions. execution. whose. instruction address). is. depends upon their. An example. location in real memory.. those. the system /36Q ERA. of. such. an. (load physical. instruction.. machine instruction reoertoire of the host computer. The. system must be individually analyzed to determine their sensitivity. Each instruction should be questioned as to whether if. its. execution could produce. allowed. to execute. a. Dossible erroneous. the unprivileged mode.. in. tification and analysis appears to be like process*. but. in. a. results. This iden-. fairly. simple. reality before this can be accomolished/. thorough understanding of. hardware characteristics. both ti. u. t. the. machine. be mastered.. 23. language. a. and.

(48)

(49) Qnce the sensitive instructions have been identifed/ is. possible. now. supoort. machine.. virtual. a. determine. to. if. it. the computer system will. Professor. Goldberg's. Theorem on virtual inability gives us this answer. [24]. First .. "THEOREM 1 For any conventional third generation computer/ virtual machine monitor may be cona structed if the set oi sensitive instructions for that computer is a subset of the set of privileged instructions." :. basic philosophy behind Theorem. The If. all. sensitive instructions are. instructions^. privileged. method.. instruction. interrupt.. machine. privileged. is. execute. to. if. a. machine's. virtual. the. a. generate. the program mode will. in. running in the program state then an. generated. be. very convenient. a. attempt. Any. Therefore*. software. interrupt will. subset of the privileged. the host computer has. then. trapping. built-in. a. the following.. is. 1. when. machine's. virtual. the. operating system attempts to execute any privileged instructions. Since the sensitive instruction is. a. privileaed instructions set/. matter of checking. to see is. it. is. just. the privileged instruction causing. if. of. the. interrupt. the. sensitive.. interruots can then be turned over to. This class of. virtual. machine monitor for servicing.. instruction that generated the interrupt simulated.. If. not?. it. will. interested. proof of Theorem. re--). 1.. dor. If. it. then. is. a. it. be returned to the host. system for execution. Figure The. a. subset. 5. should. the. sensitive will. be. operating. illustrates this interaction. refer to reference. 124]. for.

(50)

(51) (T. O C/). > (Z UJ CL. ^ < q:. o o. LU. q: Q_. o. if). 2 >. 25. ID. >. Z>.

(52)

(53) ?. rather simple theorem supri singly proves that very. This few. third generation architectures are virtual izable,. only. takes. one. instruction. forced to interrogate all tion. to. the monitor to be. cause. This of course would cause the. virtual machine to lose its efficiency and value.. however,. realized?. not. designed to support virtual machines, and. concept. C.. nature. state. that. the first. in. that. should. It. third generation computers were. be. dual. it. instructions to prevent the execu-. the one exception.. of. for. their. is. it. brought about the virtual. machine. olace.. HYBRID VIRTUAL MACHINE SYSTEMS Since the majority of third generation computers are not. virtual. i. 2 a. b. 1. e. machine monitor was intro-. the hybrid- virtual. duced. Here sensitive instructions. are. classified. further. into two groups depending on where they can be located, are thev only located. in. supervisor. the. area. i.e.. coding. of. (supervisor sensitive) or can they be in the user area (user sensi. t. i. ve. ). Once. identified. the user and suoervisor sensitive. then Goldberg's Third Theorem. which is the following. [?.'4]. instructions are can. oe. applied,. :. "THEOREM 3. A hybrid virtual machine monitor may constructed for any conventional third generauser sensitive tion machine in which the set of instructions are a subset of the set of privileged instructions.". Op. The main difference then between the virtual. the hybrid virtual. machine. is. in a6. the degree. of. machine ani. instruction.

(54)

(55) interpretation, tions/-. machine all. the hybrid virtual. Tn. privileged or not,. in. the virtual. supervisor mode are. User sensitive instructions will. interpreted.. instruc-. be trapped as. previously mentioned. Figure. an overview that. is. 6. compares. in struct ion. terpretation versus direct instruction execution for processing,. normal. machine processing, hybrid processing,. virtual. and for complete simulation. the. in-. It. should. be. remembered. that. more time spend in interpretation the slower the execu-. tion of the job.. D.. THE VIRTUAL MACHINE MONITOR. machine monitor controls the overall. The virtual. machine. system.. the virtual. monitors main functions ere to create. The. machine or machines,. their resources,. to. virtual. monitor. to. allocate. and. trapped instructions for. interrogate all. sensitivity, and to simulate the execution of the. sensitive. instructions. machine monitor's software is composed. The virtual. three group s of program modules plus numerous con-. eral'ly of. trol. tables (figure 7).. allocator,. The three oroups are the dispatcher,. the interpreters.. and. the. virtual. machines. current. status.. These. all. aen-. The control. available. resources. tables. tables depict and. their. similiar to the normal. are. operating system's tables and control blocks. The. Virtual. receives. dispatcher. is. machine monitor. the. machine. control. the too level It. is. the. interrupts 27. initial and. module of the. program. determines. if. that the.

(56)

(57) REAL S.. MACHINE. I. D.E. VIRTUAL MACHINE. n. S.I. n. D.E. HYBRID S.I.. VIRTUAL MACHINE. —. D.E.. SIMULATION S.I.. D.E. SOFTWARE INTERPRETION. VS.. FIGURE. 28. DIRECT EXECUTION 6.

(58)

(59) ^. 1. <f). oc UJ. H LU a:. cc. o. •. h-. LU. r. o. /. X O <. —. m X o. if). ©. 111. _J. / /. cc. LU. z. .... go. <. N-. i-. <. LxJ. o. Q.. CC; ZD. q: V. Q. '. \Z.. "*". J. \. q:. o o. o h< o. < q:. —1. <. __. 29. -. ..

(60)

(61) instruction that then. dispatcher decides which. the. vice this action.. modification, module.. If. If. is. it. then. one. for. to ser-. resource. a. invoke the allocation. sensitive. a. sensitive. is. it. resource request or. a. the action calls. If. modules to call. then the dispatcher will. simulated. be. trap p e d is sensitive.. is. instruction. to. the interpreter modules will. of. be. cal led.. allocation module. The. machines.. tables for the virtual that. all. trolled, tiple. machines,. virtual. significantly increased. of. The. last. called interpreters. routine. for. is. changing. flect. software. be. -. undp r. executing. so that. machine. vir-. generally. is. instruction. Each. sensitive. simulate an. interpreter. one. execution. instruction. execution.. on. it. an operatina system,. the ooerating system, the virtual. the re a). sitive instructions. virtual. seoaratelv. comoosed of many individual modules. the nonorivileged program mode of. essential. track. keeD. is. state of the virtual machine so as to re-. the. program running. program. suoporting mul-. complexity of this module. now must. identified. each. its actual. All. It. There. interpreter routine will by. the. is. nroup of oroaram modules that make up the. machine monitor. tual. module. this. resources of each virtual machine.. individual. the. through. machine monitor. the virtual. rthen. is. It. the control. machine devices are created and con-. virtual. the. the main keeper of. is. It. monitor. machine the host. or. a. apolication stand-alone execute. in. computer. This. is. -. must. machine's interrupt can trap sen-. should be obvious must 30. execute. that in. a. tyoe. I. the supervisor.

(62)

(63) since. stater the. has. If. and. fact/. II. monitor. is. terference. then. II. virtual. If it. instructions. for. machine on the other. allowed to operate in the super-. the. there is. between. monitor. could execute that. may. be. is. unintentional. no. would. It. in-. executed in the privileged. within. itself. privileged. the. requi red to be actually executed. after either being trapped or requi red by. module.. system. onerating system must be carefully thought out. the. and designed to insure that. moder. onerating. the total. then the relationship and coordination. visor stater it. in. choice between supervisor and prooram state.. a. tyoe. a. is. hardware. The type. real. handr. it. some. interpreter. save the time of requesting and. thereby. waiting for the operating system to execute them. If. the other handr. on. the monitor. gram state then the interface. system. is. problem. running in the prowith. operating. the. nonexistent. All privileged instructions that Are. is. required to be executed must be turned over to the operating system. This would probably require some additional sor calls to be added to the system/. the virtual. E.. but. it. supervi-. would also. make. machine monitor smaller and less complex.. SOFTWARE AND HARDWARE REQUIREMENTS hardware and software requirements of the host com-. The. puter system must meet the followino criteria to support. a. virtual. 1.. non-pri. computer system.. The method vi. adequately. of. instruction. execution. of. ieged instructions in both supervisor and. 31.

(64)

(65) .. p. r. oq. ra. m. state must be roughly equivalent. This. important because the ooeratinq system of the machine, which normally operates in. tual. pervisor. state,. will. be executing. privileged. instruction. family. of. i. r. ". su-. the program. the. of. the program state not. in. causing machine interrupts. For 11. v. the. There is also the reverse problem. state.. POP. in. is. example,. the. in. comnuters certain instructions. are iqnored if they are encountered while. in. the. signalling. the. program state. 2. method of automatically. A. supervisor execute 3.. when. sensitive instruction must be available.. a. A. method of protecting the supervisor and. any other virtual. machine. insure isolation of all. U. or. .. machine attempts to. virtual. the. must. be. available. to. systems.. The host computer should. suoDort. a. page. segmentation type virtual me^orv system to ade-. quately give the virtual machines their own virtumemory. al. required to hold its virtual. operating. system olus its own amplication programs. F.. ADVANTAGES AND APPLICATIONS OF VIRTUAL MACHINES The advantages of. been. left. until. a. now,. virtual. have. intentionally. because many of the benefits can be. better aporeciated once one has. concepts. machine. a. and workings of virtual 32. good understanding of. machines.. In. facte. the. because.

(66)

(67) .. machines lo^d themselves to so many practical. virtual. cations*. it. by many computer experts. felt. is. sup-. important. ad-. it. few of. a. the more. [19].. Softwa r e Development For The System Programs.. 1.. system programs cannot run under the normal. Because. operating system. in. programming. a. production tyoe environment* most sys-. work must be accomplished in. environment* and generally in the middle of causes. stand-alone. a. night.. the. to mention. the. Using. System. releases*. or. in. virtual. a. machine. eliminates that type of. development. vironment.. resources*. inconvenience for both system and appli-. cation programmers.. software. It. system to be brought down which interfers. the. with normal processina and is wasteful of system not. -. o. vantaoes and applications of the virtual machine. also. i. machines.. The following outlines. tem. 1. the "next. that. generation" of computers will be specifically design' port virtual. aop. enhancement* fact. any. new. software. for. system. working en-. a. operating development. system can. be. thoroughly tested and debugged on the virtual machine before released. All of this can be accomDlished during nor-. being mal. working hours and without wasting system resources,.. Elimination Of Certain Conversion Problems. 2. This benefit was earlier examined and. appreciated when one has lived thro u ah. truly. .. only. can a. be. mass conver-. sion effort. The ability to be selective on what programs to. convert. not. to be. rushed in that conversion. advantage.. great 3. and. «. Concur rent Punning Of Dissimil ar Dp er a ting 33. is. alone. a.

(68)

(69) V By. S y s temp,. Pi. Mr r^nt. application. This. U SPTS.. would be extremly useful. data orocessinq installations. that. are. to. those. with. charged. the. responsibility of developino application software which will be distributed to many. computer systems.. In. fact/. running could be. copies of the actual operating. sent. system. which the program will. in. of. be. testing installation. Then the. to the. program could be executed on the. variety of. a. different operating. and under. installation. individual. the. models. and. sizes. installations and run on. machine configured to. virtual. a. installation and tested under their operating system. Another benefit. running dissimilar operating systems. of. is. computer backup capability.. er. went. 'down for an extended period of. tion could still. system. installation's comput-. an. If. using. could use. process necessary jobs. backup. their. their. own. on. installation's. operating. system. the. time/-. and. installa-. virtual ized. a. computer. They. configuration. avoiding the difficult tasks of temporarily modify-. thereby. ing or Generating operating systems. required. when. one. has. or. programs. to move their processes. generally to. another. comput er, U. Test i nq Future Hardware,. .. The virtual ity. desianr. to. machine gives the installation the anil-. develop/ and test programs that will b^ in-. terfacing with new hardware before the delivered. ment/. cess.. it. In. addition. to helping. in. actual. hardware. is. the program develop-. could have been used in the hardware selection pro-. Different. types and models of hardware devices couli 3a.

(70)

(71) .. hove been v-irtualized and tested lor their applicability. b. Tg s. .. t. Of. Network. Fac. i. 1. i. t. ^. es. test inq and implementing. The complicated nature of. network would be greatly simplified. computer. if. inter-communication software bugs can be found on the system before the actual. a. many of the. corrected. ar.ci. implementation.. Evaluation Of Program behavio r.. 6.. nature. The. itself to. a. teractions. type of performance. between. monitoring.. software. the. printed. later. be. to. in-. or between. measured?. trapped? cut. Detailed. machine. and. software modules themselves can be recorded. machine monitor lends. virtual. the. of. and. for detailed analysis.. Changes could be implemented and measured again to check the improvement factor before making the real modifications. 7. S. .. ecurity And Privacy. The. .. computer system holds great promise. virtual. the area of security and Privacy. is. As mentioned earlier?. impossible for an operating system to tell. executed on the real or tual. virtual. it. is. being. machine. Each machine. vir-. if. completely isolated from each other so. is. in. it. it. would be. impossible to spy on or try to alter any coexisting machine. Education.. 8.. The ability. for. a. student. the. in. computer. science. field to be able to have his own computer and operating sys-. blessing. to. manager.. Here. he. can. operatinq. s ys t em. *. tem is. the. a. real. system?. both wo. student with. r K. and. computer. and alter on his own an. without the under! vinq fear of for. the. only 35. center. destroying. way to truly learn about.

(72)

(73) operating systems on. a. real. is. to actually perform. system.. 7>b. system. maintenance.

(74)

(75) .. *KCH1TECTUF<AL DESIGN OF THE PDP-11/50. III.. chapter. This. designed to hiqhliqht onl. primarily. is. certain areas of the architectual design 1. Attention. computers.. of. y. the PDP-J1. of. mainly given to. is. v. rami-. c cmou t e r. design characteristics which relates to virtual ization problems. of. internal. the. find. will [7]. and. comouter. workings.. is. general. a. three state computer, capable. sixteen. words. bit. and. unitr. 1. ccnoiete or detailed analysis The. interested in. reader. references. .. PDP-11/50. The. a. complete and detailed description. a. [8]. intended as. not. is. It. interrupt driven,. directly. of. sets. six. of. addressing. 23. '<. memory without the memory management. of. words with memory management.. ?4 k. independent. purpose*. It. contains two. purpose reqisters,three. general. stack pointer registers (one SP for each state), and. pro". a. gram counter register (PC). The PDP-11/50. ment. ana. supports. unit, host. a. support. a. addition to the optional memory manage-. in. of. an optional. peripheral. virtual. devices.. floating point processor, The system. is. designed. memory multiprogramming environment. The. basic relationship of these different units are d e D. figure. operations. puroose registers are rather unique do not. they can be used in. namelv. i. c. t. ed. in. 8. The general I/O. to. as. a. in. that. di^turo their contents and secondly,. diversity. accumulators,. index. of. register. registers,. autoincrement and autodecrement registers. 57. operation^,,. stack pointers,.

(76)

(77) C/). Li. CD. cr uj. z. QJ. (f). CD LlI. q: "Tir. CO. o UJ. O. e_J. C7). en Z> CD. CL es. <. CL. ~%r. o _J Li-. P hW o Z 2 2- => j£. 38. O.

(78)

(79) instruction set. The of. the PDP-11/50 computer.. The. consists. instruction set. microproqrammed instructions.. hundred. four. over. probably the most powerful asset. is. tions are so flexible that. a. of. Instruc-. proqrammer has numerous options. available for codinq any Program routine. architectural design feature of the. The of. computers that distinguishes. well. as. from other computer. UNIBUS. is. high. a. it. from other DEC systems as. vendors (five. speed. asychronousr bidirectional channel. family. PDD-11. is. the. million that. UN IB US.. The. bytes/seconds),. ties all. system com-. ponents together (figure 9). All a. memory and processors are connected to the UNIBUS manner.. regular. The. to a specific. egually well. simplifies. greatly. same. struction set. is. is. applied. device* memory or processor. This. programming because the entire in-. I/O. available for inout/output routines.. instructions. Machine. addressing scheme. in. that. effect the UNIBUS operation. or devices attached to the UNIBUS would qualify as sensitive. instructions. The PDP-11/50. conventional. the. tion.. user.. is. a. three state machine*. two state. (supervisor and program) opera-. The three states or modes are kernel/. Kernel. modes. instructions which. are. is. and. tiay. in. the. user. and. restricted in the kind and number of be. legally executed.. mooe is only slightly more Powerful It. supervisor;. mode programs are unrestricted in their use of. the machine while the programs operating. supervisor. as compared with. The. than the user mode.. interesting to note some instructions 39. supervisor. (RtSET/SPLc.

(80)

(81) a: LU. ^. eo. <. UJ \-. C/). '/o GQ. UJ. CO. o < U_. Z). CD. 'Z.. < o. q:. ui. H. Z). ^. h;z. LU. c/). Z>. D_. O. 40. UJ cc. 3 o u.. z:. n rr < 2 <. a>. < h-. < >• !?.

(82)

(83) d. ionorea. are. etc*). not. if. in. y;v. mode while other. the kernel. instructions (HALT) generate an interrupt.. inconsis-. This. esoecially when encountered in the sensitive instruc-. tency*. tion set*. adds to the comolexity of virtual. i. PDP-11. zing the. family of comouters. The processor status word (PS). located 4k. in. not. is. located. actual on. instance. memory. special. a. the machine's memory.. memory but addresses. the device.). given. any. at. the upper 4k of. is. (The upper. registers. device. of. cell. The current machine operation mode is. completely. determined. bv. the. current mode bits in the PS. The PS may be changed in one of by physically modifing. tVf. tion such "as MOV.. several. the. via. it. Implicitly*. (?). three ways: a. normal. machine instruc-. through the use of one. as. a. Asynchronous-. result of an interrupt or trap.. The ability to explicitly modify the PS and in any. do. actual. program's virtual the. of. I/O. is. a. function. of. mode. for example*. MOV. portion. Programs operating in the user or. super-. are generally restricted in this manner causina I/O to be. initiated only from. qualify as sensitive instructions.. instruction. if. kernel. the. and virtual. Instructions caoable of modifying the. a. to. whether or not the. dress soace is mapped into that. a. self. Figure !0 illustrates the real. also. fact. machine's physical memory which contains the PS and. device registers. visor. of. machine instructions such as SPLrRTTrRTI which. cause the PS to be implicit/ changed* and (3) ly*. Explici-. (1). PS. memory map.. (SPL. *. 1. R. T. I *. RTT. ). This would include. allowed to access the I/O page. 4. it-.

(84)

(85) a:. CO CO LU. h-. OC. 3. O Q <. o u_. Q. CD. LU CD. <. LU LU. O. a.. <. <. CO. CO. or. cr LU CO. z o H 3 o. 3 < 3. LU. hcr. X. O o — <. LU. LU. 1^-. Q. CO. O O o o .. s*. >». co. KJ. I/). LU CO. cr. o. 2 <. LU. O <. or. Q.. O \. 1-. o >. <. o o. LU. cr a.. <. < cr a a cr < LU. LU. a:. Q_. < cr i-. O o O o O o o O o O o. O O O o. L 42. < o CO >-. X. LU q:. 3.

(86)

(87) The. structure. I/O. the PDP-11/50. of. is. one of. the true. advantaqes ouilt into the system's architecture and one t. the biaaest. of. he. disadvantages in virturalizing the sys-. depending on how the uoper. em r. can. memory. virtual. of. 4k. is. mapped into physical address space. would be highly advantageous. It. addresses of allowed to. a. mao. access control to abort. tion. all. virtual. the upoer 4k. program executing on the virtual machine were directly into the physical. and. I/O page*. Thus this type of sensitive. accesses.. traoped.. If. instruc-. this is not the case then. because of the flexibility of the instruction set and cially. if. espe-. the program has no restrictions on the method of. accessing "the I/O paqe percent. the. field of the page description reoister is set. coriviently. is. if. instruction. f. then one is lead to. interrogation. and. a. hundred. one. a. large increase in. instruction simulation routines. The. considerations for the asychronous interac-. design. tion oetween modes is based around stack operations. is. a. temporay. storage. area. (one. A. stack. used in. for each mode). subroutine and interrupt service linkage. Individual any virtual. ward.. Any. program. stacks. can be directed to start. address and can expand either. register can serve as. a. upward. stack pointer.. register used bv the system for this function. pointer. or. is. at. down-. The main. the. stack. register (SP), which by design expands downward. As. ealier mentioned/. Interrupts. there is. a. separate SP for each mode.. and subroutine linkage are very similiar end. only differ in their method of invocation and the. reoisters.

(88)

(89) stacked. are. that. and loaded.. subroutine linkage tion,. is. controlled oroqram transfer. In. addi-. subroutine linkage only effects the PC and not the PS.. The action is basically as by. Interrupts are forced while. an. interrupt). and. follows:. the. The old PS. current. stacked onto the new processor stack. information (PS. ^C. and. (if. cause d. are automatically the. new. linkage. required and PC) are placed in the regis-. if. ters. All. virtural. interrupts machine,. This. brief. are. required to be simulated under. subroutine calls are not.. examination. of. the PDP-11/50 architecture. clearly illustrates that the PDP-li/50 was not designed. supporting. a. vitural. machine application.. significant hardware modifications system can not. a. realized.. 44. a. In. fact,. true virtural. for. without. comouter.

(90)

(91) s. PROBLEM DEFINITION AM) POSSIBLE APPROACHES. IV.. current st^tP-of-t^e-art of computer* science offers. The a. h. 1. variety of approaches that may be employed to virtualize. comouter. methods. Virtual ization. system.. extremely expensive and complicated to. that. The first. to examine the computer. is. examination. brief. a. of. plans. possible. approaches.. of. the Naval. Postgraduate. computer's. the. en-. primary user and the general goals of the school. towards the computer system. highlight. will. manager's. trie. School's PDP-11/50 computer to include vironments. limited. the installation. Management's desires will. for. automatically eliminate many Therefore/. a. step in determining the type of virtual ization. approach to use goals. modifications. hardware. machine monitor.. type II virtual. and. range from. can. only minor systems changes to suoport. of. a. the.. is. in. order,. examination. "I'his. imposed restrictions on virtual! zing the. syst em.. A.. SYSTEM ENVIRONMENT The Naval. ers not. and. a. Postgraduate School has two PDP— 1/SO. wealth of periohial. intended to serve. the. devices.. school. in. The. computers are. computer. a. bureau fashion/ but are incoroorted into. p. a. comput-. service. computer research. laboratory.. primary. The. research areas of this computer laboratory. are in the fields of operating systems design and. signal. p. r. oc es s. i. ng. ,. computer graphics* 45. snci. re s ea rc. hybrid computing.. ?.

(92)

(93) Temporary configuration research. project. modifications. offer no real. be switched between computers. any new demands.. problems.. for. Specific. a. Peripherials con. matters of minutes tc. in. This versitility. meet. mainly do to the stan-. is. dard interface of the UN I BUS.. Managements. qoals. though/. ana computers tied toaether to support. tiprogramming,. I/O devices. are to have all. multiprocessing. timer. real. a. operating. mul-. environment. The. general conf iourat ion envisioned is schematically illustrated in apnendix. (B).. is. It. wide range of activities. general configuration,. a. ,. will. since the. continually demanding confi-. guration modifications, A. greatly enchanced version of the UNIX ooerating system. (called. M (j N. I. X. ). being designed as the primary operating. is. system to support the desired system environment. UNIX itself. is. a. operating system developed tains. a. number. of. purpose, multiuser,. general at. interactive. Laboratories.. dell. sophisticated. UNIX. features generally only. found on large systems, but with the surprising and. guality of simplicity and ease of use. lent. &. though UNIX is extremely powerful. the. operatinq system.. MUNIX. is. VIRTUAL. I. Z. AT ION. GOALS AND PROBLEM AREAS. n6. .. be. it. reguired. being developed to meet. those addition demands of real-time processing,. B.. ?.B. and versatile. would not meet the complete demands that would of. unusual. complete and excel-. abstract of UNIX is contained in reference Even. con-.

(94)

(95) .. Postgraduate School. The Naval of 1. visualization. ows. of. *9. desired goal. the area. in. the PDP-11/50 can be summarized as. f. o. 1. -. :. Achieve the capability to produce. 1 •. al. ized PDP-11/50 computer that would. or virtualized. all. I/O device.. machine's efficiency would be. The virtual. 2. support. operating systems and be able to access. available any real. virtu-. a. sufficient to reasonably. execute. most. types. of. aid. fa-. appl ications.. 3.. cility. Incoroorate. a. assist. to. complete debugging. the user. in. executing and pro*. gramming on the virtual machine. decision was made that any implementation of. The. system would be reoui red to. tual. This. system.. operate. under. thereby eliminates any tyoe. I. a. the. virtual. virMUN. I. X. machine. monitor considerations. A. futher. decision and restriction was that the virtual. machine monitor machine. would. olus. programs. execute. in. the. executing user mode. on. the. arid. in. virtual a. similar. manner to any other process.. restriction imnosed. This. ing the I/O page. of. the. address. a. Since the I/O nagc comprises the upper soace>. all. programs on the virtual. would reference this space for MUNIX*. on. the. serious problem on referenc-. testing. and. other hand? uses this virtual 47. '4k. machine. excuting. I/O.. address space.

(96)

(97) for the user stack. problem. having. of. currently and. It. at. the same time having one. the visualization design would. minimize. possible*. at. of. machine monitor) be the supervisor.. (virtual. was also decided that all. the. user mode processes executing con-. two. harmony but. in. processes. the. This restriction also imposes. area.. if. modifications to the operating. system.. problem areas identified in both the hardware. main. The. architecture and software restrictions can i. now. sum mar-. be. ?ed.. That. 1.. true virtual. a. corporated. PDP-11/50. the. on. Goldberg's Theorem. 1*. system cannot. identified. since all. in-. defined. as. (apoendix C) are not. tive instructions. be. a. by. sensi-. subset of. the privileged instructions.. the identified sensitive instructions. That. ?..,. vary in their method of execution when encountered. trap* in. user mode. For example*. the. in. RESE T. a. manner*. normal. a. That. 3.. causes. gram and the. a "no op*. i.e.. and. the HALT causes a. R. T. I. is. executed. independent of mode.. the I/O page accessing the user MUN. I. X. a. pro-. user's space area are incompat-. abl e.. That. 4. c omp. 1. e. t. virtual. e. 1. y. the virtual. machine monitor should be. separate from the job executing on. machine*. i.^.. not. 48. in. the. the same addressing.

(98)

(99) spacer. but. the same time have. at. access and examine in detail t. e. r s. and memory.. PS*. *. the processes'. The virtual. machine. to. regis". monitor. have the capability of controlling the. also. must. ability. the. program^ execution.. C.. MILESTONES The acheivement. quires. a. quired. to. This. especially true. is. methodical plan must. A. implemented. in. order. tial. milestones. to meet. the time a. span. series of program-. initiated. first be. step of the plan must be. The following outlines the objectives of. a. the. necessary machine.. 1. -. tools. Develop to. The virtual. basic foundation and. the. suooort. a. limited. First*. virtual. machine would execute stand-. alone processes subject to the following tions.. and. logi-. interrupt. handling. restric-. would not be. included. Secondly* methods of accessing. the. I/O. page would be restricted. Finally* only those sen-. sitive instructions that are. programming be simulated. 49. required. essen-. truly virtual-. ized PDP-1 1/SO.. STEP. re-. and modular for good program con-. flexible*. and documentation.. re-. have the end product useable and. to. efficient. Each hierarchical cally dsvelooedf. goals. coding, and process. if. attain these goals incluoes. ming teams.. trol. desire d. the. amount of complex design*. great. interaction.. and success of. for. basic.

(100)

(101) STEP. Develon and. -. ?. incorporate. complete. a. interruot handling process. STEP. Complete the simulation of all sensi-. -. 3. tive instructions.. STEP. Develop and include an efficient. -. 1. but. unlimited I/O capability. The consolidated virtual machine monitor would now. supoortino. virtual. a. have. ability. the. for. machine that could process. any stand-alone job.. STEP. Complete the final enchancements of. -. 5. having the virtual machine capable. of. supporting. different onerating systems.. Examination of several visualization projects. at. the area of man-hour development. of. institutions/ ject. of. one. to. Our goal. phasis. in. this size/. years. two is. other a. pro". estimates this effort to be approximately. depending on the implementation method.. to comolete. the. milestone/. first. on developing the tools/. putting. em-. plus program modularity for. ease of future enchancements.. D.. POSSIBLE APPROACHES To meet. school/. the. four. reguired visualization. possible. approaches. proaches varied considerably. in. were. cost/. implementation ease. Tne approaches were: 50. objectives. of. the. examined. The ap-. sophisication/. and.

(102)

(103) .. Acquire. 1. virtual. possible/. if. machine moni-. tor software already developed for the PDP-11. puter family from anotner institution. aDnroach. This. greatest appeal wheel',. is. the. in. firstc. secondly,. and. most not. source.. or. logical. and has the. 'reinventing. i. 2. modifications. it. PDP-11. the. to. necessary. hardware. system so as to im-. prove its virtual izable characteristics. and efficient virtual on. a. to. .. Acquire and implement. .. the. snending the majority pro~. gramming effort on converting and adapting our env ronment. com-. A. true. system can never be realized. PDP-11 comnuter until. the. execution. of. all. instructions in the user mode automati-. sensitive. cally interrupt the system's processing. This type of. modification. of. to many undesirable. maintenance. vendor. plus the real. the hardware though,. may lead. effects.. example,. side. For. aareements may be endangered,. possibility of degradation of normal. processing. All. 3.. proarams to be executed on the virtual. machine would first be examined by The function of. tify. and. for all. preprocessor.. the preprocessor would be to iden-. substitute. a. processor trap instruction. sensitive instructions encountered.. This most. a. cost. aporoach has the advantages of being the. sensitive. and 51. relatively. easy. to.

(104)

(105) implement but has three main disadvantages, Firsts the time spend. ease. for. secondly;. i. beatina the preorocessor since data tions. are. interspersed. in. finally/ and most. inability of processinq. the. instruc*. and. program and confusion. a. between the two are easily made; important/. the. intentionally or unintentionally. anyone. of. pr eorocess ngj. program. a. which contains self-modifying code. This. includes. many operating systems.. 4.. Implement some extensive operating. system. modifications to ease the visualization effort. Although this approach. is. in. variance with the. restriction on minimizing operating system modifications/ some. of. major. the. resolved. For instance/. it. problems. could. be. woulo be highly desire-. able to have the I/O paqe available to the virtual. processes. thus solving the I/O problem and either. would. eliminate or relocate the user stacks. This reguire the operating system to distinguish from. a. virtual. a. process for appropriate stack. real. han-. dling and memory mapping... Another very appeal is. to have. the virtual. i. ng. in. the. user. method. machine monitor execute in. the supervisor mode while run. imolementation. the. This. mode.. virtual. would solve. memory address space Problem and have the. monitor anove the user but 52. processes the. virtual. less then the operating.

(106)

(107) system. This also would require extensive. cations. since*. MUM. I. X. only uses the kernel. modifiand user. mode.. There. are. always. considerable. techinical problems in. modifying any operating system. This. is. especially. the present. It. is. time of the UNIX system.. new to all. oersonnel. which. it. is. system. is. effort. at. written. the school/ in,. but. in. relatively. more important the operating The. majority. learning, documenting,. fying the more important areas of the system.. 53. at. including the C-lanquage. almost completely undocumented.. to date has been. first*. true. of. and modi".

(108)

(109) V.. SELECTION AND IMPLEMENTATION. SELECTION. A.. The preprocessor approach was selected as the method for. method. virtual izing the PDP-11/50. Although this. disadvantages. substantial cost*. outlined. chapter IV*. in. for. them.. This method also assisted in overcom-. the conflicts and undesireable effects. ing some of. the. implementation* and time limitations more than. ease of. compensated. as. some. has. run-. of. ning under MUNIX and without making any modifications to the MUNIX system. search. The. existing. for. identified only one other. software^. for the PDP-ll/50r. cational. institution involved. of. monitor. machine. virtual. in. this area. edu-. The University. .. California* at Los Angeles? under the direction. Pro-. of. fessor Gerald J. Ponek is currently involved in virtual izing a. PDP-11/45 computer.. date tual. has been. machine.. virtual. in. One of their main research efforts to. the area of computer security and the vir-. Their implementation method involves. a. type. I. machine monitor plus an additional nlugeble hardware. modification KBS11-A),. module*. desioned. Virtual. Machine. manufactured. for. (the. and. Extension them by Digital. Eguioment Coporation (DEC). The hardware module simply plugs into. the system when the virtual. and efficiently traos all. Professor. Ponek. was. machine monitor. is. running. sensitive instructions.. contacted. for the possibility of. usinq any of their software modules in our 5a. virtual. machine.

(110)

(111) monitor.. was decided that. It. impractical. at. monitor. since their virtual. development. written. staqe». this time*. in. a. we. purchase. extension'. is. from. The virtual. an available Digital. function. is. 'virtual. thouah/. machine. Equipment Corporation option for the. to. at. a. cost of. $5995.. KBS. 1 1. -A. provides the following features:. [10]. provides the ability to trap certain "controlsensitive" instructions when they are encountered in user and/or supervisor mode. These instruction s characterized by the fact that they ooerate differently in user or supervisor mode ". 1 .. Its. facilitate the writing of virtual. machine monitor code. The. the. machine extensions option (KBS11-A). PDP-11/45 and PDP~ll/50 computers specific. in. language* and. recommend. the hardware. DEC. would be very still. is. different. mostly undocumented. Professor Popek did that. it. It. r. than in kernel mode/ are: HALT - dalt Instruction Execution WAIT - Wait for Interrupt RESET - Reset the system RTI - Return form Interrupt RTT - Return from Trap SPL - Set Priority Level MTPI Move Previous Instruction to Soace MTPD - Move to Previous Data Space MFPI Move from Previous Instruction Soace MFPD - Move from Previous Data Space In the virtual machine environment/ these instructrapoed and then simulated by the tions must be operating software. To aid in servicing of the instructions* these the KRS11-A hardware encodes unique 4 -bit each of these instructions into a number which can be read by the service routine. This eliminates software decoding of the instructions. The snecified instructions cause a reserved instruction trao/ vector 10.. orovides the ability to set up an al2. It and ternate vectc space to be used for traos interrupts effect is to f rem user mode. The "offset"/ by 1000/ 2000/ or 3000 (octal)/ any vecaddress generated while the processor is in tor* 55.

(112)

(113) user mode. This is done so that a supervisor program can service certain trans from user programs directly while still allowing the Kernel mode pro" gram full control of the system (all vectors are in Kernel address soace). 3. It provides a User Stack Limit Register* similar in operation to the Kernel Stack Limit Register. without this capability? the only other the way of limiting the user stack is by means of Manaoement unit, limits virtual Memory which machine structure and flexibility." t. The KBS11-A option contains no operator controls/. orogram control by means of. under full the UNIBUS.. registers. three. is. on. The three registers are the following:. VCSR VMX Control -Status. 1.. but. Register. This. -. (. contains seven control bits to enable or. register. disable the various extended processor features* VCODE VMX Reserved Instruction Cede Regis". 2.. ter. This reoister contains. -. a. code. four bit. for. easy identification of the instruction that caused t. he. t. rao.. VUSL. 3.. VMX User Stack Limit Register. register contains the. stack. user. limit. which operates like the standard kernel. no. limit. regi ster,. When. the. effect. hardware. and. ootion. the. KBS. the. processor. solves. for creating. lends itself of. KBS11-A is disabled,. 1. 1. *A. is. a. This. address. mode stack. the KBSli-A hardware has. operates of. all. -. as. normal.. This. the hardware problems and. true virtual. machine.. The. cost. currently the prohibitive feature* but 56.

(114)

(115) until the. this hardware option or one similar to. it. installed. is. toward visualization will never be. aoals of the school. at tended.. B.. DFSIGN CONSIDERATIONS With the objective of. PDP-11/50. implementing. computer (chapter IV. -. basic. a. virtualized. first milestone)*. the fol-. lowing design characteristics and considerations were adopted.. The virtual. 1.. machine's. configuration. consist of one PDP-11/50 computer' without. management unit* 32k words of memory. r. a. will. memory. and one LA30. DEXwriter termininal. Job processing will. 2.. be. restricted to stan-. dalone jobs that have been oreprocessed for sensitive instruction substitution. Jobs also. restricted. in. the method of accessing I/O. not using interrupt. instruction. will. processing.. type. The. be. arid. in. 'MOV. employing direct indexing will be the. only instruction allowed to reference the I/O page and. 'HALT'. the. instruction will be used for exit-. ing from the user program.. 3.. The debugging aid will. ing capabilities:. tents. of. the. word and memory.. (1). include the follow-. Be able to display. general. Memory. the. con-. registers? program status may 57. be. displayed. both.

(116)

(117) -. i. oc. t. a. 1. 1. symbolically;. and. y. any register or memory cell? ity. for breakpoint. 4. .. Be able to modify. (3). Provide the abil-. processing.. The program will. language/. (?). be modular. written. be. the. in. design for ease of incor-. in. porating enhancements and unders t and nq, corporate. built. a. upon command, give. internal. in. C. value. the. and. in-. debugger that will of. variables. the. encountered throughout the program.. C.. IMPLEMENTATION 1.. Program Overview The virtual. al. (Figure. units.. ing functional. follow-. machine monitor consists of the 11. illustrates these function-. units and their relationships). a.. Supervisor Monitor The supervisor. monitor. module of the virtual monitor. cation between user and edits. the. virtual. highest. the. level. provides the main communi-. It. machine.. virtual. machine. is. It. acceots. and. monitor commands and calls and. supervises their execution. b.. Preprocessing Monitor The preDrocess ng monitor edits* i. calls,. and mon-. itors the preorocessor executions. c. •. Preorocesso r The. module. that. preprocessor. examines. is. incoming SB. a. completely self-contained virtual. machine. job. for.

(118)

(119) PROGRAM MODULE OVERVIEW MACHINE MONITOR. VIRTUAL. INTERNAL. SUPERVISOR MONITOR. PROGRAM DEBUGGER. PREPROCESSING. EXECUTION. DEBUG. MONITOR. MONITOR. MODULE. S. "breakpoint. TdTspla y .. modify. k. • -. PREPROCESSOR. VMM. PROGRAM. DISPATCHER. r. SENSITIVE. INSTRUCTION. SIMULATORS L..„. SC UTILITY. Ml. FUNCTIONS. FIGURE. 59. I. I.

(120)

(121) Se n s t vt. vv e. put. a. is. -. e. .. instructions and. substitution. Its out-. o ossicle. modified executable (a. out). f. i. j. and. e. sensitive. a. instruction table. d.. Execution Monitor execution monitor's function. to start. or. continue the executing of the job on the virtual machine.. I v. The. a. breakpoint or sensitive trap. encountered. is. the execution monitor receives the. dispatcher e. i. reguired handl. in. dispatcher the orogram. sensitive. calls. the. determines and. calls. the type of problem (if. necessary). simulator. instruction. the. breakpoint. or. e r. f.. Sensitive Instruction Simulators These routines. tion). interrupt and. spat cher. The. encountered. the program. in. servicing.. for-. .. is. simulate. (one for each sensitive. execution. the. of. the. instruc". sensitive. individual. instructions. g.. Debug Modu es 1. The debug modules are available to. user. assistance. for. in. the. general. program debugging and in examining. program execution. h. a. Internal. Program Debugger. When this. throughout. the. is. orogram. This function is not. activated;. variable. values. are displayed to aid in. intended for the general user. stead. for the virtual. ging*. and enchancement. o. used. bugging but. in-. machine's monitor maintenance* debug. verification, 60. ,.

(122)

(123) i. M. .. i. sce. This. tions used. bv. H aneous is. a. Utility Functions. general. collection. utility. of. the main modules.. Super visor Monitor. 2.. supervisor. The. (named. monitor. '. * v mm. ' ). is. simple routine which controls and directs the main program, as directed by the user's commands.. the. highest one. func-. level. that. is. Its action. command,. is. small. a. flow. of. is. the. It. module of the virtual machine monitor and. entered when the monitor program simnly to wait for. and initiate. a. call. a. executec.. is. command,. user. to the correct. edit. the. module for pro-. cessing. After the called process has completed* control returned. the. is. The supervisor monitor. to the supervisor monitor.. then waits for the next command. The. following. is. a. list. the valid commands and. of. their respective functions.. COMMAND. p. f. i. 1. ex. [y/n]. FUNCTION. Preprocess filex.. [b]. mand. has two optional. ters.. parame-. user wants to be. the. informed. com-. indicates. first. The. whether. when. instruction The. This. sensitive. a. is. encountered.. activates. second. preprocessor's. internal. the. de-. bugger. Start 61. or. continue. program.

(124)

(125) .. .. execution.. b. ADDR. Put. breakpoint. a. address. at. ADDR. d. Display. r. all. general. registers. plus the program status word.. d. o. ADDR. Display memory in octal start-. U. ing from address. ADDR. for. #. number of words.. d. s. ADDR. Display the. #. program. symboli-. from address ADDR for. cally. U. number of instructions.. m. rX. (octal. m. SP. VALUF. PC. ADDR. X. to. VALUE,. ). Modify (octal. m. register. Modify. VALUE. stack pointer to VALUE ). Modify. the proaram counter to. address ADDR.. m. PS. Modify the program status won. VALUE. to VALUE. m. mem. ADDR. VALUE. Modify to VALUE. (octal. memory (octal. Enter internal. b?. ). at. address ADDR. ). debug..

(126)

(127) t. x. Leave internal debug.. s. Terminate the execution of the virtual machine monitor.. 3. Preoroc essor. .. The preorocessor orogram (named '«-vmm001'). contained. module. is. its. infrequent. preprocessor. the. user. memory and executed only when needed.. called. preprocessing. the. by. is. Because. loaded into. preprocessor. The. monitor.. i. VI. coordinated. is. us. rated in fiqurp 1? The. input. to be executed on. be. in. by. form. the. to. a. series of M U N I X system calls as. the preprocessor is programs which are. an. machine. These. in. programs. must. executable (a. out) file with non-. sharable segments. The user program input. preprocessor. pro-. .. the virtual of. is. interaction. The. between the Dreprocessing monitor and the preprocessor gram. self. function is normally required only. whose. once for each job processed on the virtual machine. of. a. is. read. into. the. blocks of b\? bytes for improved effeciency.. The preprocessor program examines. end. tests. program. each. instruction in the text seqment for sensitivity.. If. such an. instruction. is. places. and the sensitive instruction is then written in. it. preprocessor. first argument. gram (a. cut. 'TRAP'. instruction. (104450). re-. instruction table.. the sensitive. The. found the. is. file). program has three arguments.. mandatory and gives the name of for preprocessing.. 63. the. The. pro-. The second argument. is.

(128)

(129) INTERACTION BETWEEN PREPROCESSING MONITOR AND PREPROCESSOR. PREPROCESSING MONITOR EXECUTION. FORK. (. ). A new system process is created by copying the core image of the caller of fork. The new process is the child of the old process the parent. PARENT (old process). CHILD (new process). WAIT. EXEC (-VMP001). (. ). Causes the parent to to delay execution until the child process has terminated.. Program -VMP001 overlays child and starts execution at the beginning of the program. There is no return to the original child process.. Continues to execute. -VMP001 starts execution. -VMP001 terminates (activates parent). FIGURE 12. 64.

(130)

References

Related documents

9.9 To help meet this problem, and to encourage both the provision of medical insurance for older people and its take-up, the Government has decided to introduce legislation to

The aim of this study was to examine the psychometric properties of the S-HSOPSC and the HSOPSC within a Swedish hospital setting and to describe health care staff’s perceptions

Criminal jurisdiction is determined on the basis of the country where the criminal offense was committed or attempted to be committed, or where there is

In the case of a high initial markup, our model suggests that changes in the price of capital as well as capital-augmenting technological change only have

Management system for a nuclear facility Organisation and personnel of a nuclear facility Construction and commissioning of a nuclear facility Conduct of operations at

Drawing on the World Bank firm-surveys, this paper analyzes the relationship between investment climate and firm-level productivity for a large number of developing countries (22

That the Port Lincoln Flying Club Inc be advised that Council, having considered their request to waive landing fees for single engine general aviation aircraft, will not grant

(eg, early weaning and infant survival, stopping prolonged maternal HAART and mom health)...