看板 NTU-Exam 關於我們 聯絡資訊
課程名稱︰作業系統 課程性質︰必修 課程教師︰郭大維 開課學院:電資學院 開課系所︰資工系 考試日期(年月日)︰2012.4.18 考試時限(分鐘):180分鐘 是否需發放獎勵金:是 (如未明確表示,則不予發放) 試題: The exam is 180 minutes long. The total score is 107pts. Please read the questions carefully. 1. Terminologies (24pts). a. DMA b. Multiprogramming c. Horizontal Cache Coherency and Consistency d. A Module Approach In OS Designs (Hint: A Layered Approach) e. Indirect Communication in Message Passing f. Socket g. Deferred Cancellation h. Pull Migration (Hint: Multipocessor Scheduling) 2. Please answer the following questions regarding the designs of operating systems: (23pts) a. Please give me two resources, beside CPU, that are managed by OS. (6pts) b. When an interrupt arrives, a running task is interrupted, and its context could be saved in different ways, such as "a fixed address for all interrupts", "a fixed space for each interrupt type", and "a stack". What is the advantage in using a stack, compared with the approach in using a fixed space for each interrupt type? (5pts) c. In a memory hierarchy, we have registers, cache, memory, and disk. Which of them is managed by operating systems? Which of them is managed by hardware? (l2pts) 3. OS services are such as those for "program execution", "file-system manipulation", "accounting", and "resource allocation". Which of them are for system efficiency, instead of user convenience? (8pts) 4. Famous Application Programming Interfaces (API) are such as Win 32 API and POSIX API. What are the two major benefits in providing API, compared to the providing of system calls only? What does POSIX API offers to programmers, compared to the offering of ANSI C to programmers? (8pts) 5. In the ordinary virtualization design, the virtualization layer runs in the system mode. For VMware, the virtualization layer runs in the system or user mode? For Java, the Java virtual machine run in the system or user mode? (6pts) 6. Please answer the following questions for process management and scheduling. (20pts) a. Give me two conditions for a running process to relinquish the CPU to go back to the ready queue in preemptive CPU scheduling. (6pts) b. Why a long-term scheduler has more time to choose a process for a system than a short-term scheduler does in process scheduling? (5pts) c. Please explain the main difference between a user-level thread and a kernel thread. (5pts) d. Is a Java thread is a user-level thread or a kernel thread? (4pts) 7. The scheduling algorithm of Solaris 9 is based on the Multilevel Feedback Queue Scheduling algorithm. There are six priority classes. Please explain the Fair Sharing class? Please explain how interactive threads in the Time Sharing or Interactive class are favored in scheduling in Solaris 8 or 9? (6pts) 8. Consider the scheduling of processes in which processes might arrive at different times and have different deadlines to complete their execution. Let the processes be scheduled by the preemptive Shortest-Job-First algorithm (PSJF) and a Priority Scheduling algorithm (PS) in which processes with urgent deadlines have higher priorities, and there is only one processor. Can you give a set of processes such that PS can meet the deadlines of the processes, but PSJF can not do it? (5pts) 9. Consider the Round Robin scheduling algorithm (RR) with two different time quantums L and S, where L > S. Let the scheduling criteria be the average waiting time, and L be larger than the largest CPU burst of all processes. Does RR, in general, favor a small time quantum S when all processes are ready at time 0? Please give me your answer with argument. (7pts) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.230.118.12