システムソフトウェア(CSC.T371) 2024年度
お知らせ
- 初回講義は10月3日(木) 7-8限に行います. 講義室はS4-201(旧称S421・大岡山南4号館2階)です.昨年度までと異なります.
- 受講のための準備
- 原則として対面で講義を行いますが,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)
- S4-201(旧称S421)講義室(大岡山南4号館2階)
休講・補講予定
講義概要
オペレーティングシステムの役割,オペレーティングシステムカーネルの構成と実現方式,およびオペレーティングシステムカーネルにおいて用いられるアルゴリズムを理解する.
オペレーティングシステムの中心概念であるカーネルの役割とそこで用いられるアルゴリズムを学ぶ.具体的には,割り込みによるカーネルの実現手法,プロセス管理,同期と排他制御,メモリ管理,ファイルシステム,I/Oシステムなどについて学ぶ,また,Unixを簡素化した教育用オペレーティングシステムxv6を教材として,これらの諸機構がどのように実現されるかについて理解する.
関連講義等
- CSC.T243: 手続き型プログラミング基礎
- CSC.T253: 手続き型プログラミング発展
- 上記2科目の代わりに「プログラミング創造演習(CSC.T244)」でも可
- CSC.T344: システムプログラミング
- CSC.T262: アセンブリ言語
- CSC.T363: コンピュータアーキテクチャ
- その他必要事項:Unixの(コマンドラインによる)操作
講義日程
- 10/3(木) 7-8限:導入, オペレーティングシステムの役割と機能, システムコール(1)
- 10/7(月) 7-8限:システムコール(2), xv6のビルドと実行のしかた
- 10/10(木) 7-8限:xv6のプロセスとメモリ空間(1)
- 10/17(木) 7-8限:xv6のプロセスとメモリ空間(2)
- 10/21(月) 7-8限:xv6のプロセスとメモリ空間(3)
- 10/24(木) 7-8限:並行性制御(1)
- 10/28(月) 7-8限:並行性制御(2)
- 10/31(木) 7-8限:ファイルシステム(1)
- 11/7(木) 7-8限:ファイルシステム(2)
- 11/11(月) 7-8限:I/Oシステム(1)
- 11/14(木) 7-8限:I/Oシステム(2), xv6のプロセスとメモリ空間(4)
- 11/18(月) 7-8限:xv6のプロセスとメモリ空間(5)
- 11/21(木) 7-8限:(保護機構とセキュリティ)
- 11/25(月) 7-8限:(相互排除アルゴリズムの検証)
成績評価
- 課題と期末試験による.
期末試験
教務課からの公式な期末試験日程を必ず参照すること.
- 日時:2024年12月2日(月) 7-8限(15:25-17:05)
- 試験室:S4-201(旧称S421・大岡山南4号館2階)
この試験では最大一枚までのメモ(手書きに限る.A4両面使用可)を持ち込んで参照できる. ただし書籍,配布資料およびノート,PC,携帯端末,人間等の持ち込みは不可とする.
過去の期末試験問題とその解答・解説
- 2023年度: 問題 / 解答
- 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(2024年版 RISC-V)
- RISC-V
- git: https://git-scm.com
- 解説書(日本語版): https://git-scm.com/book/ja