3
一、 填空題:寫出處理 page fault 的六個步驟 (1) reference (2) trap (3) page is on backing store (4) bring in missing page (5) reset page table (6) restart instruction 1. 檢查 TBL 裡面需要的分頁的有效無效位元是否為 1 (0 代表尚未載入記憶體、1 代表 已經載入記憶體)→0,發生分頁錯誤 2. 發生分頁錯誤之後,暫停該行程的執行,進入監督模式,交由作業系統操作 3. 作業系統到硬碟(second storage)去尋找程式(program,尚未在記憶體中執行的程式)需的該段分頁

102OS_final_ans.pdf

Embed Size (px)

DESCRIPTION

Operating System Concepts 8/e

Citation preview

  • page fault

    (1) reference

    (2) trap

    (3) page is on backing store

    (4) bring in missing page

    (5) reset page table

    (6) restart instruction

    1. TBL 1 (0 1

    ) 0

    2.

    3. (second storage)(program)

  • 4.

    5. 1(

    )

    6.

    1. Non-preemptive scheduling

    process CPU CPU process terminate process

    waiting state

    (p.186)Once the CPU has been allocated to a process, the process keeps the CPU until it

    releases the CPU either by terminating or by switching to the waiting state.

    2. Deadlock

    (: Circular

    Waiting) CPU

    Dead Lock

    Mutual exclusion ()

    Hold and wait ()

    No preemption ()

    Circular waiting ()

    (p.283)In a multiprogramming environment, several processes may compute for a finite

    number of resources. A process requests resources; if the resources are not available at

    that time, the process enters a waiting state. Sometimes, a waiting process is never again

    able to change state, because the resources it has requested are held by other processes.

    3. Dynamic loading

    (routine)

    (p.320) With dynamic loading, a routine is not loaded until it is called. All routines are kept

    on disk in a relocatable load format. The main program is loaded into memory and is

    executed. When a routine needs to call another routine, the calling routine first checks to

    see whether the other routine has been loaded. If it has not, the relocatable linking loader

    is called to load the desired routine into memory and to update the program's address

    tables to reflect this change. Then control is passed to the newly loaded routine.

    4. External fragmentation

    process (Block)

    process

  • process

    (p.327) As processes are loaded and removed from memory, the free memory space is

    broken into little pieces. External fragmentation exists when there is enough total memory

    space to satisfy a request but the available spaces are not contiguous; storage is

    fragmented into a large number of small holes.

    5. Swapping

    process process (swapped)

    (backing store)

    (p.322) A process must be in memory to be executed. A process can be swapped

    temporarily out of memory to a backing store and then brout back into memory for

    continued execution.

    6. Demand paging

    (p.361) With demand-paged virtual memory, pages are only loaded when they are

    demanded during program execution; pages that are never accessed are thus never loaded

    into physical memory.

    7. Virtual memory

    (p.357) Its a technique that allows the execution of processes that are not completely in

    memory. Virtual memory abstracts main memory into an extremely large, uniform array of

    storage, separating logical memory as viewed by the user from physical memory.