1 / 20

CEG 433: Operating Systems Course Review

CEG 433: Operating Systems Course Review. Coordinator: Prabhaker Mateti. Course Content. Operating Systems, Systems implementation languages; From booting to shut down. Unix file system design. The structure of i-nodes. The mechanism of mount.

talib
Download Presentation

CEG 433: Operating Systems Course Review

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CEG 433: Operating SystemsCourse Review Coordinator: Prabhaker Mateti

  2. Course Content • Operating Systems, Systems implementation languages; From booting to shut down. • Unix file system design. The structure of i-nodes. The mechanism of mount. • The semantics and mechanics of file open, read/write, close and unlink. • Shell Programming, File IO, redirection, Filters and pipes. Pointers to functions. • main(argc, argv, envp). Unix system calls, Signal handling. setjmp and longjmp. • Dynamic storage allocation and liberation. • Virtual memory. Address spaces. Swapping, Page replacement algorithms. • IO subsystem: DMA; Interrupt handlers; driver interfaces; overview of drivers. • Case Studies: Linux or Windows. Mateti:CEG433

  3. 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 one project for the course. Typically, the project is split into five pieces worth 5+5+10+5+5% respectively. Mateti:CEG433

  4. Grading • Mid Term 30% • Final 35% • Project 30% • Newsgroup 05% Mateti:CEG433

  5. Prerequisites by Topic • 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, Hardware Protection Mateti:CEG433

  6. 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. Mateti:CEG433

  7. Contribution to Professional Component • CEG 433 contributes 4 hours to the Criterion 4(b), and also contains engineering design. Mateti:CEG433

  8. 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. Mateti:CEG433

  9. Course Objectives: The student should have learned the following: • 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. Mateti:CEG433

  10. Learning Outcomes: The student should be able to: • Develop, test and debug programs in Unix. • Able to 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. Mateti:CEG433

  11. 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. • 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, and the anti-trust case of Microsoft. • K: Modern program development tools are used in the project, and Internet based discussions (news:wright.cs.433 ) help the student receive prompt answers from other students and the instructor. Mateti:CEG433

  12. Conformance to ABET Syllabus • The course conforms to the published ABET syllabus. • Course Content • The course has been taught by the coordinator for the last ten terms. • 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. Mateti:CEG433

  13. Course Evolution • Course content has been stable for the last ten terms. • 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 7th Ed., is essentially the same as it was about a decade ago (but for the addition/deletion of case study OSs). Mateti:CEG433

  14. Course Evolution • Project work moved from X11 terminal labs to well-equipped 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. 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. Mateti:CEG433

  16. Teaching Assignments • Should the course be assigned to the same instructor again and again? • My answers: • Alternate terms taught by different instructors. • When the course was taught by multiple instructors (several years ago) significant conformance issues were observed. • Common problem with several of our courses. Mateti:CEG433

  17. Course Schedule • Should the course be taught every term? • We typically scheduled it four times (including Summers) an year. (From 1989 to Spring 2005?) • Not offered in Summer 2005, Summer 2006. • With GTA support, class size can be increased, and class scheduled in alternate terms only. Mateti:CEG433

  18. Course/Curriculum Revision Suggestions • Redistribute 433 + 434 into 433new and 434new. • 433old + 434old == 433new + 434new. • Move concurrency basics into 433new. • Move IO subsystem and advanced file system design to 434new. • Keep CEG 433new as a Required Course. • Move CEG 434new into Electives. Mateti:CEG433

  19. 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 – without compromising conceptual strengths. • Exposure to multiple OSs is crucial to prevent intellectual crippling of the students in the long run. Mateti:CEG433

  20. CEG 433: 4 credit hours • Scheduled Work • 75-minute lectures: 2 per week • Expected lab work: 2 hours per week • Unscheduled labs • Open 24x7 • Official Lab: OSIS Lab (429 RC) • 26 general purpose PCs. • One file server/firewall. • Configured to multi-boot into several Oss. • Can the assigned project work be done elsewhere? • Yes. • Suggestions • Scheduled lab hours. • Teaching assistant stationed in the Lab. Mateti:CEG433

More Related