os202

OS202

View on GitHub

HOME


Top 10 List of Week 08

  1. CPU Scheduling
    CPU scheduling is the process which allows one process to use the CPU while the execution of another process is on hold(in waiting state) due to unavailability of any resource, such as I/O etc, thereby maximize the full use of CPU. The purpose of CPU scheduling is to make the system efficient, fast and fair.

  2. CPU-I/O Burst Cycle
    CPU-I/O Burst Cycle
    Processes alternate between two states in a continuing cycle. Process execution begins with a CPU burst when it is executing instructions. That is followed by an I/O burst when it services requests to fetch information., which is followed by another CPU burst, then anotherI/O burst, and so on. Eventually, the final CPU burst ends with a system request to terminate execution.

  3. Preemptive Scheduling
    Preemptive Scheduling is a CPU scheduling technique that works by dividing time slots of CPU to a given process. The time slot given might be able to complete the whole process or might not be able to it. When the burst time of the process is greater than CPU cycle, it is placed back into the ready queue and will execute in the next chance. This scheduling is used when the process switch to ready state.

  4. Non-preemptive Scheduling
    Non-preemptive Scheduling is a CPU scheduling technique the process takes the resource (CPU time) and holds it till the process gets terminated or is pushed to the waiting state. No process is interrupted until it is completed, and after that processor switches to another process.

  5. Dispatcher
    The dispatcher is the module that gives control of the CPUs core to the process selected by the CPU scheduler. This function involves:
    • Switching context
    • Switching to user mode
    • Jumping to the proper location in the user program to resume that program.
      The time taken by the dispatcher to stop one process and start another process is known as the Dispatch Latency.
  6. Scheduling Criteria
    Different CPU scheduling algorithms have different properties and the choice of a particular algorithm depends on the various factors. Many criteria have been suggested for comparing CPU-scheduling algorithms. Which characteristics are used for comparison can make a substantial difference in which algorithm is judged to be best. This link will explain the following criteria:
    • CPU utilization
    • Throughput
    • Turnaround time
    • Waiting time
    • Response time
  7. Scheduling Algorithm
    A Process Scheduler schedules different processes to be assigned to the CPU based on particular scheduling algorithms. This link will explain the following scheduling algorithm:
    • First-Come, First-Served Scheduling
    • Shortest-Job-Next Scheduling
    • Priority Scheduling
    • Shortest Remaining Time
    • Round RobinScheduling
    • Multilevel Queues Scheduling
  8. Process Contention Scope
    The contention takes place among threads within a same process. The thread library schedules the high-prioritized PCS thread to access the resources via available LWPs (priority as specified by the application developer during thread creation).

  9. System Contention Scope
    The contention takes place among all threads in the system. In this case, every SCS thread is associated to each LWP by the thread library and are scheduled by the system scheduler to access the kernel resources.

  10. Real-Time CPU Scheduling
    Real-time systems are systems that carry real-time tasks. These tasks need to be performed immediately with a certain degree of urgency. In particular, these tasks are related to control of certain events (or) reacting to them. Real-time tasks can be classified as hard real-time tasks and soft real-time tasks. Hard real-time systems have total failure if their timing needs cannot be met, while Soft real-time systems have degraded performance if the timing missed.