10/14 10/8 OS作業

名稱
10/8 OS作業
日期
10/14
課程名稱
作業系統
指導教師
劉艾華
心得
1.
Give two reasons why caches are useful.
What problems do they solve?
What problems do they cause?
If a cache can be made as large as the device for which it is caching
(for instance, a cache as large as a disk), why not make it that large and eliminate the device?

1.Ans:
Caches are useful when two or more components need to ex-change data, and the components perform transfers at differing speeds.

Caches solve the transfer problem by providing a buffer of intermediate speed between the components. If the fast device finds the data it needs in the cache, it need not wait for the slower device. The data in the cache must be kept consistent with the data in the components.

If a component has a data value change, and the datum is also in the cache, the cache must also be updated. This is especially a problem on multiprocessor systems where more than one process may be accessing a datum.

A component may be eliminated by an equal-sized cache, but only if:
(a) the cache and the component have equivalent state-saving capacity (that is, if the component retains its data when electricity is removed, the cache must retain data as well),
and
(b) the cache is affordable, because faster storage tends to be more expensive.

2.
What Is the purpose of interrupts? What are the differences between a trap and an interrupt?
Can traps be generated intentionally by a user program?
If so, for what purpose?

2.Ans:
An interrupt is a hardware-generated change of flow within the system. An interrupt handler is called to deal with the cause of the interrupt; control is then returned to the interrupted context and instruction.

A trap is a software-generated interrupt. An interrupt can be used to signal the completion of an I/O to obviate the need for device polling.

A trap can be generated intentionally by a user program. It can be used to call operating system routines or to catch arithmetic errors.

3.
Please tell the functional differences between CPU and device controller.
Is there any similarity between them?

3.Ans:

The CPU is the brains of the computer where most calculations take place.It needs to fetch and execute.
A device controller is a part of a computer system that makes sense of the signals going to, and coming from the CPU. Any device connected to the computer is connected by a plug and socket, and the socket is connected to a device controller. It functions as a bridge between the device and the operating system. The electrical part of an I/O device is known as a device controller and can take the form of a chip on personal computers. The Device Controller receives the data from a connected device and stores it temporarily in some special purpose registers (i.e. local buffer) inside the controller. Then it communicates the data with a Device Driver . For each device controller there is an equivalent device driver which is the standard interface through which the device controller communicates with the Operating Systems.

They are hardwares.

4.
Please discuss, in your own words, the cycle of the handling of an interrupt.

4.Ans:
Pause the current execution and then save the status of the execution. OS searches Interrupt vector by Interrupt ID. Get the address of Interrupt Service Routine. Execute ISR then back to the interrupted execution.