オペレーティングシステム

Size: px
Start display at page:

Download "オペレーティングシステム"

Transcription

1 PFLab( 加藤研 ) のウェブサイトからダウンロードできます オペレーティングシステム 加藤真平東京大学大学院情報理工学系研究科 shinpei@is.s.u-tokyo.ac.jp 2019/4/15 第 2 回オペレーティングシステム 1

2 講義概要 受講生に求める基礎知識 C 言語の理解 コンピュータアーキテクチャの基礎の理解 メモリ管理 割り込み CPUモード 参考図書 Silberschatz, Galvin, and Gagne, Operating System Concepts 8th Edition, Wiley 成績 試験の点数で決定 試験は持ち込み不可 授業に出席していた人で試験の結果が悪い人は追試 験あり 2019/4/15 第 2 回オペレーティングシステム 2 出席をとるが出席点はなし

3 講義スケジュール ( 予定 ) 1. OSの概要 (4/8) 2. プロセス管理 (4/15) 3. プロセス間交信 スレッド (4/22) 4. プロセス同期 (5/13) 5. CPUスケジューリング 1(5/20) 6. CPUスケジューリング 2 & トランザクション処理 & メモリ管理 1(5/27) 7. メモリ管理 2(6/3) 8. 休講予定 (6/10) 9. メモリ管理 &I/Oシステム(6/17) 10. I/Oシステム (6/24) 11. ファイルシステム (7/1) 12. プロテクション & セキュリティ (7/8) 13. バッチシステム & 分散システム & まとめ (7/22) 14. 試験 (7/29) 2019/4/15 第 2 回オペレーティングシステム 3

4 システムコール ( プリミティブ ) システムコールはユーザプログラムと OS とのインターフェイス 割り込み命令によって実現 C,C++ などのプログラミング言語向けインターフェイスを提供 Unix 系ではマニュアル 2 章がシステムコール 3 章が言語ライブラリ 2 章の open/read/write/close はシステムコール 3 章の fopen/fread/fwrite/fclose はシステムコールを使用し ライブラリレベルでバッファを処理 2019/4/15 第 2 回オペレーティングシステム 4

5 システムコールの仕組み ユーザプログラム (4) 引数のコピー (3) 割込みハンドラ システムコール表 ディスパッチャ (1) システムコール関数の呼出し (#k) (2) trap 命令の発行 システムコール処理ルーチン #1 システムコール処理ルーチン #2. システムコールライブラリ関数 システムコール処理ルーチン #k (5) システムコール処理の実行 ユーザモード カーネルモード (6) 返戻値のコピー システムコール処理ルーチン #n (7) プロセスのスケジュール (1) システムコール関数の呼出し (2) ライブラリ関数内で trap 命令を発行 - レジスタにシステムコール番号 (3) カーネルモードに移行割込みハンドラを起動 (4) システムコール引数を検査しカーネル内へコピー (5) システムコール番号と関数ポインタの表から呼び出しルーチンを特定処理ルーチンの実行 (6) システムコール処理結果をユーザ空間へコピー (7) 適切なプロセスのスケジュール 2019/4/15 第 2 回オペレーティングシステム 5

6 カーネル空間 ユーザ空間 プロセス管理 プロセスとは? プログラムの実行単位 次のような資源を使用 CPU 時間 メモリ ファイル I/O デバイス OS によるプロセス管理の例 プロセス生成 削除 プロセス停止 再開 プロセス間同期 プロセス間通信 デッドロック処理 ユーザプログラムコード ユーザデータ領域ユーザヒープ領域ユーザスタック領域 プロセス状態格納領域 カーネルプログラムコード カーネル作業領域 2019/4/15 第 2 回オペレーティングシステム 6

7 カーネル空間 ユーザ空間 プロセス管理 プロセスごとに仮想空間を割り当て 他のプロセスのメモリへのアクセス禁止 バグ等でプロセスが異常終了しても 他のプロセスには影響なし プロセスの種類 ( 後述 ) 権限による分類 ユーザプロセス スーパーユーザープロセス 形態による分類 システムプロセス デーモンプロセス サーバープロセス ユーザプログラムコード ユーザデータ領域ユーザヒープ領域ユーザスタック領域 プロセス状態格納領域 カーネルプログラムコード カーネル作業領域 2019/4/15 第 2 回オペレーティングシステム 7

8 仮想記憶の仕組み ページサイズ 1,024 バイトの場合 論理ページ番号 10bits オフセット 仮想メモリ 0x0 0x0400 0x0800 0x0c00 0x1000 0x1400 0x1800 アクセスパターン 0x0200 0x0900 0x0d00 #define V 1 #define I 0 struct PTBL { int valid; int pno; }; Struct PTBL[10] = { {V, 1}, {I, 0}, {V, 0}, {I, 0}, {V, 2}, {I, 0}, }; プロセスのページ表ポインタ V I V I V I I I I I 物理ページ番号 物理メモリ Load Reg10, [0x1010] if (PTBL[0x1010>>10].valid) PhysMem[(PTBL[0x1010>>10].pno<<10)+0x1010&0x3ff] else 割り込み 2019/4/15 第 2 回オペレーティングシステム 8

9 プロセスと仮想記憶 プロセスのページ表ポインタ 仮想メモリ 0x0 0x0400 0x0800 0x0c00 0x1000 0x1400 0x1800 論理ページ番号 10bits ページ表 物理ページ番号 オフセット 物理メモリ V 1 0 I V 0 I 1 V 2 I 2 I I I 3 I 4 ページ表 V 1 I V 4 I V 3 I I I I I 物理ページ番号 2019/4/15 第 2 回オペレーティングシステム 9

10 権限による分類 ユーザプロセス プロセスの種類 一般ユーザ スーパーユーザプロセス ( ルート権限を有するプロセス ) 特権機能を使用可能 例 : 任意のユーザプロセスの停止 システム停止 2019/4/15 第 2 回オペレーティングシステム 10

11 形態による分類 プロセスの種類 システムプロセス デーモンプロセス オペレーティングシステムサービスを提供しているプロセスでスーパーユーザモード (CPU の特権モードとは違う ) で動いているプロセスの総称 システムプロセスでユーザからは見えないところで動いているプロセス = デーモンプロセス サーバプロセス クライアント サーバモデルに基づいたサービスを提供しているプロセス = サーバプロセス http デーモン http サーバ http システムプロセス 2019/4/15 第 2 回オペレーティングシステム 11

12 どんなプロセスが動いている? Linux の場合 top コマンド ps コマンド ps axwwwl Windows の場合 Ctl+Alt+Del して タスクマネジャーを選択 2019/4/15 第 2 回オペレーティングシステム 12

13 x86 系 Linux の仮想メモリ空間使用 0x x xc ユーザユーザ text, data,bss ユーザ text, data,bss 領域 text, data,bss 領域領域 mmap 領域 mmap 領域スタック mmap 領域スタックスタックカーネル領域カーネル領域カーネル領域 text: プログラムコード data: 初期データ bss: 初期データのない領域 0xffffffff 2019/4/15 第 2 回オペレーティングシステム 13

14 login プロセス プロセス メモリイメージ login プログラム exec( /bin/sh,.); mmap 領域 スタック カーネル領域 2019/4/15 第 2 回オペレーティングシステム 14

15 login プロセス プロセス メモリイメージ login プログラム exec システムコールが実行されると exec( /bin/sh,.); mmap 領域 スタック カーネル領域 2019/4/15 第 2 回オペレーティングシステム 15

16 /bin/sh プロセス プロセス メモリイメージ メモリイメージが書き換わり 新たなプロセスが実行 sh プログラム pid = fork(); if (pid == 0) { exec(cmd, ); } else {. } mmap 領域 スタック カーネル領域 2019/4/15 第 2 回オペレーティングシステム 16

17 /bin/sh プロセス プロセス メモリイメージ sh プログラム pid = fork(); if (pid == 0) { exec(cmd, ); } else {. } fork システムコールが実行されると mmap 領域 スタック カーネル領域 2019/4/15 第 2 回オペレーティングシステム 17

18 メモリイメージ プロセス /bin/sh プロセス ( 親プロセス ) sh プログラム pid = fork(); if (pid == 0) { exec(cmd, ); } else {. } メモリが複製 /bin/sh プロセス ( 子プロセス ) sh プログラム pid = fork(); if (pid == 0) { exec(cmd, ); } else {. } mmap 領域 スタック カーネル領域 mmap 領域 スタック カーネル領域 2019/4/15 第 2 回オペレーティングシステム 18

19 メモリイメージ プロセス /bin/sh プロセス ( 親プロセス ) sh プログラム pid = fork(); if (pid == 0) { exec(cmd, ); } else {. } /bin/sh プロセス ( 子プロセス ) sh プログラム pid = fork(); if (pid == 0) { exec(cmd, ); } else { 複製元 ( 親プロセス ):forkシステムコールの返り値は 子プロセスのID (identifier: 識別子 ) 複製先 ( 子プロセス ):forkシステムコールの返り値は 0. } mmap 領域 スタック カーネル領域 mmap 領域 スタック カーネル領域 2019/4/15 第 2 回オペレーティングシステム 19

20 login プロセス プロセス shell プロセス ls プロセス ユーザ text, data,bss 領域 ユーザ text, data,bss 領域 ユーザ text, data,bss 領域 mmap 領域 スタック カーネル領域 exec システムコールにより shell プログラムが起動 mmap 領域 スタック カーネル領域 fork システムコールによってプロセスを生成さらに exec システムコールで ls プログラムを起動 mmap 領域 スタック カーネル領域 2019/4/15 第 2 回オペレーティングシステム 20

21 補足 fork() について オープン済みのファイル記述子は共有 vfork() メモリ保護によりアクセス時にコピー (copy on write) 現在ではobsolete( 既に古い ) 現在はfork() がメモリ保護を用いたcopy on writeで実現されている code data stack 共有 コピー コピー code data stack fork() 時のデータ領域とスタック領域をコピー code data stack 共有 共有 コピー code data stack スタック領域のみコピー ( データ領域へのアクセスに注意が必要 ) 古典的な fork() 特殊な fork() スレッド ( 後述 ) 2019/4/15 第 2 回オペレーティングシステム 21

22 カーネル空間 カーネル空間 ユーザ空間 A ユーザ空間 B プロセス実行の切り替え Linux/Unix では コマンド実行毎にプロセス作成 プロセス実行の切り替え = プロセスコンテキストスイッチ コンテキストスイッチ ユーザプログラムコードユーザデータ領域ユーザヒープ領域ユーザスタック領域プロセス状態格納領域 コンテキストスイッチ時に OS は何をするか? ユーザプログラムコードユーザデータ領域ユーザヒープ領域ユーザスタック領域プロセス状態格納領域 カーネルプログラムコード カーネルプログラムコード カーネル作業領域 カーネル作業領域 2019/4/15 第 2 回オペレーティングシステム 22

23 Process Control Block (PCB) とプロセス切り替え PCB にプロセス毎に必要な情報を格納する プロセスの状態 CPU レジスタ プライオリティ等の CPU スケジューリング情報 ページテーブル等のメモリ管理情報 etc プロセスコンテキストの様子 2019/4/15 第 2 回オペレーティングシステム 23

24 メモリ空間とセクション code (text) data bss heap auto 変数 リターンアドレス 引数など auto 変数 リターンアドレス 引数など 演算ユニット プログラムカウンタ (PC) レジスタ フレームポインタ 各領域のアドレス CPU 切り換え時に必要な情報を保存 補足 code (text) data bss heap auto 変数 リターンアドレス 引数など auto 変数 リターンアドレス 引数など コード ( テキスト ) 領域 プログラム データ領域 data 初期化された静的変数 大域変数 bss 初期化されない静的変数 大域変数 heap 動的確保変数 スタック領域 auto 変数 制御情報 2019/4/15 第 2 回オペレーティングシステム 24

25 プロセスの状態 New プロセス生成中 Running 実行中 Waiting 何かの事象待ち Ready 実行可能. Terminated 実行終了 2019/4/15 第 2 回オペレーティングシステム 25

26 プロセススケジューリングキュー プロセススケジューリングキューの種類 Job queue 全プロセスリスト Ready queue 実行可能状態のプロセスリスト Device queues I/O 待ち状態プロセスリスト 2019/4/15 第 2 回オペレーティングシステム 26

27 プロセスの実行とキュー Ready queue PCB PCB head CPU で実行 tail I/O queue head tail registers... registers... プロセスの実行中に起こること プロセスがI/O 要求 割り当てられたCPU 時間 (Time slice) が経過 子プロセスを生成 割り込みが発生 2019/4/15 第 2 回オペレーティングシステム 27

28 補足 高 次に実行状態 最高優先度の実行可能キュー null 優先度. 最低優先度の実行可能キュー 実行状態 null 待ちキュー 待ちイベントが発生したら 実行可能状態へ null 2019/4/15 第 2 回オペレーティングシステム 28

29 スケジューラの種類 長期スケジューラ (job scheduler) バッチシステムでは ジョブ ( プロセス ) が投入されると それらは 2 次記憶に配置 (spool 呼ぶ ) スプールされたジョブの中からいくつかのジョブを取り出して実行可能キューに投入 短期スケジューラ (CPU scheduler) どのプロセスを次に実行するか決定す 2019/4/15 第 2 回オペレーティングシステム 29

30 短期スケジューラ 短期スケジューラ プロセスが待ち状態になるときに 次に実行すべきプロセスを決めるために起動 プロセスが実行を続けている場合でも Time Slice 毎に起動 処理が速いことが必要条件 100ミリ秒毎に10ミリ秒もかかると 10/(100+10)= 9% がオーバヘッドになってしまう普通は数十から数百マイクロ秒のオーダ 2019/4/15 第 2 回オペレーティングシステム 30

31 長期スケジューラ 秒あるいは分毎に実行される マルチプログラミングの度合いを制御 同時に実行するプロセスの数を決定 プロセス数を一定にするならば 長期スケジューラはプロセスが消滅したときにのみ実行 遅くても良い プロセスの性質に応じてスケジューリングする I/O-bound プロセス I/O 処理多 CPU 使用少 CPU-bound プロセス CPU 使用多 ( 数値計算など ) 2019/4/15 第 2 回オペレーティングシステム 31

32 TSS におけるスケジューラ TSS(Time Sharing System) は長期スケジューラなし 長期スケジューラの替わりに中期スケジューラがある場合あり マルチプログラミングの度合いを減らすために 実行可能プロセスを実行可能キューから取り出し (swap out) 2019/4/15 第 2 回オペレーティングシステム 32

33 プロセス生成一般論 (1/2) プロセスはプロセスを生成することができる 親プロセス : 生成側 子プロセス : 作られた側 子プロセスはさらにその子プロセスを生成可能 それにより プロセスのツリー形成 資源の共有可能性 親と子供は全ての資源を共有 子プロセスは親プロセスの一部の資源を共有 親子で共有する資源なし 実行関係 親と子供は同時に実行 親プロセスは子プロセスの終了を待つことが可能 2019/4/15 第 2 回オペレーティングシステム 33

34 プロセス生成一般論 (2/2) メモリ空間 子プロセスは親プロセスのメモリ空間の複製を保持 子プロセスはプログラムを読み込み実行 UNIX 系の例 fork システムコール 子プロセスははじめ親プロセスのメモリ空間の複製を保持 実装上は共有 &Copy on Write 子プロセスは親プロセスのファイルディスクリプタの複製を保持 exec システムコール プログラムを指定されたファイルから読み出し実行 2019/4/15 第 2 回オペレーティングシステム 34

35 プロセスの終了一般論 プロセスは最後に exit システムコールをして プロセスを終了 exit システムコール時に終了コードを渡すことが可能 親プロセスは 子プロセスの終了を wait システムコールで待機が可能 その際 子プロセスの終了コードの取得が可能 プロセス終了時にするべきこと プロセスが保持している資源の解放 : メモリ領域 I/O バッファなど 親プロセスは abort システムコール (Unix 系の場合 kill) で子プロセスを終了させることが可能 親プロセスが終了すると子プロセスも終了させられるシステムも存在 Cascading termination Linux の場合は? 親プロセスが終了すると子プロセスは init プロセスが親に 2019/4/15 第 2 回オペレーティングシステム 35

36 UNIX におけるプロセスツリー カーネルの初期化が終了すると /sbin/init プログラムを探し プロセスを起動 init プロセスは以下の処理を実行 /etc/rc.d/rc.sysinit スクリプトの実行 /etc/inittab スクリプトの実行 /etc/rc.d/rc.local スクリプトの実行 init プロセスの下に新たなプロセスが生成 2019/4/15 第 2 回オペレーティングシステム 36

37 スレッド Thread of Control プロセス内での一連の実行の流れ 単にスレッドとも プロセス内に複数スレッドを動かすような実行モデル = マルチスレッドモデル 多くの研究がなされたのは マルチスレッドモデルは共有メモリ型並列コンピュータが一般に使えるようになった 1970 年後半から 1980 年代 2019/4/15 第 2 回オペレーティングシステム 37

38 補足 プロセスメモリ data code プロセス スレッド register func2() stack func1() main() スレッド 単一スレッド int func1() {... } int func2() {... } int main() { thread_create(func1); thread_create(func2); } スレッド int func2() {... } int func1() { func2(); } int main() { func1(); } マルチスレッド スレッド スレッドの Context( 管理実体 ) は小さい 切替が高速 但し 共有データのアクセスに注意が必要 プログラムから見るとプログラム中の関数が別の処理として動作 register register register メモリ data code stack main() stack func1() stack func2() 2019/4/15 第 2 回オペレーティングシステム 38

39 スレッドの実現方法 ユーザレベルスレッド ユーザライブラリで実現 カーネルレベルスレッド オペレーティングシステムがカーネルで実現 2019/4/15 第 2 回オペレーティングシステム 39

40 ユーザレベルスレッド ユーザモードで動作するライブラリで実現 多くの場合 setjmp()/longjmp() で実装 フレーム情報の保存と復元 各スレッドは別の起点フレームを保持 カーネルレベルスレッドより軽量 高速のコンテクスト切り換え 大量のスレッド生成が可能 スケジューリングの方針等の変更が手軽 threadc threadb threada 2019/4/15 第 2 回オペレーティングシステム 40 main

41 ユーザレベルスレッド スケジューリングの面倒をカーネルが見ない 処理を横取りできない or 横取りの実現が面倒 入出力等でスレッドが待ち状態になると 同一プロセス内の他の実行可能スレッドが実行不可能 (I/O ブロック ) システムコールライブラリの wrapper 等で対処 実行コアが複数でも並列に実行不可能 threadc threadb threada 2019/4/15 第 2 回オペレーティングシステム 41 main

42 カーネルレベルスレッド カーネル内でプロセスと同様の手法でスレッドを管理 サイズ : スレッド制御ブロック (Thread Control Block)< PCB スレッドはカーネルによるスケジューリングの対象 コンテクストスイッチ等の操作は カーネルモードで実行 カーネルモードとユーザモードの切り替えオーバヘッドが発生 ただし プロセスの切替よりは軽量 メモリ空間の切りえは不要だから 2019/4/15 第 2 回オペレーティングシステム 42

43 マルチスレッド実現モデル Many-to-One( 多対 1 モデル ) 複数のユーザレベルスレッドがカーネルで実現されているスレッドひとつに対応 One-to-One(1 対 1 モデル ) ひとつのユーザスレッドがカーネルで実現されているスレッドひとつに対応 Many-to-Many( 多対多モデル ) 複数のユーザレベルスレッドが複数のカーネルレベルスレッドに対応 2019/4/15 第 2 回オペレーティングシステム 43

44 マルチスレッドのモデル Many-to-One( 多対 1 モデル ) 一つのカーネルスレッドで複数のユーザスレッドを稼働 ライブラリでスケジューリングするため高速 カーネルの処理待ちできるのは 一つのスレッドのみ I/O でブロック process スケジューラ ユーザレベルスレッド 実装 Solaris Green Thread, GNU Portable Thread k カーネルレベルスレッド 2019/4/15 第 2 回オペレーティングシステム 44

45 マルチスレッドのモデル process One-to-One (1 対 1 モデル ) 一つのカーネルスレッドでただ一つのユーザスレッドが稼働 実装 他のスレッドの I/O ブロックと無関係 複数プロセッサで稼働 スレッド生成 管理のオーバヘッドが発生 Linux, Windows k k k k ユーザレベルスレッド カーネルレベルスレッド 2019/4/15 第 2 回オペレーティングシステム 45

46 マルチスレッドのモデル Many-to-Many( 多対多モデル ) 複数のユーザスレッドをその数以下のカーネルスレッドで稼働 カーネルスレッドの数はアプリケーションやマシンに応じて決定 スレッドをどう割り付けるかの制御が必要 process スケジューラ ユーザレベルスレッド k k k カーネルレベルスレッド 2019/4/15 第 2 回オペレーティングシステム 46

47 マルチスレッドのモデル 2 レベルモデル 多対多モデルのバリエーション 一部のユーザレベルスレッドを特定のカーネルスレッドに固定 (pin down) process ユーザレベルスレッド 実装 IRIX, HP-UX, Tru64 UNIX Solaris (before ver. 9) スケジューラ k k k カーネルレベルスレッド 2019/4/15 第 2 回オペレーティングシステム 47

48 Linux Threads POSIX Pthread が提供されている スレッドライブラリの標準規格 (IEEE c) 多くのUnix 系システムで実装 Pthread 実現方法 clone() システムコール 2019/4/15 第 2 回オペレーティングシステム 48

49 マルチスレッドの利点 (1/2) 並列コンピュータ上でのプロセッサの有効利用 共有メモリ型並列コンピュータ上で プロセッサを有効利用が可能 マルチコアを活用可能 マルチコアの時代 半導体集積度が向上したが クロックを上げられない ( リーク電流 & 熱問題 ) 余った回路の使い道としてチップ内に複数プロセッサを搭載 2019/4/15 第 2 回オペレーティングシステム 49

50 マルチスレッドの利点 (2/2) 資源を共有可能 ファイルディスクリプタやメモリ領域の共有 メモリ管理のための構造体の共有 TLB の共有が可能 TLB の共有によりコンテキストスイッチ時に TLB flush が不必要 応答性の向上 例えばマルチスレッド WEB ブラウザでは イメージを読み込んでいるスレッドとユーザの入力を同時に処理が可能 シングルスレッドの場合は select を使った event driven 処理 2019/4/15 第 2 回オペレーティングシステム 50

51 スレッド利用の場面 サーバプロセスの応答性の向上 サーバプログラム 要求ごとにスレッドを生成し 処理と結果の応答を担当 例 :HTTPサーバ それぞれ別のスレッドでリクエストを処理 ウィンドウシステム それぞれ別のスレッドでイベントを待つ処理 2019/4/15 第 2 回オペレーティングシステム 51

52 スレッド利用の場面 CPU 処理と入出力処理の分割 プロセス P の処理を 計算を行うスレッド (Th1) と入出力を行うスレッド (Th2) に分割 Th1 と Th2 は 1 つのプログラムを実行 入出力待ちの間,Th2 は待ち状態になるが Th1 の処理は継続 Th2( 入出力 ) Th1( 計算 ) 依頼 入出力待ち 通知 2019/4/15 第 2 回オペレーティングシステム 52

53 スレッド利用の場面 並列計算 並列計算機を使って高速計算 例 : 行列の掛け算 各行を別スレッドで計算 メモリ空間を共有するので プロセス間通信するより高速 = 2019/4/15 第 2 回オペレーティングシステム 53

54 ( 補足 ) カーネルもマルチ化の時代 従来型のカーネル (SMP) マルチカーネル (AMP) VS OS Image OS Image OS Image OS Image 2019/4/15 第 2 回オペレーティングシステム 54

04-process_thread_2.ppt

04-process_thread_2.ppt オペレーティングシステム ~ 保護とシステムコール ~ 山田浩史 hiroshiy @ cc.tuat.ac.jp 2015/05/08 復習 : OS の目的 ( 今回の話題 ) 裸のコンピュータを抽象化 (abstraction) し より使いやすく安全なコンピュータとして見せること OS はハードウェアを制御し アプリケーションの効率的な動作や容易な開発を支援する OS がないと 1 つしかプログラムが動作しない

More information

05-scheduling.ppt

05-scheduling.ppt オペレーティングシステム ~ スケジューリング ~ 山田浩史 hiroshiy @ cc.tuat.ac.jp 2014/06/01 復習 : プロセス 実行状態にあるプログラムのこと プログラムの実行に必要なものをひっくるめて指す テキスト領域 データ領域 スタック領域 CPU のレジスタ値 プログラムカウンタ など OS はプロセス単位で管理する メモリ Hard Disk CPU プロセス execute

More information

CPUスケジューリング

CPUスケジューリング 5-6 プロセス管理と CPU スケジューリング 1 多重プログラミングの概念 CPU を無駄なく使いたい ジョブ A ジョブ B 開始遊休状態 : 入力 開始遊休状態 : 入力 遊休状態 : 入力 遊休状態 : 入力 停止 停止 図 4.1 二つの上部 A,B の実行 2 多重プログラミングの概念 ジョブ A 開始遊休状態 : 入力 遊休状態 : 入力 停止 ジョブ B 待ち 開始遊休状態 : 入力

More information

オペレーティングシステム

オペレーティングシステム 1.PFLab( 加藤研 ) のウェブサイトからダウンロードできます http://www.pf.is.s.u-tokyo.ac.jp/ja/classes/ 2. 紙資料も配布します オペレーティングシステム 加藤真平東京大学大学院情報理工学系研究科 shinpei@is.s.u-tokyo.ac.jp 2018/5/14 第 5 回オペレーティングシステム 1 講義概要 受講生に求める基礎知識

More information

Microsoft PowerPoint - OS03.pptx

Microsoft PowerPoint - OS03.pptx オペレーティングシステム 第 回の管理とスケジューリング http://www.info.kindai.ac.jp/os 8 号館 4 階 N-4 内線 5459 takasi-i@info.kindai.ac.jp オペレーティングシステムの主要概念 (process), タスク (task) 実行中のプログラムプログラム実行に必要な情報 プログラムコード, データ, スタック, プログラムカウンタ,

More information

Microsoft PowerPoint - OS02.pptx

Microsoft PowerPoint - OS02.pptx オペレーティングシステム 第 2 回 割り込みと OS の構成 http://www.info.kindai.ac.jp/os 38 号館 4 階 N-411 内線 5459 takasi-i@info.kindai.ac.jpkindai ac プログラムの実行中の動作 CPU プログラム キーボードからの入力 遊び 画面への出力 遊び IO 装置 入力処理 出力処理 CPU の遊び時間ができてしまう

More information

スレッドとプロセス

スレッドとプロセス スレッドとプロセス 本題 : スケジューリング 田浦健次朗 スレッド プロセスの目的 CPU を仮想化 物理的な CPU 数は固定, 少数 ラップトップ, スマホ : 1, 2, 4, 8 くらい サーバ : 数十 ポイント : にもかかわらず数十, 数百のプログラムを立ち上げることができる 個々のプログラムを書く人が明示的な 譲り合い をする必要はない スレッドとは? 制御の流れ (thread

More information

cmpsys15w07_os.ppt

cmpsys15w07_os.ppt 情報システム論 第 7 週ソフトウェアシステム Operating System (part I) 根來 均 ソフトウェア (Software) とは プログラムと同義もしくは各種プログラムの総称 ソフトウェアは 記憶装置上などに 電子的にのみ (0/1 で記録された情報として ) 存在する ソフトウェアに対して 物理的に存在する CPU 等の各種装置をハードウェア Hardware と呼ぶ 例えば

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション コンピュータアーキテクチャ 第 13 週 割込みアーキテクチャ 2013 年 12 月 18 日 金岡晃 授業計画 第 1 週 (9/25) 第 2 週 (10/2) 第 3 週 (10/9) 第 4 週 (10/16) 第 5 週 (10/23) 第 6 週 (10/30) 第 7 週 (11/6) 授業概要 2 進数表現 論理回路の復習 2 進演算 ( 数の表現 ) 演算アーキテクチャ ( 演算アルゴリズムと回路

More information

Microsoft PowerPoint - OS02.ppt

Microsoft PowerPoint - OS02.ppt オペレーティングシステム 第 2 回割り込みとOSの構成 http://www.info.kindai.ac.jp/os 38 号館 4 階 N-411 内線 5459 takasi-i@info.kindai.ac.jp プログラムの実行中の動作 CPU プログラム キーボードからの入力 遊び 画面への出力 遊び IO 装置 入力処理 出力処理 CPU の遊び時間ができてしまう 単一プログラムの問題点

More information

Microsoft PowerPoint - os ppt [互換モード]

Microsoft PowerPoint - os ppt [互換モード] 2. プロセス 概要 マルチプログラミング プロセスの管理 スケジューリング方式 2008/5/13 プロセス 1 複数の仕事を処理する つの 法 論 執筆メール処理データ整理会議 論 執筆論 執筆論 執筆論 執筆 時間 メール処理メール処理メール処理メール処理 仕事が捗るのはどちらの方法か 人を待たせないのはどちらか データ整理 データ整理 データ整理 データ整理 会議 会議 会議 2008/5/13

More information

Microsoft PowerPoint - OS07.pptx

Microsoft PowerPoint - OS07.pptx この資料は 情報工学レクチャーシリーズ松尾啓志著 ( 森北出版株式会社 ) を用いて授業を行うために 名古屋工業大学松尾啓志 津邑公暁が作成しました 主記憶管理 主記憶管理基礎 パワーポイント 27 で最終版として保存しているため 変更はできませんが 授業でお使いなる場合は松尾 (matsuo@nitech.ac.jp) まで連絡いただければ 編集可能なバージョンをお渡しする事も可能です 復習 OS

More information

Microsoft PowerPoint - OS02.pptx

Microsoft PowerPoint - OS02.pptx 実行プロセス数と処理効率処理率実行プロセス数効プログラムの実行中の動作 オペレーティングシステム 第 2 回割り込みと の構成 http://www.info.kindai.ac.jp/ 38 号館 4 階 N-411 内線 5459 takasi-i@info.kindai.ac.jp プログラム キーボードからの入力 画面への出力 遊び 遊び 入力処理 出力処理 の遊び時間ができてしまう 単一プログラムの問題点

More information

計算機システム概論

計算機システム概論 計算機システム概論 3 回目 本日のトピック : 割込みと入出力制御について割込み制御について問題点の明確化割込みとは割込みに対する処理について 入出力制御について入出力装置の接続入出力の操作入出力を効率的に行うための仕組み 1 入出力制御の歴史 OS 誕生のキッカケとなった動機 : プロセッサと入出力装置を同時並行的に動かしたい 実現したいこと入出力処理を行うジョブ ( 実行中のプロセス ) を

More information

MMUなしプロセッサ用Linuxの共有ライブラリ機構

MMUなしプロセッサ用Linuxの共有ライブラリ機構 MMU なしプロセッサ用 Linux の共有ライブラリ機構 大谷浩司 高岡正 近藤政雄 臼田尚志株式会社アックス はじめに μclinux には 仮想メモリ機構がないので共有ライブラリ機構が使えない でもメモリ消費抑制 ストレージ消費抑制 保守性の向上のためには 欲しい 幾つかの実装があるが CPU ライセンス 機能の制限のためにそのまま利用できない RidgeRun 社 (Cadenux 社 )

More information

01-introduction.ppt

01-introduction.ppt オペレーティングシステム ~ イントロダクション ~ 山田浩史 hiroshiy @ cc.tuat.ac.jp 2015/04/10 オペレーティングシステム 担当 : 山田浩史 ( やまだひろし ) mail: hiroshiy @ cc.tuat.ac.jp 質問等ありましたら気軽にメールをしてください 専門分野 オペレーティングシステムや仮想マシンモニタといった システムソフトウェア と呼ばれる分野

More information

TFTP serverの実装

TFTP serverの実装 TFTP サーバーの実装 デジタルビジョンソリューション 佐藤史明 1 1 プレゼンのテーマ組み込みソフトのファイル転送を容易に 2 3 4 5 基礎知識 TFTP とは 実践 1 実際に作ってみよう 実践 2 組み込みソフトでの実装案 最後におさらい 2 プレゼンのテーマ 組み込みソフトのファイル転送を容易に テーマ選択の理由 現在従事しているプロジェクトで お客様からファームウェアなどのファイル転送を独自方式からTFTPに変更したいと要望があった

More information

POSIXプログラミング Pthreads編

POSIXプログラミング Pthreads編 POSIXプログラミング Pthreads 編 デジタルビジョンソリューション 中山一弘佐藤史明 参考図書 Pthreads プログラミング, Bradford Nichols, Dick Buttlar, Jacqeline Proulx Farrell, ISBN4-900900-66-4 Pthreads POSIX スレッド標準を実装したライブラリを Pthreads と呼ぶ C 言語のデータ型

More information

10-vm1.ppt

10-vm1.ppt オペレーティングシステム ~ 仮想記憶 (1) ~ 山田浩史 hiroshiy @ cc.tuat.ac.jp 2015/06/19 OS の目的 裸のコンピュータを抽象化 (abstraction) し より使いやすく安全なコンピュータとして見せること OS はハードウェアを制御し アプリケーションの効率的な動作や容易な開発を支援する OS がないと メモリをアプリケーション自身が管理しなければならない

More information

Microsoft PowerPoint - No3.ppt

Microsoft PowerPoint - No3.ppt OS を支援するプロセッサ機能 プロセッサの動作モード 割込み (Interrupt)/ 例外 (Exception) 入出力装置との並列動作 マルチプログラミング (multi-programming) OS の機能 : ユーザプログラムの実行制御の管理 コンピュータ資源の管理 管理するためには 特権 が必要 プロセッサの動作モード 特権モード = OS の実行モード ( カーネルモード, スーハ

More information

メモリ管理

メモリ管理 メモリ管理 (2) 思い出そ ~~ う 物理アドレスと論理アドレス 論理アドレス空間 アドレス変換 メモリ管理ユニット (MMU) ページ ページテーブル,TLB 保護違反, ページフォルト ページング APP CPU OS OS が提供するメモリ関連 API (1) 1. 論理アドレス空間生成 = プロセスの生成 プロセスの作成 ( プログラムの起動 ) 2. 論理的なメモリ ( 仮想メモリ )

More information

計算機のリソースとは 1.CPU 2. 主記憶 3. 補助記憶装置 の抽象化

計算機のリソースとは 1.CPU 2. 主記憶 3. 補助記憶装置 の抽象化 システムソフトウェア講義の概要 1. 計算機システムの復習 : 中央演算処理装置 (CPU), プログラムの実行, 主記憶装置, 補助記憶装置 2. オペレーティングシステムとは :CPU, 主記憶装置, 補助記憶装置などの抽象化 3. CPUの抽象化 1: スレッドとプロセス, 割り込み 4. CPU の抽象化 2:CPU の割り当てアルゴリズム 5. 主記憶の抽象化 : アドレス空間と仮想記憶

More information

OS

OS Operatig Systems カーネルとデバイスドライバ 2019-03 1 OS の構成要素 シェル ワープロ ブラウザ さまざまなソフトウェア ] ^ _ Z ` a b c d e ` f Y Z [ \ プロセス管理通信制御ファイルシステム メモリ管理割込み制御タイマ管理 デバイスドライバ 管理プログラム 基本ライブラリ デバイスドライバ CPU メモリ ストレージ さまざまなハードウェア

More information

今週の進捗

今週の進捗 Virtualize APIC access による APIC フック手法 立命館大学富田崇詠, 明田修平, 瀧本栄二, 毛利公一 2016/11/30 1 はじめに (1/2) マルウェアの脅威が問題となっている 2015年に4 億 3000 万以上の検体が新たに発見されている マルウェア対策にはマルウェアが持つ機能 挙動の正確な解析が重要 マルウェア動的解析システム : Alkanet 仮想計算機モニタのBitVisorの拡張機能として動作

More information

C プログラミング 1( 再 ) 第 5 回 講義では C プログラミングの基本を学び演習では やや実践的なプログラミングを通して学ぶ

C プログラミング 1( 再 ) 第 5 回 講義では C プログラミングの基本を学び演習では やや実践的なプログラミングを通して学ぶ C プログラミング 1( 再 ) 第 5 回 講義では C プログラミングの基本を学び演習では やや実践的なプログラミングを通して学ぶ C に必要なコンピュータ知識 C はコンピュータの力を引き出せるように設計 コンピュータの知識が必要 コンピュータの構造 1. パーソナルコンピュータの構造 自分の ( 目の前にある ) コンピュータの仕様を調べてみよう パソコン本体 = CPU( 中央処理装置 ):

More information

スライド 1

スライド 1 1 システムコールフックを使用した攻撃検出 株式会社フォティーンフォティー技術研究所 http://www.fourteenforty.jp 取締役技術担当金居良治 2 お題目 System Call について System Call Protection System Call Hook 考察 3 System Call とは? ユーザアプリケーションからカーネルのサービスルーチンを呼び出す Disk

More information

計算機アーキテクチャ

計算機アーキテクチャ 計算機アーキテクチャ 第 11 回命令実行の流れ 2014 年 6 月 20 日 電気情報工学科 田島孝治 1 授業スケジュール ( 前期 ) 2 回日付タイトル 1 4/7 コンピュータ技術の歴史と コンピュータアーキテクチャ 2 4/14 ノイマン型コンピュータ 3 4/21 コンピュータのハードウェア 4 4/28 数と文字の表現 5 5/12 固定小数点数と浮動小数点表現 6 5/19 計算アーキテクチャ

More information

プレポスト【解説】

プレポスト【解説】 コース名 : シェルの機能とプログラミング ~UNIX/Linux の効率的使用を目指して ~ 1 UNIX および Linux の主な構成要素は シェル コマンド カーネルです プロセスとは コマンドやプログラムを実行する単位のことなので プロセスに関する記述は誤りです UNIX および Linux のユーザーインターフェースは シェル です コマンドを解釈するという機能から コマンドインタープリタであるともいえます

More information

Microsoft PowerPoint - sp ppt [互換モード]

Microsoft PowerPoint - sp ppt [互換モード] システムプログラム概論 入出力 (I/O) 制御 今日の講義概要 入出力デバイスのハードウェア 入出力デバイスの制御 入出力デバイスのソフトウェア 第 6 講 : 平成 20 年 10 月 22 日 ( 水 ) 2 限 S1 教室 中村嘉隆 ( なかむらよしたか ) 奈良先端科学技術大学院大学助教 y-nakamr@is.naist.jp http://narayama.naist.jp/~y-nakamr/

More information

Microsoft PowerPoint - OS09.pptx

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

More information

C に必要なコンピュータ知識 C はコンピュータの力を引き出せるように設計 コンピュータの知識が必要

C に必要なコンピュータ知識 C はコンピュータの力を引き出せるように設計 コンピュータの知識が必要 C プログラミング 1( 再 ) 第 5 回 講義では C プログラミングの基本を学び演習では やや実践的なプログラミングを通して学ぶ C に必要なコンピュータ知識 C はコンピュータの力を引き出せるように設計 コンピュータの知識が必要 1 コンピュータの構造 1.1 パーソナルコンピュータの構造 自分の ( 目の前にある ) コンピュータの仕様を調べてみよう パソコン本体 = CPU( 中央処理装置

More information

21 章のお話

21 章のお話 21 章のお話 オブジェクトヘッダ 型オブジェクトポインター (4byte, 8byte) 型の構造体へのポンタ 同期ブロックインデックス (4byte, 8byte) ロックとか COM で利用する フィールド マネージヒープ NextObjPtr マネージヒープ NextObjPtr オブジェクト A を割り当てたい! 同期ブロック 同期ブロックインデックス ~ フィールドまでが入るようにする

More information

組込み Linux の起動高速化 株式会社富士通コンピュータテクノロジーズ 亀山英司 1218ka01 Copyright 2013 FUJITSU COMPUTER TECHNOLOGIES LIMITED

組込み Linux の起動高速化 株式会社富士通コンピュータテクノロジーズ 亀山英司 1218ka01 Copyright 2013 FUJITSU COMPUTER TECHNOLOGIES LIMITED 組込み Linux の起動高速化 株式会社富士通コンピュータテクノロジーズ 亀山英司 1218ka01 組込み Linux における起動高速化 組込み Linux の起動時間短縮について依頼あり スペック CPU : Cortex-A9 ( 800MB - single) RAM: 500MB 程度 要件 起動時間 画出し 5 秒 音出し 3 秒 終了時間 数 ms で電源断 1 課題と対策 問題点

More information

Insert your Title here

Insert your Title here マルチコア マルチスレッド環境での静的解析ツールの応用 米 GrammaTech 社 CodeSonar によるスレッド間のデータ競合の検出 2013 GrammaTech, Inc. All rights reserved Agenda 並列実行に起因する不具合の摘出 なぜ 並列実行されるプログラミングは難しいのか データの競合 デッドロック どのようにして静的解析ツールで並列実行の問題を見つけるのか?

More information

Microsoft PowerPoint - sp ppt [互換モード]

Microsoft PowerPoint - sp ppt [互換モード] システムプログラム概論 OS の役割と構成 第 1 講 : 平成 20 年 10 月 6 日 ( 月 ) 1 限 S1 教室 中村嘉隆 ( なかむらよしたか ) 奈良先端科学技術大学院大学助教 y-nakamr@is.naist.jp http://narayama.naist.jp/~y-nakamr/ 講義概要 ( 中村担当分 ) 内容 オペレーティングシステム (OS) 参考書 A.S. Tanenbaum,

More information

Microsoft PowerPoint - kougi7.ppt

Microsoft PowerPoint - kougi7.ppt 到達目標 スーパバイザモード, 特権命令, 割り込み CPU の割り込みメカニズム 割り込みの種類ごとに, 所定の例外処理が呼び出される スーパーバイザモードに, 自動的に切り替わる 割り込み終了後に 元のモード に戻る ハードウエア割り込みについて 割り込み禁止 割り込み発生時の CPU の挙動 現在の処理を中断 例外処理用のプログラム ( ハンドラともいう ) が起動される プログラム実行の流れ

More information

スライド 1

スライド 1 東北大学工学部機械知能 航空工学科 2019 年度クラス C D 情報科学基礎 I 14. さらに勉強するために 大学院情報科学研究科 鏡慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ 0 と 1 の世界 これまで何を学んだか 2 進数, 算術演算, 論理演算 計算機はどのように動くのか プロセッサとメモリ 演算命令, ロード ストア命令, 分岐命令 計算機はどのように構成されているのか

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション プログラミング応用演習 第 4 回再帰的構造体 前回の出席確認演習 #include int main() { FILE *fp; int c, linecount, length, maxlength; fp=fopen("/usr/share/dict/words","r"); if (fp == NULL) return 1; linecount=0; length=0;

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 部内向けスキルアップ研修 組込み OS 自作入門 2014 年 2 月 10st ステップ担当 : 中村 目次 はじめに OSの役割 メモリ管理 メモリ管理実装 プログラムの実行 まとめ はじめに 前回やったこと OS の原型を作成 今回やること 9th ステップでは CPU 時間 という資源管理 本ステップでは メモリ という資源管理 10.1 OS の役割 10.1.1 コンピュータの 3 大要素

More information

スレッド

スレッド POSIX スレッド システムプログラミング 2007 年 10 月 22 日 建部修見 スレッドとは? プロセス内の独立したプログラム実行 メモリは共有 ファイルディスクリプタなどプロセス資源は共有 一般にスレッド生成はプロセス生成より軽い プロセス vs スレッド 生成 実行オーバヘッド スレッド小 プロセス大 メモリ 共有 別々 プロセス資源 共有 別々 データ共有 メモリのポインタ渡し (

More information

マニュアル訂正連絡票

マニュアル訂正連絡票 < マニュアル訂正連絡票 > FUJITSU Software ASP システムコマンド集 V29 [J2K0592001A] 2018 年 12 月 25 日発行 修正箇所 ( 章節項 ): STRRDAT コマンドの CAPCNV のオペランド説明 CAPCNV( 整数型 ): 英小文字変換モードを指定する. @YES: 英小文字を英大文字に変換する. @NO: 英小文字をエラーにする. CAPCNV(

More information

アジェンダ Renesas Synergy TM プラットフォーム構成 ThreadX とは ThreadX の状態遷移 ThreadX とμITRONの機能比較 まとめ ページ 2

アジェンダ Renesas Synergy TM プラットフォーム構成 ThreadX とは ThreadX の状態遷移 ThreadX とμITRONの機能比較 まとめ ページ 2 Renesas Synergy TM プラットフォーム ThreadX リアルタイム OS 紹介 アジェンダ Renesas Synergy TM プラットフォーム構成 ThreadX とは ThreadX の状態遷移 ThreadX とμITRONの機能比較 まとめ ページ 2 Synergy プラットフォーム構成中核を担う ThreadX リアルタイム OS ご紹介部分 ページ 3 ThreadX

More information

マルチスレッドアーキテクチャにおける スレッドライブラリの実装と評価

マルチスレッドアーキテクチャにおける スレッドライブラリの実装と評価 修士学位論文発表 マルチスレッドアーキテクチャにおける システムソフトウェアの研究 A study on Systems Software for Multithreaded Architecture 2004 2/12 東京農工大学大学院工学研究科情報コミュニケーション工学専攻並木研究室 03646109 笹田耕一 1 背景 マルチスレッドアーキテクチャプロセッサ 1 チップ上で複数の命令流 (

More information

提案書

提案書 アクセスログ解析ソフト Angelfish インストールについて Windows 版 2018 年 05 月 07 日 ( 月 ) 有限会社インターログ TEL: 042-354-9620 / FAX: 042-354-9621 URL: http://www.interlog.co.jp/ はじめに Angelfish のインストールに手順について説明致します 詳細は US のヘルプサイトを参照してください

More information

オペレーティングシステム2003 第2回:

オペレーティングシステム2003 第2回: オペレーティングシステム 2004 プロセス (1) 2004 年 10 月 8 日 海谷治彦 1 目次 アプリケーションプログラムの動作 プロセスの意味の復習 カーネル ( 復習 ) カーネル内でのプロセス プロセスの作成 プロセスの停止と削除 リソース その他, 雑多な用語の話 2 アプリの動かし方 Linux の例 ターミナルから実行可能プログラムのパス名を打つ. 3 アプリの動かし方 Win

More information

WEBシステムのセキュリティ技術

WEBシステムのセキュリティ技術 WEB システムの セキュリティ技術 棚橋沙弥香 目次 今回は 開発者が気をつけるべきセキュリティ対策として 以下の内容について まとめました SQLインジェクション クロスサイトスクリプティング OSコマンドインジェクション ディレクトリ トラバーサル HTTPヘッダ インジェクション メールヘッダ インジェクション SQL インジェクションとは 1 データベースと連動した Web サイトで データベースへの問い合わせや操作を行うプログラムにパラメータとして

More information

Windows 10の注意点

Windows 10の注意点 Windows 10 の注意点 Trinität の使用に関して 2018 年 1 月中央コンピュータシステムトリニテートサポートセンター 電子帳票システム Trinität は Ver.8.50 以降において Windows10 対応を実施しております ただし Windows 10 の機能については使用できないものもあるため Trinität を Windows 10 が稼動するコンピュータで使用する際の注意事項を

More information

PowerPoint Presentation

PowerPoint Presentation コンピュータ科学 II 担当 : 武田敦志 http://takeda.cs.tohoku gakuin.ac.jp/ 今日の話 オペレーティングシステム コンピュータを利用するための基本ソフト オペレーティングシステムの役割 プロセスの管理主記憶の管理出入力の管理ファイルの管理 タイムシェアリングシステム仮想記憶排他制御ディレクトリ構造

More information

オペレーティングシステム

オペレーティングシステム 1.PFLab( 加藤研 ) のウェブサイトからダウンロードできます http://www.pf.is.s.u-tokyo.ac.jp/ja/classes/ 2. 紙資料も配布します オペレーティングシステム 加藤真平東京大学大学院情報理工学系研究科 shinpei@is.s.u-tokyo.ac.jp 2018/4/23 第 3 回オペレーティングシステム 1 講義概要 受講生に求める基礎知識

More information

メモリ管理

メモリ管理 メモリ管理 (1) メモリ 思い出そう プログラムの実行のために, ありとあらゆるものがメモリに格納されなくてはならなかったことを グローバル変数, 配列 局所変数 配列 ( スタック ) 実行中に確保される領域 (malloc, new) プログラムのコード メモリの 管理 とは 誰が, メモリの どの部分を, 今, 使ってよいかを記憶しておき, メモリ割り当て要求 にこたえることができるようにすること

More information

メモリ管理

メモリ管理 ファイルシステム API と メモリマップドファイル ファイルシステムの役割 (1) 様々な種類の 2 次記憶装置へ, 簡便で 効率的で 安全で 統一的な ( 装置によらない ) 読み書き手段を提供する ファイルシステムの役割 (2) 電源を切っても失われない情報の ( ほとんど唯一の ) 格納場所 メモリの内容は電源を切ると失われる プロセス間で情報を共有する自然な場所 プロセス間でメモリは分離されていた

More information

<4C696E A B835E A CC8A D20838A B835E B838982CC8EC08CB

<4C696E A B835E A CC8A D20838A B835E B838982CC8EC08CB PREEMPT_RT の移植 - 進捗報告 - 松原克弥株式会社イーゲル Funded by 株式会社ルネサスソリューションズ 1 背景 ユーザレベルでデバイスドライバを実現したい 開発が容易 ドライババグによるシステムダウンを軽減 より密接なアプリとの連携 いくつかの問題 I/O メモリ 物理メモリへのアクセス 割り込み要求 (IRQ) の受信 応答速度 カーネル 2.6 の新機能 NPTL(Native

More information

Microsoft Word - matlab-coder-code-generation-quick-start-guide-japanese-r2016a

Microsoft Word - matlab-coder-code-generation-quick-start-guide-japanese-r2016a MATLAB コードを使用した C コードの生成クイックスタートガイド (R2016a) 最初のスタンドアロン C コードの生成 スタンドアロン C コードを生成するには [ ビルド ] を [ ソースコード ] [ スタティックライブラリ ] [ ダイナミックライブラリ ] または [ 実行ファイル ] のいずれかに切り替えます MATLAB Coder を使用することで MATLAB コードから

More information

Microsoft PowerPoint - OS1.ppt [互換モード]

Microsoft PowerPoint - OS1.ppt [互換モード] システムプログラム概論 オペレーティングシステム 安本慶一 (Keiichi Yasumoto) yasumoto@is.naist.jp (A613) 奈良先端科学技術大学院大学 2008/5/9 OS の役割と構成 1 講義概要 ( 安本担当分 ) 内容 オペレーティングシステム (OS) 参考書 A.S. Tanenbaum, Modern Operating System second edition,

More information

バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科

バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科 バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科 ポインタ変数の扱い方 1 ポインタ変数の宣言 int *p; double *q; 2 ポインタ変数へのアドレスの代入 int *p; と宣言した時,p がポインタ変数 int x; と普通に宣言した変数に対して, p = &x; は x のアドレスのポインタ変数 p への代入 ポインタ変数の扱い方 3 間接参照 (

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション プログラミング応用演習 第 4 回再帰的構造体 プログラミングを 余談 : 教えることの難しさ 丁寧に説明しないと分かってもらえない 説明すると 小難しくなる学生が目指すべきところプログラム例を説明されて理解できる違うやり方でも良いので自力で解決できる おっけー 動けば良い という意識でプログラミング 正しく動くことのチェックは必要 解答例と自分のやり方との比較が勉強になる 今日のお題 再帰的構造体

More information

部内向けスキルアップ研修 「組込みOS自作入門」

部内向けスキルアップ研修 「組込みOS自作入門」 部内向けスキルアップ研修 組込み OS 自作入門 2013 年 12 月 8th ステップ担当 : 松元 本日の内容 スレッドを実装します スレッドとは? OS とは? もくもく会 スレッドで動作するコマンド応答プログラム 必要に応じてプログラムの説明 たとえばこんな動作をさせる 以下の機能を持つ 0.1 秒ごとにLED 点滅 1 秒ごとに液晶パネルに時刻表示 シリアルからのコマンドに応答 一定時間ごとにサービスを実行できるかチェックする

More information

スレッド

スレッド POSIX スレッド (1) システムプログラミング 2009 年 10 月 19 日 建部修見 組込機器における並行処理 GUI における反応性向上 ダイナミックな Wait カーソル 各イベントを別制御で実行 Auto save 機能 サーバの反応性向上 各リクエストを別制御で実行 マルチコア マルチプロセッサでの並列実行 スレッドとは? プロセス内の * 独立した * プログラム実行 同一プロセス

More information

Microsoft PowerPoint - pc11.ppt

Microsoft PowerPoint - pc11.ppt 本日の内容 コンピュータのしくみ ( 第 11 回 ) 9 章 オペレーティングシステム (OS) 中田明夫 ( 情報科学研究科 ) ( コンピュータのしくみ H17 第 11 回 ) 1 ( コンピュータのしくみ H17 第 11 回 ) 2 復習 : コンピュータの構成 ソフトウェアとハードウェア 復習 : ハードウェアの構成 複数の構成要素からなる コンピュータ ハードウェア ソフトウェア ハードウェア

More information

概要 プログラミング論 変数のスコープ, 記憶クラス. メモリ動的確保. 変数のスコープ 重要. おそらく簡単. 記憶クラス 自動変数 (auto) と静的変数 (static). スコープほどではないが重要.

概要 プログラミング論 変数のスコープ, 記憶クラス. メモリ動的確保. 変数のスコープ 重要. おそらく簡単. 記憶クラス 自動変数 (auto) と静的変数 (static). スコープほどではないが重要. 概要 プログラミング論 変数のスコープ, 記憶クラス. メモリ動的確保. 変数のスコープ 重要. おそらく簡単. 記憶クラス 自動変数 (auto) と静的変数 (static). スコープほどではないが重要. http://www.ns.kogakuin.ac.jp/~ct13140/progc/ C-2 ブロック 変数のスコープ C 言語では, から をブロックという. for( ) if( )

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 構造体 (struct) 構造体の宣言 typedef 宣言 配列では 複数のデータをひとまとまりにして操作することが出来る しかし それぞれのデータは同じ型 ( 例えば整数 あるいは浮動小数点数 ) 出なければならない 型の違うデータをひとまとまりにして扱う方法に 構造体がある 構造体 文文文文名前字 ( 文字列字字 ) 字 整数学籍番号 ( 整数 ) 身長 ( 浮動小数点数 ) 文字 配列 3

More information

1 Atollic TrueSTUDIO( GR-PEACH TOPPERS/ASP ASP GR-PEACH mbed ( git

1 Atollic TrueSTUDIO(  GR-PEACH TOPPERS/ASP ASP GR-PEACH mbed (  git TOPPERS 活用アイデア アプリケーション開発 コンテスト 部門 : がじぇるね IoT 部門 作品のタイトル : m ~ 組込みマイコン向け 軽量実行環境 ~ 作成者 : 森智也 ( 京都大学 ) 共同作業者 : 高瀬英希 ( 京都大学 ) 対象者 : ロボットシステム開発者 組込みシステム開発者 使用する開発成果物 : TOPPERS/ASP カーネル https://github.com/ncesnagoya/asp-gr_peach_gcc-mbed.git

More information

RL78開発環境移行ガイド R8C/M16C, H8S/H8SXからRL78への移行(統合開発環境編)(High-performance Embedded Workshop→CS+)

RL78開発環境移行ガイド R8C/M16C, H8S/H8SXからRL78への移行(統合開発環境編)(High-performance Embedded Workshop→CS+) RL78 開発環境移行ガイド R8C/M16C, H8S/H8SXからRL78への移行 ( 統合開発環境編 ) (High-performance Embedded Workshop CS+) 2017/4/7 R20UT2087JJ0103 ソフトウェア事業部ソフトウエア技術部ルネサスシステムデザイン株式会社 はじめに 本資料は 統合開発環境 High-performance Embedded Workshop

More information

2006年10月5日(木)実施

2006年10月5日(木)実施 2010 年 7 月 2 日 ( 金 ) 実施 ファイル処理ファイルとはファイル (file) は日常用語では紙などを綴じたものを表すが, コンピュータ用語ではデータの集合体を指す言葉である ファイルは例えば, 文書ファイルやプログラムファイルのように, 用途によって分類されることもあれば, また, テキストファイルやバイナリファイルのように, ファイルの作り方によって分類されることもある なお,

More information

Operating System 仮想記憶

Operating System 仮想記憶 Operating System 仮想記憶 2018-12 記憶階層 高速 & 小容量 ( 高価 ) レジスタ アクセスタイム 数ナノ秒 容量 ~1KB CPU 内キャッシュ (SRAM) 数ナノ秒 1MB 程度 ランダムアクセス 主記憶 (DRAM) 数十ナノ秒 数 GB 程度 ランダムアクセス フラッシュメモリ (SSD) 約 100 万倍 シーケンシャルアクセス 磁気ディスク (HDD) 数十ミリ秒

More information

ダンプ取得機能強化サポートオプション Enterprise Edition

ダンプ取得機能強化サポートオプション Enterprise Edition 株式会社様 ダンプ取得機能強化サポートオプション Enterprise Edition Enterprise Event Recorder for Linux 2017/06 株式会社日立製作所システム & サービスビジネス IoT クラウドサービス事業部オペレーティングシステム本部 1. ダンプ取得機能強化サポート Enterprise Editionの位置付け ダンプ取得機能強化サポート Enterprise

More information

目次 LS-DYNA 利用の手引き 1 1. はじめに 利用できるバージョン 概要 1 2. TSUBAME での利用方法 使用可能な LS-DYNA の実行 4 (1) TSUBAMEにログイン 4 (2) バージョンの切り替え 4 (3) インタラ

目次 LS-DYNA 利用の手引き 1 1. はじめに 利用できるバージョン 概要 1 2. TSUBAME での利用方法 使用可能な LS-DYNA の実行 4 (1) TSUBAMEにログイン 4 (2) バージョンの切り替え 4 (3) インタラ LS-DYNA 利用の手引 東京工業大学学術国際情報センター 2016.04 version 1.10 目次 LS-DYNA 利用の手引き 1 1. はじめに 1 1.1 利用できるバージョン 1 1.2 概要 1 2. TSUBAME での利用方法 1 2.1 使用可能な 1 2.2 LS-DYNA の実行 4 (1) TSUBAMEにログイン 4 (2) バージョンの切り替え 4 (3) インタラクティブ実行

More information

第2回

第2回 第 4 回基本データ構造 1 明星大学情報学科 2 3 年前期 アルゴリズムとデータ構造 Ⅰ 第 4 回 Page 1 配列 スタック キューとその操作 4-1. 配列とその操作 配列型 同じ型の変数を並べたもの 配列にする型は 基本型 配列型 構造体 ポインタいずれでもよい 要素の並べ方を 次元 という 1 次元配列 ( 直線状 ) 2 次元配列 ( 平面状 ) 3 次元配列 ( 立体状 ) a[5]

More information

ERDAS IMAGINE における処理速度の向上 株式会社ベストシステムズ PASCO CORPORATION 2015

ERDAS IMAGINE における処理速度の向上 株式会社ベストシステムズ PASCO CORPORATION 2015 ERDAS IMAGINE における処理速度の向上 株式会社ベストシステムズ 本セッションの目的 本セッションでは ERDAS IMAGINEにおける処理速度向上を目的として機器 (SSD 等 ) 及び並列処理の比較 検討を行った 1.SSD 及び RAMDISK を利用した処理速度の検証 2.Condorによる複数 PCを用いた並列処理 2.1 分散並列処理による高速化試験 (ERDAS IMAGINEのCondorを使用した試験

More information

Linkexpress トラブル初期調査資料 採取コマンド使用手引書

Linkexpress トラブル初期調査資料 採取コマンド使用手引書 FUJITSU Software Linkexpress Standard Edition V5.0L15 Linkexpress Enterprise Edition V5.0L15 Linkexpress トラブル初期調査資料採取コマンド使用手引書 Windows/Windows(64) J2X1-2740-14Z0(00) 2014 年 12 月 まえがき 本書の目的 本書は 下記製品でエラーが発生した場合の初期調査資料の採取方法を説明します

More information

memo

memo 数理情報工学演習第一 C プログラミング演習 ( 第 5 回 ) 2015/05/11 DEPARTMENT OF MATHEMATICAL INFORMATICS 1 今日の内容 : プロトタイプ宣言 ヘッダーファイル, プログラムの分割 課題 : 疎行列 2 プロトタイプ宣言 3 C 言語では, 関数や変数は使用する前 ( ソースの上のほう ) に定義されている必要がある. double sub(int

More information

二次元連続動的計画法による知的画像処理システム ImageFileSelector RTC 機能仕様書 ImageFileSelectorRTC Ver.1.0 ( 株 ) 東日本計算センター 1 / 11

二次元連続動的計画法による知的画像処理システム ImageFileSelector RTC 機能仕様書 ImageFileSelectorRTC Ver.1.0 ( 株 ) 東日本計算センター 1 / 11 機能仕様書 ImageFileSelectorRTC Ver.1.0 ( 株 ) 東日本計算センター 1 / 11 改版履歴 Ver 改版日 内容 0.5 2016/02/15 新規作成 0.6 2016/03/1 GUI 釦配置変更 1.0 2016/3/14 初版リリース 2 / 11 目次 目次...3 1. はじめに...4 1.1. 対象読者... 4 1.2. 適応範囲... 4 1.3.

More information

スライド 1

スライド 1 東北大学工学部機械知能 航空工学科 2015 年度 5 セメスター クラス D 計算機工学 6. MIPS の命令と動作 演算 ロード ストア ( 教科書 6.3 節,6.4 節 ) 大学院情報科学研究科鏡慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ レジスタ間の演算命令 (C 言語 ) c = a + b; ( 疑似的な MIPS アセンブリ言語 )

More information

ストリームを用いたコンカレントカーネルプログラミングと最適化 エヌビディアジャパン CUDAエンジニア森野慎也 GTC Japan 2014

ストリームを用いたコンカレントカーネルプログラミングと最適化 エヌビディアジャパン CUDAエンジニア森野慎也 GTC Japan 2014 ストリームを用いたコンカレントカーネルプログラミングと最適化 エヌビディアジャパン CUDAエンジニア森野慎也 GTC Japan 2014 コンカレントな処理の実行 システム内部の複数の処理を 平行に実行する CPU GPU メモリ転送 カーネル実行 複数のカーネル間 ストリーム GPU 上の処理キュー カーネル実行 メモリ転送の並列性 実行順序 DEFAULT STREAM Stream : GPU

More information

Microsoft PowerPoint - OS08.pptx

Microsoft PowerPoint - OS08.pptx この資料は 情報工学レクチャーシリーズ松尾啓志著 ( 森北出版株式会社 ) を用いて授業を行うために 名古屋工業大学松尾啓志 津邑公暁が作成しました 管理 割り当て パワーポイント 27 で最終版として保存しているため 変更はできませんが 授業でお使いなる場合は松尾 (matsuo@nitech.ac.jp) まで連絡いただければ 編集可能なバージョンをお渡しする事も可能です 復習 復習 管理 ユーザに独立した論理アドレス空間を提供

More information

Prog1_12th

Prog1_12th 2013 年 7 月 4 日 ( 木 ) 実施 ファイル処理ファイルとはファイル (file) は日常用語では紙などを綴じたものを表すが, コンピュータ用語ではデータの集合体を指す言葉である ファイルは例えば, 文書ファイルやプログラムファイルのように, 用途によって分類されることもあれば, また, テキストファイルやバイナリファイルのように, ファイルの作り方によって分類されることもある なお,

More information

Microsoft PowerPoint mm2

Microsoft PowerPoint mm2 システムプログラム概論 Memory management 2/2 25/5/6 門林雄基 ( インターネット工学講座 ) 奈良先端科学技術大学院大学 前回 Memory hierarchy Contention and arbitration for memory Virtual memory: software + hardware solution Address translation Physical

More information

多言語ドメイン名の実装 mdnkit 石曽根信 ( 株 ) SRA 2001/12/04 日本語ドメイン名解説 / mdnkit 1 mdnkit 多言語ドメイン名を扱うためのツールキット 正規化 エンコード変換等を提供するライブラリとコマンド 既存アプリケーシ

多言語ドメイン名の実装 mdnkit 石曽根信 ( 株 ) SRA 2001/12/04 日本語ドメイン名解説 / mdnkit 1 mdnkit 多言語ドメイン名を扱うためのツールキット 正規化 エンコード変換等を提供するライブラリとコマンド 既存アプリケーシ 多言語ドメイン名の実装 mdnkit 石曽根信 ( 株 ) SRA ishisone@sra.co.jp 2001/12/04 日本語ドメイン名解説 / mdnkit 1 mdnkit 多言語ドメイン名を扱うためのツールキット 正規化 エンコード変換等を提供するライブラリとコマンド 既存アプリケーションを多言語ドメイン対応させるためのツール群 フリーソフトウェア 2001/12/04 日本語ドメイン名解説

More information

RH850の割り込み/例外実現方法 CC-RHアプリケーションガイド

RH850の割り込み/例外実現方法 CC-RHアプリケーションガイド RH850の割り込み / 例外実現方法 CC-RH アプリケーションガイド R20UT3546JJ0101 2018.10.12 ソフトウェア開発統括部 ソフトウェア技術部ルネサスエレクトロニクス株式会社 アジェンダ 概要ページ 03 割り込み / 例外発生時に実行する関数の定義ページ 10 直接ベクタ方式のベクタの定義ページ 17 テーブル参照方式のベクタの定義ページ 25 その他 割り込み制御ページ

More information

CoIDE 用 F4D_VCP の説明 V /07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x

CoIDE 用 F4D_VCP の説明 V /07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x CoIDE 用 F4D_VCP の説明 V001 2014/07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x08000000 です デバッグが可能です 目次 1. USB の VCP( 仮想 COM ポート )

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 仮想マシン () 仮想マシン 復習 仮想マシンの概要 hsm 仮想マシン プログラム言語の処理系 ( コンパイラ ) 原始プログラム (Source program) コンパイラ (Compiler) 目的プログラム (Object code) 原始言語 (Source language) 解析 合成 目的言語 (Object Language) コンパイルする / 翻訳する (to compile

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 高性能計算基盤 第 7 回 CA1003: 主記憶共有型システム http://arch.naist.jp/htdocs-arch3/ppt/ca1003/ca1003j.pdf Copyright 2019 奈良先端大中島康彦 1 2 3 4 マルチスレッディングとマルチコア 5 6 7 主記憶空間の数が 複数 か 1 つ か 8 ただしプログラムは容易 9 1 つの主記憶空間を共有する場合 10

More information

CプログラミングI

CプログラミングI C プログラミング I Swap 関数を作る Stack データ構造のための準備 整数変数 x と y の値を取り替える関数 swap を作る 最初の試み : swap-01.c #include void swap(int a, int b) { int tmp; tmp = a; a = b; b = tmp; int main(void) { int x=10, y=30;

More information

スライド 1

スライド 1 知能制御システム学 画像処理の高速化 OpenCV による基礎的な例 東北大学大学院情報科学研究科鏡慎吾 swk(at)ic.is.tohoku.ac.jp 2007.07.03 リアルタイム処理と高速化 リアルタイム = 高速 ではない 目標となる時間制約が定められているのがリアルタイム処理である.34 ms かかった処理が 33 ms に縮んだだけでも, それによって与えられた時間制約が満たされるのであれば,

More information

動機 もう6学期だし真面目に勉強しようと思った 真面目に授業聞いてみたけどよくわからなかった Amazonみてたら OS自作 という文字列を発見 話し聞いてもよくわからないしもはや自分で作っちゃえばいいんじゃない 駒場祭付近暇だしそこで 一気に作っちゃおう

動機 もう6学期だし真面目に勉強しようと思った 真面目に授業聞いてみたけどよくわからなかった Amazonみてたら OS自作 という文字列を発見 話し聞いてもよくわからないしもはや自分で作っちゃえばいいんじゃない 駒場祭付近暇だしそこで 一気に作っちゃおう OSがあまりにわからなかったからとり あえず自分でOSつくっちゃった話 03-150508 野上和加奈 動機 もう6学期だし真面目に勉強しようと思った 真面目に授業聞いてみたけどよくわからなかった Amazonみてたら OS自作 という文字列を発見 話し聞いてもよくわからないしもはや自分で作っちゃえばいいんじゃない 駒場祭付近暇だしそこで 一気に作っちゃおう 0 step 本選び OS自作についての本はいくつかあった

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 仮想マシン (2), コード生成 http://cis.k.hosei.ac.jp/~asasaki /lect/compiler/2007-1204.pdf ( 訂正版 ) 1 概要 仮想マシン 概要 ( 復習 ) 制御命令 出力命令 コード生成 式のコード生成 文 文の列のコード生成 記号表 2 演習で作るコンパイラの例 test.hcc Int main() { int i j; i = 3;

More information

Microsoft PowerPoint - No15›¼‚z‰L›¯.ppt

Microsoft PowerPoint - No15›¼‚z‰L›¯.ppt メモリ アーキテクチャ 3 仮想記憶 計算機アーキテクチャ ( 第 15 回目 ) 今井慈郎 (imai@eng.kagawa-u.ac.jp) 仮想記憶とは コンピュータ上に実装されている主記憶よりも大きな記憶領域を仮想的に提供する仕組み メモリ空間の一部をハードディスク装置等の大容量外部記憶にマッピングし実装したメモリ量以上のメモリ空間を利用できる環境をユーザに提供 実装したメモリ : 実記憶

More information

生成された C コードの理解 コメント元になった MATLAB コードを C コード内にコメントとして追加しておくと その C コードの由来をより簡単に理解できることがよくありま [ 詳細設定 ] [ コード外観 ] を選択 C コードのカスタマイズ より効率的な C コードを生成するベストプラクテ

生成された C コードの理解 コメント元になった MATLAB コードを C コード内にコメントとして追加しておくと その C コードの由来をより簡単に理解できることがよくありま [ 詳細設定 ] [ コード外観 ] を選択 C コードのカスタマイズ より効率的な C コードを生成するベストプラクテ MATLAB コードを使用した C コードの生成クイックスタートガイド (R2012a) 最初のスタンドアロン C コードの生成 スタンドアロン C コードを生成するには MATLAB Coder のペインを [ ビルド ] に切り替えて [C/C++ スタティックライブラリ ] [C/C++ ダイナミックライブラリ ] または [C/C++ 実行ファイル ] のいずれかを選択しま MATLAB Coder

More information

Troubleshooting SSH connections with Reflection X

Troubleshooting SSH connections with Reflection X Reflection X の SSH 接続のトラブルシューティング 最終改訂日 : 2011 年 3 月 31 日注意 : 最新の情報は まず 英語版の技術ノート 1814 ( 英語 ) で公開されます 英語版の最終改訂日がこの版の最終改訂日よりも後である場合は 英語版に新しい情報が含まれている可能性があります 適用対象 Reflection X 2011 Reflection Suite for

More information

Microsoft PowerPoint - 06.pptx

Microsoft PowerPoint - 06.pptx アルゴリズムとデータ構造第 6 回 : 探索問題に対応するデータ構造 (2) 担当 : 上原隆平 (uehara) 2015/04/22 内容 スタック (stack): 最後に追加されたデータが最初に取り出される 待ち行列 / キュー (queue): 最初に追加されたデータが最初に取り出される ヒープ (heap): 蓄えられたデータのうち小さいものから順に取り出される 配列による実装 連結リストによる実装

More information

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ arduino プログラミング課題集 ( Ver.5.0 2017/06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイコンから伝える 外部装置の状態をマイコンで確認する 信号の授受は 入出力ポート 経由で行う (2) 入出力ポートとは?

More information

POSIXスレッド

POSIXスレッド POSIX スレッド (3) システムプログラミング 2011 年 11 月 7 日 建部修見 同期の戦略 単一大域ロック スレッドセーフ関数 構造的コードロッキング 構造的データロッキング ロックとモジュラリティ デッドロック 単一大域ロック (single global lock) 単一のアプリケーションワイドの mutex スレッドが実行するときに獲得, ブロックする前にリリース どのタイミングでも一つのスレッドが共有データをアクセスする

More information

Microsoft PowerPoint - os ppt [互換モード]

Microsoft PowerPoint - os ppt [互換モード] 4. メモリ管理 (1) 概要メモリ管理の必要性静的メモリ管理と動的メモリ管理スワッピング, 仮想記憶ページングとセグメンテーション 2008/5/ 20 メモリ管理 (1) 1 メモリはコンピュータの 5 大構成要素 装置 ( キーボード, マウス ) CPU ( 中央演算装置 ) 出 装置 ( モニタ, プリンタ ) 主記憶装置 ( メインメモリ ) 外部記憶装置 (HDD) 2008/5/ 20

More information

UIOUSBCOM.DLLコマンドリファレンス

UIOUSBCOM.DLLコマンドリファレンス UIOUSBCOM.DLL UIOUSBCOM.DLL Command Reference Rev A.1.0 2008/11/24 オールブルーシステム (All Blue System) ウェブページ : www.allbluesystem.com コンタクト :contact@allbluesystem.com 1 このマニュアルについて...3 1.1 著作権および登録商標...3 1.2

More information

1. USB の VCP( 仮想 COM ポート ) について USB の VCP( 仮想 COM ポート ) は USB を非同期シリアル通信として使用するための USB のドライバです PC には VCP ドライバをインストールする必要があります USB の VCP( 仮想 COM ポート )

1. USB の VCP( 仮想 COM ポート ) について USB の VCP( 仮想 COM ポート ) は USB を非同期シリアル通信として使用するための USB のドライバです PC には VCP ドライバをインストールする必要があります USB の VCP( 仮想 COM ポート ) TrueSTUDIO 用 F4D_VCP の説明 V001 2014/07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです 無料の試用版開発ツール Atollic TrueSTUDIO for ARM Lite で作成したプロジェクトです ビルド可能なプログラムのコードサイズが 32Kbyte 以内の制限があります プログラムの開始番地は 0x08000000

More information

Operating System プロセスのスケジューリング

Operating System プロセスのスケジューリング Operating System プロセスのスケジューリング 2015-06 1 プロセスとは ( 復習 ) p プロセス (process) とは n 起動して 実行中 のプログラム n コンピュータの中で 動いているもの (CPU を使っているもの ) n タスク (task) ともいう p OS によるプロセスの管理 n プロセスの生成 ( プログラムの開始とメモリ確保 ) n プロセスの消滅

More information

Microsoft Word - 中間試験 その1_解答例.doc

Microsoft Word - 中間試験 その1_解答例.doc 問題 1.C 言語 情報技術 Ⅱ 前半中間試験 次の宣言をしている時 以下の問いに答えよ unsigned char moji_1; struct Kouzou { unsigned char code; unsigned char str[10]; }; struct Kouzou mk[3]; 明星大学情報学科 3 年後期 情報技術 Ⅱ 中間試験その 1 Page 1 1-1. 各値を求めよ (1)sizeof(

More information

CLUSTERPRO MC ProcessSaver 1.2 for Windows 導入ガイド 第 4 版 2014 年 3 月 日本電気株式会社

CLUSTERPRO MC ProcessSaver 1.2 for Windows 導入ガイド 第 4 版 2014 年 3 月 日本電気株式会社 CLUSTERPRO MC ProcessSaver 1.2 for Windows 導入ガイド 第 4 版 2014 年 3 月 日本電気株式会社 目次 はじめに 本製品のねらい こんな障害が発生したら 導入効果 適用例 1 適用例 2 ProcessSaver 機能紹介 ProcessSaver とは? 消滅監視の概要 運用管理製品との連携 システム要件 製品価格 保守 / サービス関連情報 購入時のご注意

More information

Microsoft PowerPoint - OpenMP入門.pptx

Microsoft PowerPoint - OpenMP入門.pptx OpenMP 入門 須田礼仁 2009/10/30 初版 OpenMP 共有メモリ並列処理の標準化 API http://openmp.org/ 最新版は 30 3.0 バージョンによる違いはあまり大きくない サポートしているバージョンはともかく csp で動きます gcc も対応しています やっぱり SPMD Single Program Multiple Data プログラム #pragma omp

More information

TopSE並行システム はじめに

TopSE並行システム はじめに はじめに 平成 23 年 9 月 1 日 トップエスイープロジェクト 磯部祥尚 ( 産業技術総合研究所 ) 2 本講座の背景と目標 背景 : マルチコア CPU やクラウドコンピューティング等 並列 / 分散処理環境が身近なものになっている 複数のプロセス ( プログラム ) を同時に実行可能 通信等により複数のプロセスが協調可能 並行システムの構築 並行システム 通信 Proc2 プロセス ( プログラム

More information