概要:
本演習では、ARMプロセッサを搭載し、Linux系OSが動作する小型コンピュータであるRaspberry Piを用い、様々な計算機言語の動作基盤となるOSの仕組みを様々側面から理解することを目的とする。ここでは、エンジニアとして必要な様々なLinux系システムの操作・管理・運用技術を最初に学び、理論に偏らない理解を目指す。そして、SQL、Python、GTK+などの周辺技術からソフトウエア開発に必要な技術を学ぶ。後半では、実際のカーネル・ソースを用い、OSの仕組みを様々な側面から紐解く。
授業の進め方・方法:
注意点:
「計算機言語論A」、および「計算機言語論B」を併せて受講しなければならない。継続的に授業内容の予習・復習を行うこと。また、授業内容について、決められた期日までの課題(レポート)提出を求める。適宜ノートパソコンを持参すること。「情報科学」教育プログラムの必修科目である。
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
シラバスを用いた授業内容の説明、課題等の提出方法の説明 |
Raspberry Piの特徴と汎用システムとの関係を理解する.
|
2週 |
OSのインストールとパッケージ管理によるシステム構築 |
OSのインストールを通して,ハードウェア特徴を理解する.
|
3週 |
OSのインストールとパッケージ管理によるシステム構築 |
パッケージ管理システムを用いたパッケージのインストールとシステム構築の流れを理解する.
|
4週 |
GNUとUNIXのコマンド:コマンドライン操作の基本、正規表現、ストリームエディタ、プロセス管理 |
コマンドライン操作の基本について理解するとともに,GNUとUNIXのコマンド体系について理解する.
|
5週 |
GNUとUNIXのコマンド:コマンドライン操作の基本、正規表現、ストリームエディタ、プロセス管理 |
GNUとUNIXのコマンド操作をとおして正規表現について理解する.
|
6週 |
GNUとUNIXのコマンド:コマンドライン操作の基本、正規表現、ストリームエディタ、プロセス管理 |
GNUとUNIXのコマンド操作をとおしてストリームの概念について理解するとともに,ストリームエディタの扱いを理解する.
|
7週 |
GNUとUNIXのコマンド:コマンドライン操作の基本、正規表現、ストリームエディタ、プロセス管理 |
GNUとUNIXのコマンド操作をとおしてプロセス管理の方法を理解する.
|
8週 |
シェルスクリプトによるOSの動作・仕組みの理解 |
シェルスクリプトの基本的な文法について理解するとともに,実行方法を理解する.
|
2ndQ |
9週 |
シェルスクリプトによるOSの動作・仕組みの理解 |
シェルスクリプトを用いたインタプリタ型のプログラムについて理解する.
|
10週 |
シェルスクリプトによるOSの動作・仕組みの理解 |
シェルスクリプトを用いてOSの管理や動作制御がどのように行われているか理解する.
|
11週 |
SQLによるデータ管理 |
SQLによるデータ管理の方法について,MySQLをインストールし,データベースを構築することにより理解する.
|
12週 |
SQLによるデータ管理 |
SQLによるデータ管理の方法について,MySQLを用いて疑似データの入力,操作法を理解する.
|
13週 |
オブジェクト指向スクリプト言語Pythonによるアプリケーション開発 |
オブジェクト指向スクリプト言語として,Pythonの基本的な特徴を理解する.
|
14週 |
オブジェクト指向スクリプト言語Pythonによるアプリケーション開発 |
Pythonの基本文法について理解するとともに,簡単なCUIアプリケーション開発方法について理解する.
|
15週 |
オブジェクト指向スクリプト言語Pythonによるアプリケーション開発 |
Pythonの基本文法について理解するとともに,モジュールを用いたアプリケーション開発について理解する.
|
16週 |
|
|
後期 |
3rdQ |
1週 |
オブジェクト指向スクリプト言語Pythonによるアプリケーション開発 |
Pythonの基本文法について理解するとともに,モジュールを用いたマルチメディアアプリケーション開発について理解する.
|
2週 |
GTK+によるX Windowアプリケーションの開発 |
GTK+によるX Windowアプリケーションの開発をイベント処理と合わせて理解する.
|
3週 |
GTK+によるX Windowアプリケーションの開発 |
GTK+によるX Windowアプリケーションの開発について,インタフェース設計法について理解する.
|
4週 |
Wolfram言語による数式処理の演習 |
Wolfram言語を用いた数式処理の基礎を理解する.
|
5週 |
シェルスクリプトによるGPIO制御 |
GPIO制御の基礎を理解するとともに,シェルスクリプトを用いた制御の基礎を実現する.
|
6週 |
シェルスクリプトによるGPIO制御 |
シェルスクリプトの特徴と制御されたGPIOの動作を対応付けて理解する.
|
7週 |
様々な言語によるGPIO制御 |
様々な言語によるGPIO制御について,実際に動作させることによりその特徴を理解する.
|
8週 |
カーネルの取得と構造の確認 |
最新カーネルを取得し,その構造について理解する.
|
4thQ |
9週 |
カーネル・ソースとC言語の関係 |
カーネル・ソースの特徴を理解する.
|
10週 |
カーネル・ソースとC言語の関係 |
カーネル・ソースとC言語の関係について理解する.
|
11週 |
カーネル・ソース内のシステム・コールの確認とその利用 |
システム・コールの仕組みについて理解する.
|
12週 |
カーネル・ソース内のシステム・コールの確認とその利用 |
具体的なシステム・コールをとりあげ,カーネル・ソースにおける動作を理解する.
|
13週 |
デバイス・ドライバとモジュールの仕組み |
デバイス・ドライバとモジュールの仕組みについて,具体的なカーネル・ソースを用いて理解する.
|
14週 |
分割コンパイルと分散コンパイル、分散コンピューティング |
分割コンパイルの仕組みについて,簡単なソース・コードを用いて理解する.
|
15週 |
分割コンパイルと分散コンパイル、分散コンピューティング |
実際に分散コンパイルを行うことで分散コンピューティングについて理解する.
|
16週 |
|
|