1. OSの基本概念,用語,実現方法を理解し,説明できる.
2. OSの各機能の実装について,レポート課題等を通じて調査し,整理できる.
3. ソフトウェア開発においてOSの存在,各機能を意識し,利用できる.
4. PC実習を通じて,OSの基本機能を実践的に利用できる.
概要:
オペレーティングシステム(OS)は,コンピュータを効率的良く利用するための基盤ソフトウェアである.近年,OSは汎用計算機,PCにとどまらず各種組込みシステムに搭載され,それらのシステムを設計・開発する上で必須概念となる.講義を通じてOSの基本概念,各機能を習得し,机上での演習,PC上での実習を通じて理解する.
※実務との関係
この科目は企業で半導体製造装置におけるシステム機能設計・ソフトウェア開発を担当していた教員が、開発者として主に(リアルタイムな)オペレーティングシステムをどのように使うのかという視点でOSの動作原理を講義し,コンピュータ実習で理解を深めるものである.
授業の進め方・方法:
スライド形式(オリジナルのプリント)による座学講義を主とし、レポート課題・演習やPCを利用した実習を併用する.
注意点:
前年度まで学習した計算機アーキテクチャ,プログラミング/メカトロニクス演習,データ構造とアルゴリズムについて復習、理解が必要である.
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
オリエンテーション,OS序論 |
授業概要,スケジュール,評価方法と評価基準等を理解し、OSの概要を説明できる.
|
2週 |
運用・JOB管理 |
OSの起動・停止,ジョブの概念と処理を説明できる.
|
3週 |
プロセス管理1 |
プロセスの概念,プロセス中断と再開,プロセスの生成~消滅(状態遷移)を説明できる.
|
4週 |
プロセス管理2 |
プロセスにおける各種スケジューリングを説明できる.
|
5週 |
OS実習1 |
コンピュータ(LinuxOS)を用いてプロセスとジョブについて実習できる.
|
6週 |
プロセス管理3 |
多重プログラミング(マルチタスク),コンテキスト制御について説明できる.
|
7週 |
プロセス管理4 |
プロセス間の排他制御について説明できる.
|
8週 |
プロセス管理5 |
セマフォ,デッドロック,同期,通信について説明できる.
|
2ndQ |
9週 |
演習1 |
これまでの内容について演習を通じて理解を深める.
|
10週 |
OS実習2 |
コンピュータ(LinuxOS)を用いて基礎的なシェルプログラミングができる.
|
11週 |
メモリ管理1 |
アドレス空間,実記憶管理について説明できる.
|
12週 |
メモリ管理2 |
仮想記憶管理について説明できる.
|
13週 |
メモリ管理3 |
ページ置き換えアルゴリズムについて説明できる.
|
14週 |
OS実習3 |
コンピュータ(LinuxOS)を用いてやや発展的な内容を含むシェルプログラミングができる.
|
15週 |
演習2 |
これまでの内容について演習を通じて理解を深める.
|
16週 |
資源管理・プログラム管理 |
OSが提供するファイル管理の仕組みとプログラムの生成や性質について説明できる.
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 工学基礎 | 工学実験技術(各種測定方法、データ処理、考察方法) | 工学実験技術(各種測定方法、データ処理、考察方法) | 実験ノートや実験レポートの記載方法に沿ってレポート作成を実践できる。 | 3 | |
実験の考察などに必要な文献、参考資料などを収集できる。 | 3 | |
情報リテラシー | 情報リテラシー | 情報を適切に収集・処理・発信するための基礎的な知識を活用できる。 | 3 | |
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。 | 3 | |
専門的能力 | 分野別の専門工学 | 機械系分野 | 情報処理 | プログラムを実行するための手順を理解し、操作できる。 | 4 | |
定数と変数を説明できる。 | 4 | |
整数型、実数型、文字型などのデータ型を説明できる。 | 4 | |
演算子の種類と優先順位を理解し、適用できる。 | 4 | |
算術演算および比較演算のプログラムを作成できる。 | 4 | |
データを入力し、結果を出力するプログラムを作成できる。 | 4 | |
条件判断プログラムを作成できる。 | 4 | |
繰り返し処理プログラムを作成できる。 | 4 | |
一次元配列を使ったプログラムを作成できる。 | 4 | |
情報系分野 | プログラミング | 代入や演算子の概念を理解し、式を記述できる。 | 4 | |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 4 | |
変数の概念を説明できる。 | 4 | |
データ型の概念を説明できる。 | 4 | |
制御構造の概念を理解し、条件分岐を記述できる。 | 4 | |
制御構造の概念を理解し、反復処理を記述できる。 | 4 | |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 4 | |
ソフトウェア | アルゴリズムの概念を説明できる。 | 4 | |
与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 4 | |
コンピュータシステム | 集中処理システムについて、それぞれの特徴と代表的な例を説明できる。 | 3 | |
分散処理システムについて、特徴と代表的な例を説明できる。 | 3 | |
システムプログラム | コンピュータシステムにおけるオペレーティングシステムの位置づけを説明できる。 | 3 | |
プロセス管理やスケジューリングなどCPUの仮想化について説明できる。 | 3 | |
排他制御の基本的な考え方について説明できる。 | 3 | |
記憶管理の基本的な考え方について説明できる。 | 3 | |