Course title
L09500002
Exercise on Operating Systems

sugaya midori Click to show questionnaire result at 2018
Course description
In this class, students study the design and implementation of Operating Systems (OS) through the lecture and exercise on OS's functions. In this course, these functions are learned through the exercises and programming by using C language.
Purpose of class
The purpose of this course is to study the design and implementation of Operating Systems (OS) through the lecture and exercise on OS's functions. The functions that provides the basic mechanism of OS are process, thread, network socket. In this course, these functions are learned through the exercises and programming by using C language. In recent years, the course students try to develop applications using network socket programming that is also used in IoT and others in group work.
Goals and objectives
  1. Learn the concept of system calls and can develop application programs using them
  2. Understand the mechanism of process generation and multi-tasks, can develop application programs using them
  3. Understand the mechanism of communication through socket, and can develop application programs using them
  4. Understand the mechanism of server-client communication, and can develop application programs using them
Language
English
Class schedule

Class schedule HW assignments (Including preparation and review of the class.) Amount of Time Required
1. Introduction History of OS 100minutes
2. Shell Programming Ubuntu setup, materials 100minutes
3. Development Environment, API Practice using distributed PDF, and programming 100minutes
4. String, Files Practice using distributed PDF, and programming 100minutes
5. File & Performance Analysis Practice using distributed PDF, and programming 100minutes
6. Process, basic Practice using distributed PDF, and programming 100minutes
7. Process, multi-tasks Practice using distributed PDF, and programming 100minutes
8. Thread, multi-thread programming Practice using distributed PDF, and programming 100minutes
9. Thread, lock, mutex-lock Practice using distributed PDF, and programming 1100minutes
10. Basic understanding of network, and it's programming Practice using distributed PDF, and programming 100minutes
11. Network Socket programming (client) Practice using distributed PDF, and programming 100minutes
12. Socket programming (server) Practice using distributed PDF, and programming 100minutes
13. Develop network service program Development of network program 100minutes
14. Presentation of the developed program Presentation 100minutes
Total. - - 2400minutes
Relationship between 'Goals and Objectives' and 'Course Outcomes'

Assignment Development(Final Presentation) Total.
1. 70% 30% 100%
2. 0%
Total. 70% 30% -
Evaluation method and criteria
Reporting, programming assignment (70%)
Server client application development (30%)
Textbooks and reference materials
1. Operating System Concepts, 8 and 9th edition, Silberschatz, Galvin, & Gagne
2. Understanding UNIX/LINUX Programming: A Guide to Theory and Practice, Bruce Molay, Prentice Hall; 1st version (2002/11/25), 11,200
Prerequisites
C language, Operating System Course
Office hours and How to contact professors for questions
  • Mon 12:30-12:50
Relation to the environment
Non-environment-related course
Regionally-oriented
Non-regionally-oriented course
Development of social and professional independence
  • Course that cultivates an ability for utilizing knowledge
Active-learning course
More than one class is interactive
Course by professor with work experience
Work experience Work experience and relevance to the course content if applicatable
Applicatable Development Career on Open Source Software (cabi). Linux kernel module for resource accounting.
Last modified : Thu Mar 21 14:20:28 JST 2019