1 / 11

CSI 3131 Summer 2016 Principles of Operating Systems

Learn operating system design principles, processes, memory and storage management, with hands-on experience and course materials.

denaj
Download Presentation

CSI 3131 Summer 2016 Principles of Operating Systems

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. CSI 3131 Summer 2016Principles of Operating Systems Instructor: Dr. Nathalie Japkowicz E-mail:nat@site.uottawa.ca Office: STE 5029 Office Hours: • In person: • Monday 11:30am-1:00pm • On Skype: By arrangement • Teaching Assistant (TA) for the course: • TBA

  2. Course Material Web site: • Course material (class notes) • Syllabus Blackboard • Assignment management • Grading tool • Course announcements (usually, also sent to your school e-mail) • Labs • Tutorials

  3. Textbook and Reading • Course Notes: • Made available on Website as PPT files • Textbook: • Operating Systems Concept Essential, Silberchatz, Galvin, Gagne, Wiley, 2013 (9th edition) • Other useful book: • “William Stallings, Operating Systems: Internals and Design Principles, 4th edition, Prentice-Hall, 2001, ISBN: 0-13-031999-6

  4. Course Timetable

  5. Evaluation • Assignments (individual) 25 % • Assignment 1: Processcreation May 9 – May 30 • Assignment 2: Threads  May 30 – June 20 • Assignment 3: Synchronization June 20 – July 4 • Assignment 4: Virtual Memory  4 Juillet- 18 Juillet • Midterm Exam 25 % • MondayJune 13, in class (2 hours 1:30pm-3:30pm) • Final Exam 50 % • TBA: During the Exam Period [July 27-August 6]

  6. Course Organization Questions?

  7. Course Objectives You are expected to • learn basic concepts and principles behind the design of operating systems • get exposed to the problems operating systems designers face, explore the tradeoffs and solutions to these problems • see how are these issues solved in practice in real operating systems • be able to apply these concepts and techniques in relevant circumstances • get some hands-on experience programming OS type problems (process creation, inter-process-communications, process synchronization, mutual exclusion, deadlock avoidance)

  8. Topics Covered • What Operating Systems Do • Computer-System Organization • Computer-System Architecture • Operating-System Structure • Operating-System Operations • Process Management • Memory Management • Storage and I/O Management • Protection and Security • Distributed Systems • Special-Purpose Systems • Computing Environments Background/intro The main stuff Advanced topics, not covered in this course

  9. Topics Covered Introduction/Background/Overview • Computer systems overview • Operating systems overview: interface, system calls, design and implementation issues, OS structure Process Management • Processes and threads • Interprocess communication • CPU scheduling – algorithms and criteria • Process/thread synchronization – problems and solutions • Deadlocks – prevention, avoidance, detection, recovery

  10. Topics Covered (contd.) Memory Management • Basic main memory management (swapping, contiguous memory allocation, paging, segmentation) • Virtual memory (demand paging, copy-on-write, page replacement, allocating kernel memory) Storage Management and Input/Output • File-System interface (files, directories, mounting file system, file sharing) • File-System implementation • Mass-storage structure (disk structure, scheduling, management) • Swap space management • I/O systems (hardware, application I/O interface, kernel I/O subsystem)

  11. Detailed Schedule • May 2: Introduction and OS Overview (Chap 1 & 2) • May 9: Processes (Chap 3) • May 16: Threads (Chap 4) • May 23: Victoria Day: No Classes! • May 30: Process Synchronization (Chap 6) • June 6: Review + Process Synchronization (Chap 6) (continued) • June 13: MidTerm Exam • June 20: Deadlocks (Chap 7) • June 27: Deadlocks (Chap 7) (continuation) • July 4: Memory Management (Chap 8) • July 11: Virtual Memory (Chap 9) • July 18: File Systems (Chap 11 & 12) • July 25: Mass Storage Structure (Chap 10)

More Related