CEG433-ABET-Review

Download Report

Transcript CEG433-ABET-Review

CEG 433: Operating Systems
Course Review at 2009 Retreat
Coordinator: Prabhaker Mateti
Instructors: Mateti, Wischgoll, Pei
Course Content
1.
2.
3.
4.
5.
6.
7.
8.
9.
Operating Systems, Systems implementation languages; From
booting to shut down.
File system design, i-nodes, volumes, mount; file open, read/write,
close and unlink.
System calls, Library calls, Signal handling. setjmp and longjmp.
Memory management, Dynamic storage allocation and liberation.
Virtual memory. Paging and Segmentation; Swapping; Page
replacement algorithms.
Processes, Threads, Scheduling
Inter Process Communication mechanisms
IO subsystem: DMA; Interrupt handlers; driver interfaces; overview
of drivers.
Case Studies: Linux and Windows.
May 15, 2009
Mateti:CEG433
2
Class/Laboratory Schedule
Each week has two lectures of 75-minutes
each.
 There is no scheduled lab. Students are
expected to work in open labs for no less
than 2 hours a week.
 There is project work required in the
course.

May 15, 2009
Mateti:CEG433
3
Grading
Mid Term
 Final
 Project

May 15, 2009
30%
35%
35%
Mateti:CEG433
4
Prerequisites by Topic
1.
2.
3.
4.
5.
Programming experience in C++ .
Program development tools: editors,
compilers, linkers, debuggers.
Data structures: arrays, stacks, queues,
lists, binary trees.
Familiarity with the Unix environment.
Computer Architecture: Interrupts,
Kernel/User modes, IO, DMA
May 15, 2009
Mateti:CEG433
5
Discussion of Prerequisites


Prerequisite courses: CEG 320, CS 400
CEG 320

CPU Architecture details are essential.


CPU modes remain confusing.
Can use more of





interrupts and traps.
IO devices
Virtual memory does not belong in 320.
Assembly language unused.
CS 400


Unused: The advanced data structures.
Used: Developing larger programs.
May 15, 2009
Mateti:CEG433
6
Playing with Prerequisites
2007: CS 242 and CEG 233 and CEG 320
 CEG 433 requires the programming
maturity of seniors
 Software Tools

Back to the basics: shell, make, g++, gdb
 No IDE
 Linking not understood

May 15, 2009
Mateti:CEG433
7
Course Contribution to Program
Educational Objectives




CEG 433 contributes to Objectives 1 and 2.
Through exposure to the internals of operating
systems, it deepens the skills to produce
efficient software.
The design experience gained through the
course project is realistic.
The student is also prepared to move on to other
operating systems, both past and future ones.
May 15, 2009
Mateti:CEG433
8
Course Objectives: The student
should have learned the following:
1.
2.
3.
4.
5.
6.
Design issues in developing larger and
complex programs.
Internal structure of hierarchical file systems.
Memory allocation, and virtual memory usage.
Signal and exception handling.
The interactions between applications and the
hardware.
Programming with multiple processes
May 15, 2009
Mateti:CEG433
9
Learning Outcomes: The student
should be able to:





Develop, test, and debug programs in Unix.
Use system calls and library calls effectively.
Improve performance of programs by tuning
virtual memory usage, and file IO.
Design and build newer file systems for newer
storage devices on any OS.
Design and build multiple process programs.
May 15, 2009
Mateti:CEG433
10
ABET Criteria 3 Supporting
Statements










A1: The directory structure in file systems is a tree. The addition of soft-links makes them arbitrary
directed graphs. Traversals of these structures is assumed. Process synchronization requires
careful logic.
A3: The engineering product development life cycle of requirements, specifications, design and
construction occurs in the OS projects. Also, trade-offs in simplicity of design versus achieved
functionality are considered.
B: The quality of memory management algorithms is evaluated via experiments.
C: This is a project driven course.
E: Because of an understanding of the internals of an OS, better computer solutions can be
formulated.
G: There is a short written report describing the design and testing aspects of the project.
Communicating with precision, knowing when to use prose and when to use appropriate technical
terms, and programming notation is emphasized.
H: The development of user interfaces, and permissions to various computer resources is
presented in the societal context.
I: The student realizes that in his/her life-time he will need to work with many OS, that there will
not always be courses to take, that he should engage in life-long learning.
J: The student learns about contemporary issues such as the open source movement.
K: Modern program development tools are used in the project, and Internet based discussions
help the student receive prompt answers from other students and the instructor.
May 15, 2009
Mateti:CEG433
11
Conformance to ABET Syllabus


The course conforms to the published ABET
syllabus.
Course Content



The course has been taught by Mateti and Wischgoll
several times, and by Pei once (Summer 2008).
There are no issues of conformance that need to be
addressed.
Grading


Minor (< 6%) variations in grading weights have
occurred.
Project work, Midterm and Finals remained at about
30% each.
May 15, 2009
Mateti:CEG433
12
Evolution of Content

Course content has been stable for the last ten terms but
for





Processes, IPC, Scheduling moved in (2007)
Adv file sys, and large program dev work were reduced
IO subsys discussion reduced
Across the country, undergrad OS design courses have
remained the same for the last several years.
The text book by Silberschatz et al.,



Now in 8th Ed.,
Essentially the same as it was about two decades ago (but for
the addition/deletion of case study OS).
Now about $150.
May 15, 2009
Mateti:CEG433
13
Course/Curriculum Revisions Done

433old + 434old == 433new + 434new.
[Old == pre-2007]
 Moved concurrency basics into 433new.
 Moved IO subsystem and advanced file
system design to 434new.


CEG 433 remains a Required Course
BSCE
 BSCS


CEG 434 moved into Electives.
May 15, 2009
Mateti:CEG433
14
Lab Work Evolution
Project work done on Linux PCs.
 Students experience KDE and Gnome
desktop environments.
 Many students have their home PCs
running installed/LiveCD Linux.
 Many students have better PCs at home
than our lab PCs.

May 15, 2009
Mateti:CEG433
15
Course Improvement
Students need significantly more “help
hours” than we can provide with instructor
and grader office hours.
 Grader (limited to 10 hours/week) has 4
hours/week of help hours and the rest for
grading. Not enough.
 No TA has been assigned for the last 15
years to this required course.

May 15, 2009
Mateti:CEG433
16
Teaching Assignments

Should the course be assigned to the
same instructors again and again?

My answers:
 Alternate
terms taught by different instructors.
 When the course is taught by multiple instructors
significant conformance issues are observed.
 Common problem with several of our courses.
May 15, 2009
Mateti:CEG433
17
Course Schedule
Should the course be taught every term?
 We typically scheduled it three/four times
(including Summers) an year.
 With GTA support, class size can be
increased, and class scheduled in
alternate terms only.

May 15, 2009
Mateti:CEG433
18
Course/Curriculum Revision
Suggestions

Observation





Our lower level courses are Windows based.
Our higher level courses are Unix based.
Is this “good”?
Is this what our constituencies want?
Opinions


CEG 433 and 434 (new or old) can be taught based
on Windows XP/Vista/7 – without compromising
conceptual strengths.
But, exposure to multiple OSs is crucial to prevent
intellectual crippling of the students in the long run.
May 15, 2009
Mateti:CEG433
19
Course Project Heartache

Observations
Students struggle with the project work.
 Students feel 4 term-hrs are not enough.
 Teams do not work out.


Facts
P0 src code is given: 1000 LOC
 P4 final version that individual students are
expected to produce: 2000 LOC

May 15, 2009
Mateti:CEG433
20
OS Courses Elsewhere
OS courses are among the hardest.
 Project work often based on “simulators”

Nachos
 OS 161
 Pintos


OS course projects
More substantial in most places.
 Almost always cumulative
 Often done in teams of 2 or 3.

May 15, 2009
Mateti:CEG433
21
CEG 433 in the Semesters

Should be 4 semester credit hours
3 lecture hours/week
 2 hours of scheduled lab work/week

At many universities: 3 sem hrs 
 The recent addition of Processes …



In a 10 week term: unsatisfactory
Required  Elective ?
May 15, 2009
Mateti:CEG433
22
CEG 433 Summary

4 credit hours


75-minute lectures: 2 per week
Expected lab work: 2 hours per week







Official Lab: OSIS Lab (429 RC)
Unscheduled labs
Open 24x7
30 general purpose PCs.
One file server/firewall.
Configured to multi-boot into several OS.
Suggestions



Scheduled lab hours.
TA stationed in the Lab.
4 credit hours in the semesters also
May 15, 2009
Mateti:CEG433
23