The Operating System - Managing Resources Flashcards
What is an an operating system?
=> The name given to the collection of systems software responsible for managing a computer.
=> Manages the computer’s resources including peripherals, processes, memory protection and backing store.
=> Hides the functioning of the computer from the users and their programs.
What is a ‘kernal’?
The core of an OS and what the operating system is based upon.
What are ‘resources’?
Any physical or virtual component in a computer system that is of limited availability.
What are peripherals?
=> External hardware components that can be connected to a computer.
=> Each peripheral has its own machine code, as well as its own rules for how it transmits/receives data from the computer. These rules create a protocol for the OS to control the device.
What is a driver?
A piece of software that is required by the operating system to control a peripheral device.
How does an operating system manage memory?
=> Data is loaded in RAM when it is needed and unloaded when it is not needed.
=> Memory can be partitioned so that portions of memory are allocated for particular tasks. It can also use memory as a buffer when transferring data between the computer and a slower device e.g. webcam.
=> Memory protection is used to control memory access rights on a computer; its main purpose is to prevent a process from accessing memory that has not been allocated.
What is memory addressing?
=> Refers to the exact position in RAM that a byte of data occupies.
=> The memory manager has the job of allocating where in RAM data gets put. We don’t have direct access to this on modern data computers.
What is memory paging?
=> A memory management scheme by which the computer stores and retrieves data from secondary storage for use in main memory; the operating system retrieves data from secondary storage in same-size blocks called pages.
=> An important part of virtual memory implementations in modern operating systems, where we use secondary storage to let programs exceed the size of available physical memory.
What is memory segmentation?
=> An operating system memory management technique where a computer’s primary memory is divided into segments or sections.
=> A reference to a memory location includes a value that identifies a segment and an offset (memory location) within that segment.
=> Segments or sections are also used in object files of compiled programs when they are linked together into a program image and when the image is loaded into memory.
What is a backing store?
=> (Typically) a part of the hard disk that is used as a paging system to store data that is not currently in the main memory.
=> OS creates a hierarchical directory structure for storing data and presents it to the user.
What are the similarities and differences between the use of backing stores in Windows machines and MAC machines?
=> Similar:
Both use Journaling (a way of ensuring that crashes during mid-write/delete etc on a sector of data don’t cause exceptions in the state of the disk) for fault tolerance.
=> Different:
In modern-day operating systems, Windows uses NTFS and Macs use HFS Plus.
What are meta-journaling and block journaling?
=> Meta-journaling:
The action is stored in a log before it is carried out.
=> Block journaling:
Stores the data change first, before committing to disk.
How does the operating system control processes?
=> Via signals that are sent to and from the CPU to control what is happening, and the order in that processes occur.
=> By using CPU scheduling to ensure that the CPU is being used to its full extent.
What is CPU scheduling?
=> Allows one process to be carried out while another is on hold (waiting), for actions such as the input of data.
=> Operating system must select a queued process whenever the CPU is idle.
What are the three states of processing?
=> Ready - in main memory, awaiting execution.
=> Running - currently being executed.
=> Blocked - awaiting access to a resource that is currently unavailable e.g., database, file, etc.