Resource management (computing): Difference between revisions

Content deleted Content added
mNo edit summary
Tags: Mobile edit Mobile app edit iOS app edit
m Reverted edit by 35.33.193.94 (talk) to last version by Frap
 
(8 intermediate revisions by 6 users not shown)
Line 24:
{{main|resource contention}}
 
In computer science, [https://www.techtarget.com/whatis/definition/resource-contention resource contention] refers to a conflict that arises when multiple entities attempt to access a shared resource, like random access memory, disk storage, cache memory, internal buses, or external network devices.
{{expand section|date=November 2016}}
 
==Memory management==
Line 36:
 
==Basic techniques==
The basic approach to resource management is to acquire a resource, do something with it, then release it, yielding code of the form (illustrated with opening a file in [[Python (programming language)|Python]]):
<syntaxhighlight lang="python">
f = open(filename)
Line 69:
</syntaxhighlight>
 
The above techniques – unwind protection (<code>finally</code>) and some form of encapsulation – are the most common approach to resource management, found in various forms in [[C Sharp (programming language)|C#]], [[Common Lisp]], [[Java (programming language)|Java]], [[Python (programming language)|Python]], [[Ruby (programming language)|Ruby]], [[Scheme (programming language)|Scheme]], and [[Smalltalk]],{{sfn|Beck|1997|pp=37–39}} among others; they date to the late 1970s in the [[NIL (programming language)|NIL]] dialect of Lisp; see {{section link|Exception handling|History}}. There are many variations in the implementation, and there are also significantly different [[#Approaches|approaches]].
 
== Approaches ==
Line 168:
| isbn = 978-0134769042
}}
* {{cite techreporttech report
|url = http://research.cs.wisc.edu/techreports/2008/TR1647.pdf
|first1 = Matt |last1 = Elder
Line 187:
* [http://c2.com/cgi/wiki?DeterministicResourceManagement Deterministic Resource Management], ''[[WikiWikiWeb]]''
 
[[Category:Articles with example Python (programming language) code]]
[[Category:Programming constructs]]