Operating Systems and Computer Architecture I (CS442/CS542)
Call Numbers 01353/01364
Winter Quarter 2003/2004
MTuThF 2:10-3:00 PM, Stocker Bldg 104
Instructor
Frank Drews
Office: Stocker 321
Phone: 593-1248
email: drews@ohio.edu
Office Hours: Tuesday, Thursday 3:00-4:00pm
Monday, Wednesday 3:00-4:00pm
and by appointment
General Information
The Final is scheduled for Monday, March 15, at 2:30 p.m.
The examinations will be held in the regular classroom.
Today, I discussed a "Sample Final" in class. However, my explanations of question 7 were wrong!!! I was claiming that the presented code meets the mutual exclusion condition and the progress condition but does not meet the bounded waiting condition. In fact, I was actually thinking about a different example than this one. The problems with the code depicted in question 7 are as follows:
Process i executes flag[i]:=TRUE, then proess j executes flag[j]=true, now BOTH processes get stuck in the while loop forever. Consequently, this code does ensure mutual exclusion, but does not meet the progress requirement, because they are waiting indefinitly.
The last project (assignment) is due Wendnesday, March 17 (5pm!!!!)
All the quizzes so far are available here
The midterm has been scheduled for Thursday, Feb. 12.
The deadline for part 1 of project 1 is Friday, Sat.7 at midnight.
The testscript for part 1 of project 1 is available in the cs442_542_WQ0304/Project1/Part1 folder of the class archive (i.e. http://cidds.cs.ohiou.edu/~fdrews/cs442_542_WQ0304/Project1/Part1
In order to work with the headstart files, you need to use the
dos2unix tool first. Use
When you run make, you will get warning messages like:
parser.y:72: warning: type mismatch with previous implicit declaration
y.tab.c:1220: warning: previous implicit declaration of 'yyerror'
parser.y:72: warning: 'yyerror' was previously implicitly declared to return 'int'
You can fix that by adding the following forward delcaration at the top of
the parser.y file:
%{
#include <stdio.h>
#include <stdarg.h>
#include "bash.h"
void yyerror(char* error_string,...);struct args {
blah, blah, blah, ... and so on!!!
The first Quiz is scheduled for Friday, 16th
Course Objective
In-depth coverage of computer operating systems and related computer architecture issues. Coverage of physical devices, interrupts, and communication between the computer and external hardware. Interfaces between user programs and the operating system, system calls, software interrupts, and protection issues. Context switching, process address spaces, and process scheduling. Process synchronization, interprocess communications, critical sections, and deadlock detection and recovery. Memory mapping, swapping, paging, and virtual memory. These lectures will cover and complement the material in the text that the student is responsible for reading. The quizzes and tests will provide feedback on the students comprehension of the issues and the assignments will provide an opportunity for in depth application of these same issues.
Course Matrial http://cidds.cs.ohiou.edu/~fdrews/cs442_542_WQ0304
Required Text:
"Operating System Concepts - Sixth Edition," Silberschatz, Galvin and Gagne, Addison Wesley 2002.Grading
Programming assignments: There will be 2-3 in depth programming projects for this course. Projects in this class will be written in C or C++. You may develop your code on any platform, but your code must run on the prime machines under Solaris.
Quizzes: There will be 3-5 30-minute quizzes. Quizzes are closed book and closed notes. They will be announced in class and on the class web page. Quizzes cannot be made up without prior noti.cation of the medical (or other) reason for the absence (via email or phone). In addition, I preserve the right to give unannounced pop-up quizzes any time.
Homework and class participation: There will be periodical homework assignments
Tests: There will be a midterm and a final test in addition to the quizzes. The tests are cumulative by nature, but strongly emphasize more recent material. Tests are closed book.
Final grades: Determined as follows:
Programming assignments: 2-3 25%
Homework and class participation 13%
Quizzes: 3- 17%
Test 1 20% mid-term
Test 2 25% final
Letter grades are assigned as follows:
Numeric Grade Letter Grade
90 and above A
8890 A-
8588 B+
8285 B
8082 B-
7780 C+
7377 C
7073 C-
6770 D+
6367 D
6063 D
below 60 F
Grades are not changed unless a grading error has been made.
Academic Dishonesty: All work must be strictly the work of each individual student and any cases of academic dishonesty will be treated in accordance with the published departmental policy.
Other policies: Late assignments, missed quizzes, and tests, cannot be made up unless the student has obtained prior approval or there are extenuating circumstances, such as medical problems accompanied by an written explanation from a doctor.