81 lines
3.4 KiB
Plaintext
81 lines
3.4 KiB
Plaintext
第二次作业
|
||
|
||
OS concept ver7课本第8章、第九章的习题:
|
||
|
||
8.3 Given ?ve memory partitions of 100 KB, 500 KB, 200 KB, 300 KB,and
|
||
600 KB (in order), how would each of the ?rst-?t, best-?t, and worst-?t
|
||
algorithms place processes of 212 KB, 417 KB, 112 KB, and 426 KB (in
|
||
order)?Which algorithm makes the most ef?cient use of memory?
|
||
|
||
8.4 Most systems allow programs to allocate more memory to its address
|
||
space during execution.Data allocated in the heap segments of programs
|
||
is an example of such allocated memory. What is required to support
|
||
dynamic memory allocation in the following schemes:
|
||
a. contiguous-memory allocation
|
||
b. pure segmentation
|
||
c. pure paging
|
||
|
||
8.12 Consider the following segment table:
|
||
Segment Base Length
|
||
0 219 600
|
||
1 2300 14
|
||
2 90 100
|
||
3 1327 580
|
||
4 1952 96
|
||
What are the physical addresses for the following logical addresses?
|
||
a. 0,430
|
||
b. 1,10
|
||
c. 2,500
|
||
d. 3,400
|
||
e. 4,112
|
||
|
||
9.5 Assume we have a demand-paged memory. The page table is held in
|
||
registers. It takes 8 milliseconds to service a page fault if an empty page
|
||
is available or the replaced page is not modi?ed, and 20 milliseconds if
|
||
the replaced page is modi?ed. Memory access time is 100 nanoseconds.
|
||
Assume that the page to be replaced is modi?ed 70 percent of the time.
|
||
What is the maximum acceptable page-fault rate for an effective access
|
||
time of no more than 200 nanoseconds?
|
||
|
||
|
||
9.13 A page-replacement algorithm should minimize the number of page
|
||
faults. We can do this minimization by distributing heavily used pages
|
||
evenly over all of memory, rather than having them compete for a small
|
||
number of page frames.We can associatewith each page frame a counter
|
||
of the number of pages that are associated with that frame. Then, to
|
||
replace a page, we search for the page frame with the smallest counter.
|
||
a. De?ne a page-replacement algorithmusing this basic idea. Specif-
|
||
ically address the problems of (1) what the initial value of the
|
||
counters is, (2) when counters are increased, (3) when counters
|
||
are decreased, and (4) how the page to be replaced is selected.
|
||
b. Howmany page faults occur for your algorithmfor the following
|
||
reference string, for four page frames?
|
||
1, 2, 3, 4, 5, 3, 4, 1, 6, 7, 8, 7, 8, 9, 7, 8, 9, 5, 4, 5, 4, 2.
|
||
c. What is the minimumnumber of page faults for an optimal page-
|
||
replacement strategy for the reference string in part b with four
|
||
page frames?
|
||
|
||
实验相关
|
||
------------------
|
||
|
||
1 lab1的proj1的ucore的代码中是否有使用了绝对地址(编译期间指定的绝对内存地址)?
|
||
|
||
2 lab2 的ucore的小os的load addr和link addr分别是多少?
|
||
|
||
3 ucore用了哪个数据结构来管理空闲内存,位于内存什么地方,占多少空间?
|
||
|
||
4 请考虑在ucore中实现second chance/enhanced clock页替换算法的设计思路。主要描述如何利用相关x86相关硬件、如何设计数据结构,大致要实现哪些函数,函数的大致功能和整体流程。
|
||
|
||
5 实现enhanced clock algorithm中,
|
||
IF before clock sweep: (used,dirty) = (1,1), THEN after clock sweep: (used, dirty)=(0,1).
|
||
如果把上述转换改为:
|
||
IF before clock sweep: (used,dirty) = (1,1), THEN after clock sweep: (used, dirty)=(1,0).
|
||
是否可行?
|
||
|
||
6 在clock算法实现中,pte中的uesd bit位是否可以让os来设置1 or 0 ? 为什么?
|
||
|
||
7 在enhanced clock算法中的dirty bit位是否可以让os来设置1 or 0 ? 为什么?
|
||
|
||
8 如果在ucore中实现精确的LRU算法,如何设计?需要硬件和OS分别完成什么事情?
|
||
|