Chapter 2: Process Management 2.3. CPU Scheduling | Tài liệu môn An toàn thông tin Trường đại học sư phạm kỹ thuật TP. Hồ Chí Minh
2 Explain the difference between preemptive and nonpreemptive scheduling. Lập lịch ưu tiên cho phép một tiến trình bị gián đoạn trong quá trình thực thi, lấy CPU đi và phân bổ nó cho một tiến trình khác. Lập lịch không ưu tiên đảm bảo rằng một quá trình chỉ từ bỏ quyền kiểm soát
CPU khi nó kết thúc với cụm CPU hiện tại của nó. 3 Suppose that the following processes arrive for execution at the times indicated. Tài liệu giúp bạn tham khảo, ôn tập và đạt kết quả cao. Mời bạn đọc đón xem!
Môn: An toàn thông tin (INSE330380)
Trường: Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh
Thông tin:
Tác giả:
Preview text:
Chapter 2: Process Management 2.3. CPU Scheduling
1 A CPU-scheduling algorithm determines an order for the execution of its scheduled processes. Given n
processes to be scheduled on one processor, how many different schedules are possible? Give a formula in terms of n. n!
2 Explain the difference between preemptive and nonpreemptive scheduling.
Lập lịch ưu tiên cho phép một tiến trình bị gián đoạn trong quá trình thực thi, lấy CPU đi và phân bổ nó
cho một tiến trình khác. Lập lịch không ưu tiên đảm bảo rằng một quá trình chỉ từ bỏ quyền kiểm soát
CPU khi nó kết thúc với cụm CPU hiện tại của nó.
3 Suppose that the following processes arrive for execution at the times indicated. Each process will run
for the amount of time listed. In answering the questions, use nonpreemptive scheduling, and base all
decisions on the information you have at the time the decision must be made.
a. What is the average turnaround time for these processes with the FCFS scheduling algorithm? 10.53
b. What is the average turnaround time for these processes with the SJF scheduling algorithm? 9.53
c. The SJF algorithm is supposed to improve performance, but notice that we chose to run process P1 at
time 0 because we did not know that two shorter processes would arrive soon. Compute what the average
turnaround time will be if the CPU is left idle for the first 1 unit and then SJF scheduling is used.
Remember that processes P1 and P2 are waiting during this idle time, so their waiting time may increase.
This algorithm could be called future-knowledge scheduling. 6.86
4 What advantage is there in having different time-quantum sizes at different levels of a multilevel queueing system?
Các quy trình cần phục vụ thường xuyên hơn, chẳng hạn như các quy trình tương tác như trình soạn thảo,
có thể xếp hàng đợi với lượng thời gian nhỏ. Các quy trình không cần bảo trì thường xuyên có thể xếp
hàng với lượng tử lớn hơn, yêu cầu ít chuyển đổi ngữ cảnh hơn để hoàn tất quá trình xử lý và do đó sử
dụng máy tính hiệu quả hơn.
5 Many CPU-scheduling algorithms are parameterized. For example, the RR algorithm requires a
parameter to indicate the time slice. Multilevel feedback queues require parameters to define the number
of queues, the scheduling algorithmfor each queue, the criteria used tomove processes between queues,
and so on. These algorithms are thus really sets of algorithms (for example, the set of RR algorithms for
all time slices, and so on). One set of algorithms may include another (for example, the FCFS algorithmis
the RR algorithm with an infinite time quantum).What (if any) relation holds between the following pairs of algorithm sets? a. Priority and SJF
Công việc ngắn nhất có mức độ ưu tiên cao nhất.
b. Multilevel feedback queues and FCFS
Mức MLFQ thấp nhất là FCFS. c. Priority and FCFS
FCFS dành mức độ ưu tiên cao nhất cho công việc đang tồn tại dài nhất. d. RR and SJF None
6 Suppose that a scheduling algorithm (at the level of short-term CPU scheduling) favors those processes
that have used the least processor time in the recent past. Why will this algorithm favor I/O-bound
programs and yet not permanently starve CPU-bound programs?
Nó sẽ ủng hộ các chương trình ràng buộc I / O vì yêu cầu bùng nổ CPU tương đối ngắn của chúng; tuy
nhiên, các chương trình ràng buộc CPU sẽ không chết đói vì các chương trình ràng buộc I / O sẽ từ bỏ
CPU tương đối thường xuyên để thực hiện I / O của chúng
7 Distinguish between PCS and SCS scheduling.
Lập lịch PCS được thực hiện cục bộ cho quy trình. Đó là cách thư viện luồng lên lịch các luồng lên các
LWP có sẵn. Lập lịch SCS là tình huống nơi hệ điều hành lên lịch các luồng kernel. Trên các hệ thống sử
dụng Hoặc nhiều-một hoặc nhiều-nhiều, hai mô hình lập lịch là về cơ bản khác nhau. Trên các hệ thống
sử dụng một-một, PCS và SCS giống nhau.
8 Assume that an operating system maps user-level threads to the kernel using the many-to-many model
and that the mapping is done through the use of LWPs. Furthermore, the system allows program
developers to create real-time threads. Is it necessary to bind a real-time thread to an LWP?
Có, nếu không, một luồng người dùng có thể phải cạnh tranh cho một LWP có sẵn trước khi thực sự được
lên lịch. Bằng cách liên kết luồng người dùng với LWP, không có độ trễ trong khi chờ LWP có sẵn;
Chuỗi người dùng thời gian thực có thể được lên lịch ngay lập tức
9 The traditional UNIX scheduler enforces an inverse relationship between priority numbers and
priorities: the higher the number, the lower the priority. The scheduler recalculates process priorities once
per second using the following function:
Priority = (recent CPU usage / 2) + base
where base = 60 and recent CPU usage refers to a value indicating how often a process has used the CPU
since priorities were last recalculated.
Assume that recent CPU usage is 40 for process P1, 18 for process P2, and 10 for process P3. What will
be the new priorities for these three processes when priorities are recalculated? Based on this information,
does the traditional UNIX scheduler raise or lower the relative priority of a CPU-bound process?
Các ưu tiên được chỉ định cho các quy trình lần lượt là 80, 69 và 65. Bộ lập lịch làm giảm mức độ ưu tiên
tương đối của các quy trình ràng buộc CPU
10 Why is it important for the scheduler to distinguish I/O-bound programs from CPU-bound programs?
Các chương trình liên kết I/O có đặc tính chỉ thực hiện một lượng nhỏ tính toán trước khi thực hiện I/O.
Các chương trình như vậy thường không sử dụng hết lượng tử CPU của chúng. Mặt khác, các chương
trình gắn với CPU sử dụng toàn bộ lượng tử của chúng mà không thực hiện bất kỳ thao tác I/O chặn nào.
Do đó, người ta có thể sử dụng tốt hơn các tài nguyên của máy tính bằng cách ưu tiên cao hơn cho các
chương trình liên kết I/O và cho phép chúng thực thi trước các chương trình liên kết CPU.
11 Discuss how the following pairs of scheduling criteria conflict in certain settings.
a. CPU utilization and response time
Thời gian sử dụng và phản hồi CPU: Việc sử dụng CPU sẽ tăng lên nếu chi phí liên quan đến chuyển đổi
ngữ cảnh được giảm thiểu. Chi phí chuyển đổi ngữ cảnh có thể được hạ thấp bằng cách thực hiện chuyển
đổi ngữ cảnh không thường xuyên. Tuy nhiên, điều này có thể dẫn đến việc tăng thời gian phản hồi cho các quy trình.
b. Average turnaround time and maximum waiting time
Thời gian quay vòng trung bình và thời gian chờ tối đa: Thời gian quay vòng trung bình được giảm thiểu
bằng cách thực hiện các nhiệm vụ ngắn nhất trước tiên. Tuy nhiên, chính sách lên lịch như vậy có thể bỏ
đói các nhiệm vụ dài hạn và do đó làm tăng thời gian chờ đợi của họ
c. I/O device utilization and CPU utilization
Sử dụng thiết bị I/O và sử dụng CPU: Việc sử dụng CPU được tối đa hóa bằng cách chạy các tác vụ ràng
buộc CPU trong thời gian dài mà không thực hiện chuyển đổi ngữ cảnh. Việc sử dụng thiết bị I/O được
tối đa hóa bằng cách lên lịch các tác vụ liên kết I/O ngay khi chúng sẵn sàng chạy, do đó phát sinh chi phí chuyển đổi ngữ cảnh.
12 One technique for implementing lottery schedulingworksbyassigning processes lottery tickets, which
are used for allocating CPU time.Whenever a scheduling decision has to be made, a lottery ticket is
chosen at random, and the process holding that ticket gets the CPU.The BTV operating system
implements lottery scheduling by holding a lottery 50 times each second, with each lottery winner getting
20 milliseconds of CPU time (20 milliseconds × 50 = 1 second). Describe how the BTV scheduler can
ensure that higher-priority threads receivemore attention from the CPU than lower-priority threads.
Bằng cách chỉ định nhiều vé hơn cho các quy trình có mức độ ưu tiên cao hơn
13 In Chapter 5, we discussed possible race conditions on various kernel data structures. Most scheduling
algorithms maintain a run queue, which lists processes eligible to run on a processor.Onmulticore
systems, there are two general options: (1) each processing core has its own run queue, or (2) a single run
queue is shared by all processing cores. What are the advantages and disadvantages of each of these approaches?
Ưu điểm chính của mỗi lõi xử lý có hàng đợi chạy riêng là không có sự tranh chấp trên một hàng đợi chạy
khi bộ lập lịch chạy đồng thời trên 2 bộ xử lý trở lên. Khi phải đưa ra quyết định lập lịch cho lõi xử lý, bộ
lập lịch chỉ cần nhìn xa hơn hàng đợi chạy riêng của nó. Một nhược điểm của hàng đợi chạy đơn là nó
phải được bảo vệ bằng các khóa để ngăn chặn tình trạng chạy đua và lõi xử lý có thể có sẵn để chạy một
luồng, tuy nhiên trước tiên nó phải có được khóa để lấy luồng từ một hàng đợi. Tuy nhiên, cân bằng tải có
thể không phải là vấn đề với một hàng đợi chạy đơn lẻ, trong khi đó khi mỗi lõi xử lý có hàng đợi chạy
riêng thì phải có một số loại cân bằng tải giữa các hàng đợi chạy khác nhau.
14 Consider the exponential average formula used to predict the length of the next CPU burst.What are
the implications of assigning the following values to the parameters used by the algorithm?
a. = 0and 0 = 100 milliseconds
b. = 0.99 and 0 = 10 milliseconds
Khi α = 0 và τ0 = 100 mili giây, công thức luôn đưa ra dự đoán 100 mili giây cho lần bùng nổ CPU tiếp
theo. Khi α = 0,99 và τ0 = 10 mili giây, hành vi gần đây nhất của quá trình được cho trọng số cao hơn
nhiều so với lịch sử quá khứ liên quan đến quá trình. Do đó, thuật toán lập lịch gần như không có bộ nhớ
và chỉ đơn giản là dự đoán độ dài của đợt bùng nổ trước đó cho lượng tử thực thi CPU tiếp theo
15 A variation of the round-robin scheduler is the regressive round-robin scheduler. This scheduler
assigns each process a time quantum and a priority. The initial value of a time quantumis
50milliseconds.However, every time a process has been allocated the CPU and uses its entire time
quantum (does not block for I/O), 10 milliseconds is added to its time quantum, and its priority level is
boosted. (The time quantum for a process can be increased to a maximum of 100 milliseconds.) When a
process blocks before using its entire time quantum, its time quantum is reduced by 5 milliseconds, but its
priority remains the same.What type of process (CPU-bound or I/O-bound) does the regressive round-
robin scheduler favor? Explain.
Bộ lập lịch này sẽ ủng hộ các quy trình ràng buộc CPU vì chúng được thưởng bằng lượng tử thời gian dài
hơn cũng như tăng mức độ ưu tiên bất cứ khi nào chúng tiêu thụ toàn bộ lượng tử thời gian. Bộ lập lịch
này không phạt các quy trình ràng buộc I / O vì chúng có khả năng chặn I / O trước khi tiêu tốn toàn bộ
lượng tử thời gian của chúng, nhưng mức độ ưu tiên của chúng vẫn giữ nguyên
16 Consider the following set of processes, with the length of the CPU burst given in milliseconds:
The processes are assumed to have arrived in the order P1, P2, P3, P4, P5, all at time 0.
a. Draw four Gantt charts that illustrate the execution of these processes using the following scheduling
algorithms: FCFS, SJF, nonpreemptive priority (a larger priority number implies a higher priority), and RR (quantum = 2).
b. What is the turnaround time of each process for each of the scheduling algorithms in part a?
c. What is the waiting time of each process for each of these scheduling algorithms?
d. Which of the algorithms results in the minimum average waiting time (over all processes)?
17 The following processes are being scheduled using a preemptive, round-robin scheduling algorithm.
Each process is assigned a numerical priority, with a higher number indicating a higher relative priority.
In addition to the processes listed below, the system also has an idle task (which consumes no CPU
resources and is identified as Pidle ). This task has priority 0 and is scheduled whenever the system has no
other available processes to run. The length of a time quantum is 10 units. If a process is preempted by a
higher-priority process, the preempted process is placed at the end of the queue.
a. Show the scheduling order of the processes using a Gantt chart.
b. What is the turnaround time for each process?
c. What is the waiting time for each process?
d. What is the CPU utilization rate?
18 The nice command is used to set the nice value of a process on Linux, as well as on other UNIX
systems. Explain why some systemsmay allow any user to assign a process a nice value >= 0 yet allow
only the root user to assign nice values < 0.
Các giá trị đẹp < 0 được gán mức độ ưu tiên tương đối cao hơn và các hệ thống như vậy có thể không cho
phép các quy trình không phải gốc tự gán mức độ ưu tiên cao hơn.
19 Which of the following scheduling algorithms could result in starvation? a. First-come, first-served b. Shortest job first c. Round robin d. Priority
20 Consider a variant of the RR scheduling algorithm in which the entries in the ready queue are pointers to the PCBs.
a. What would be the effect of putting two pointers to the same process in the ready queue?
Trên thực tế, quá trình đó sẽ tăng mức độ ưu tiên của nó vì bằng cách có thời gian thường xuyên hơn, nó
đang nhận được ưu đãi
b. What would be two major advantages and two disadvantages of this scheme?
Ưu điểm là các công việc quan trọng hơn có thể được dành nhiều thời gian hơn, nói cách khác, ưu tiên
cao hơn trong điều trị. Hậu quả, tất nhiên, là công việc ngắn hơn sẽ bị ảnh hưởng
c. How would you modify the basic RR algorithmto achieve the same effect without the duplicate pointers?
Phân bổ một lượng thời gian dài hơn cho các quy trình xứng đáng được ưu tiên cao hơn. Nói cách khác,
có thể có hai hoặc nhiều lượng tử trong sơ đồ Round-Robin
21 Consider a system running ten I/O-bound tasks and one CPU-bound task. Assume that the I/O-bound
tasks issue an I/O operation once for every millisecond of CPU computing and that each I/O operation takes
10 milliseconds to complete. Also assume that the context-switching overhead is 0.1millisecond and that
all processes are long-running tasks. Describe the CPU utilization for a round-robin scheduler when:
a. The time quantum is 1 millisecond
Thời gian lượng tử là 1mili giây: Bất kể quá trình nào được lên lịch, bộ lập lịch phải chịu chi phí chuyển
đổi ngữ cảnh 0,1 mili giây cho mỗi chuyển đổi ngữ cảnh. Điều này dẫn đến việc sử dụng CPU là 1 / 1.1 * 100 = 91%.
b. The time quantum is 10 milliseconds
Lượng tử thời gian là 10 mili giây: Các tác vụ liên kết I / O phát sinh chuyển đổi ngữ cảnh sau khi sử
dụng chỉ 1 mili giây lượng tử thời gian. Do đó, thời gian cần thiết để chuyển qua tất cả các quy trình là 10
* 1,1 + 10,1 (vì mỗi tác vụ liên kết I / O thực thi trong 1 mili giây và sau đó phát sinh tác vụ chuyển đổi
ngữ cảnh, trong khi tác vụ ràng buộc CPU thực thi trong 10 mili giây trước khi phát sinh chuyển đổi ngữ
cảnh). Do đó, mức sử dụng CPU là 20/21.1 * 100 = 94%.
22 Consider a system implementing multilevel queue scheduling. What strategy can a computer user
employ to maximize the amount of CPU time allocated to the user’s process?
Chương trình có thể tối đa hóa thời gian CPU được phân bổ cho nó bằng cách không sử dụng đầy đủ
lượng tử thời gian của nó. Nó có thể sử dụng một phần lớn lượng tử được chỉ định, nhưng từ bỏ CPU
trước khi kết thúc lượng tử, do đó làm tăng mức độ ưu tiên liên quan đến quá trình
23 Explain the differences in how much the following scheduling algorithms discriminate in favor of short processes: a. FCFS
FCFS — phân biệt đối xử với các công việc ngắn vì bất kỳ công việc ngắn nào đến sau công việc dài sẽ
có thời gian chờ đợi lâu hơn b. RR
RR — xử lý tất cả các công việc như nhau (cho chúng thời gian CPU bùng nổ bằng nhau) vì vậy các công
việc ngắn sẽ có thể rời khỏi hệ thống nhanh hơn vì chúng sẽ hoàn thành đầu tiên c. Multilevel feedback queues
Hàng đợi phản hồi đa cấp hoạt động tương tự như thuật toán RR — chúng phân biệt đối xử thuận lợi đối
với các công việc ngắn.