Operating Systems Internals and Design Principles Ninth Edition (CH 6 & 7), Operating Systems Internals and Design Principles Ninth Edition (CH 8 & 9), Operating Systems Internals and Design Principles Ninth Edition (Midterm - Key Terms)

Ace your homework & exams now with Quizwiz!

Processor scheduling:

Aim is to assign processes to be executed by the processor in a way that meets system objectives, such as response time, throughput, and processor efficiency. Broken down into three separate functions - Long term scheduling, medium term scheduling, short term scheduling.

Binary Number:

All data in a computer system consists of two possible values: 0 and 1.

Process image:

All of the ingredients including a program, data, stack,and control block.

Variable-allocation:

Allows the number of page frames allocated to a process to be varied over the lifetime of the process.

Thread

An executable entity within a process.

Atomic operation:

An function during which a processor can simultaneously read a location and write it in the same bus function.

Deadlock:

An impasse that occurs when multiple processes are waiting for the availability of a resource that will not become available because it is being held by another process that is in a similar wait state.

Real-time transaction systems:

An operating system that must schedule and manage tasks.

External fragmentation

As time goes on, memory becomes more and more fragmented, and memory utilization declines.

Mapping function:

Assigning a PC to a shared drive or printer port on a network.

Run-time

Countermeasures to defend system against attacks can be classified into two categories: compile-time defenses and _________ defenses.

long-term:

Determines which programs are admitted to the system for processing, controls the degree of multiprogramming, the more processes that are created, the smaller the percentage of time that each process can be executed, may limit to provide satisfactory service to the current set of processes.

Deadlock prevention

Disallows one of the three necessary conditions for deadlock occurrence, or prevent circular wait condition from happening. (Prevents mutual exclusion, hold and wait, no preemption) & circular wait.

Reader-writer semaphores

Divides users into readers and writers; it allows multiple concurrent readers but only a single writer. In effect, the semaphore functions as a counting semaphore for readers but a binary semaphore for writers. Linux provides three types of semaphore facilities in the kernel.

Deadlock avoidance

Does not grant a resource request if allocation might lead to deadlock. A decision is made dynamically whether the current resource allocation request will, if granted potentially lead to a deadlock.

task_struct:

Each element in the task list is a process descriptor which is defined in <linux/sched.h>. The process descriptor contains all the information about a specific process.

Feedback:

Establish a set of scheduling queues and allocate processes to queues based on execution history and other criteria.

Long-term storage:

Includes disk drives, flash drives, media cards, CDs and DVDs. allows information to be saved and recalled for later use, the place where things go when the microprocessor isn't directly working on them, but from where stuff can be retrieved later, if need be.

Pipe

Is a circular buffer allowing two processes to communicate on the producer-consumer model. Thus, it is a first-in -first-out queue.

Response time:

Is a example of short-term scheduling performance related.

short-term:

Known as the dispatcher, Executes most frequently, Makes the fine-grained decision of which process to execute next, Invoked when an event occurs that may lead to the blocking of the current process or that may provide an opportunity to preempt a currently running process in favor of another.

Security descriptor:

Language that defines the string format that is used to describe a descriptor as a text string.

Secondary memory:

Located outside the computer system itself; that is, it cannot be processed directly by the processor. It must first be copied into main memory. Examples include disk and tape.

Page middle directory:

May span multiple pages. Each entry in the page directory points to one page in the page table.

Main memory

Memory in a computer system is organized as a linear, or one-dimensional, address space, consisting of a sequence of bytes or words.

Spinlock:

Mutual exclusion mechanism in which a process executes in an infinite loop waiting for the value of a lock variable to indicate availability.

Bitmap operations

Operates on one of a sequence of bits at an arbitrary memory location indicated by a pointer variable. Two types of atomic operations are defined in Linux.

Medium-term:

Part of the swapping function, swapping-in decisions are based on the need to manage the degree of multiprogramming, considers the memory requirements of the swapped-out processes.

Virtual memory:

Perceives a potentially much larger memory that which is allocated on disk. It allows for very effective multiprogramming and relieves the user of the unnecessarily tight constraints of main memory.

Set-up time:

Period required preparing a device, machine, process, or system for it to be ready to function or accept a job.

Concurrency:

Pertaining to processes or threads that take place within a common interval of time during which they may have to alternately share common resources.

User-Visible Registers:

Processors generally have a small number of registers used to minimize memory use.

Paging system:

Provides a virtual memory capability that allocates page frames in main memory to processes and also allocates page frames to disk block buffers.

Shortest Process Next (SPN):

Select the process with the shortest expected processing time, and do not preempt the process.

Shortest remaining time (SRT):

Select the process with the shortest expected remaining process time. A process may be preempted when another process becomes ready.

Page table

Shows the frame location for each page of the process.

first-come-first-served (FCFS):

Simplest scheduling policy, Also known as first in first out or a strict queuing scheme, As each process becomes ready, it joins the ready queue, When the currently running process ceases to execute, the process that has been in the ready queue the longest is selected for running, Performs much better for long processes than short ones, Tend to favor processor-bound processes over I/O-bound processes.

Synchronize:

Situation in which two or more processes coordinate their activities.

Operating System (OS):

Software that controls the execution of programs and provides services such as resource allocation, scheduling, input/output control, and data management

Multilevel feedback:

The OS allocates the processor to a process and when the process blocks or is preempted, feeds it back into one of several priority queues.

Virtual address:

The address assigned to a location in virtual memory to allow that location to be accessed as though it were part of main memory.

Segmentation

The basic tools of memory management and paging.

Deadlock

The blocking of a set of processes that either compete for system resources or communicate with each other. The blockage is permanent unless the OS takes some extraordinary action, such as killing one or more processes, or forcing one or more processes to backtrack.

Process spawning:

The creation of a new child process by another process. The current process may wait for the child to terminate or may continue to execute concurrent computing. Creating a new sub process requires enough memory in which both the child process and the current program can execute.

Kernel memory allocator:

The kernel generates and destroys small tables and buffers frequently during the course of execution, each of which requires dynamic memory allocation. Most of these blocks are significantly smaller than typical pages, Allocations and free operations must be made as fast as possible.

Time slice:

The maximum amount of time that a process can execute before being interrupted.

Terminate:

The point where a line, channel or circuit ends.

Least recently used (LRU):

The policy replaces the page in memory that has not been referenced for the longest time. By the principle of locality, this should be the page least likely to be referenced in the near future.

First-in-first-out (FIFO):

The policy treats the page frames allocated to a process as a circular buffer, and pages are removed in round-robin style. All that is required is a pointer that circles through the page frames of the process. This is therefore one of the simplest page replacement policies to implement.

Resident set:

The portion of a process that is actually in main memory at any time.

Memory management

The principal operation of ________________ is to bring processes into main memory for execution by the processor.

Overlaying

The program and data are organized in such a way that various modules can be assigned the same region of memory, with a main program responsible for switching the modules in and out as needed.

Efficiency:

The ratio of optimized work to resources.

Turnaround time (TAT):

The residence time or total time that the item spends in the system.

Detect

Third state of dealing with a deadlock that checks for the presence of a deadlock and takes action to recover. Three general approaches exist for dealing with deadlock: prevent, avoid, and _________.

Bands:

Used to optimize access to block devices and to allow the operating system to respond quickly to system calls, In decreasing order of priority, they are: Swapper, Block I/O device control, File Manipulation, Character I/O device control, User Processes.

Associative mapping:

We cannot simply index into the TLB based on page. Instead, each entry in the TLB must include the page number as well as the complete page table entry. The processor is equipped with hardware that allows it to interrogate simultaneously a number of TLB entries to determine if there is a match on page number.

Thrashing:

When the OS brings one piece in, it must throw another out. If it throws out a piece just before it is used, then it will just have to go get that piece again almost immediately. The system spends most of its time swapping pieces rather than executing instructions.

Time slicing:

When the interrupt occurs, the currently running process is placed in the ready queue, and the next ready job is selected on a first come first serve basis.

Internal fragmentation

When there is wasted space internal to a partition due to the fact that the block of data loaded is smaller than the partition.

Ready:

a computer is to load an operating system into the computer's main memory or RAM. Once the operating system is loaded, it allows for users to run applications.

Condition variables:

a container of threads that are waiting for a certain condition.

Serial:

a port is a communication interface through which information transfers in or out one bit at a time.

Multithreading:

a technique by which a single set of code can be used by several processors at different stages of execution.

Resident monitor:

a type of system software program that was used in many early computers. It can be considered a precursor to the operating system.

Confidentiality:

allows authorized users to access sensitive and protected data.

Terminals:

an electronic or electromechanical hardware device that is used for entering data into, and displaying or printing data from, a computer or a computing system.

Microprocessor:

an integrated circuit that contains all the functions of a CPU of a computer.

Race condition:

an undesirable situation that occurs when a device or system attempts to perform two or more operations at the same time, but because of the nature of the device or system, the operations must be done in the proper sequence to be done correctly.

Decrement:

are unary operators that subtract one from their operand. They are commonly implemented in imperative programming languages.

Processor state information:

can be in one of the following five states at a time. This is the initial state when a task is first started. The task is waiting to be assigned to a processor. Ready processes are waiting to have the processor allocated to them by the operating system so that they can run.

Readers/Writers:

examples of a common computing problem in concurrency. There are at least three variations of the problems, which deal with situations in which many threads try to access the same shared resource at one time. Some threads may read and some may write, with the constraint that no process may access the shared resource for either reading or writing while another process is in the act of writing to it.

Process control block:

is a data structure in the operating system kernel containing the information needed to manage the scheduling of a particular task.

Interrupt request:

is a hardware signal sent to the processor that temporarily stops a running program and allows a handler to run instead.

Analyzers:

is a person or device that checks given data. it can be a piece of hardware or a computer program running on a computer.

Logical address

is a reference to a memory location independent of the current assignment of data to memory.

Program Counter (PC):

is a register in a computer processor that contains the address of the instruction being executed at the current time. As each instruction gets fetched, it increases the stored value by 1.

Instruction:

is a single operation of a processor.

Competition:

is a situation in which two or more processes are struggling to use the same resources.

Program code:

is a term used for both the statements written in a particular programming language

Physical address (or absolute address):

is an actual location in main memory.

System on a Chip (SoC):

is an integrated circuit that integrates all components of a computer or other electronic systems. It may contain digital, analog, mixed-signal, and often radio-frequency functions—all on a single substrate.

Memory:

is any physical device capable of storing information temporarily or permanently. For example, RAM, is volatile and stores information on an integrated circuit used by the operating system, software, and hardware.

Secondary memory:

is computer memory that is non-volatile and persistent in nature and is not directly accessed by a computer/processor. It allows a user to store data that may be instantly and easily retrieved, transported and used by applications and services.

Register:

is one of a small set of data holding places that are part of the computer processor. it may hold an instruction, a storage address, or any kind of data.

Instruction Register (IR):

is the part of a CPU's control unit that holds the command currently being executed or decoded.

Real memory:

main memory, the actual RAM.

Virtual memory:

memory that appears to exist as main storage although most of it is supported by data held in secondary storage, transfer between the two being made automatically as required.

Batch multiprogramming:

multiple jobs that have to be run simultaneously must be kept in main memory and the operating system must manage them properly.

State

reflects the system current allocation of resources to processes.

One-to-Many:

relationship occurs when a parent record in one table can potentially reference several child records in another table.

Stack Pointer:

stores the address of the last program requested in a buffer which stores data from the top-down. As new requests come in, they "push down" the older ones.

Binary semaphore:

takes on only the values 0 and 1. allows only one process or thread to have access to a shared critical resource at a time

Hardware:

the collection of physical parts of a computer system.

Kernel-level threads (KLTs):

the execution aspect of processes are separated out into threads. As such, the operating system now manages threads and processes. All thread operations are implemented in the kernel and the OS schedules all threads in the system.

Blocked/Suspend:

the operating system needs to release sufficient main memory to bring in a process that is ready to execute.

Threads:

the smallest sequence of programmed instructions that can be managed independently by a scheduler. are a way for a program to divide itself into two or more simultaneously running tasks.

Messages:

A block of information that may be exchanged between processes as a means of communication.

Jacketing:

A blocking system that checks the user level to see if the resource is available.

Exponential averaging:

A common technique for predicting a future value on the basis of a time series of past values.

Buddy system

A compromise to overcome the disadvantages of fixed partitioning and dynamic partitioning.

Multicore:

A computer chip that contains two or more CPU processing units.

buffer overflow

A condition at an interface under which more input can be placed into a buffer or data-holding area than the capacity allocated, overwriting other information. Attackers exploit such a condition to crash a system or to insert specially crafted code that allows them to gain control of the system.

Starvation:

A condition in which a process is indefinitely delayed because other processes are always given preference.

Performance-related:

A criteria of short-term scheduling, breaks-up into quantitative and easily measured.

Timer:

A device which counts down from a specified interval.

Resource allocation graph

A directed graph that depicts a state of the system of resources and processes, with each process and each resource represented by a node.

Page

A fixed-length block of data that resides in secondary memory.

Frame

A fixed-length block of main memory.

Symmetric:

A form of multiprocessing that allows the operating system to execute on any available processor or on several available processors simultaneously.

Domain:

A group of computers and devices on a network that are administered as a unit with common rules and procedures.

Cache:

A memory that is smaller and faster and that is interposed between the processor and main memory. acting as a buffer for recently used memory locations.

Multiprogramming:

A mode of operation that provides for the alternating execution of two or more computer programs by a single processor.

Demand paging:

A page is brought into main memory only when a reference is made to a location on that page.

Critical section:

A procedure of a computer program, that cannot be executed simultaneously with a associated procedure.

Hold and wait

A process may hold allocated resources while awaiting assignment of other resources. Three conditions of policy must be present for a deadlock to be possible: mutual exclusion, no preemption, and ___________.

Process

A program invocation, including the address space and resources required to run the program.

Monitor:

A programming language construct that encapsulates variables, access procedures, and initialization code within an abstract data type.

banker's algorithm

A resource allocation and deadlock avoidance algorithm that tests for safety by simulating the allocation for predetermined maximum possible amounts of all resources, before deciding whether allocation should be allowed to continue.

Consumable

A resource that can be created and destroyed.

Reusable

A resource that is can be safely used by only one process at a time and is not depleted by that use.

Round-robin:

A scheduling algorithm in which processes are activated in a fixed cyclic order. A process that cannot proceed because it is waiting for some event returns control to the scheduler.

File:

A set of related records treated as a unit

Translation lookaside buffer (TLB):

A straightforward virtual memory scheme would have the effect of doubling the memory access time. To overcome this problem, most virtual memory schemes make use of a special high-speed cache for page table entries, This cache functions in the same way as a memory cache and contains those page table entries that have been most recently used.

Segment

A variable-length block of data that resides in secondary memory.may temporarily be copied into an available region of main memory or it may be divided into pages.


Related study sets

Volume of rectangular prisms & cylinders

View Set

VNSG 1323: Chapter 19 Prep U Questions

View Set

What are the Components of Value Based Care?

View Set