2016 Operating Systems

Font size  SML

Register update notification mail Add to favorite lecture list
Academic unit or major
Computer Science
Instructor(s)
Watanabe Takuo 
Class Format
Lecture     
Media-enhanced courses
Day/Period(Room No.)
Fri5-6(W611)  
Group
-
Course number
ZUS.P301
Credits
2
Academic year
2016
Offered quarter
3-4Q
Syllabus updated
2017/1/11
Lecture notes updated
2017/1/27
Language used
Japanese
Access Index

Course description and aims

This course examines the design and implementation of operating system kernels and surveys the background theories and algorithms

Student learning outcomes

By the end of this course, students will be able to outline the structure of typical operating system kernels and explain important concepts such as interrupt-based kernel implementations, process management, synchronization, mutual exclusion, memory managements, file systems, I/O systems and so on. In addition, students will be able to explain the implementation of Unix-like operating systems through a series of programming exercises using xv6.

Keywords

operating system kernels, system calls, processes, scheduling, synchronization, mutual exclusion algorithms, memory management, virtual memory, file systems, protection mechanisms, security mechanisms

Competencies that will be developed

Specialist skills Intercultural skills Communication skills Critical thinking skills Practical and/or problem-solving skills

Class flow

Classroom learning and programming exercises

Course schedule/Required learning

  Course schedule Required learning
Class 1 Roles and Functions of Operating Systems  
Class 2 Overview of Unix and xv6
Class 3 Interrupt and System Calls
Class 4 Processes and Threads (1): Basica, Multiprocessing and Scheduling
Class 5 Processes and Threads (2): Synchronization and Mutual Exclusion Algorithms
Class 6 Processes and Threads (3): Implementations of Synchronization and Mutual Exclusion Mechanisms
Class 7 Memory Management (1): Objectives and Basic Concepts
Class 8 Memory Management (2): Concepts and Algorithms for Virtual Memory Systems
Class 9 Memory Management (3): Implementations of Virtual Memory Systems
Class 10 File Systems (1): Overview and File Management Algorithms
Class 11 File Systems (2): Implementations of File Systems
Class 12 File Systems (3): Applications (Database, Information Retrieval, etc.)
Class 13 I/O Systems and their Implementations
Class 14 Network Systems
Class 15 Protection Mechanism and Security, System Design and System Management Technologies

Textbook(s)

None required (course materials will be provided via OCW-i)

Reference books, course materials, etc.

"Xv6: a simple, Unix-like teaching operating system", Russ Cox, Frans Kaashoek and Robert Morris, 2014. (document distributed with xv6)

Assessment criteria and methods

Programming Exercises (4 times): 60%
Final Exam: 40%

Related courses

  • ZUS.S201 : Programming Ⅰ
  • ZUS.S203 : Experiments on Computer Science I
  • ZUS.S301 : Programming III
  • ZUS.P302 : Computer Architecture I
  • CSC.T262 : Assembly Language

Prerequisites (i.e., required knowledge, skills, courses, etc.)

Students must have succesfully completed the related courses or have equivalent knowledge.
Students are desired to have familiarity with basic Unix terminal commands.

Page Top