担当:青木義満 yaoki@sic.shibaura-it.ac.jp 情報工学科 3年生対象 専門科目 システムプログラミング 第1回 イントロダクション 担当:青木義満 yaoki@sic.shibaura-it.ac.jp.

Slides:



Advertisements
Similar presentations
新設科目:応用数学 イントロダクション 情報工学科 2 年前期 専門科目 担当:准教授 青木義満.
Advertisements

寺尾 敦 青山学院大学社会情報学部 atsushi [at] si.aoyama.ac.jp
プログラミング入門 ガイダンス.
C言語システムプログラミング クラス分け 1の人:紫合クラス(302教室) 学籍番号を3で割った余りが、 0の人:冬爪クラス(208教室)
シェル シェルスクリプト 最低限vi 山下 達也 (北大理・宇宙理学専攻) INEX 第4回/最低限 UNIX(Linux) その3
シェル シェルスクリプト 最低限vi 山下 達也 (北大理・宇宙理学専攻) INEX 第4回/最低限 UNIX(Linux) その3
物理実験 I 情報実験第9回 2004/12/10 小西 丈予 2003/12/12 中神 雄一
1.コンピュータと情報処理 p.20 第1章第1節 3.ソフトウェア ソフトウェア 基本ソフトウェア
Java I 第2回 (4/18)
知識情報演習Ⅲ(後半第1回) 辻 慶太(水)
計算機システムⅡ 主記憶装置とALU,レジスタの制御
山田 由貴子 (北大理・地球惑星科学専攻) 2004年10月29日
システムプログラミング 第5回 情報工学科 篠埜 功 ヒアドキュメント レポート課題 main関数の引数 usageメッセージ
プログラミング入門2 第1回 導入 情報工学科 篠埜 功.
OSとコマンド OS:コンピュータを使うための基本プログラム コマンド:OS上で使用できる命令 OS本体であるカーネルの内部コマンド
IT入門B2 (木曜日1限) 第一回 講義概要 2004年月9日30日.
プログラミング演習II 2004年10月19日(第1回) 理学部数学科・木村巌.
応用情報処理V 第1回 プログラミングとは何か 2004年9月27日.
第2章 ソフトウェアの基礎知識.
担当:青木義満 情報工学科 3年生対象 専門科目 システムプログラミング 第4, 5回 シェルプログラミング 担当:青木義満
ソフトウェア階層 分類 具体例 応用ソフト 基本ソフト アプリケーションソフト 個別アプリケーション SEやユーザが開発するプログラム
講 義 ガ イ ダ ン ス オペレーティングシステム 第1回.
情報科学1(G1) 2016年度.
担当:青木義満 情報工学科 3年生対象 専門科目 システムプログラミング システムプログラミング プロセス間通信(パイプ) 担当:青木義満
情報工学科 二宮 洋・鈴木 誠 小林 学・高畠俊徳 火曜日 1コマ目
応用情報処理V 第1回 プログラミングとは何か 2003年9月29日.
プログラミング言語論 プログラミング言語論 ガイダンス 水野 嘉明 ガイダンス 1 1.
高性能コンピューティング論2 第1回 ガイダンス
担当:青木義満、篠埜 功 情報工学科 3年生対象 専門科目 システムプログラミング 第8回、第9回 シグナル処理 担当:青木義満、篠埜 功
担当:青木義満 情報工学科 3年生対象 専門科目 システムプログラミング 第11回 プロセス間通信4 仮想FTPの実現 担当:青木義満
C言語システムプログラミング C Language System Programming
ヒューマンインタフェース 電子機械工学専攻 第2学年 後期 開講
データベース設計 データベース設計 第0回 オリエンテーション 坂口利裕.
データベース設計 第9回 Webインタフェースの作成(1)
情報工学科 3年生対象 専門科目 システムプログラミング 第1回 導入 第2回 Linux、分割コンパイル 情報工学科 篠埜 功.
2004年度 サマースクール in 稚内 JavaによるWebアプリケーション入門
2003年度 データベース論 安藤 友晴.
情報工学科 3年生対象 専門科目 システムプログラミング 第5回、第6回 ヒアドキュメント レポート課題 情報工学科 篠埜 功.
型付きアセンブリ言語を用いた安全なカーネル拡張
ネットワークプログラミング 中村 修.
学籍番号順に着席のこと 001~056までは741教室へ 057~110までは743教室へ
担当:青木義満 情報工学科 3年生対象 専門科目 システムプログラミング 第10回 プロセス間通信3 担当:青木義満
OSの仕組みとその機能 1E16M001-1 秋田 梨紗 1E16M010-2 梅山 桃香 1E16M013-3 大津 智紗子
ソフトウェア情報学総論 基盤ソフトウェア学講座
実行時情報に基づく OSカーネルのコンフィグ最小化
オペレーティングシステム イントロダクション
Ibaraki Univ. Dept of Electrical & Electronic Eng.
第7回 授業計画の修正 中間テストの解説・復習 前回の補足(クロックアルゴリズム・PFF) 仮想記憶方式のまとめ 特別課題について
電子計算機工学 Keiichi MIYAJIMA Computer Architecture
JXTA Shell (1) P2P特論 (ソフトウェア特論) 第4回 /
担当:青木義満 情報工学科 3年生対象 専門科目 システムプログラミング 第6回 システムプログラミング概要 プロセスの生成 担当:青木義満
1E17M053-9 奈良皐佑 1E17M070-7 師尾直希 1E17M078-6 渡邊惇
ガイダンス 情報システム管理 ガイダンス 水野 嘉明 情報システム管理 1.
ソフトウェア保守のための コードクローン情報検索ツール
東京工科大学 コンピュータサイエンス学部 亀田弘之
情報処理基礎A・B 坂口利裕 横浜市立大学・商学部
明星大学 情報学科 2012年度前期     情報技術Ⅰ   第1回
★C++/オブジェクト指向実践企画★ Othelloゲーム作成
コンパイラ 2012年10月1日
ガイダンス 電子計算機 電気工学科 山本昌志 1E
システムプログラミング 第6回 システムコールのエラーメッセージ ファイルシステム 情報工学科 篠埜 功.
担当:青木義満 情報工学科 3年生対象 専門科目 システムプログラミング 第12回 システムプログラミング 反復サーバと並行サーバ 担当:青木義満
ネットワーク・プログラミング デバイスドライバと環境変数.
システムプログラミング 第10回 プロセス間通信3 簡易Web server(準備) Chat プログラム 担当:青木義満、篠埜 功
担当:青木義満 情報工学科 3年生対象 専門科目 システムプログラミング 第11回 プロセス間通信4 仮想FTPの実現 担当:青木義満
ネットワーク・プログラミング Linuxシステムとソフトウェア開発.
シミュレーション演習 G. 総合演習 (Mathematica演習) システム創成情報工学科
情報数学Ⅲ 5,6 (コンピュータおよび情報処理)
CADシステムとソフトウェア 電子制御設計製図Ⅰ    2009年4月28日 Ⅲ限目.
明星大学 情報学科 2014年度前期     情報技術Ⅰ   第1回
Presentation transcript:

担当:青木義満 yaoki@sic.shibaura-it.ac.jp 情報工学科 3年生対象 専門科目 システムプログラミング 第1回 イントロダクション 担当:青木義満 yaoki@sic.shibaura-it.ac.jp

3年生の心構え 自分の進路について考え,悩み,決断する重要な1年 大学院進学 or 就職? 自分の専門分野を決める(→研究室選択) 単位の足りない人   → 卒論着手条件を満たすよう,単位を取り切る! 単位の心配の無い人  → 専門科目を学びつつ,自分の興味のある専門分野 (職種)について積極的に調べる

「就職」を知る,「研究」を知る 就職 研究 後期,秋くらいから,就職課主催の説明会などが例年企画 芝浦OBの会社説明 就職課担当者,学科就職担当への相談 研究 後期から,「卒研プレゼミナール」で研究室を体験 12月頃,研究室配属決定 事前に興味のある研究室へは訪ねてみるのも手  特に大学院進学希望者は3年間を決める重要な選択

OSとは? コンピュータのハードウェアを直接操作し、人間にとって使い易い形にして提供するとともに、ハードウェア資源を効率的に利用出来るようにするプログラム体系 概要はOS1で学習済み

講義の前提 OS1の講義内容の基本的な部分を理解していること C言語によるプログラミングに慣れていること 関連科目

本講義の概要 OS1で学んだOSの基本知識をベース OSのカーネルプログラムの一部の深い理解やOSの原理などを体験的に学習 Linux・Unixシステムを対象にした,シェル・C言語を用いたシステムプログラミング Windows OS OSがカプセル化,ブラックボックス Unix・Linux Open Source,自由度高い ※情報工学科卒でUnix・Linuxに触れたことがないというのは・・・

本講義の目的・学習目標 OSの提供するシステムコール群を有効に用いるシステムプログラミング を通して・・・ ・プログラミングの幅(自由度)を広げることができる ・よりOSに近いレベルのプログラム開発を通して  OSの機能に対する理解度を深めることができる OS1: 講義を通してOSの基本原理・機能を学習 本講義: 講義+PC実習を通して知識+技能を修得

授業の進め方 講義とPC実習形式 6階PC実習室1 演習課題を適宜

評価方法 授業内の演習課題(20%) 期末試験(80%) 特別な理由が無い限り,追試などは行わない

参考書 1.Linuxプログラミング(例題で学ぶUnixプログラミング環境の全て),Neil Matthew & Richard Stones 著,ソフトバンク出版,¥4410(税込) 2.C言語によるUNIXシステムプログラミング入門,河野清尊 著,オーム社 ¥2940(税込)

授業計画 UNIX・LINUX概要 UNIX・LINUXコマンド シェルプログラミング システムプログラミング ファイル操作 データ管理 プロセスとシグナル プロセス間通信とパイプ 期末テスト

Unix-OSの構造 システムコール システム層以上のソフトと カーネル層との情報伝達手段 カーネル層:OSの核をなす部分, ハードウェア ユーザ層 ユーティリティ層 システム層 カーネル層 ソフトウェア システムコール システム層以上のソフトと カーネル層との情報伝達手段 カーネル層:OSの核をなす部分, システム資源(メモリ,入出力,ファイル,プロセス)の管理 システム層:プロセス,ディレクトリ,コマンド,ファイル ユーティリティ層:ソフトウェア開発用コマンド,エディター他 ユーザ層:アプリケーションプログラム,シェルスクリプト

シェルとシステムコール シェル システムコール ユーザーとUNIXシステムの間のインタフェースとして機能するプログラム コマンド入力 → OSに実行させる (カーネルで行われる処理の細かな部分をユーザーから隠す役割) システムコール システム層以上のソフトウェアがカーネル層の機能を呼び出す時 カーネルが管理しているシステムの資源をアクセスする時に利用

シェルとは? ユーザーとUNIXシステムの間のインタフェースとして機能するプログラム カーネルで行われる処理の細かな部分をユーザーから隠す役割 カーネル csh bash X Window その他の プログラム 表2.1

プログラミング言語としてのシェル シェルプログラム作成の2つの方法 対話的プログラムの例 コマンドを入力してシェルによって対話的に実行 コマンドをファイルに保存し,プログラムとして呼び出す 対話的プログラムの例 grep –l POSIX * | more POSIXというパターンに一致する内容を持つファイルの名前を出力 いつもコマンドを打つのは面倒 コマンドを保存したファイルを作成し,必要に応じて実行 “シェルスクリプト“

シェルプログラミングの利点 豊富なUNIXコマンド群を有効活用 例えば…. ディレクトリ内にある画像ファイル全てに対して,プログラムによりある処理を施したい ディレクトリ内にある画像ファイルのみを抽出,繰り返し演算 複数あるデータベースファイルから,ある特定の文字列を含むファイルのみを抽出してプログラムにより処理したい 文字列検索による該当ファイル抽出,繰り返し演算 複数のプログラムを組み合わせてバッチ処理したい

<システムコールの機能> ファイル,デバイスとの入出力,制御 ファイルの属性,状態の獲得,変更 プロセスの生成と消滅 プロセス間通信,同期 プロセスへの割込み(シグナル) メモリの状態の獲得と変更

システムコールの例 User program Data File ・・・・・・・・・・・ 直接アクセス ・・・・・・・・・・・ fscanf() C言語ライブラリ関数 システムコール read (カーネル層  プログラム) ユーザ空間 カーネル空間

<何ができる?> プログラミングの応用範囲の拡大 Unixの豊富なコマンド群をプログラムから利用 Input/Outputを直接操作 プロセスの発生,並列動作,プログラムから別プログラムを起動等 プロセス間でデータの受け渡しが可能 シグナルによる割り込み処理 ユーザインタフェースからの入力 ハードウェア,ソフトウェアエラー 他のプロセスからの信号 OSの一部の機能に触れる→OSの動作を知る

科目履修について 3年の専門選択科目 内容に興味のある人,向上心がある人向け そうでない人は無理して取らないで