システムソフトウェア(CSC.T371) 2023年度
お知らせ
- 初回講義は10月2日(月) 7-8限に行います.
- 受講のための準備
- 原則として対面で講義を行いますが,Zoomによる配信を併用します. ZoomのURLはT2SCHOLAで配布します.
- 講義の連絡にT2SCHOLAおよびSlackを用いますので,Slackを使えるように準備しておいてください. Slackワークスペースへの招待はT2SCHOLAの掲示板およびメールを介して行います.
- 講義の教材として用いるxv6(教育用OS)を各自のPCでビルド・実行する方法についての簡単な説明を用意しました.あらかじめ読んで準備しておいてください.
- xv6のビルドと実行のしかた
- Dockerを使う方法(ツールのインストール不要)
- ツールをインストールして行う方法 (Mac/Linux/Windows)
- xv6のビルドと実行のしかた
講義担当
講義時間・講義室
- 月曜7-8限・木曜7-8限 (15:25-17:05)
- WL2-401(旧称W641)講義室(大岡山西講義棟2,4階)
休講・補講予定
講義概要
オペレーティングシステムの役割,オペレーティングシステムカーネルの構成と実現方式,およびオペレーティングシステムカーネルにおいて用いられるアルゴリズムを理解する.
オペレーティングシステムの中心概念であるカーネルの役割とそこで用いられるアルゴリズムを学ぶ.具体的には,割り込みによるカーネルの実現手法,プロセス管理,同期と排他制御,メモリ管理,ファイルシステム,I/Oシステムなどについて学ぶ,また,Unixを簡素化した教育用オペレーティングシステムxv6を教材として,これらの諸機構がどのように実現されるかについて理解する.
関連講義等
- CSC.T243: 手続き型プログラミング基礎
- CSC.T253: 手続き型プログラミング発展
- 上記2科目の代わりに「プログラミング創造演習(CSC.T244)」でも可
- CSC.T344: システムプログラミング
- CSC.T262: アセンブリ言語
- CSC.T363: コンピュータアーキテクチャ
- その他必要事項:Unixの(コマンドラインによる)操作
講義日程
- 10/2(月) 7-8限:導入, オペレーティングシステムの役割と機能, システムコール(1)
- 10/5(木) 7-8限:システムコール(2), xv6のビルドと実行のしかた
- 10/12(木) 7-8限:xv6のプロセスとメモリ空間(1)
- 10/16(月) 7-8限:xv6のプロセスとメモリ空間(2)
- 10/19(木) 7-8限:xv6のプロセスとメモリ空間(3)
- 10/23(月) 7-8限:並行性制御(1)
- 10/26(木) 7-8限:並行性制御(2)
- 11/2(木) 7-8限:ファイルシステム(1)
- 11/6(月) 7-8限:ファイルシステム(2)
- 11/9(木) 7-8限:I/Oシステム(1)
- 11/13(月) 7-8限:I/Oシステム(2), xv6のプロセスとメモリ空間(4)
- 11/16(木) 7-8限:xv6のプロセスとメモリ空間(5)
- 11/20(月) 7-8限:(保護機構とセキュリティ)
- 11/27(月) 7-8限:(相互排除アルゴリズムの検証)
成績評価
- 課題と期末試験による.
期末試験
- 日時:2023年11月30日(木) 7-8限(15:25-17:05)
- 試験室:WL2-401(旧W641)
この試験では最大一枚までのメモ(手書きに限る.A4両面使用可)を持ち込んで参照できる. ただし書籍,配布資料およびノート,PC等の持ち込みは不可とする.
過去の期末試験問題とその解答・解説
- 2022年度: 問題 / 解答
- 2021年度: 問題 / 解答
- 2020年度: 問題 / 解答・解説
- 2019年度: 問題 / 解答・解説
- 2018年度: 問題 / 解答・解説
- 2017年度: 問題 / 解答・解説
- 2016年度: 問題 / 解答・解説
- 2015年度: 問題 / 解答・解説
- 2014年度: 問題 / 解答・解説
- 2013年度: 問題 / 解答・解説
- 2012年度: 問題 / 解答・解説
- 2011年度: 問題 / 解答・解説
- 2010年度: 問題 / 解答・解説
講義資料
T2SCHOLAで配布する予定ですが,一部の資料や例題などは本Githubグループ(titech-os)を通して配布することがあります. その際gitおよびGithubの使い方については簡単に説明しますが,gitを使う機会は今後も多いと思いますので,各自参考書やサイトで学んでおいてください.
関連・参考サイト
-
本演習のGithubアカウント: http://github.com/titech-os/
- xv6(2023年版 RISC-V)
- RISC-V
- git: https://git-scm.com
- 解説書(日本語版): https://git-scm.com/book/ja