The normal MIPS calling conventions specify that the first four
arguments to a function are passed in the registers a0-a3. (Actually,
this is if they're 32-bit integers; if they're floating point numbers
or 64-bit integers it gets complicated.)
This is always true and not something special about system calls.
There is now a page of MIPS architecture information linked from the
main course web page.
--
- David A. Holland | VINO project home page:
dholland(a)eecs.harvard.edu | http://www.eecs.harvard.edu/vino
Section 1
---------
The fourth paragraph of section 1 contains a recommendation on
choosing standard names for function arguments so as to
facilitate making calls to code written by your partner. This appears
to be the result of an editing slipup and is nonsensical;
please disregard it.
Section 4.2.3, question 8
-------------------------
The "doesn't" should read "does".
(These errata are also posted on the web page.)
--
- David A. Holland | VINO project home page:
dholland(a)eecs.harvard.edu | http://www.eecs.harvard.edu/vino
i'm a bit confused by the instructions in ps2 about how to test our
schedulers. it says to use kernel threads.
however, shouldn't scheduling be done on a process-by-process basis (i
think this is how most flavors of unix do it, because there is a
one-to-one correspondence between threads and processes), or are we
expected to support user-level threads the way that mach does, which would
mean that we need to worry about scheduling threads individually (but it
still seems that some information needs to be kept in the proc struct, at
best to prevent processes from spawning hundreds of threads to better
compete for the cpu).
just to bring this back down to ground level: it seems logical to store
scheduling info in the proc structure. where is the proc structure for
the kernel?
-gwa-
Hi all!
Here are the groups and animals. I am working on making the animal groups
active - should be another few minutes.
Enjoy!
-Ian
Time Slot 1: T 1600-1700
Section 1.1 David Holland Maxwell-Dworkin 319 (10)
Name1 Name2 Group
Cheng, Chen-Mou Fedorova, Alexandra Kangaroo
Chew, Davin Joe Zotto, Benjamin Osmund Llama
Matev, Georgi Milkov Toncheva, Dafina Ivanova Eagle
Patel, Ankit Bhaskar Teja, Zubin Munir Cheetah
Tonkelowitz, Mark Scott Vernal, Michael Steven Rabbit
Time Slot 2: T 1900-2000
Section 2.1 Ian Becker Maxwell-Dworkin 319 (6)
Name1 Name2 Group
Chan, Cy Saji, Michael Yasuhiro SeaLion
Chang, Arvin Tai Richards, Francis Brady Phoenix
Sanders, Erica Leigh Enos, Jeffrey Donald Thundercat
Time Slot 3: W 1600-1700
Section 3.1 Amos Blackman Maxwell-Dworkin 319 (10)
Name1 Name2 Group
Bhushan, Alok Ruffing, Scott Douglas Porcupine
Dias, Joao Pedro Lim, Edward Dongwook Biscuit
Edenius, Fredrik Malte Murphy, Nicholas Charles Dodo
Mitby, David John Provine, Stephen Wharton Mongoose
Seeve, Brian Michael Tucker, Michael Jeffrey MeowBear
Time Slot 4: Th 1500-1600
Section 4.1 Jay Moorthi Maxwell-Dworkin 319 (10)
Name1 Name2 Group
DeSoto, Jeffrey Djeu, Peter Chang Long Hedgehog
Giffin, Daniel Hu, Chen Warthog
Gilsinan, James Francis Mahr, Daniel Joseph Archaeopteryx
Kim, Bryan Tacsu Toub, Steve Dolphin
Liu, Haiyang Werner-Allen, Geoffrey Lyle Platypus
The assignment specifies that "When a cannibal or missionary arrives at
the river bank, he MUST get on the boat..." She then prints out that she
got on the boat. So what do we do if two cannibals arrive, get in the
boat, and then 4 missionaries arrive? We have to get the cannibals out of
the boat to make room for three missionaries to go, right? Should we
print that the cannibals get out? Or should we have everyone wait on the
bank until there's a valid combination, and then everyone in the valid
combination gets in the boat?
cy
the specification for student.c says that we are not allowed to use
semaphores to implement the mailbox. however, is it ok to use semaphores
to have the startup thread wait until all the teachers are done? (in a
manner similar to what the lock test code does?)
:
for (i = 0; i < NTEACHERS; i++)
P(done_sem);
-gwa-
Just because my brain doesn't seem to be functioning particularly well
tonight:
Do the threads share global variables, or does each have its own copy?
Relatedly, if I pass a pointer to a local variable in the initial thread to
the forked threads, is that acceptable, and will everybody then be
manipulating the same variable in the initial thread?
Nick