この資料は、情報工学レクチャーシリーズ オペレー ティングシステム 松尾啓志 著(森北出版株式会 社)を用いて授業を行うために、名古屋工業大学松 尾啓志、津邑公暁が作成しました。 パワーポイント2007で最終版として保存しているため、変更はできませ んが、授業でお使いなる場合は松尾(matsuo@nitech.ac.jp)まで連絡い.

Slides:



Advertisements
Similar presentations
ヴァウドットコム株式会社 ObjectIN 取引先一括メンテナンス. Biz Rule: データ入力チェック B iz Apply: データベース連携 COM +イベントによる 代替オペレーション ポーリング方式でなく アプリケーション監視による 最新データの同期機能 Biz Exchange (注.
Advertisements

SPSSによるHosmer-Lemeshow検定について
レポート書き方. おしいレポート よく調べてある それぞれの、1文の言っていることは正 しい しかし、全体として、何が言いた いのかわからない 内容の重要だが、全体の構成も重 要である.
東京工科大学 コンピュータサイエンス 亀田弘之
この資料は、情報工学レクチャーシリーズ オペレー ティングシステム 松尾啓志 著(森北出版株式会 社)を用いて授業を行うために、名古屋工業大学松 尾啓志、津邑公暁が作成しました。 パワーポイント2007で最終版として保存しているため、変更はできませ
7.n次の行列式   一般的な(n次の)行列式の定義には、数学的な概念がいろいろ必要である。まずそれらを順に見ていく。
9.線形写像.
学生の携帯電話選択理由 岡田隆太.
概要 2009 年 10 月 23 日に、いて座に出現した X 線新星 (XTE J ) を、出現から消滅まで 全天 X 線監視装置 MAXI (マキシ)で観測したところ、 新種のブラックホール新星であることが判明した。 従来のブラックホールを、 多量のガスを一気に飲み込む「肉食系」と.
時間的に変化する信号. 普通の正弦波 は豊富な情報を含んでいません これだけではラジオのような複雑な情報 を送れない 振幅 a あるいは角速度 ω を時間的に変化 させて情報を送る.
九州大学 岡村研究室 久保 貴哉 1. 利用中のAPの数の推移 2 横軸:時刻 縦軸:接続要求数 ・深夜では一分間で平均一台、 昼間では平均14台程度の接続 要求をAPが受けている。 ・急にAPの利用者数が増えてく るのは7~8時あたり.
麻雀ゲーム 和島研究室 ソ 小林巧人
5.連立一次方程式.
相関.
―本日の講義― ・平均と分散 -代表値 -ぱらつき(分散・標準偏差等) ・Excelによる演習
ノイズ. 雑音とも呼ばれる。(音でなくても、雑 音という) 入力データに含まれる、本来ほしくない 成分.
この資料は、情報工学レクチャーシリーズ オペレー ティングシステム 松尾啓志 著(森北出版株式会 社)を用いて授業を行うために、名古屋工業大学松 尾啓志、津邑公暁が作成しました。 パワーポイント2007で最終版として保存しているため、変更はできませ
広告付き価格サービ ス 小園一正. はじめに 世の中には様々な表現方法の広告があり ます。その中でも私たち学生にとって身 近にあるものを広告媒体として取り入れ られている。 価格サービス(無料配布のルーズリー フ)を体験したことにより興味を惹かれ るきっかけとなった。主な目的は、これ.
素数判定法 2011/6/20.
フーリエ係数の性質. どこまで足す? 理想的には無限大であるが、実際に はそれは出来ない これをフーリエ解析してみる.
1章 行列と行列式.
本宮市立白岩小学校. 1 はじめに 2 家庭学習プログラム開発の視点 ① 先行学習(予習)を生かした 確かな学力を形成する授業づく り ② 家庭との連携を図った家庭学習の習慣化.
プログラミングⅠ( 1 組) 第 9 回
フーリエ級数. 一般的な波はこのように表せる a,b をフーリエ級数とい う 比率:
プログラミング入門2 第4回 式文 代入式 論理演算子 ループの脱出、スキップ 情報工学科 篠埜 功.
3.エントロピーの性質と各種情報量.
9.通信路符号化手法1 (誤り検出と誤り訂正の原理)
Excelによる積分.
1 6.低次の行列式とその応用. 2 行列式とは 行列式とは、正方行列の特徴を表す一つのスカ ラーである。すなわち、行列式は正方行列からスカ ラーに写す写像の一種とみなすこともできる。 正方行列 スカラー(実数) の行列に対する行列式を、 次の行列式という。 行列 の行列式を とも表す。 行列式と行列の記号.
計算のスピードアップ コンピュータでも、sin、cosの計算は大変です 足し算、引き算、掛け算、割り算は早いです
線形符号(10章).
1 0章 数学基礎. 2 ( 定義)集合 集合については、 3セメスタ開講の「離散数学」で詳しく扱う。 集合 大学では、高校より厳密に議論を行う。そのために、議論の 対象を明確にする必要がある。 ある “ もの ” (基本的な対象、概念)の集まりを、 集合という。 集合に含まれる “ もの ” を、集合の要素または元という。
4.プッシュダウンオートマトンと 文脈自由文法の等価性
1 0章 数学基礎. 2 ( 定義)集合 集合については、 3セメスタ開講の「離散数学」で詳しく扱う。 集合 大学では、高校より厳密に議論を行う。そのために、議論の 対象を明確にする必要がある。 ある “ もの ” (基本的な対象、概念)の集まりを、 集合という。 集合に含まれる “ もの ” を、集合の要素または元という。
システムプログラム論 課題 大村 廉. 課題 Java を用いて Producer / Consumer 問題を解決する MyBuffer クラスを –Synchronized キーワード –Semaphore クラス (java.util.concurrent.Semaphore) を用いてそれぞれ作りなさい.
信号測定. 正弦波 多くの場合正弦波は 0V の上下で振動する しかし、これでは AD 変換器に入れら れないので、オフ セットを調整して データを取った.
1 9.線形写像. 2 ここでは、行列の積によって、写像を 定義できることをみていく。 また、行列の積によって定義される写 像の性質を調べていく。
通信路(7章).
3.プッシュダウンオートマトンと 文脈自由文法
ビット. 十進数と二進数 十進数  0から9までの数字を使って 0、1、2、3、4、5、6、7、8、9、 10、11、12 と数える 二進数  0と1を使って 0、1、10、11、100、101、11 0、111 と数える.
3.正方行列(単位行列、逆行列、対称行列、交代行列)
1 オペレーティングシステム #11 この資料は、情報工学レクチャーシリーズ オペ レーティングシステム 松尾啓志 著(森北出版 株式会社)を用いて授業を行うために、名古屋工 業大学松尾啓志、津邑公暁が作成しました。 パワーポイント 2007 で最終版として保存しているため、変更はで きませんが、授業でお使いなる場合は松尾.
Three-Year Course Orientation International Course.
7班 加地 健太郎 (MadaiPage 担当) 熊谷 勇人( MapPage 担当) 田原春 勝太 (TopPage 担当) 森 健樹(パワーポイント、 photo 担当)
JPN 311: Conversation and Composition 許可 (permission)
C言語応用 構造体.
Servlet 入門 大岩研究室 川村昌弘. そもそも WEB アプリってなんやね ん n この研究会のテーマは『 WEB アプリケー ションの開発』でした. n じゃぁ WEB アプリケーションって何です か? o WEB アプリってどんなものがありますか? 検索エンジン 乗換え案内サイト 翻訳.
実装の流れと 今後のスケジュール 03k0014 岸原 大祐. システム概要 天気データをもとに、前向き推論をし ていき、親の代わりに子供に服装、持 ち物、気をつけることなどを教える。
DirectX を使った操作が簡単な2 D 格闘ゲームの制 作 ソ20003 蛯名敏規
3.多項式計算アルゴリズム べき乗の計算 多項式の計算.
JPN 312 (Fall 2007): Conversation and Composition 文句 ( もんく ) を言う.
HKS Analysis Log Jul 2006 Part1 D.Kawama. 第壱部 HKS Sieve Slit Analysis.
Logo 伊勢湾の水質変化による 生態系の変化について C09001 石田 拓也 C09002 岩田 亮 C09012 小松 慎紘 C09021 吹ケ 竜也 C09025 百瀬 亘.
1 中野研究室 4 年ゼミのイロハ 斉藤(修士 2 年) ( 2009 年 ”4 年ゼミのイロハ ” を参考に作りました)
プログラミングⅠ( 2 組) 第 1 回 / pLB1.pptx.
「ネット社会の歩き方」レッスンキット プレゼンテーション資料集 15. チャットで個人情報は 言わない プレゼンテーション資料 著作権は独立行政法人情報処理推進機構( IPA )及び経済産業省に帰属します。
8.任意のデータ構造 (グラフの表現とアルゴリズム)
プログラミング入門2 第3回 複合文、繰り返し 情報工学科 篠埜 功.
リファクタリング支援のための コードクローンに含まれる識別子の変更内容分析 井上研究室 工藤 良介 1.
第14回 プログラムの意味論と検証(3) 不動点意味論 担当:犬塚
外部性 公共経済学(財政学A) 第4回 畑農鋭矢.
ことばとコンピュータ 2007 年度 1 学期 第 1 回. 2 ことばとコンピュータ 授業科目名:言語情報処理論 授業題目名:ことばとコンピュータ 履修コード: 5067 教室: 323 一学期開講 授業の進め方 – 基本的に講義中心ですすめ,時々コンピュー タを使う.
オセロの思考アルゴリズムについて 1103072 岩間 隆浩.
小島 肇  Windows ではアンチウイルスソフトウェアは 必須だが、「入れれば安心」というものでは ない  Mac, Linux における費用対効果はかなり低い  現時点ではマルウェアは流行っていないから  Windows を併用している場合は別.
音の変化を視覚化する サウンドプレイヤーの作成
プログラミングの基礎知識 プログラミングの手順と重要概念 アルゴリズム. プログラミングの手順 コーディング エディタなどでコードを記述 コンパイル・インタープリタ 実行可能な形に翻訳 デバッグ(虫取り、不具合の調整) 完成!
1 オペレーティングシステム #7 計算機工学 III オペレーティングシステム #7 主記憶管理:主記憶管理基礎 2006/05/26 津邑 公暁.
計算機工学III オペレーティングシステム #5 並行プロセス:セマフォ 2006/05/12 津邑 公暁
本文. 考えながら読みましょ う 「いろいろなこと」( 3 行目)は何で すか 「①電話料金はコンビニで支払いをしていま す。いつでも払えますから、便利です。」 「②夕食はコンビニで買います。お弁当やお かずがいろいろありますから。」今、若者に 人気のあるコンビニは、いろいろなことをす るのに非常に便利な場所になった。
地球儀と様々な地図. 1 球体としての地球 こうした現象はあることをイ メージすると理解できる。
Presentation transcript:

この資料は、情報工学レクチャーシリーズ オペレー ティングシステム 松尾啓志 著(森北出版株式会 社)を用いて授業を行うために、名古屋工業大学松 尾啓志、津邑公暁が作成しました。 パワーポイント2007で最終版として保存しているため、変更はできませ んが、授業でお使いなる場合は松尾(matsuo@nitech.ac.jp)まで連絡い ただければ、編集可能なバージョンをお渡しする事も可能です。

オペレーティングシステム #4 並行プロセス:排他制御基礎

4.1 プロセスの 競合,協調,干渉

プロセスの同時実行 複数プロセスが同時に動作する際に... プロセス協調 プロセス競合 プロセス干渉 仕事の分担や通信など,複数プロセスが助け合う プロセス競合 複数プロセスで有限リソースを取り合う 調停し,各プロセスに適切にリソース割当 プロセス干渉 他プロセスの影響で異常が発生すること 原因はプログラムのバグ

プロセス協調 例)プロセス間通信 何も通信のための仕組みがない場合... 通信バッファ 送信側と受信側でタイミングを合わせる必要 受信側は,常にメッセージが来ないかを チェックしていなければならない 通信バッファ A B バッファ msg

プロセス協調 問題 読み出す前に上書き...とりこぼし 格納する前に再読込...だぶって受け取り B A バッファ msg msg B A

フラグによる管理 受信すべきメッセージが バッファ内に存在するか否かをフラグで判断 受信すべきメッセージが バッファ内に存在するか否かをフラグで判断 フラグが立っている間, 送信側は新たに送信を行わない → 上書き回避 フラグが降りている間, 受信側は新たに順を行わない → 再受信回避 A B バッファ msg msg

プロセス競合 例)磁気テープの利用 NUM: 空きテープ数 プログラム例 LOAD NUM, R DEC R, 1 STORE NUM, R :テープ使用 LOAD NUM, R INC R, 1 テープを確保 テープを解放

プログラムの意味 テープの確保 テープの解放 変数NUMの値をレジスタに ロード レジスタから1減算 レジスタから1減算 レジスタの値を変数NUMに ストア LOAD NUM, R DEC R, 1 STORE NUM, R : :テープ使用 LOAD NUM, R INC R, 1

プロセスAとプロセスBがテープにアクセス 結果,テープの空き数は変化しないはず A B 空きテープ

ケース1 LOAD NUM, R R=1 DEC R, 1 R=0 NUM STORE NUM, R R=0 LOAD NUM, R R=0 INC R, 1 R=1 STORE NUM, R R=1 NUM 1 テープの空きは 1でOK

ケース2 LOAD NUM, R R=1 DEC R, 1 R=0 STORE NUM, R R=0 LOAD NUM, R R=1 INC R, 1 R=2 STORE NUM, R R=2 NUM 2 1 テープの空きは 1しかないはず (実際より多いと勘違い)

ケース3 LOAD NUM, R R=1 DEC R, 1 R=0 STORE NUM, R R=0 LOAD NUM, R R=1 INC R, 1 R=2 STORE NUM, R R=2 NUM 2 1 テープの空きは 1あるはず (実際より少ないと勘違い)

原因 対処法 変数NUMから値を読んで,変数NUMに値を書くまで の間に,他のプロセスが変数NUMを読んでしまう 実際は変化させるための手続きが始まっている 対処法 LOADからSTOREまでの一連の処理を不可分に クリティカルセクション: このような分割してはいけない一連の処理 排他制御(mutual exclusion): クリティカルセクションなどを他のプロセスと 排他的に実行するための制御

4.2 排他制御

排他制御 プロセスがクリティカルセクションを 他のプロセスと排他的に実行できるように 重要な性質 即時性 デッドロック防止 公平性

排他制御の性質 即時性 デッドロック防止 公平性 クリティカルセクションの実行に競合するプロセスが ほかにない場合,プロセスはクリティカルセクションの実行 を即座に許可される。 デッドロック防止 競合するプロセスがある場合でも,許可されるまで永久に 待たされてはいけない。 公平性 どのプロセスも,他のプロセスがクリティカルセクションを実 行することを妨げられない。

クリティカルセクション エントリーシーケンス イグジットシーケンス 例)フラグによる制御 クリティカルセクションに入る権利を獲得する処理 クリティカルセクションから出るための処理 例)フラグによる制御

例)フラグによる制御 新幹線のトイレと同じ クリティカルセクション(トイレ) に入ろうとするプロセス(乗客) は,フラグ(インジケータ)を確 認し,入れるかどうかを決定 入ると同時にフラグを下げる (インジケータが点く) 空いた! 空いて ない... 空いてる 空いて ない... 一見うまくいく

例)フラグによる制御 うまくいかない場合 フラグを見て確認 入る という2つの処理は不可分 空いてる 空いてる この方式では 排他制御を実現できない

4.3 Dekkerのアルゴリズム

Dekkerのアルゴリズム 2プロセスの排他制御を行うことを可能とする Interest Priority プロセスA,Bがクリティカルセクションに興味が あるか否かを示す Priority プロセスA,Bがクリティカルセクションに同時に 興味を持った場合,どちらを優先するかを決定する

Dekkerのアルゴリズム Interest[A] = TRUE; while( Interest[B] ){ if( Priority == B ){ Interest[A] = FALSE; while( Priority == B ){}; } : クリティカルセクション Priority = B; Interest[B] = TRUE; while( Interest[A] ){ if( Priority == A ){ Interest[B] = FALSE; while( Priority == A ){}; } : クリティカルセクション Priority = A;

Dekkerのアルゴリズム Interest まずクリティカルセクションに入 る前に, クリティカルセクションに入りた い旨を宣言 まずクリティカルセクションに入 る前に, クリティカルセクションに入りた い旨を宣言 競合者がいなければ 入れる 競合者 なし 空いてる Interest状態

Dekkerのアルゴリズム Priority 競合者がいた場合 Priorityが示す優先度で どちらが入るか決定 自分に優先度が回ってくるまで Interest状態を解除 競合者 あり さっき 私だったので どうぞ 競合者 あり 空いてる Interest状態 空いてる

Dekkerのアルゴリズム Interest状態オン BがInterestの間 (競合あり) 優先権がBなら Interest状態オフ Interest[A] = TRUE; while( Interest[B] ){ if( Priority == B ){ Interest[A] = FALSE; while( Priority == B ){}; } : クリティカルセクション Priority = B; Interest[B] = TRUE; while( Interest[A] ){ if( Priority == A ){ Interest[B] = FALSE; while( Priority == A ){}; } : クリティカルセクション Priority = A; 優先権がBなら Interest状態オフ Bに優先権がある間待って 優先権を得たら 再びInterest状態オン 終わったら優先権を相手に渡して Interest状態オフ

Dekkerのアルゴリズム ポイント 問題点 入る前に手を挙げる 優先権により競合を解決 ユーザプログラムに依存 ちゃんとプロセスが約束を守ってくれないと破綻 ビジーウェイト(busy wait) 一方がクリティカルセクションを実行中, 待っている方は優先権をひたすらチェックし続ける CPUリソースの無駄

4.4 割り込み制御による排他制御

ユニプロセッサの場合 割り込みのみがプロセス中断を発生させる ただし... エントリーシーケンスで 割り込み禁止命令を実行しておけばよい エントリーシーケンスで 割り込み禁止命令を実行しておけばよい 同様にイグジットシーケンスで 割り込み禁止を解除 ただし... 割り込み禁止時間の増加はシステムの性能に影響

4.5 ハードウェアによる排他制御

ハードウェアによる排他制御 対話処理の重要性から排他制御の必要性が認識 テストアンドセット命令 ハードウェア自体に,排他制御のための仕組みを v = test_and_set(x) v = x と x = 0 を同時に実行する命令 競合者フラグのチェックとセットを同時に行える

TEST AND SETによる排他制御 Flag X = 1; Int v; Int u; Repeat Repeat v = test_and_set(X); Until v == 1; : クリティカルセクション X = 1; Int u; Repeat u = test_and_set(X); Until u == 1; : クリティカルセクション X = 1;

今日のまとめ プロセス競合 プロセス協調 クリティカルセクション: 排他制御(MUTEX): Dekkerのアルゴリズム リソース競合が発生する可能性のある部分 排他制御(MUTEX): クリティカルセクションに同時に複数プロセスが 入らないようにする制御 Dekkerのアルゴリズム ソフトウェアによる排他制御の基本手法 ビジーウェイトという問題点 プロセス協調