ISY 201 - Understanding Operating Systems Chapter 4 Processor Management

Pataasin ang iyong marka sa homework at exams ngayon gamit ang Quizwiz!

Middle-level scheduler

Responsible for removing active jobs from when when the system is overloaded so that jobs can complete faster. Only present in highly interactive environments. -In some cases-especially when its overloaded - it finds it advantageous to remove active jobs from memory to reduce the degree of multiprogramming, allowing other jobs to be completed faster. The jobs swapped out and eventually back in are managed by the middle-level-scheduler

Process Scheduling Policy (115)

Rules to decide which process should be scheduled next. Goals: Maximize Throughput, Minimize response time, Minimize turnaround time, Minimize waiting time, Maximize CPU efficiency, Ensure fairness for all jobs

Multiprogramming

Running more than one process or job on one CPU by allocating and de-allocating the job to the CPU. If the CPU is de-allocated in the middle of execution, then the job must be able to restart.

Process Pointer

This indicates the process that created the thread

Thread

A portion of a process that can run independently. Multithreaded systems can have several threads running at one time with the same different priorities. -Manipulating threads is easier than manipulating processes

Goal of Scheduling

Maximize efficiency Minimize Response Time Minimize Turnaround time Minimize Wait time Maximize CPU resources Ensuring fairness

Turnaround Time

Move entire jobs in and out of the system quickly. -A measure of a system's efficiency that tracks the time required to execute a job and return output to the user.

Shortest Job Next (SJN) (118-119)

Non-preemptive/batch, handles jobs based on the length of their CPU cycle time -handles jobs based on the length of their CPU cycle -Optimal only when all of the jobs are available at the same time, and the CPU estimates must be available and accurate

Priority Scheduling

Non-premptive/batch, gives preferential treatment to important jobs. -One of the most common scheduling algorithms for batch systems

First-come, first-served (FCFS) (117)

Non-premptive/batch, handles jobs according to arrival time with the earliest being served first. -In a strict system of this, there are no wait queues (each job is run to completion) -Average turnaround times varies widely and is seldom minimized

Interrupt Handler (130)

1. Stores error type and message. 2. Store state of interrupted process. 3. Send message to user, halt process, de-allocate resources, exit job. 4. Resume normal operations.

System Limitations effecting job scheduling (115)

1. finite number of resources. 2. Some resources cannot be shared. 3. Some resources require operator intervention.

Thread Control Block

A data structure that contains information about the current status and characteristics of a thread

I/O Bound

A job that requires a large number of input/output operations, resulting in substantial free time for the CPU. It contrasts with CPU Bound

Queue

A list that uses the PCB to track jobs.

Aging

A policy used to ensure that jobs that have been in the system for a long time in the lower-level queues will eventually complete their execution.

Priorities can be determined by the Process Manager based on characteristics intrinsic to the jobs such as (120)

-Memory Requirements -Number and Type of Peripheral Devices -Total CPU time -Amount of Time already spent in the system

Multi-Core Technologies

-Started by the problems caused by nano-sized transistors and their ultra-close placement on a computer chip. The proximity caused by the unintended loss of electrical current by hopping lines. -More complex for the processor manager to manage than a single core

Earliest Deadline First

A preemptive process scheduling policy (or algorithm) that selects processes based on the proximity of their deadlines (appropriate for real-time environments)a -To process all jobs in the order that is most likely to allow each to run to completion before reaching their respective deadlines -Priority of jobs can change as more important jobs enter the system for processing and the job with the closest deadline immeadiately assumes highest priority -Impossible to predict job throughput because the priority of a given job rises or falls depending on the mix of jobs in the system

Multiple-level queues (125-127)

A process scheduling algorithm that separates processes into different list based on characteristics and applies a different algorithm to each queue. Lists can have relationships with each other:no movement, movement, variable time movement, aging

Preemptive Scheduling Policy

A scheduling strategy that allows a job to be interrupted. Widely used in time-sharing environments.

Non-preemptive Scheduling Policy

A scheduling strategy that does not allow jobs to be interrupted.

.Time quantum

A slice of CPU time that has a predetermined size. 1. Should allow 80% of CPU cycles to run to completion. 2. 100 times longer than the time to perform one context switch. -size of quantum depends on the system -Time-critical needs immediate response where archival needs turnaround time

Processor

A synonym for the CPU, or any component in a computing system capable of performing a sequence of activities

Job Scheduler

Also known as the high-level scheduler. It is responsible for selecting jobs form an incoming queue for processing based on their characteristics. Use all the system's resources as fully as possible. -a major goal is to create an order for the incoming jobs that has a balanced mix of I/O interaction and computation requirements, thus balancing the system's resources -Goal is to keep most components of the computer system busy most of the time

Job status

Also known as the process status. One of five states that a job (or process) can be in as it moves through a system. Transition made by job or process scheduler.

Natural Wait

An I/O request that allows the processor to be allocated to another job.

Process

An instance of execution of a program that is identifiable and controllable by the operating system.

Program

An interactive unit, such as a file stored on a disk. -A unit of instructions

Scheduling Policy

Any policy used by the Processor Manager to select the order in which incoming jobs, processes, and threads will be executed.

Shortest Remaining Time (SRT)

Preemptive/batch, allocates the CPU to the job closest to completion. -Can;t be implemented in an interactive system because it requires advance knowledge of the CPU time required to finish each job. Can work well in batch environments because it can preference short jobs. -OS must frequently monitor the CPY time for all jobs in READY queue and perform context switching for the jobs being swapped at preemption time

Process Scheduling Algorithm

Based on a specific policy, the steps to choose the next job for scheduling. -An algorithm used by the job or process scheduler to allocate the CPU and move jobs or processes through the system

Interrupts (129)

Can be caused by internal events: I/O requests, invalid arithmetic operations, illegal instructions. -Attempts to divide by zero -Floating-point operations generating an overflow or underflow -Fixed-point addition or subtraction that causes an arithmetic overflow

Round Robin

Preemptive/interactive, a predetermined slice of time is given to each process so that the CPU is shared equally.

CPU Information

Contains everything that the OS needs to know about how far the thread has executed, which instruction is currently being performed, and what data is being used.

Processor Manager

Responsible for allocating the processor to execute the incoming jobs and manage the tasks of those jobs

Process Scheduler

Responsible for deciding which job gets CPU time, for how long, when a job is finished, and when a job is interrupted. Also known as the low-level scheduler. -After a job has been accepted by the Job Scheduler to run, the process scheduler takes over that job -To schedule the CPU, it Takes advantage of a common trait among most computer programs: they alternate b/w CPU cycles and I/O cycles

Process Status

Information stored in the job's PCB that indicates the current location in memory of the job and the resources responsible for that status

Thread Status

Information stored in the thread control block that indicates the current position of the threads the resources responsible for that status -If delays were not built into applications, threads would be forced into a loop that would continuously test to see if it is time to do a save, wasting processor time and reducing system performance

Thread States

READY RUNNING WAITING DELAYED BLOCKED FINISHED

Context Switch

Required by all preemptive algorithms. The process of saving a jobs details to its PCB so that another job can be loaded in. It will later be loaded in using its PCB.

Sub-Thread Pointers

This indicates other subthreads that were created by this thread

Response Time

Serving interactive requests as quickly as possible. -A measure of efficiency of an interactive system that tracks the time required for the system to respond to a user's command

Indefinite Postponement

Signifies that a job's execution is delayed indefinitely because it is repeatedly preempted so other jobs can be processed.

Context Switching

The acts of saving a job's processing information in its PCB so the job can be swapped out of memory and of loading the processing information from the PCB of another job into the appropriate registers so the CPU can process it. Context switching occurs in all preemptive policies.

Thread State

The current state of the thread which changes as the thread progresses through its execution

Process Control Block (PCB)

The representation of a process in a system containing information like what it is, where its going, how much proceeding has been completed, where it's stored, and how much it has spent in using resources. -Contains all of the data needed by the OS to manage the processing of the job

Task

The term used to describe a process, or the basic unite of concurrent programming languages that defines a sequence of instructions that may be executed in parallel wit other similar units

Thread Identifcation

Unique ID provided by the process scheduler when the thread is created

Thread Priority

Used to indicate the weight of the thread relative to other threads and used to determine which thread should be selected from the READY queue

CPU Bound

a job that will perform a great deal of nonstop computation before issuing an I/O request. It contrasts with I/O-bound


Kaugnay na mga set ng pag-aaral

CH 8 Specialized Audit Tools: Attributes Sampling, Monetary Unit Sampling, and Data Analytics Tools

View Set

Bio 108 Master Biology 9 - Chapter 15

View Set

Clep Microeconomics Practice Exam 1

View Set

Campbell Biology: Chapters 8-10 and 40 Test Preparation

View Set

Module 2 - Bonding and Chemical Nomenclature

View Set