シラバス参照

講義概要/Course Information
2024/07/19 現在

科目基礎情報/General Information
授業科目名
/Course title (Japanese)
システムソフトウェア特論
英文授業科目名
/Course title (English)
Advanced Topics on System Software
科目番号
/Code
開講年度
/Academic year
2024年度 開講年次
/Year offered
全学年
開講学期
/Semester(s) offered
後学期 開講コース・課程
/Faculty offering the course
博士前期課程、博士後期課程
授業の方法
/Teaching method
講義 単位数
/Credits
2
科目区分
/Category
大学院専門教育科目 - 専門科目Ⅱ
開講類・専攻
/Cluster/Department
情報・ネットワーク工学専攻
担当教員名
/Lecturer(s)
八巻 隼人
居室
/Office
西10-519
公開E-mail
/e-mail
yamaki@uec.ac.jp
授業関連Webページ
/Course website
http://www.hpc.is.uec.ac.jp/yamaki_lab/teaching-jp.html
更新日
/Last update
2024/03/06 01:01:50 更新状況
/Update status
公開中
/now open to public
講義情報/Course Description
主題および
達成目標(2,000文字以内)
/Themes and goals(up to 2,000 letters)
システムソフトウェアとしてオペレーティングシステムやミドルウェアの役割について学習する。
本講義では主に、オペレーティングシステムのカーネルやプロセス管理、メモリ管理などについて実例を交えて学習することで、計算機のハードウェアを制御するソフトウェアについて理解する。

The aim of this course is to help students acquire an understanding of system software, such as operating systems and middleware.
This course mainly focuses on the kernel, the process management, and the memory management in the operating systems to understand the software for controlling the computer hardware.
前もって履修
しておくべき科目(1,000文字以内)
/Prerequisites(up to 1,000 letters)
特になし

Nothing
前もって履修しておくこ
とが望ましい科目(1,000文字以内)
/Recommended prerequisites and preparation(up to 1,000 letters)
特になし

Nothing
教科書等(1,000文字以内)
/Course textbooks and materials(up to 1,000 letters)
毎回資料を配布する。

Handsouts are prepared by the lecturer.
授業内容と
その進め方(2,000文字以内)
/Course outline and weekly schedule(up to 2,000 letters)
英語タイプⅡ(Bc)により講義を実施。

以下の内容に沿って講義を進める予定である。
本講義では、デバイスドライバの実例として、Linuxカーネルのネットワークインタフェースの実装についても取り上げる予定である。

#1 本講義の概要
#2 オペレーティングシステム1(OSの種類)
#3 オペレーティングシステム2(OSの役割)
#4 CPUの仮想化1(プロセス,スレッドの概要)
#5 CPUの仮想化2(プロセス,スレッドの実装)
#6 メモリの仮想化1(仮想メモリの概要)
#7 メモリの仮想化2(仮想メモリの実装)
#8 中間課題の説明とここまでのまとめ
#9 カーネル1(カーネルの種類)
#10 カーネル2(カーネルの役割)
#11 Linuxカーネルハック1(キャラクタデバイスドライバの概要)
#12 Linuxカーネルハック2(キャラクタデバイスドライバの実装)
#13 Linuxカーネルハック3(ネットワークデバイスドライバの概要)
#14 Linuxカーネルハック4(ネットワークデバイスドライバの実装)
#15 期末課題の説明とここまでのまとめ


This course is advanced with the following contents.
The implementation of network interfaces in Linux kernel will be picked up in this course as an example of device drivers.

#1 Outline of this course
#2 Operating systems 1 (OS types)
#3 Operating systems 2 (OS roles)
#4 Virtualization of CPU 1 (Outline of process and thread)
#5 Virtualization of CPU 2 (Implementation of process and thread)
#6 Virtualization of memory 1 (Outline of virtual memory)
#7 Virtualization of memory 2 (Implementation of virtual memory)
#8 Mid-term report and summary
#9 Kernel 1 (Kernel types)
#10 Kernel 2 (Kernel roles)
#11 Linux kernel hacking 1 (Outline of character-device driver)
#12 Linux kernel hacking 2 (Implementation of character-device driver)
#13 Linux kernel hacking 3 (Outline of network-device driver)
#14 Linux kernel hacking 4 (Implementation of network-device driver)
#15 Final report and summary
実務経験を活かした
授業内容
(実務経験内容も含む)
/Course content utilizing practical experience
本講義では、プロセスやスレッド,Linuxカーネル実装などの実践的なプログラミング課題を課します。

In this coarse, some practical programing tasks, such as implementation of process, thread, and Linux kernel, are assigned.  
授業時間外の学習
(予習・復習等)(1,000文字以内)
/Preparation and review outside class(up to 1,000 letters)
特に予習の必要はないが、複数回のレポート課題を課す。

No preparation is required, but there are some report assignments.
成績評価方法
および評価基準
(最低達成基準を含む)
(1,000文字以内)
/Evaluation and grading
(up to 1,000 letters)
中間(40%)・期末(60%)のレポートによって評価する予定である。
60点以上を合格とする。

There will be two reports: midterm (40%) and final (60%).
Students need 60 points or higher to pass.
オフィスアワー:
授業相談(1,000文字以内)
/Office hours(up to 1,000 letters)
質問等についてはメールで受け付ける。

For inquiries, please send me an email.
学生へのメッセージ(1,000文字以内)
/Message for students(up to 1,000 letters)
実際のシステムソフトウェアとしてLinuxカーネル(デバイスドライバ)の実装を取り上げるので、興味のある方は履修してください。

This course picks up the implementation of Linux kernel (device drivers) as an example of system software.
Please take this course if you have interested.
その他
/Others
特になし

nothing
キーワード
/Keywords
System software, Operating system, Linux kernel, Process and thread, Virtual memory