Various cleanup:
- Got rid of dummy proc[0]. Now proc[0] is init. - Added initcode.S to exec /init, so that /init is just a regular binary. - Moved exec out of sysfile to exec.c - Moved code dealing with fs guts (like struct inode) from sysfile.c to fs.c. Code dealing with system call arguments stays in sysfile.c - Refactored directory routines in fs.c; should be simpler. - Changed iget to return *unlocked* inode structure. This solves the lookup-then-use race in namei without introducing deadlocks. It also enabled getting rid of the dummy proc[0].
This commit is contained in:
parent
2d61a40b20
commit
f32f3638f4
12 changed files with 456 additions and 415 deletions
24
BUGS
24
BUGS
|
@ -11,14 +11,15 @@ proc.c:
|
|||
|
||||
factor out switching and scheduling code from process code
|
||||
|
||||
kalloc.c
|
||||
more cleanups
|
||||
shuffle for formatting
|
||||
|
||||
ide.c: synchronous disk write -> polling disk write. search for
|
||||
(a)synchronous; xv6 doesn't have asynchronous writes.
|
||||
syscall.c:
|
||||
cannot convince runoff1 to split the extern lists to fill previous page completely.
|
||||
|
||||
fs.c: split all name operations off in name.c? (starting with namei but move
|
||||
fs.c: split all name operations off in name.c? (starting with namei but
|
||||
wdir keep in fs.c)
|
||||
locking?
|
||||
shuffle for formatting
|
||||
|
||||
pipe.c:
|
||||
more comments?
|
||||
|
@ -31,6 +32,19 @@ sysfile.c:
|
|||
general:
|
||||
sizeof parens?
|
||||
|
||||
bio.c:
|
||||
decide odd or even
|
||||
bwrite doesn't need a second argument
|
||||
|
||||
file.c:
|
||||
move fileincref onto page 1?
|
||||
|
||||
L=$HOME/mit/l
|
||||
(for i in *.c; do xoc -x xgnu -x ./nodecleq.zeta --typesonly $i; done) 2>&1 | grep warning
|
||||
|
||||
saw random sharedfd failure.
|
||||
|
||||
why does fdalloc consume reference?
|
||||
|
||||
why mkdir and create?
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue