Knowledge

Persistence (computer science)

Source 📝

47: 288:: Requires enough RAM to hold the entire system state. State changes made to a system after its last image was saved are lost in the case of a system failure or shutdown. Saving an image for every single change would be too time-consuming for most systems, so images are not used as the single persistence technique for critical systems. 281:
is an example of orthogonal persistence using a system image because it does not require any actions by the programs running on the machine. An example of non-orthogonal persistence using a system image is a simple text editing program executing specific instructions to save an entire document to a
338:
This technique is the writing to storage of only those portions of system state that have been modified (are dirty) since their last write. Sophisticated document editing applications, for example, will use dirty writes to save only those portions of a document that were actually changed since the
218:
The term "persistent" was first introduced by Atkinson and Morrison in the sense of orthogonal persistence: they used an adjective rather than a verb to emphasize persistence as a property of the data, as distinct from an imperative action performed by a program. The use of the transitive verb
197:" or "transparent" when it is implemented as an intrinsic property of the execution environment of a program. An orthogonal persistence environment does not require any specific actions by programs running in it to retrieve or save their 330:: When journals are used exclusively, the entire (potentially large) history of all system events must be reapplied on every system startup. As a result, journals are often combined with other persistence techniques. 308:
The entire "Undo/Redo" history of user commands in a picture editing program, for example, when written to a file, constitutes a journal capable of recovering the state of an edited picture at any point in time.
406:
use a combination of the dirty writes and transaction journaling techniques mentioned above. They provide not only persistence but also other services such as queries, auditing and access control.
345:
This technique requires state changes to be intercepted within a program. This is achieved in a non-transparent way by requiring specific storage-API calls or in a transparent way with automatic
361:
that makes it easier for a program to persist its state is generically called a persistence layer. Most persistence layers will not achieve persistence directly but will use an underlying
302:
Using journals is the second simplest persistence technique. Journaling is the process of storing events in a log before each one is applied to a system. Such logs are called journals.
600: 204:
Non-orthogonal persistence requires data to be written and read to and from storage using specific instructions in a program, resulting in the use of
481: 469: 64: 111: 305:
On startup, the journal is read and each event is reapplied to the system, avoiding data loss in the case of system failure or shutdown.
83: 379:
System prevalence is a technique that combines system images and transaction journals, mentioned above, to overcome their limitations.
32: 439: 90: 476: 611: 97: 427: 79: 17: 418:
that remain persistent even after a crash or unexpected shutdown. Operating systems that employ this ability include
130: 518: 472: 656: 646: 358: 68: 651: 163:. Programs have to transfer data to and from storage devices and have to provide mappings from the native 104: 548: 254:, Fibonacci and pJama, successfully demonstrated the concepts along with the advantages to programmers. 362: 321: 498: 28: 198: 178: 152: 578: 232: 228: 57: 346: 313: 278: 215:
The advantage of orthogonal persistence environments is simpler and less error-prone programs.
538: 194: 503: 160: 641: 528: 386: 164: 8: 543: 297: 156: 449: 349:. This results in code that is slower than native code and more complicated to debug. 38:
Characteristic of state of a computer system that outlives the process that created it
588:. 10th Australian National Computer Conference. Melbourne, Australia. pp. 70–79. 533: 523: 508: 374: 317: 27:
This article is about state outliving processes. For immutable data structures, see
415: 144: 493: 574: 219:"persist" (describing an action performed by a program) is a back-formation. 174: 167: 159:
that created it. This is achieved in practice by storing the state as data in
635: 513: 459: 182: 570: 274: 268: 454: 240: 46: 251: 247: 227:
Orthogonal persistence is widely adopted in operating systems for
445: 569: 433: 422: 236: 324:
where they are also called "transaction logs" or "redo logs".
464: 403: 398: 31:. For concepts relating to the persistence of memory, see 586:
Proceedings 10th Australian National Computer Conference
188: 392: 155:of a system that outlives (persists more than) the 71:. Unsourced material may be challenged and removed. 579:"PS-algol: A Language for Persistent Programming" 633: 608:University of Glasgow - School of CS - Research 409: 277:is the simplest persistence strategy. Notebook 210:On completion, the program persists the data 601:"Contracted Persistent Object Programming" 565: 563: 33:The Persistence of Memory (disambiguation) 257: 181:persistence by saving their documents to 131:Learn how and when to remove this message 599:Balzer, Stephanie (November 17, 2005). 560: 170:to the storage device data structures. 14: 634: 598: 352: 246:Research prototype languages such as 189:Orthogonal or transparent persistence 385:A prevalent system must have enough 368: 69:adding citations to reliable sources 40: 393:Database management systems (DBMSs) 80:"Persistence" computer science 24: 25: 668: 414:Persistent operating systems are 389:to hold the entire system state. 573:; Bailey, P.J.; Chisholm, K.J.; 262: 151:refers to the characteristic of 45: 333: 56:needs additional citations for 592: 13: 1: 554: 610:. ETH Zürich. Archived from 410:Persistent operating systems 173:Picture editing programs or 7: 549:Snapshot (computer storage) 487: 322:database management systems 291: 222: 193:Persistence is said to be " 10: 673: 396: 372: 363:database management system 295: 266: 26: 499:Persistent data structure 430:, the successor to KeyKOS 29:Persistent data structure 577:; Morrison, R. (1983). 314:journaling file systems 233:platform virtualization 177:, for example, achieve 347:program transformation 258:Persistence techniques 208:as a transitive verb: 657:Models of computation 647:Computing terminology 504:Persistent identifier 312:Journals are used by 161:computer data storage 652:Computer programming 617:on December 31, 2006 529:Java Persistence API 165:programming-language 65:improve this article 544:Service Data Object 442:, successor to EROS 436:, revisions of EROS 298:Journal (computing) 450:single-level store 353:Persistence layers 243:for state saving. 18:Persistent storage 534:System prevalence 524:Java Data Objects 509:Persistent memory 416:operating systems 375:System prevalence 369:System prevalence 318:prevalent systems 141: 140: 133: 115: 16:(Redirected from 664: 627: 626: 624: 622: 616: 605: 596: 590: 589: 583: 567: 235:systems such as 145:computer science 136: 129: 125: 122: 116: 114: 73: 49: 41: 21: 672: 671: 667: 666: 665: 663: 662: 661: 632: 631: 630: 620: 618: 614: 603: 597: 593: 581: 575:Cockshott, W.P. 568: 561: 557: 494:Persistent data 490: 482:tahrpuppy-6.0.5 412: 401: 395: 377: 371: 355: 336: 300: 294: 271: 265: 260: 225: 191: 175:word processors 168:data structures 137: 126: 120: 117: 74: 72: 62: 50: 39: 36: 23: 22: 15: 12: 11: 5: 670: 660: 659: 654: 649: 644: 629: 628: 591: 571:Atkinson, M.P. 558: 556: 553: 552: 551: 546: 541: 536: 531: 526: 521: 516: 511: 506: 501: 496: 489: 486: 485: 484: 479: 474: 470:Grasshopper OS 467: 462: 457: 452: 443: 437: 431: 425: 411: 408: 397:Main article: 394: 391: 373:Main article: 370: 367: 359:software layer 354: 351: 335: 332: 296:Main article: 293: 290: 267:Main article: 264: 261: 259: 256: 224: 221: 190: 187: 139: 138: 121:September 2014 53: 51: 44: 37: 9: 6: 4: 3: 2: 669: 658: 655: 653: 650: 648: 645: 643: 640: 639: 637: 621:September 21, 613: 609: 602: 595: 587: 580: 576: 572: 566: 564: 559: 550: 547: 545: 542: 540: 539:Orthogonality 537: 535: 532: 530: 527: 525: 522: 520: 517: 515: 514:Copy-on-write 512: 510: 507: 505: 502: 500: 497: 495: 492: 491: 483: 480: 478: 475: 473: 471: 468: 466: 463: 461: 460:IBM System/38 458: 456: 453: 451: 447: 444: 441: 438: 435: 432: 429: 426: 424: 421: 420: 419: 417: 407: 405: 400: 390: 388: 384: 383:Shortcomings: 380: 376: 366: 364: 360: 350: 348: 344: 343:Shortcomings: 340: 331: 329: 325: 323: 319: 315: 310: 306: 303: 299: 289: 287: 283: 280: 276: 275:system images 270: 263:System images 255: 253: 249: 244: 242: 238: 234: 230: 220: 216: 213: 211: 207: 202: 200: 196: 186: 184: 180: 176: 171: 169: 166: 162: 158: 154: 150: 146: 135: 132: 124: 113: 110: 106: 103: 99: 96: 92: 89: 85: 82: –  81: 77: 76:Find sources: 70: 66: 60: 59: 54:This article 52: 48: 43: 42: 34: 30: 19: 619:. Retrieved 612:the original 607: 594: 585: 413: 402: 382: 381: 378: 356: 342: 341: 337: 334:Dirty writes 328:Shortcomings 327: 326: 311: 307: 304: 301: 286:Shortcomings 285: 284: 272: 269:System image 245: 226: 217: 214: 209: 205: 203: 192: 172: 148: 142: 127: 118: 108: 101: 94: 87: 75: 63:Please help 58:verification 55: 642:Persistence 339:last save. 279:hibernation 229:hibernation 149:persistence 636:Categories 555:References 241:VirtualBox 195:orthogonal 91:newspapers 448:with its 488:See also 292:Journals 252:Napier88 248:PS-algol 223:Adoption 455:Phantom 446:Multics 440:Coyotos 231:and in 206:persist 157:process 105:scholar 477:Lua OS 434:CapROS 423:KeyKOS 282:file. 273:Using 237:VMware 107:  100:  93:  86:  78:  615:(PDF) 604:(PDF) 582:(PDF) 465:IBM i 404:DBMSs 199:state 183:files 179:state 153:state 112:JSTOR 98:books 623:2015 519:CRUD 428:EROS 399:DBMS 357:Any 320:and 239:and 84:news 387:RAM 143:In 67:by 638:: 606:. 584:. 562:^ 365:. 316:, 250:, 212:. 201:. 185:. 147:, 625:. 134:) 128:( 123:) 119:( 109:· 102:· 95:· 88:· 61:. 35:. 20:)

Index

Persistent storage
Persistent data structure
The Persistence of Memory (disambiguation)

verification
improve this article
adding citations to reliable sources
"Persistence" computer science
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
computer science
state
process
computer data storage
programming-language
data structures
word processors
state
files
orthogonal
state
hibernation
platform virtualization
VMware
VirtualBox
PS-algol

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.