A Method for the Recovery of Data After a Computer System Failure: The

A Method for the Recovery of Data After a Computer System Failure: The

Iowa State University Capstones, Theses and Retrospective Theses and Dissertations Dissertations 1992 A method for the recovery of data after a computer system failure: the development of Constant Random Access Memory (CRAM) Recovery System Renford Adolphus Benito Brevett Iowa State University Follow this and additional works at: https://lib.dr.iastate.edu/rtd Part of the Computer Sciences Commons, and the Engineering Education Commons Recommended Citation Brevett, Renford Adolphus Benito, "A method for the recovery of data after a computer system failure: the development of Constant Random Access Memory (CRAM) Recovery System " (1992). Retrospective Theses and Dissertations. 9977. https://lib.dr.iastate.edu/rtd/9977 This Dissertation is brought to you for free and open access by the Iowa State University Capstones, Theses and Dissertations at Iowa State University Digital Repository. It has been accepted for inclusion in Retrospective Theses and Dissertations by an authorized administrator of Iowa State University Digital Repository. For more information, please contact [email protected]. INFORMATION TO USERS This manuscript has been reproduced from the microfilm master. UMI films the text directly from the original or copy submitted. Thus, some thesis and dissertation copies are in typewriter face, while others may be from any type of computer printer. The quality of this reproduction is dependent upon the quality of the copy submitted. Broken or indistinct print, colored or poor quality illustrations and photographs, print bleedthrough, substandard margins, and improper alignment can adversely affect reproduction. In the unlikely event that the author did not send UMI a complete manuscript and there are missing pages, these will be noted. Also, if unauthorized copyright material had to be removed, a note will indicate the deletion. Oversize materials (e.g., maps, drawings, charts) are reproduced by sectioning the original, beginning at the upper left-hand corner and continuing from left to right in equal sections with small overlaps. Each original is also photographed in one exposure and is included in reduced form at the back of the book. Photographs included in the original manuscript have been reproduced xerographically in this copy. Higher quality 6" x 9" black and white photographic prints are available for any photographs or illustrations appearing in this copy for an additional charge. Contact UMI directly to order. University Microfilms International . A Bell & Howell Information Company 300 North Zeeb Road, Ann Arbor, Ml 48106-1346 USA 313/761-4700 800/521-0600 Order Number 9234792 A method for the recovery of data after a computer system failure: The development of Constant Random Access Memory (CRAM)® recovery system Brevett, Renford Adolphus Benito, Ph.D. Iowa State University, 1992 Copyright ©1992 by Brevett, Renford Adolphus Benito. All rights reserved. UMI 300 N. ZeebRcl. Ann Arbor, MI 48106 A method for the recovery of data after a computer system failure: The development of Constant Random Access Memory (CRAM)® Recovery System by Renford Adolphus Benito Brevett A Dissertation Submitted to the Graduate Faculty in Partial Fulfillment of the Requirement for the Degree of DOCTOR OF PHILOSOPHY Major: Industrial Education and Technology Approved: Signature was redacted for privacy. In Charge of Major Work Signature was redacted for privacy. Signature was redacted for privacy. For the Graduate College Iowa State University Ames, Iowa 1992 Copyright ® Renford A. B. Brevett, 1992. All rights reserved. ii TABLE OF CONTENTS CHAPTER L INTRODUCTION 1 Statement of the Problem 2 Purpose of the Study 3 Need for the Study 4 Delimitations of the Study 5 Limitation of the Study 6 Procedure of the Study 6 Definitions of Terms 9 CHAPTER II. LITERATURE REVIEW 12 Computer System and Software Failures 13 Software Testing 18 Computer Reliability and Validity Testing 20 Data Recovery System 23 Operating System and Software Development 26 Terminate-and Stay-Resident (TSR) Method 27 Undocumented DOS 29 CHAPTER III. DESIGN METHODS AND PROCEDURES 31 Questions of the Study 31 Hypothesis of the Study 32 Methodology of the Study 33 CHAPTER IV. RESULTS OF ANALYSIS AND HYPOTHESIS TESTING 38 Hypothesis 1 38 Installation 40 Organizing the hard disk 43 Checking for free clusters 45 Writing the FAT 49 12-Bit FAT 49 16-Bit FAT 50 Formatting CRAM 52 Protecting CRAM from DOS 53 Writing the directory area 54 CRAM'S Operation 54 Using hardware interrupt 57 Using software interrupt 59 Using the keyboard interrupt 59 iii Using the clock interrupt 60 Using the DOS idle interrupt 60 Use of Undocumented DOS 60 Using the DOS Swappable Data Area (SDA) 62 Determination of CRAM refresh period 62 Saving Memory 63 Memory Restoration 65 Context Switching 66 Working With Memory Control Blocks 69 Saving CRAM Data 73 Restoring Memory 73 Hypothesis 2 82 Results of software testing 82 Recovering from a power failure 82 Hypothesis 3 85 Time delay 85 CHAPTER V. SUMMARY AND RECOMMENDATIONS 94 Discussion to Question 1 94 Implications for future research 95 Discussion to Question 2 97 Development problems 97 Implementation problems 101 Implications for future research 101 Discussion to Question 3 102 Summary 103 REFERENCES 104 ACKNOWLEDGMENTS Ill APPENDIX A. INSTALLATION GUIDE 112 Introduction 113 System Preparation Prior to CRAM Installation 113 CRAM Installation 114 Invoking CRAM 115 Switches Used With CRAM 115 System Requirements 116 APPENDIX B. USER MANUAL 118 Introduction 120 Some DOS Error Codes Returned by CRAM 121 iv Error Codes Specific to CRAM 122 Re-installing CRAM 124 Getting Information About CRAM 126 Editing CRAM 127 Transferring CRAM To a Different Disk and/or Computer 127 Removing CRAM From the Hard Disk and System 128 APPENDIX C. CRAM SOURCE CODE 130 TSR.H 131 CRAM.H 132 DISK.C 140 CRAMUTIL.C 146 CRAMINT.C 155 CRAMMEM.C 160 CRAMTOOL.C 168 CRAM.C 182 INSTALL.C 209 APPENDIX D. SOURCE CODES FOR SOME USEFUL UTILITIES 216 GEN UTIL.C 217 CRAMINFO.C 223 V LIST OF FIGURES Figure 1. CRAM's development showing the goals assigned to each task .... 39 Figure 2. Layout of CRAM on the Hard Disk 44 Figure 3. Disk layout showing fragmented files 46 Figure 4. Disk layout after running Norton Utility disk organizing program (Speed Disk) 47 Figure 5. Installation Flow Chart 48 Figure 6. Flow diagram showing the start-up process for a DOS machine and the determination of CRAM's status 55 Figure 7. CRAM's process screen indicators 56 Figure 8. Flow Diagram showing CRAM's operations 58 Figure 9. Layout of the Program Segment Prefix (PSP) 67 Figure 10. Layout of DOS Swappable Data Area (SDA) 68 Figure 11. Code to find free clusters on the disk 70 Figure 12. Code to make a directory entry that protect CRAM from DOS ... 71 vi Figure 13. Code to write to the FAT 72 Figure 14. Code showing the main memory saving routine 74 Figure 15. Code showing the method used to restore memory 75 Figure 16. Code for the main memory loop 76 Figure 17. Code to show the calculation of memory checksum 77 Figure 18. Code to check for CRAM in memoiy to make sure it is the first program in memory after the DOS shell (COMMAND.COM) .... 79 Figure 19. MS-DOS environment after the start-up process 80 Figure 20. Layout of memory after CRAM was loaded 81 Figure 21. Software conflicts and the number of partial and full restoration of the system by CRAM 83 Figure 22. Benchmark program code 86 Figure 23. Delay times for some benchmark functions 87 Figure 24. Delay times for some benchmark functions contd 88 Figure 25. Graph of sieve numerical test 90 Figure 26. Graph of Video display test 91 vii Figure 27. Graph of random numbers generation test 92 Figure 28. Code used to set MCB 99 Figure 29. Code to get MCB 100 Figure lA. CRAM's process screen indicators 125 1 CHAPTER I. INTRODUCTION Over the past decade, much computerization has occurred in industries, schools, and homes. Computers are being used as tools, tutors, and tutee. Many people have become dependent on computers to perform a variety of calculations, bookkeeping, word processing, and other tasks. In order for the computer to reliably and continuously perform its assigned tasks the hardware and software must be designed to operate with a high degree of reliability. Since modem computers are generally reliable, most improvements by computer designers and programmers are directed towards building faster machines and higher storage capability. Although the storage capacity and speed of the machines is important, the designers neglect the area of system recovery and data loss. Data loss from a power outage can be catastrophic in that very important information, which may either be very expensive or time consuming to obtain may be lost. The following questions could be posed: 1. What are the major causes of computer system failure? 2. What methods can be used to save the system's data for easy access in case of a system failure? 3. How can data be recovered from a failed system? 4. What are the costs associated with system recovery by alternative methods? 2 5. What measurable effects do alternative systems have on system performance? 6. Can a recovery system be developed that utilizes only software in contrast to hardware solutions? 7. What are the major problems to be encountered in developing a software-based recovery system? Statement of the Problem Regardless of the computer's general reliability, unfortunate incidents, such as keyboard lock-up, software failures, and power outages, over which the user has no control, sometimes lead to the loss of data in memory. Most existing software products do not have the capability to restore data lost from memory. The user is compelled to either develop habits of frequently saving their data or repeat the work if there is a failure.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    241 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us