Course title
L09500002
Operating Systems and Exercises

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%)
Feedback on exams, assignments, etc.
ways of feedback specific contents about "Other"
Feedback in the class The content submitted in assignments and reports will generally be explained during class or in the next class. If you have any questions outside of class, we will respond via Slack etc.
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
This class focuses mainly on exercises in System Call Programming. It is preferable that you have already taken Operating Systems in a Computer Science course in your faculty. If you have not taken the course, there is a simple explanation in this course, so please study on your own based on it.
Office hours and How to contact professors for questions
  • Mon 12:30-12:50
Regionally-oriented
Non-regionally-oriented course
Development of social and professional independence
  • Course that cultivates an ability for utilizing knowledge
  • Course that cultivates a basic problem-solving skills
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 applicable
Applicable Development Career on Open Source Software (cabi). Linux kernel module for resource accounting.
Education related SDGs:the Sustainable Development Goals
  • 9.INDUSTRY, INNOVATION AND INFRASTRUCTURE
  • 17.PARTNERSHIPS FOR THE GOALS
Last modified : Tue Oct 31 04:06:39 JST 2023