-
Notifications
You must be signed in to change notification settings - Fork 0
/
changelog
65 lines (59 loc) · 2.66 KB
/
changelog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
Changelog for files within xv6
------------------------------------
* defs.h
|--- Modified to include required declarations from project
| specification, as well as swap file manipulation functions.
|
|--- Added definitions of swap tracker manipulation functions.
|--- Added definition of void lru_update(struct proc*) from vm.c
for use in trap.c
|--- Added definition of mappages, walkpgdir, and get_victim
* sysfile.c
|--- Required modifications according to project specification;
static declarations removed from create() and isdirempty().
* fs.c
|--- Appended provided swap file manipulation code.
* proc.h
|--- Modifications to proc structure (for swapped page tracking),
| definition of swapped page tracking struct (struct swapp).
|
|--- Added implementations for swap tracker manipulation (in proc.c):
|--- stinit(struct proc *p)
|--- add_page(void *va, struct proc *p, struct swapp *n)
|--- remove_page(void *va, struct proc *p)
|--- Added declaractions for page fault counts, page list counts, page list space
|--- Reverted above change
|--- Added declaration of freepg struct, and added properties for each process relating to free page list.
|--- Once again reverted above change
|--- Added totalPages and totalPhysicalPages to proc struct
|--- Added macro EMPTY
* proc.c
|--- Contains call (in exit() method) for closing and removing
process' swap file.
* mmu.h
|--- Modification to include "swapped out" flag (PTE_PG).
|
|--- Added user process page limitation MAX_PSYC_PAGES (15)
| and MAX_TOTAL_PAGES (30) macros
* exec.c
|--- Contains call to createSwapFile() for new processes that are
not "sh" or "init".
* Makefile
|--- Added rule for SELECTION flag to specifiy page replacement
algorithm per task 2.
* vm.c
|--- Modified allocuvm and deallocuvm to support FIFO page replacement algorithm.
|--- Reverted vm.c to vanilla copy.
|--- Added my_kalloc and my_kfree which support the queue we'll be using for
FIFO and LRU. They're wrappers for kalloc() and kfree() with added logic
for the custom data structure.
|--- Added lru_update which is called by a running process every tick. Now a merge
is necessary to proceed with task 2 (we need a palce for the get_victim method).
|--- Added get_victim method
|--- Added definitions for page_out, page_in, and get_pte_pg
* trap.c
|--- Added code for LRU update during timer interrupt
|--- Added logic for handling page faults per project specs (this breaks!)
* myMemTest.c
|-- Added implementation. This code allocates 12 pages then does a series
of page faults as a sanity test.