Upload
cory-white
View
218
Download
3
Tags:
Embed Size (px)
Citation preview
CEG 433: Operating SystemsCEG 433: Operating SystemsCourse Review at 2009 RetreatCourse Review at 2009 Retreat
Coordinator: Prabhaker MatetiCoordinator: Prabhaker Mateti
Instructors: Mateti, Wischgoll, PeiInstructors: Mateti, Wischgoll, Pei
May 15, 2009May 15, 2009 Mateti:CEG433Mateti:CEG433 22
Course ContentCourse Content1.1. Operating Systems, Systems implementation languages; From Operating Systems, Systems implementation languages; From
booting to shut down.booting to shut down.2.2. File system design, i-nodes, volumes, mount; file open, read/write, File system design, i-nodes, volumes, mount; file open, read/write,
close and unlink.close and unlink.3.3. System calls, Library calls, Signal handling. setjmp and longjmp.System calls, Library calls, Signal handling. setjmp and longjmp.4.4. Memory management, Dynamic storage allocation and liberation.Memory management, Dynamic storage allocation and liberation.5.5. Virtual memory. Paging and Segmentation; Swapping; Page Virtual memory. Paging and Segmentation; Swapping; Page
replacement algorithms.replacement algorithms.6.6. Processes, Threads, SchedulingProcesses, Threads, Scheduling7.7. Inter Process Communication mechanismsInter Process Communication mechanisms8.8. IO subsystem: DMA; Interrupt handlers; driver interfaces; overview IO subsystem: DMA; Interrupt handlers; driver interfaces; overview
of drivers.of drivers.9.9. Case Studies: Linux and Windows.Case Studies: Linux and Windows.
May 15, 2009May 15, 2009 Mateti:CEG433Mateti:CEG433 33
Class/Laboratory ScheduleClass/Laboratory Schedule
Each week has two lectures of 75-minutes Each week has two lectures of 75-minutes each.each.
There is no scheduled lab. Students are There is no scheduled lab. Students are expected to work in open labs for no less expected to work in open labs for no less than 2 hours a week.than 2 hours a week.
There is project work required in the There is project work required in the course.course.
May 15, 2009May 15, 2009 Mateti:CEG433Mateti:CEG433 44
GradingGrading
Mid TermMid Term 30%30%FinalFinal 35%35%ProjectProject 35%35%
May 15, 2009May 15, 2009 Mateti:CEG433Mateti:CEG433 55
Prerequisites by TopicPrerequisites by Topic
1.1. Programming experience in C++ .Programming experience in C++ .
2.2. Program development tools: editors, Program development tools: editors, compilers, linkers, debuggers.compilers, linkers, debuggers.
3.3. Data structures: arrays, stacks, queues, Data structures: arrays, stacks, queues, lists, binary trees.lists, binary trees.
4.4. Familiarity with the Unix environment.Familiarity with the Unix environment.
5.5. Computer Architecture: Interrupts, Computer Architecture: Interrupts, Kernel/User modes, IO, DMAKernel/User modes, IO, DMA
May 15, 2009May 15, 2009 Mateti:CEG433Mateti:CEG433 66
Discussion of PrerequisitesDiscussion of Prerequisites Prerequisite courses: CEG 320, CS 400Prerequisite courses: CEG 320, CS 400 CEG 320CEG 320
CPU Architecture details are essential.CPU Architecture details are essential. CPU modes remain confusing.CPU modes remain confusing. Can use more of Can use more of
interrupts and traps.interrupts and traps. IO devicesIO devices
Virtual memory does not belong in 320.Virtual memory does not belong in 320. Assembly language unused.Assembly language unused.
CS 400CS 400 Unused: The advanced data structures. Unused: The advanced data structures. Used: Developing larger programs.Used: Developing larger programs.
May 15, 2009May 15, 2009 Mateti:CEG433Mateti:CEG433 77
Playing with PrerequisitesPlaying with Prerequisites
2007: CS 242 and CEG 233 and CEG 3202007: CS 242 and CEG 233 and CEG 320CEG 433 requires the programming CEG 433 requires the programming
maturity of seniorsmaturity of seniorsSoftware ToolsSoftware Tools
Back to the basics: shell, make, g++, gdbBack to the basics: shell, make, g++, gdbNo IDENo IDELinking not understoodLinking not understood
May 15, 2009May 15, 2009 Mateti:CEG433Mateti:CEG433 88
Course Contribution to Program Course Contribution to Program Educational ObjectivesEducational Objectives
CEG 433 contributes to Objectives 1 and 2. CEG 433 contributes to Objectives 1 and 2. Through exposure to the internals of operating Through exposure to the internals of operating
systems, it deepens the skills to produce systems, it deepens the skills to produce efficient software. efficient software.
The design experience gained through the The design experience gained through the course project is realistic. course project is realistic.
The student is also prepared to move on to other The student is also prepared to move on to other operating systems, both past and future ones.operating systems, both past and future ones.
May 15, 2009May 15, 2009 Mateti:CEG433Mateti:CEG433 99
Course Objectives: The student Course Objectives: The student should have learned the following:should have learned the following:
1.1. Design issues in developing larger and Design issues in developing larger and complex programs.complex programs.
2.2. Internal structure of hierarchical file systems.Internal structure of hierarchical file systems.
3.3. Memory allocation, and virtual memory usage.Memory allocation, and virtual memory usage.
4.4. Signal and exception handling.Signal and exception handling.
5.5. The interactions between applications and the The interactions between applications and the hardware.hardware.
6.6. Programming with multiple processesProgramming with multiple processes
May 15, 2009May 15, 2009 Mateti:CEG433Mateti:CEG433 1010
Learning Outcomes: Learning Outcomes: The student The student should be able to:should be able to:
Develop, test, and debug programs in Unix.Develop, test, and debug programs in Unix. Use system calls and library calls effectively.Use system calls and library calls effectively. Improve performance of programs by tuning Improve performance of programs by tuning
virtual memory usage, and file IO.virtual memory usage, and file IO. Design and build newer file systems for newer Design and build newer file systems for newer
storage devices on any OS. storage devices on any OS. Design and build multiple process programs.Design and build multiple process programs.
May 15, 2009May 15, 2009 Mateti:CEG433Mateti:CEG433 1111
ABET Criteria 3 Supporting ABET Criteria 3 Supporting StatementsStatements
A1: The directory structure in file systems is a tree. The addition of soft-links makes them 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 arbitrary directed graphs. Traversals of these structures is assumed. Process synchronization requires careful logic.requires careful logic.
A3: The engineering product development life cycle of requirements, specifications, design and 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 construction occurs in the OS projects. Also, trade-offs in simplicity of design versus achieved functionality are considered.functionality are considered.
B: The quality of memory management algorithms is evaluated via experiments.B: The quality of memory management algorithms is evaluated via experiments. C: This is a project driven course.C: This is a project driven course. E: Because of an understanding of the internals of an OS, better computer solutions can be E: Because of an understanding of the internals of an OS, better computer solutions can be
formulated.formulated. G: There is a short written report describing the design and testing aspects of the project. 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 Communicating with precision, knowing when to use prose and when to use appropriate technical terms, and programming notation is emphasized.terms, and programming notation is emphasized.
H: The development of user interfaces, and permissions to various computer resources is H: The development of user interfaces, and permissions to various computer resources is presented in the societal context.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 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.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.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 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.help the student receive prompt answers from other students and the instructor.
May 15, 2009May 15, 2009 Mateti:CEG433Mateti:CEG433 1212
Conformance to ABET SyllabusConformance to ABET Syllabus The course conforms to the published ABET The course conforms to the published ABET
syllabus.syllabus. Course ContentCourse Content
The course has been taught by Mateti and Wischgoll The course has been taught by Mateti and Wischgoll several times, and by Pei once (Summer 2008).several times, and by Pei once (Summer 2008).
There are no issues of conformance that need to be There are no issues of conformance that need to be addressed.addressed.
GradingGrading Minor (< 6%) variations in grading weights have Minor (< 6%) variations in grading weights have
occurred.occurred. Project work, Midterm and Finals remained at about Project work, Midterm and Finals remained at about
30% each.30% each.
May 15, 2009May 15, 2009 Mateti:CEG433Mateti:CEG433 1313
Evolution of ContentEvolution of Content Course content has been stable for the last ten terms but Course content has been stable for the last ten terms but
forfor Processes, IPC, Scheduling moved in (2007)Processes, IPC, Scheduling moved in (2007) Adv file sys, and large program dev work were reducedAdv file sys, and large program dev work were reduced IO subsys discussion reducedIO subsys discussion reduced
Across the country, undergrad OS design courses have Across the country, undergrad OS design courses have remained the same for the last several years.remained the same for the last several years.
The text book by Silberschatz et al., The text book by Silberschatz et al., Now in 8Now in 8thth Ed., Ed., Essentially the same as it was about two decades ago (but for Essentially the same as it was about two decades ago (but for
the addition/deletion of case study OS). the addition/deletion of case study OS). Now about $150.Now about $150.
May 15, 2009May 15, 2009 Mateti:CEG433Mateti:CEG433 1414
Course/Curriculum Revisions DoneCourse/Curriculum Revisions Done
433old + 434old == 433new + 434new.433old + 434old == 433new + 434new. [Old == pre-2007][Old == pre-2007]Moved concurrency basics into 433new.Moved concurrency basics into 433new.Moved IO subsystem and advanced file Moved IO subsystem and advanced file
system design to 434new.system design to 434new.CEG 433 remains a Required CourseCEG 433 remains a Required Course
BSCEBSCEBSCSBSCS
CEG 434 moved into Electives.CEG 434 moved into Electives.
May 15, 2009May 15, 2009 Mateti:CEG433Mateti:CEG433 1515
Lab Work EvolutionLab Work Evolution
Project work done on Linux PCs.Project work done on Linux PCs.Students experience KDE and Gnome Students experience KDE and Gnome
desktop environments.desktop environments.Many students have their home PCs Many students have their home PCs
running installed/LiveCD Linux.running installed/LiveCD Linux.Many students have better PCs at home Many students have better PCs at home
than our lab PCs.than our lab PCs.
May 15, 2009May 15, 2009 Mateti:CEG433Mateti:CEG433 1616
Course ImprovementCourse Improvement
Students need significantly more “help Students need significantly more “help hours” than we can provide with instructor hours” than we can provide with instructor and grader office hours. and grader office hours.
Grader (limited to 10 hours/week) has 4 Grader (limited to 10 hours/week) has 4 hours/week of help hours and the rest for hours/week of help hours and the rest for grading. Not enough.grading. Not enough.
No TA has been assigned for the last 15 No TA has been assigned for the last 15 years to this required course.years to this required course.
May 15, 2009May 15, 2009 Mateti:CEG433Mateti:CEG433 1717
Teaching AssignmentsTeaching Assignments
Should the course be assigned to the Should the course be assigned to the same instructors again and again?same instructors again and again?My answers:My answers:
Alternate terms taught by different instructors.Alternate terms taught by different instructors.When the course is taught by multiple instructors When the course is taught by multiple instructors
significant conformance issues are observed.significant conformance issues are observed.Common problem with several of our courses.Common problem with several of our courses.
May 15, 2009May 15, 2009 Mateti:CEG433Mateti:CEG433 1818
Course ScheduleCourse Schedule
Should the course be taught every term?Should the course be taught every term?We typically scheduled it three/four times We typically scheduled it three/four times
(including Summers) an year. (including Summers) an year. With GTA support, class size can be With GTA support, class size can be
increased, and class scheduled in increased, and class scheduled in alternate terms only.alternate terms only.
May 15, 2009May 15, 2009 Mateti:CEG433Mateti:CEG433 1919
Course/Curriculum Revision Course/Curriculum Revision SuggestionsSuggestions
ObservationObservation Our lower level courses are Windows based.Our lower level courses are Windows based. Our higher level courses are Unix based.Our higher level courses are Unix based.
Is this “good”?Is this “good”? Is this what our constituencies want?Is this what our constituencies want? OpinionsOpinions
CEG 433 and 434 (new or old) can be taught based CEG 433 and 434 (new or old) can be taught based on Windows XP/Vista/7 – without compromising on Windows XP/Vista/7 – without compromising conceptual strengths. conceptual strengths.
But, exposure to multiple OSs is crucial to prevent But, exposure to multiple OSs is crucial to prevent intellectual crippling of the students in the long run.intellectual crippling of the students in the long run.
May 15, 2009May 15, 2009 Mateti:CEG433Mateti:CEG433 2020
Course Project HeartacheCourse Project Heartache
ObservationsObservationsStudents struggle with the project work.Students struggle with the project work.Students feel 4 term-hrs are not enough.Students feel 4 term-hrs are not enough.Teams do not work out.Teams do not work out.
FactsFactsP0 src code is given: 1000 LOCP0 src code is given: 1000 LOCP4 final version that individual students are P4 final version that individual students are
expected to produce: 2000 LOCexpected to produce: 2000 LOC
May 15, 2009May 15, 2009 Mateti:CEG433Mateti:CEG433 2121
OS Courses ElsewhereOS Courses Elsewhere
OS courses are among the hardest.OS courses are among the hardest.Project work often based on “simulators”Project work often based on “simulators”
NachosNachosOS 161OS 161PintosPintos
OS course projectsOS course projectsMore substantial in most places.More substantial in most places.Almost always cumulativeAlmost always cumulativeOften done in teams of 2 or 3.Often done in teams of 2 or 3.
May 15, 2009May 15, 2009 Mateti:CEG433Mateti:CEG433 2222
CEG 433 in the SemestersCEG 433 in the Semesters
Should be 4 semester credit hoursShould be 4 semester credit hours3 lecture hours/week3 lecture hours/week2 hours of scheduled lab work/week2 hours of scheduled lab work/week
At many universities: 3 sem hrs At many universities: 3 sem hrs The recent addition of Processes …The recent addition of Processes …
In a 10 week term: unsatisfactoryIn a 10 week term: unsatisfactoryRequired Required Elective ? Elective ?
May 15, 2009May 15, 2009 Mateti:CEG433Mateti:CEG433 2323
CEG 433 SummaryCEG 433 Summary 4 credit hours4 credit hours
75-minute lectures: 2 per week75-minute lectures: 2 per week Expected lab work: 2 hours per weekExpected lab work: 2 hours per week
Official Lab: OSIS Lab (429 RC)Official Lab: OSIS Lab (429 RC) Unscheduled labsUnscheduled labs Open 24x7Open 24x7 30 general purpose PCs.30 general purpose PCs. One file server/firewall.One file server/firewall. Configured to multi-boot into several OS.Configured to multi-boot into several OS.
SuggestionsSuggestions Scheduled lab hours.Scheduled lab hours. TA stationed in the Lab.TA stationed in the Lab. 4 credit hours in the semesters also4 credit hours in the semesters also