|
授業の目標
|
|
|
コンピュータシステムの基盤ソフトウェアであるオペレーティングシステムについて理解する。
|
|
|
|
到達目標
|
|
(1)システムコールを用いて簡易なシェルを作成できる。 (2)オペレーティングシステムの開発環境を、WSLとQEMUを用いて構築できる。 (3)オペレーティングシステムに、新しいスケジューリングアルゴリズムを追加できる。 (4)仮想記憶について説明できる。
|
|
|
|
身につく能力
|
|
<全学ディプロマ・ポリシー>
○【知識・理解・技術】 1.各専門分野の知識・技術を習得し、活用する力を身につけている
【教養・基礎的能力】 2.幅広い教養と、外国語能力、情報活用能力、コミュニケーション能力などの基礎的能力を身につけている
【態度・志向性】 3.多様な価値観を有する人々と倫理観・責任感をもって協働することができる
【態度・志向性】 4.時代の変化に主体的に対応するため継続的に学び、自律的に行動することができる
【問題発見・解決能力】 5.専門の知識・技術及び基礎的能力を統合し活用して、問題を発見し解決する能力を身につけている
【グローカル・創造的思考力】 6.地域的・国際的視点をあわせもち、また、新たな価値を想像する力を身につけている
|
|
|
授業の概要
|
|
|
オペレーティングシステムの機能を解説するとともに、講義中にテキストにあるコマンドを実行する実習を行い、さらにシステムコールを用いてシェルのプログラムを作成することで、具体的かつ定着率の高い講義を目指す。また、情報システムにおけるアーキテクチャ、オペレーティングシステム、プログラミング言語の相互関係について、理解できるようにする。
|
|
|
|
授業の計画
|
|
第1週 ガイダンス、演習環境設定、プログラム課題(shell)、オペレーティングシステム概論
第2週 CPUの仮想化: プロセス, プロセスAPI ※課題提出(shell)
第3週 CPUの仮想化: ファイルディスクリプタとパイプ、制限された直接実行
第4週 CPUの仮想化: CPUスケジューリング、MLFS, 宝くじスケジューラ、Linux CFS
第5週 演習環境設定(WSL)、演習環境設定(XV6-RISCV) 、プログラム課題(syscall) ※課題提出(shell)
第6週 プログラム課題(スケジューラ)演習
第7週 メモリの仮想化: アドレス空間、メモリAPI
第8週 メモリの仮想化: アドレス変換、セグメンテーション
第9週 メモリの仮想化: Free-Space Management、ページング基礎
第10週 メモリの仮想化: TLB、高度なページテーブル、プログラム課題(仮想記憶) ※課題提出(スケジューラ)
第11週 学外講師による特別講義(株式会社テラスカイ)
第12週 永続性: I/Oデバイス
第13週 永続性: ハードディスク
第14週 永続性: ファイルとディレクトリ
第15週 永続性: ファイルシステム ※課題提出(仮想記憶)
第16週 定期試験
尚、学外講師の特別講義の日程は変更になる場合がある。
|
|
|
|
授業時間外学修の指示
|
|
・参考書『プログラミング言語C』の第8章「UNIXシステム・インタフェース」は第3回講義の前に読むこと。その際には、掲載されているプログラムをきちんと理解すること。思った以上の時間がかかるので、第3回講義の2週間以上前から始めること。 ・テキストにあるコマンドの実行やプログラムの作成は、講義中の時間だけでは全く不十分であるので、授業時間外にも積極的に実施すこと。
|
|
|
|
成績評価の方法
|
|
プログラム課題 45% (定期試験期間中)定期試験 55%
|
|
|
|
テキスト・参考書等
|
|
|
|
|
履修上の留意点
|
|
・講義中にPCを用いた実習を行うため、PCを持参すること。 ・講義資料(テキストに沿った日本語資料)、レポート課題、プログラム課題を、manabaにアップロードする。 ・レポート課題は、manabaを用いて提出する。 ・プログラム課題は情報工学科 情報ネットワーク研究室内のサーバ上で提出する。提出締切日を第1回講義資料に記載する(第1回講義資料のこの部分は適宜変更するので注意すること)。 ・C言語のプログラムを理解・作成できることを前提とする。 ・システムアーキテクチャを履修済みであることが望ましい。
|
|
|
|
資料
|
|
|
|
|
備考
|
|
|