Question 1 (Processes) a. A multi-programmed system with a single CPU has a very large number of CPU bound processes running on it that all have the same priority. Could you think of a CPU scheduling algorithm that would combine the lowest possible response times with the highest possible throughput and no starvation? Briefly explain your answer. b. Some operating systems force a context switch when a mutex (or spinlock) has been spin- ning for too long. List two reasons why this approach may be useful. c. This question relates to threads. Assume two user threads that increment a shared counter. The code runs on a multi-core system. Is it possible to obtain a concurrent implementation that is free of race conditions without using mutexes or semaphores (yes / no)? Briefly explain your answer. d. Figure 1 illustrates the times at which 10 different processes run on a single core of a single CPU. Every "row" represents a different process. The times increase towards the right, and processes with a higher priority are shown on top of the figure, processes with a lower

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Topic Video
Question
Question 1 (Processes)
a. A multi-programmed system with a single CPU has a very large number of CPU bound
processes running on it that all have the same priority. Could you think of a CPU scheduling
algorithm that would combine the lowest possible response times with the highest possible
throughput and no starvation? Briefly explain your answer.
b. Some operating systems force a context switch when a mutex (or spinlock) has been spin-
ning for too long. List two reasons why this approach may be useful.
c. This question relates to threads. Assume two user threads that increment a shared counter.
The code runs on a multi-core system. Is it possible to obtain a concurrent implementation
that is free of race conditions without using mutexes or semaphores (yes / no)? Briefly
explain your answer.
d. Figure 1 illustrates the times at which 10 different processes run on a single core of a single
CPU. Every "row" represents a different process. The times increase towards the right, and
processes with a higher priority are shown on top of the figure, processes with a lower
lower priority at the bottom of the chart.
i. Is the scheduler preemptive or non-preemptive?
ii. Would this scheduler most suitable for an interactive system or a batch processing
system?
ii. Would deadlocks due to inversion of control be possible for the given system (yes /
no)?
iv. Which process scheduling algorithm could be used to generate the timings shown?
Figure 1: CPU Timings for 10 different processes.
Transcribed Image Text:Question 1 (Processes) a. A multi-programmed system with a single CPU has a very large number of CPU bound processes running on it that all have the same priority. Could you think of a CPU scheduling algorithm that would combine the lowest possible response times with the highest possible throughput and no starvation? Briefly explain your answer. b. Some operating systems force a context switch when a mutex (or spinlock) has been spin- ning for too long. List two reasons why this approach may be useful. c. This question relates to threads. Assume two user threads that increment a shared counter. The code runs on a multi-core system. Is it possible to obtain a concurrent implementation that is free of race conditions without using mutexes or semaphores (yes / no)? Briefly explain your answer. d. Figure 1 illustrates the times at which 10 different processes run on a single core of a single CPU. Every "row" represents a different process. The times increase towards the right, and processes with a higher priority are shown on top of the figure, processes with a lower lower priority at the bottom of the chart. i. Is the scheduler preemptive or non-preemptive? ii. Would this scheduler most suitable for an interactive system or a batch processing system? ii. Would deadlocks due to inversion of control be possible for the given system (yes / no)? iv. Which process scheduling algorithm could be used to generate the timings shown? Figure 1: CPU Timings for 10 different processes.
Expert Solution
steps

Step by step

Solved in 3 steps

Blurred answer
Knowledge Booster
Instruction Format
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education