From 418af9fc3b1a845de035bdb3efa04518c75b23be Mon Sep 17 00:00:00 2001 From: minju412 <ln8847@ajou.ac.kr> Date: Fri, 11 Jun 2021 20:11:53 +0900 Subject: [PATCH] pa3 --- pa3.c | 17 ++++++----------- vm_14 | Bin 23360 -> 23256 bytes vm_14.c | 12 ++++++------ 3 files changed, 12 insertions(+), 17 deletions(-) diff --git a/pa3.c b/pa3.c index 3617028..7379ec1 100644 --- a/pa3.c +++ b/pa3.c @@ -79,11 +79,10 @@ void push_stack(int num) int cnt=-1; int global_pd_index=0; -int mapcnt_index=0; struct pte *pte; -unsigned int alloc_page(unsigned int vpn, unsigned int rw) //vpn을 index로 사용?, 0 ~ 15 +unsigned int alloc_page(unsigned int vpn, unsigned int rw) { int pd_index = vpn / NR_PTES_PER_PAGE; //outer의 인덱스 int pte_index = vpn % NR_PTES_PER_PAGE; //ptes의 인덱스 @@ -132,9 +131,8 @@ unsigned int alloc_page(unsigned int vpn, unsigned int rw) //vpn을 index로 사 pte->pfn = ret; mapcounts[ret]++; - mapcnt_index++; - if(ret >= 0) //스택 비어있지 않아도 ret을 못 찾을 수 있음..!! + if(ret >= 0) //스택 비어있지 않아도 ret을 못 찾을 수 있음 return ret; } @@ -142,7 +140,6 @@ unsigned int alloc_page(unsigned int vpn, unsigned int rw) //vpn을 index로 사 cnt++; pte->pfn = cnt; mapcounts[cnt]++; - mapcnt_index++; return cnt; @@ -167,11 +164,9 @@ void free_page(unsigned int vpn) //맵카운트가 0일때는 free하고 0보다 pte = ¤t->pagetable.outer_ptes[pd_index]->ptes[pte_index]; mapcounts[pte->pfn]--; - mapcnt_index--; push_stack(pte->pfn); - int tmp = pte->pfn; pte->pfn = 0; pte->valid = false; pte->writable = false; @@ -289,7 +284,7 @@ here: } - for(int i=0; i<=global_pd_index; i++){ //current의 outertable이 몇개까지 있는지!!! + for(int i=0; i<=global_pd_index; i++){ //global_pd_index : current의 outertable이 몇개까지 있는지 if(!child.pagetable.outer_ptes[i]) child.pagetable.outer_ptes[i] = malloc(sizeof(struct pte_directory)); @@ -305,12 +300,12 @@ here: } } } - // printf("5. current=%d\n", current->pid); + list_add_tail(¤t->list, &processes); - child.pid = pid; /////////// + child.pid = pid; ptbr = &child.pagetable; current = &child; - // printf("6. current=%d\n", current->pid); + } } \ No newline at end of file diff --git a/vm_14 b/vm_14 index 622b4139697232d86fc4516d3b3ddb1077193f4f..4e683363d675ed739574ebbadfb1105cac11d005 100755 GIT binary patch delta 4825 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 OPTwF1k9~4ts5}7n74LZf delta 5089 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 diff --git a/vm_14.c b/vm_14.c index 8dc93dc..bc23be3 100644 --- a/vm_14.c +++ b/vm_14.c @@ -109,7 +109,7 @@ void push_stack(int num) int cnt=-1; int global_pd_index=0; -int mapcnt_index=0; +// int mapcnt_index=0; struct pte *pte; @@ -165,7 +165,7 @@ unsigned int alloc_page(unsigned int vpn, unsigned int rw) //vpn을 index로 사 pte->pfn = ret; mapcounts[ret]++; - mapcnt_index++; + // mapcnt_index++; if(ret >= 0) //스택 비어있지 않아도 ret을 못 찾을 수 있음..!! return ret; @@ -175,8 +175,8 @@ unsigned int alloc_page(unsigned int vpn, unsigned int rw) //vpn을 index로 사 cnt++; pte->pfn = cnt; mapcounts[cnt]++; - mapcnt_index++; - // printf("1 : %d\n", cnt); + // mapcnt_index++; + return cnt; } @@ -190,11 +190,11 @@ void free_page(unsigned int vpn) //맵카운트가 0일때는 free하고 0보다 pte = ¤t->pagetable.outer_ptes[pd_index]->ptes[pte_index]; mapcounts[pte->pfn]--; - mapcnt_index--; + // mapcnt_index--; push_stack(pte->pfn); - int tmp = pte->pfn; + // int tmp = pte->pfn; pte->pfn = 0; pte->valid = false; pte->writable = false; -- GitLab