I continue, frustratingly, to be sick. Currently, I am not holding office hours, since I would likely need to cancel them, would make myself sicker, and could well get many of you sick. When I am able, or I can figure out a substitute, I will post office hours and notify you of them. Until then, do your best, and I will make adjustments to our assignments and due dates.
Mar-25: I've completed two code files for you to use at your whim: allocator.asm and linked-list.asm. The former implements allocate() and free() procedures for a pointer-bumping allocator (where the free operation does nothing). The latter file implements a circular linked list, where it assumes list nodes whose first two fields are used for next and prev pointers. (Any other information in the node would follow those two initial fields.) It implements the procedures insert() and delete(). You can get these files like so:
$ cp ~sfkaplan/public/COSC-261/project-2/*.asm .
Mar-14: Go to the Projects page, where you will find Project 2 formally posted.
Mar-07: Due to curcumstances beyond anyone's control, there will be no class today. That said, I will be posting Project 2 later in the day, although I can sumarize its goals here: load each user-program into a fixed block of main memory (say 64 KB in size); modify the CPU scheduler to use the SETALM instruction, forcing clock interrupts to allow the scheduler to time-division multiplex the user processes.
I am also aware that a number of people struggled with Project 1. That's OK. It's supposed to be hard. I will schedule another evening lab session this week for people to ask questions about Projects 1 and 2, and to clear up confusion and progress.
Feb-24: Thanks to Nathaniel Lane, who diligently tracked down four errors in the code that I provided for Project-1! Once upon a time, I organized the activation frames a bit differently. I failed to update these lines of code for the layout that we now use. You can re-copy the kernel from my public directory, and then copy and paste your code into the new version. Warning: Be sure to make a copy of your existing kernel.asm file to some new, backup name. You don't want to clobber your work when grabbing a new copy of the newly fixed file from my directory.
Feb-24: Change of plans for tonight's help session. It will be late, but we'll go from 9:30 pm to 11:00 pm, in Seeley Mudd 007. Bring laptops, just in case we're out of workstations in that lab.
Feb-17: Project-1 is posted. We meet in the lab today to get it started.
Feb-15: Change of plans! Lecture today in Seeley Mudd 204; lab on Wednesday. We have a bit more to cover before you can get started on Project-1, which will be posted soon.
Feb-08: Class is cancelled for today. Watch this space for the posting of Project 1, this afternoon/evening.
Feb-02: I have slightly updated the Project-0 document. Specifically, for submitting your work, I've added instructions so that you may do it either with a browser or from the command-line of the servers/workstations on which we're doing these projects.
Feb-01: Go to the Projects page, where Project-0 is posted. We will meet today in Seeley Mudd 007 for lab time to begin work on this project.
Jan-28: Change of plans! We haven't quite covered enough to go into the lab yet. So, tomorrow's class will be a lecture in Seeley Mudd 206. Spread the word.
Jan-27: On the Documents page, you will now find the k-system documentation. Dig in! You'll need to use it starting Friday.
Jan-22: Welcome to Computer Systems II! If you are enrolled in this class, or even if you are considering this class, please begin, before our first class on Thursday, Jan-22, by reading the Course Information. This document makes clear what material we will cover, what is expected of you as a student, how I will evaluate your work, etc. It may also help you to determine whether this course is one that interests you.