From ce1293fd483b84e8624850048ebe327295b395cb Mon Sep 17 00:00:00 2001 From: ridethepig Date: Wed, 30 Nov 2022 10:21:29 +0800 Subject: [PATCH] firework and report --- 2020301918-李懋良-试点班第6个报告.docx | Bin 0 -> 80319 bytes kern/fork.c | 5 +++-- kern/wait.c | 24 ++++++------------------ 3 files changed, 9 insertions(+), 20 deletions(-) create mode 100644 2020301918-李懋良-试点班第6个报告.docx diff --git a/2020301918-李懋良-试点班第6个报告.docx b/2020301918-李懋良-试点班第6个报告.docx new file mode 100644 index 0000000000000000000000000000000000000000..936cf21853fa581390262721781caa3f4b37e54e GIT binary patch literal 80319 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 C!b}nX literal 0 HcmV?d00001 diff --git a/kern/fork.c b/kern/fork.c index 479e3bd..f340b86 100644 --- a/kern/fork.c +++ b/kern/fork.c @@ -127,6 +127,7 @@ kern_fork(PROCESS_0 *p_fa) xchg(&p_fa->lock, 0); return -EAGAIN; } + assert(proc_child->pcb.lock == 0); while (xchg(&proc_child->pcb.lock, 1) == 1) schedule(); PROCESS_0 *p_child = &proc_child->pcb; @@ -150,7 +151,7 @@ kern_fork(PROCESS_0 *p_fa) // p_fa shares the same base addr as its padding // anyways, copy the whole proc_table item(8K?) DISABLE_INT(); // make sure this process is never interrupted - memset(proc_child, 0, sizeof(PROCESS)); // clear child's kernel stack + // memset(proc_child, 0, sizeof(PROCESS)); // clear child's kernel stack //? seem to be useless // the commented fields below will be set later // p_child->cr3 p_child->exit_code = p_fa->exit_code; @@ -163,7 +164,7 @@ kern_fork(PROCESS_0 *p_fa) p_child->statu = INITING; //! important!!! if you copied this from parent, haha, waste one hour p_child->ticks = p_fa->ticks; p_child->user_regs = p_fa->user_regs; - ENABLE_INT(); + ENABLE_INT(); // TODO: may be a useless atomic block, try to remove and test again //? 2. ALLOC PAGES AND COPY PHYSICAL MEMORY copy_parent_pages(p_child, p_fa); // panic("Unimplement! soul torture1"); diff --git a/kern/wait.c b/kern/wait.c index e958e5d..1c66c21 100644 --- a/kern/wait.c +++ b/kern/wait.c @@ -21,18 +21,6 @@ on failure, -1 is returned. ssize_t kern_wait(int *wstatus) { - // 相比于fork来说,wait的实现简单很多 - // 语义实现比较清晰,没有fork那么多难点要处理,所以这里并不会给大家太多引导 - // 需要大家自己思考wait怎么实现。 - - // 在实现之前你必须得读一遍文档`man 2 wait` - // 了解到wait大概要做什么 - // panic("Unimplement! Read The F**king Manual"); - - // 当然读文档是一方面,最重要的还是代码实现 - // wait系统调用与exit系统调用关系密切,所以在实现wait之前需要先读一遍exit为好 - // 可能读完exit的代码你可能知道wait该具体做什么了 - // panic("Unimplement! Read The F**king Source Code"); again: while (xchg(&p_proc_ready->pcb.lock, 1) == 1) schedule(); @@ -44,8 +32,6 @@ again: return -ECHILD; } assert(p_son->pre == NULL); // make sure it is the head of the list - while (p_son != NULL) { - if (p_son->p_son->statu == ZOMBIE) { /* struct s_proc { user_regs; // let it be @@ -61,6 +47,8 @@ ticks; // let it be fork_tree; // already cleared }; */ + while (p_son != NULL) { + if (p_son->p_son->statu == ZOMBIE) { while (xchg(&p_son->p_son->lock, 1) == 1) schedule(); // just use this value, which is '(status & 0xFF) << 8' in exit.c::do_exit @@ -68,8 +56,6 @@ fork_tree; // already cleared *wstatus = p_son->p_son->exit_code; // recycle_pages in pmap.c recycle_pages(p_son->p_son->page_list); - // free it in proc table, 'cause in fork I judge free by statu - p_son->p_son->statu = IDLE; // remove p_son from p_fa's son list if (p_son->pre != NULL) { p_son->pre->nxt = p_son->nxt; @@ -82,14 +68,16 @@ fork_tree; // already cleared } // keep p_son's pid for retval, 'cause the pointer will get freed before return child_pid = p_son->p_son->pid; - xchg(&p_son->p_son->lock, 0); kfree(p_son); + // free it in proc table, 'cause in fork I judge free by statu + xchg(&proc_table[child_pid].pcb.lock, 0); + proc_table[child_pid].pcb.statu = IDLE; // ! set status be the last state, or die goto done; } p_son = p_son->nxt; } - p_fa->statu = SLEEP; xchg(&p_fa->lock, 0); + p_fa->statu = SLEEP; //! sleep after release lock, or it will deadlock schedule(); goto again; // 接下来就是你自己的实现了,我们在设计的时候这段代码不会有太大问题