Resource management: Difference between revisions

From Computer Science Wiki
(Created page with "<center> <blockquote style="padding: 5px; background-color: #FFF8DC; border: solid thin gray;"> File:Exclamation.png This is one of '''the most important ideas''' you c...")
 
 
(21 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<center>
[[file:resource.png|right|frame|Resource Management<ref>http://www.flaticon.com/</ref>]]
<blockquote style="padding: 5px; background-color: #FFF8DC; border: solid thin gray;">
  [[File:Exclamation.png]] This is one of '''the most important ideas''' you can take with you:


  '''Decompose''' a problem into smaller parts, '''model''' a problem with flowcharts. Learn to think '''sequentially'''
An operating system (OS) is a software that manages a computer's hardware and software resources and provides common services for computer programs. It acts as an intermediary between the computer hardware and the user or application software.
</blockquote>
</center>


[[file:computation.png|right|frame|Computational thinking, problem-solving and programming<ref>http://www.flaticon.com/</ref>]]
An operating system performs various functions, including:


Computational Thinking (CT) is a process that generalizes a solution to open-ended problems. Open-ended problems encourage full, meaningful answers based on multiple variables, which require using decomposition, data representation, generalization, modeling, and algorithms found in Computational Thinking. Computational Thinking requires the decomposition of the entire decision making process, the variables involved, and all possible solutions, ensuring that the right decision is made based on the corresponding parameters and limitations of the problem. The term computational thinking was first used by Seymour Papert in 1980[1] and again in 1996.[2] Computational thinking can be used to algorithmically solve complicated problems of scale, and is often used to realize large improvements in efficiency<ref>https://en.wikipedia.org/wiki/Computational_thinking</ref>
# Resource Management: An operating system manages computer resources such as CPU, memory, disk space, and input/output devices.
# Process Management: An operating system manages processes or programs running on the computer, including starting and stopping processes, scheduling processes, and allocating system resources to processes.
# Memory Management: An operating system manages the computer's memory by allocating memory to different processes and ensuring that each process has the necessary memory to run.
# File Management: An operating system manages files stored on the computer's hard drive, including creating, deleting, and managing files and directories.
# User Interface: An operating system provides a user interface that enables users to interact with the computer, including graphical user interfaces (GUI) and command-line interfaces.


Examples of popular operating systems include Microsoft Windows, macOS, Linux, Android, and iOS.


== The big ideas in Abstract data structures ==  
<html>
<iframe width="560" height="315" src="https://www.youtube.com/embed/9_C2IzjsM7w" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</html>


=== Thinking recursively ===
In computer programming, resource management refers to techniques for managing resources (components with limited availability). It includes both preventing resource leaks (releasing a resource when a process has finished using it) and dealing with resource contention (when multiple processes wish to access a limited resource). Resource leaks are an issue in sequential computing, while resource contention is an issue in concurrent computing. On many systems the operating system reclaims resources after the process makes the exit system call.<ref>https://en.wikipedia.org/wiki/Resource_management_(computing)</ref>
* [[Recursive thinking]]
* [[Recursive algorithms]]


=== Abstract data structures ===


* [[Two dimensional arrays]]
== Big ideas in resources management ==
* [[Stack]]
* [[Queue]]


=== Linked lists ===  
=== System resources ===


* [[Dynamic data structures]]
* [[Computer resources]]  
* [[Linked lists]]
* [[Resource limitations]]


=== Trees ===  
=== Role of the operating system ===


* [[Trees]]
* [[Operating system]]
* [[Operating Systems management techniques]]
** [[Scheduling]]
** [[Policies]]
* [[Dedicated operating system for a device.]]
* [[Hiding complexity]]
 
=== Deepen your understanding ===
The topics below are not linked directly to IB standards. If you want to improve and deepen your understanding of resource management you should understand the topics presented below.
 
* [[Processes and Threads]]
* [[Multi-user systems]]
* [[System calls]]
* [[Firmware]]
 
== Standards ==
 
# Identify the resources that need to be managed within a computer system.
# Evaluate the resources available in a variety of computer systems.
# Identify the limitations of a range of resources in a specified computer system.
# Describe the possible problems resulting from the limitations in the resources in a computer system.
# Explain the role of the operating system in terms of managing memory, peripherals and hardware interfaces.
# Outline OS resource management techniques: scheduling, policies, multitasking, virtual memory, paging, interrupt, polling.
# Discuss the advantages of producing a dedicated operating system for a device.
# Outline how an operating system hides the complexity of the hardware from users and applications.


== References ==
== References ==
<references />
<references />
[[Category:resource management]]
[[Category:HL]]
[[Category:problem-solving]]
[[Category:essential idea]]

Latest revision as of 08:52, 23 March 2023

Resource Management[1]

An operating system (OS) is a software that manages a computer's hardware and software resources and provides common services for computer programs. It acts as an intermediary between the computer hardware and the user or application software.

An operating system performs various functions, including:

  1. Resource Management: An operating system manages computer resources such as CPU, memory, disk space, and input/output devices.
  2. Process Management: An operating system manages processes or programs running on the computer, including starting and stopping processes, scheduling processes, and allocating system resources to processes.
  3. Memory Management: An operating system manages the computer's memory by allocating memory to different processes and ensuring that each process has the necessary memory to run.
  4. File Management: An operating system manages files stored on the computer's hard drive, including creating, deleting, and managing files and directories.
  5. User Interface: An operating system provides a user interface that enables users to interact with the computer, including graphical user interfaces (GUI) and command-line interfaces.

Examples of popular operating systems include Microsoft Windows, macOS, Linux, Android, and iOS.

In computer programming, resource management refers to techniques for managing resources (components with limited availability). It includes both preventing resource leaks (releasing a resource when a process has finished using it) and dealing with resource contention (when multiple processes wish to access a limited resource). Resource leaks are an issue in sequential computing, while resource contention is an issue in concurrent computing. On many systems the operating system reclaims resources after the process makes the exit system call.[2]


Big ideas in resources management[edit]

System resources[edit]

Role of the operating system[edit]

Deepen your understanding[edit]

The topics below are not linked directly to IB standards. If you want to improve and deepen your understanding of resource management you should understand the topics presented below.

Standards[edit]

  1. Identify the resources that need to be managed within a computer system.
  2. Evaluate the resources available in a variety of computer systems.
  3. Identify the limitations of a range of resources in a specified computer system.
  4. Describe the possible problems resulting from the limitations in the resources in a computer system.
  5. Explain the role of the operating system in terms of managing memory, peripherals and hardware interfaces.
  6. Outline OS resource management techniques: scheduling, policies, multitasking, virtual memory, paging, interrupt, polling.
  7. Discuss the advantages of producing a dedicated operating system for a device.
  8. Outline how an operating system hides the complexity of the hardware from users and applications.

References[edit]