L0024750
2 Operating Systems and Exercises
Today's computer systems are becoming more sophisticated and complex. There is an operating system as a basic system that
supports a computer system.
In this class, students will program using the function of operating system through using the system call that is the API
of the operating systems. It is the bottom of the software (hereinafter abbreviated as OS) using system calls, which are
APIs that call OS functions, and practically learn the effects of description on performance.
All lectures will include exercises, and in the development of files, multitasking, signals, and multithreading that handle
variable-length data, and in network socket programming that applies these, we will develop a multitasking server as an integrated
technology for these. Through this exercise, you will be able to understand the advanced sharing of memory and CPU, and the
development of software that realizes high-performance servers and cloud systems. Understand that you can use the resources
of your computer efficiently.
The purpose is to understand the concept of system calls, which are the API of the OS, and how to use them practically, and
to acquire the technical ability to master them.
Understand programming that abstracts the CPU and memory of the OS, such as files, multitasking, signals, and multithreading,
and work to improve performance.
In addition, students will develop socket programming that realizes a virtual network and a multitasking server that integrates.
Through this exercise, students will understand how to use computer resources efficiently, such as advanced sharing of computer
resources such as memory and CPU, and obtain a deeper understanding of software development that realizes high-performance
servers, clouds, and middleware.
- Understand and implement the concept of system calls, which are the basics of UNIX, libraries, and OS APIs.
- Understand programming that abstracts the CPU and memory of the OS, such as files, multitasking, signals, and multithreading,
and can evaluate and improve performance.
- Understand network programming using socket communication and design multitasking servers and clients.
- In socket communication, it is possible to design and implement a multitasking server that shares variable length data between
clients in the multitasking server.
Relationship between 'Goals and Objectives' and 'Course Outcomes'
|
Assignment |
Development(Final Presentation) |
Total. |
1. |
30% |
0% |
30% |
2. |
30% |
0% |
30% |
3. |
10% |
15% |
25% |
4. |
0% |
15% |
15% |
Total. |
70% |
30% |
- |
Evaluation method and criteria
Evaluation method: Exercise tasks and report tasks are set to 100 points, and a total score of 60 points or more is passed.
Evaluation Criteria: The criteria for 60 points is to properly perform exercises and report assignments.
|
Class schedule |
HW assignments (Including preparation and review of the class.) |
Amount of Time Required |
1. |
Introduction |
History of OS |
100minutes |
2. |
Shell Programming, Standard C library, development environment. |
Ubuntu setup, materials |
150minutes |
3. |
Development Environment, API |
Practice using distributed PDF, and programming |
200minutes |
4. |
String manipulation, file input / output File (high level file) Performance evaluation (development of analysis software)
|
Practice using distributed PDF, and programming |
200minutes |
5. |
Process (1) --What is multitasking? --Process control
|
Practice using distributed PDF, and programming |
200minutes |
6. |
Thread programming (1) ・ What is multithreading? ・ Multi-thread programming
|
Practice using distributed PDF, and programming |
200minutes |
7. |
Time, interrupt, signal |
Practice using distributed PDF, and programming |
200minutes |
8. |
Socket programming (1) ・ Client-server communication ・ Development of client programs
|
Practice using distributed PDF, and programming |
200minutes |
9. |
Socket programming (2) ・ Development of server program ・ Development of client-server program
|
Practice using distributed PDF, and programming |
200minutes |
10. |
Socket programming (3) ・ Advanced socket programming ・ Network programming (multitask server)
|
Practice using distributed PDF, and programming |
200minutes |
11. |
Multitasking server service using sockets, ideas |
Practice using distributed PDF, and programming |
200minutes |
12. |
Multitasking server service using socket, design / implementation |
Practice using distributed PDF, and programming |
200minutes |
13. |
Multitasking server service using socket, design / implementation |
Development of network program |
200minutes |
14. |
Multitasking server service using socket, design / implementation(Presentation/Report) |
Presentation |
350minutes |
Total. |
- |
- |
2800minutes |
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
C language, Operating System Course
This class focuses on exercises in System Call Programming. It is preferable that you have already taken Operating Systems
in a CS course in your home country. If you have not taken the course, there is a simple explanation, so please study on your
own based on it.
Office hours and How to contact professors for questions
- If you directly asked something, the class room is best.
- We will respond via Slack etc.
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
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 |
provide research guidance that suits the individual's growth and career from a broad perspective. |
Education related SDGs:the Sustainable Development Goals
- 4.QUALITY EDUCATION
- 9.INDUSTRY, INNOVATION AND INFRASTRUCTURE
- 17.PARTNERSHIPS FOR THE GOALS
Last modified : Sat Mar 08 04:31:01 JST 2025