04-process_thread_2.ppt
|
|
|
- こうじ いいはた
- 6 years ago
- Views:
Transcription
1 オペレーティングシステム ~ 保護とシステムコール ~ 山田浩史 cc.tuat.ac.jp 2015/05/08 復習 : OS の目的 ( 今回の話題 ) 裸のコンピュータを抽象化 (abstraction) し より使いやすく安全なコンピュータとして見せること OS はハードウェアを制御し アプリケーションの効率的な動作や容易な開発を支援する OS がないと 1 つしかプログラムが動作しない 複数のプログラムを動作させようとすると アプリ側でプログラムを切り替えるコードを記述する必要がある ( 超大変 ) 今回の話題 Word Thunder Chrome bird アプリケーションオペレーティングシステム Database CPU メモリ I/O デバイス ( ディスク等 ) 1
2 復習 : プロセス 実行状態にあるプログラムのこと プログラムの実行に必要なものをひっくるめて指す テキスト領域 データ領域 スタック領域 CPU のレジスタ値 プログラムカウンタ など OS はプロセス単位で管理する メモリ Hard Disk CPU プロセス execute Excel load EXCEL.EXE プログラム プロセスの何がうれしいの? CPU が複数あるように見える プロセスを切り替えながら実行していく OS の核となる部分をカーネル (kernel) と呼んだりする コンテキストスイッチをしながらプロセスを動作させる コンテキストスイッチ : 実行を別のプロセスに切り替えること 物理的に 存在する CPU 仮想 CPU レジスタ メモリ イメージ OS(kernel) Excel プロセス A レジスタ Excel プロセス B OS による抽象化 IE プロセス C 2
3 AGENDA OS の保護 実行モード 特権命令 システムコール スレッド (Thread) システムの保護 (protection) もしプロセスがバグって暴走 or ユーザに悪意があったら OS のデータ構造を参照 変更してしまう 保存されたレジスタに重要なデータ ( パスワード ) があるかも 他のプロセスのレジスタ値を変更されると正しく実行できない デバイスに直接アクセスできてしまう 他プロセスが保存したファイルを容易に上書きできる デバイスを変な状態のままにできちゃう OS 内の関数をむちゃくちゃ呼ぶ めったやたらにコンテキストスイッチをするシステムを 保護 (protection) する必要がある 保護がないと自由に OS にアクセスできてしまう メモリ イメージ OS プロセス A Excel プロセス B IE 3
4 Question どーやってシステムを保護するの? CPU にサポートしてもらう CPU の実行モード 特権モード (Kernel(Supervisor) mode) OS カーネルを実行するためのモード 特権モードでしか実行できない命令を実行できる 制御レジスタへのアクセス等 特権モードでしか参照 変更できないメモリを参照 変更できる 特権メモリ : OS がある領域等 割り込みが生じたら特権モードに切り替わる OS カーネルの割り込みハンドラが実行されるため 非特権モード (User mode) 通常のプロセスを実行するためのモード 特権命令を実行できない 特権メモリにアクセスできない 4
5 実行モードを使うと OS が動作するとき : 特権モード OS 開発者のコードが動く 一般人の書いたコードは動作しない プロセスが動作するとき : 非特権モード 一般人の記述したコードが動く バグったコード or ウィルスが動作する可能性 考え方 : OS はプロセスを信頼していない 特権モードで動作 非特権モードで動作 メモリ イメージ OS(kernel) Excel IE OS 自身の参照は O.K. プロセスから OS への参照は不可 OS のアクセスは O.K. HDD プロセスから直接 HDD へのアクセスは不可 特権命令 (Privileged instructions) OS 以外に実行されては困る命令 特殊なレジスタにデータを書き込む命令 例 1: 割り込みベクタの先頭番地を保持するレジスタへの書き込み 一般ユーザがこのレジスタ値を書き換え可能だと不正な割り込みハンドラを登録されてしまう x86 では LIDTR 例 2: プロセスが使用してよいメモリ領域を指定するレジスタへの書き込み 一般ユーザがこのレジスタ値を書き換え可能だとメモリの他プロセスにアクセスできてしまう 詳しくは 仮想記憶 の回で説明する I/O デバイスを操作するための命令 I/O ポートにアクセスする命令 x86 では IN, OUT 非特権モードで発行するとソフトウェア割り込みが生じる 5
6 I/O デバイスを使用するには 非特権モードでは I/O デバイスにアクセスできない I/O デバイスへのアクセスは OS の仕事 どう OS カーネルにお願いするか 切り替えるための命令を用意してみよう! change_to_supervisor という CPU 命令を用意する ユーザプロセスのコード /* user mode で実行中 */ /* Supervisor mode に切り替え */ change_to_supervisor /* kernel mode で実行 */ 特権命令が実行できる /* ここは kernel code ではない */ /* ここがバグってる or 悪意のあるコードだったら終わり */ システムコール (System Call) プロセスが OS に処理を依頼する窓口 ライブラリのように使える OS でなければできないことを実現してくれる I/O デバイスへの処理依頼等 例 : ファイルへのアクセスを行うもの open(),read(),write() など プロセスの生成 終了を行うもの fork(),exec(),kill() など 他にもたくさんある Linux 4.0 では 300 個以上 6
7 システムコール呼び出しの仕組み ソフトウェア割り込みを使って呼び出す 1. 呼び出すシステムコール番号, 引数をレジスタに入れる 2. ソフトウェア割り込みを実行する 3. 割り込みハンドラが呼び出される 4. 割り込みハンドラは, システムコール番号に従って適切なコードを実行 process user mode sysenter ( ソフトウェア割込み ) レジスタに システムコール番号 引数を入れておく ライブラリを呼び出すのとは違う printf() { call ( 関数呼び出し ) kernel mode 割込みハンドラ fork() { open() { close() { システムコール : read() の流れ read() を呼び出すと 1. OS に制御が渡り, ディスクにリクエストを発行 2. データが到着したら,OS がプロセスのメモリ領域にコピー 3. 制御をプロセスに返す 特権モード プロセス A read() 非特権モード OS システムコールを呼び出し実行モードを切り替える ディスクからのデータを取得. プロセス A に渡す ディスクにデータをリクエスト プロセス B プロセス B にコンテキストスイッチ 割り込み 割り込みハンドラへ 時間 7
8 システムコール v.s. ライブラリ関数 呼び出し方が違う システムコール : ソフトウェア割り込み ライブラリ関数 : call 命令 システムコールの方が呼び出しのオーバヘッドが大きい ソフトウェア割り込みは数十 百数十サイクルかかる ほとんどの命令は 1 サイクルで実行可能 CPU を高速化するための諸機能との相性が悪い パイプラインのフラッシュなど ライブラリ関数はシステムコールをうまく呼び出しているものが多い fread() など スレッド (Thread) プロセス内での並行処理を可能にする プログラムカウンタの流れを線で書いたイメージ 仮想 CPU = スレッド 従来のプロセスの考え方 ひとつのプロセスにひとつの仮想 CPU スレッドの考え方 ひとつのプロセスに複数の仮想 CPU 処理の流れを線で書くイメージ プロセス プロセス 普通のプロセスでは処理の流れはひとつ 同一のプロセス内で処理の流れをたくさん作ることもできる 8
9 スレッドのイメージ ひとつのプロセスが複数の仮想 CPU を持つ 仮想 CPU レジスタ メモリ イメージ OS(kernel) 物理的に 存在する CPU thread プロセス A レジスタ スタック スタック thread OS による抽象化 スタック thread プロセス B スレッドとプロセスの構成要素 スレッドの構成要素 スタック, レジスタ,PC プロセスの構成要素 最低 1 つのスレッドと, メモリ領域, プロセス制御ブロック 1 スレッドのプロセス複数スレッドのプロセス text data PCB text data PCB registers stack registers registers registers stack stack stack 9
10 スレッドの何がうれしいの? メモリを共有しながら並行処理が可能になる アプリケーションを作る上では非常に便利 例 1: Web ブラウザ 描画スレッド, データ受信スレッド, 入力受付スレッド,etc. スレッドではなくプロセスで作ると データを受信したら描画プロセスに情報を伝搬しないといけない 例 2: ワード 描画スレッド, 入力受付スレッド,etc. スレッドではなくプロセスで作ると 入力を受け付けたら描画プロセスにそれを通知しないといけない カーネルスレッドとユーザスレッド カーネルスレッド OS カーネル内に作られる OS によって管理される 利点 : 1 つの thread がブロックしても他 thread は動作可能 欠点 : 生成 管理が遅い ユーザスレッド ユーザプロセス内で作られる プロセスによって管理される 利点 : 生成 管理が早い 欠点 : 1 つの thread がブロックすると全体がブロック user mode user mode kernel mode OS はカーネルスレッド単位で CPU 時間を与える kernel mode 10
11 Linux におけるマルチスレッドプログラミング ふたつのスレッド A, B を作るプログラム例 #include <pthread.h> /* */ void *threada(void *arg) { for (;;) printf( Thread A\n ); /* A */ void *threadb(void *arg) { for (;;) printf( Thread B\n ); /* B */ int main() { pthread_t a, b; /* */ /* A, B */ pthread_create(&a, NULL, threada, NULL); pthread_create(&b, NULL, threadb, NULL); /* */ pthread_join(a, NULL); pthread_join(b, NULL); pthread_join(), pthread_create() スレッドを作る関数 pthread_create(pthread_t *thread, pthread_attr_t *attr, void *(*start_routine)(void)) void *arg thread: 新しく作ったスレッドを表す変数へのポインタ attr: スレッドの属性を決める start_routine: スレッドが実行する関数へのポインタ arg: start_routine() に渡す引数 スレッドの終了を待つ関数 pthread_join(pthread_t thread, void **thread_return) thread で指定したスレッドの終了を待つ 指定したスレッドが返す値が thread_return に格納される 11
12 まとめ OS の保護 スレッドについて学んだ 実行モード 特権命令 システムコール プロセスとスレッドの違い 12
スライド 1
1 システムコールフックを使用した攻撃検出 株式会社フォティーンフォティー技術研究所 http://www.fourteenforty.jp 取締役技術担当金居良治 2 お題目 System Call について System Call Protection System Call Hook 考察 3 System Call とは? ユーザアプリケーションからカーネルのサービスルーチンを呼び出す Disk
POSIXプログラミング Pthreads編
POSIXプログラミング Pthreads 編 デジタルビジョンソリューション 中山一弘佐藤史明 参考図書 Pthreads プログラミング, Bradford Nichols, Dick Buttlar, Jacqeline Proulx Farrell, ISBN4-900900-66-4 Pthreads POSIX スレッド標準を実装したライブラリを Pthreads と呼ぶ C 言語のデータ型
Microsoft PowerPoint - OS07.pptx
この資料は 情報工学レクチャーシリーズ松尾啓志著 ( 森北出版株式会社 ) を用いて授業を行うために 名古屋工業大学松尾啓志 津邑公暁が作成しました 主記憶管理 主記憶管理基礎 パワーポイント 27 で最終版として保存しているため 変更はできませんが 授業でお使いなる場合は松尾 ([email protected]) まで連絡いただければ 編集可能なバージョンをお渡しする事も可能です 復習 OS
TFTP serverの実装
TFTP サーバーの実装 デジタルビジョンソリューション 佐藤史明 1 1 プレゼンのテーマ組み込みソフトのファイル転送を容易に 2 3 4 5 基礎知識 TFTP とは 実践 1 実際に作ってみよう 実践 2 組み込みソフトでの実装案 最後におさらい 2 プレゼンのテーマ 組み込みソフトのファイル転送を容易に テーマ選択の理由 現在従事しているプロジェクトで お客様からファームウェアなどのファイル転送を独自方式からTFTPに変更したいと要望があった
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 進演算 ( 数の表現 ) 演算アーキテクチャ ( 演算アルゴリズムと回路
Microsoft PowerPoint - kougi7.ppt
到達目標 スーパバイザモード, 特権命令, 割り込み CPU の割り込みメカニズム 割り込みの種類ごとに, 所定の例外処理が呼び出される スーパーバイザモードに, 自動的に切り替わる 割り込み終了後に 元のモード に戻る ハードウエア割り込みについて 割り込み禁止 割り込み発生時の CPU の挙動 現在の処理を中断 例外処理用のプログラム ( ハンドラともいう ) が起動される プログラム実行の流れ
PowerPoint プレゼンテーション
プログラミング応用演習 第 4 回再帰的構造体 プログラミングを 余談 : 教えることの難しさ 丁寧に説明しないと分かってもらえない 説明すると 小難しくなる学生が目指すべきところプログラム例を説明されて理解できる違うやり方でも良いので自力で解決できる おっけー 動けば良い という意識でプログラミング 正しく動くことのチェックは必要 解答例と自分のやり方との比較が勉強になる 今日のお題 再帰的構造体
PowerPoint プレゼンテーション
講座準備 講座資料は次の URL から DL 可能 https://goo.gl/jnrfth 1 ポインタ講座 2017/01/06,09 fumi 2 はじめに ポインタはC 言語において理解が難しいとされる そのポインタを理解することを目的とする 講座は1 日で行うので 詳しいことは調べること 3 はじめに みなさん復習はしましたか? 4 & 演算子 & 演算子を使うと 変数のアドレスが得られる
C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ
C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 今回のプログラミングの課題 次のステップによって 徐々に難易度の高いプログラムを作成する ( 参照用の番号は よくわかる C 言語 のページ番号 ) 1. キーボード入力された整数 10 個の中から最大のものを答える 2. 整数を要素とする配列 (p.57-59) に初期値を与えておき
MMUなしプロセッサ用Linuxの共有ライブラリ機構
MMU なしプロセッサ用 Linux の共有ライブラリ機構 大谷浩司 高岡正 近藤政雄 臼田尚志株式会社アックス はじめに μclinux には 仮想メモリ機構がないので共有ライブラリ機構が使えない でもメモリ消費抑制 ストレージ消費抑制 保守性の向上のためには 欲しい 幾つかの実装があるが CPU ライセンス 機能の制限のためにそのまま利用できない RidgeRun 社 (Cadenux 社 )
数はファイル内のどの関数からでも参照できるので便利ではありますが 変数の衝突が起こったり ファイル内のどこで値が書き換えられたかわかりづらくなったりなどの欠点があります 複数の関数で変数を共有する時は出来るだけ引数を使うようにし グローバル変数は プログラムの全体の状態を表すものなど最低限のものに留
第 10 章分割コンパイル 1 ソースを分割する今まで出てきたソースは全て一つのソースファイルにソースを記述してきました しかし ソースが長くなっていくと全てを一つのファイルに書くと読みづらくなります そこで ソースを複数のファイルに分割してコンパイルを行う分割コンパイルをします 今章は章名にもなっている 分割コンパイルの方法についてやります 分割コンパイルする時は大抵 関連性のある機能ごとにファイルにまとめます
スレッドとプロセス
スレッドとプロセス 本題 : スケジューリング 田浦健次朗 スレッド プロセスの目的 CPU を仮想化 物理的な CPU 数は固定, 少数 ラップトップ, スマホ : 1, 2, 4, 8 くらい サーバ : 数十 ポイント : にもかかわらず数十, 数百のプログラムを立ち上げることができる 個々のプログラムを書く人が明示的な 譲り合い をする必要はない スレッドとは? 制御の流れ (thread
Microsoft PowerPoint - 09.pptx
情報処理 Ⅱ 第 9 回 2014 年 12 月 22 日 ( 月 ) 関数とは なぜ関数 関数の分類 自作関数 : 自分で定義する. ユーザ関数 ユーザ定義関数 などともいう. 本日のテーマ ライブラリ関数 : 出来合いのもの.printf など. なぜ関数を定義するのか? 処理を共通化 ( 一般化 ) する プログラムの見通しをよくする 機能分割 ( モジュール化, 再利用 ) 責任 ( あるいは不具合の発生源
型名 RF007 ラジオコミュニケーションテスタ Radio Communication Tester ソフトウェア開発キット マニュアル アールエフネットワーク株式会社 RFnetworks Corporation RF007SDK-M001 RF007SDK-M001 参考資料 1
型名 RF007 ラジオコミュニケーションテスタ Radio Communication Tester ソフトウェア開発キット マニュアル アールエフネットワーク株式会社 RFnetworks Corporation RF007SDK-M001 RF007SDK-M001 参考資料 1 第 1 章製品概要本開発キットは RF007 ラジオコミュニケーションテスタ ( 本器 ) を使用したソフトウェアを開発するためのライブラリソフトウェアです
プログラミング実習I
プログラミング実習 I 05 関数 (1) 人間システム工学科井村誠孝 [email protected] 関数とは p.162 数学的には入力に対して出力が決まるもの C 言語では入出力が定まったひとまとまりの処理 入力や出力はあるときもないときもある main() も関数の一種 何かの仕事をこなしてくれる魔法のブラックボックス 例 : printf() 関数中で行われている処理の詳細を使う側は知らないが,
計算機アーキテクチャ
計算機アーキテクチャ 第 11 回命令実行の流れ 2014 年 6 月 20 日 電気情報工学科 田島孝治 1 授業スケジュール ( 前期 ) 2 回日付タイトル 1 4/7 コンピュータ技術の歴史と コンピュータアーキテクチャ 2 4/14 ノイマン型コンピュータ 3 4/21 コンピュータのハードウェア 4 4/28 数と文字の表現 5 5/12 固定小数点数と浮動小数点表現 6 5/19 計算アーキテクチャ
今週の進捗
Virtualize APIC access による APIC フック手法 立命館大学富田崇詠, 明田修平, 瀧本栄二, 毛利公一 2016/11/30 1 はじめに (1/2) マルウェアの脅威が問題となっている 2015年に4 億 3000 万以上の検体が新たに発見されている マルウェア対策にはマルウェアが持つ機能 挙動の正確な解析が重要 マルウェア動的解析システム : Alkanet 仮想計算機モニタのBitVisorの拡張機能として動作
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
今さら聞けない!? Oracle入門 ~後編~
Oracle Direct Seminar 今さら聞けない!? Oracle 入門 ~ 後編 ~ 日本オラクル株式会社 Agenda 1. Oracle の基本動作 2. Oracle のファイル群 3. Oracle のプロセス群と専用メモリ領域. データベース内部動作 今さら聞けない!? オラクル入門 ~ 後編 ~. データベース内部動作 検索時の動作更新時の動作バックアップについて
命令セットの構成例 a) 算術 演算命令 例 )ADD dest, source : dest dest + source SUB dest, source : dest dest - source AND dest, source : dest dest AND source SHR reg, c
第 11 回機械語とアーキテクチャ コンピュータは, 記号で組み立てられ, 記号で動く機械 : ソフトウェアソフトウェア としても理解されなければならない ソフトウェアの最も下位レベルのしくみが ( 命令セット ) アーキテクチャ である 講義では命令符号 ( 機械語 ) の構成と種類についてまとめる また, 機械語を効率良く実行するために採用されている技術について紹介する 機械語とアセンブリ言語
バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科
バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科 ポインタ変数の扱い方 1 ポインタ変数の宣言 int *p; double *q; 2 ポインタ変数へのアドレスの代入 int *p; と宣言した時,p がポインタ変数 int x; と普通に宣言した変数に対して, p = &x; は x のアドレスのポインタ変数 p への代入 ポインタ変数の扱い方 3 間接参照 (
Microsoft PowerPoint - OS08.pptx
この資料は 情報工学レクチャーシリーズ松尾啓志著 ( 森北出版株式会社 ) を用いて授業を行うために 名古屋工業大学松尾啓志 津邑公暁が作成しました 管理 割り当て パワーポイント 27 で最終版として保存しているため 変更はできませんが 授業でお使いなる場合は松尾 ([email protected]) まで連絡いただければ 編集可能なバージョンをお渡しする事も可能です 復習 復習 管理 ユーザに独立した論理アドレス空間を提供
Microsoft PowerPoint ppt
基礎演習 3 C 言語の基礎 (5) 第 05 回 (20 年 07 月 07 日 ) メモリとポインタの概念 ビットとバイト 計算機内部では データは2 進数で保存している 計算機は メモリにデータを蓄えている bit 1bit 0 もしくは 1 のどちらかを保存 byte 1byte 1bitが8つ集まっている byte が メモリの基本単位として使用される メモリとアドレス メモリは 1byte
今回のプログラミングの課題 ( 前回の課題で取り上げた )data.txt の要素をソートして sorted.txt というファイルに書出す ソート (sort) とは : 数の場合 小さいものから大きなもの ( 昇順 ) もしくは 大きなものから小さなもの ( 降順 ) になるよう 並び替えること
C プログラミング演習 1( 再 ) 4 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 今回のプログラミングの課題 ( 前回の課題で取り上げた )data.txt の要素をソートして sorted.txt というファイルに書出す ソート (sort) とは : 数の場合 小さいものから大きなもの ( 昇順 ) もしくは 大きなものから小さなもの ( 降順
1. プログラム実行時の動作プログラムを実行すると以下のように動作します 1) NUCLEO-F401RE 上の LED LD2( 緑 ) が 200mSec 間隔で点滅します 2. プロジェクトの構成 2.1. プロジェクト F401N_BlinkLD2 の起動画面 TrueSTUDIO で作成し
TrueSTUDIO 用 F401N_BlinkLD2 の説明 V003 2014/10/01 TIM11 の割り込みを使用して LED 点滅を行う NUCLEO-F401RE のプロジェクトサンプルです NUCLEO-F401RE は STMicroelectronics 社製の Cortex-M4 ARM CPU である STM32F401RET6 を搭載した基板です 試用版の開発ツール Atollic
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 ポート )
ex05_2012.pptx
2012 年度計算機システム演習第 5 回 2012.05.25 高水準言語 (C 言語 ) アセンブリ言語 (MIPS) 機械語 (MIPS) コンパイラ アセンブラ 今日の内容 サブルーチンの実装 Outline } ジャンプ 分岐命令 } j, jr, jal } レジスタ衝突 回避 } caller-save } callee-save 分岐命令 ( 復習 ) } j label } Jump
/*Source.cpp*/ #include<stdio.h> //printf はここでインクルードして初めて使えるようになる // ここで関数 average を定義 3 つの整数の平均値を返す double 型の関数です double average(int a,int b,int c){
ソフトゼミ A 第 6 回 関数 プログラムは関数の組み合わせでできています 今までのゼミAでも printf や scanf など様々な関数を使ってきましたが なんと関数は自分で作ることもできるのです!! 今日は自作関数を中心に扱っていきます ゲーム制作でも自作関数は避けては通れないので頑張りましょう そもそもまず 関数とは 基本的には 受け取った値に関数によって定められた操作をして その結果の値を返す
スレッド
POSIX スレッド (1) システムプログラミング 2009 年 10 月 19 日 建部修見 組込機器における並行処理 GUI における反応性向上 ダイナミックな Wait カーソル 各イベントを別制御で実行 Auto save 機能 サーバの反応性向上 各リクエストを別制御で実行 マルチコア マルチプロセッサでの並列実行 スレッドとは? プロセス内の * 独立した * プログラム実行 同一プロセス
PowerPoint プレゼンテーション
部内向けスキルアップ研修 組込み OS 自作入門 2014 年 2 月 10st ステップ担当 : 中村 目次 はじめに OSの役割 メモリ管理 メモリ管理実装 プログラムの実行 まとめ はじめに 前回やったこと OS の原型を作成 今回やること 9th ステップでは CPU 時間 という資源管理 本ステップでは メモリ という資源管理 10.1 OS の役割 10.1.1 コンピュータの 3 大要素
PowerPoint Presentation
Armv8-M セキュアマイコンプログラミングテクニック 技術チーム / 殿下 信二 このセッションの目的 Armv8-M セキュアマイコンの使い方の基礎を学ぶ Cortex-M マイコンと Armv8-M セキュアマイコンの違い 簡単です Armv8-M セキュアマイコンプログラミング なぜセキュアマイコンが必要ですか? 製品が偽造 模造 過剰生産されるリスクの低減 IoT 製品のメリット ( コネクティビティ
Microsoft PowerPoint ppt
仮想マシン () 仮想マシン 復習 仮想マシンの概要 hsm 仮想マシン プログラム言語の処理系 ( コンパイラ ) 原始プログラム (Source program) コンパイラ (Compiler) 目的プログラム (Object code) 原始言語 (Source language) 解析 合成 目的言語 (Object Language) コンパイルする / 翻訳する (to compile
スライド 1
RX62N 周辺機能紹介データフラッシュ データ格納用フラッシュメモリ ルネサスエレクトロニクス株式会社ルネサス半導体トレーニングセンター 2013/08/02 Rev. 1.00 00000-A コンテンツ データフラッシュの概要 プログラムサンプル 消去方法 書き込み方法 読み出し方法 FCUのリセット プログラムサンプルのカスタマイズ 2 データフラッシュの概要 3 データフラッシュとは フラッシュメモリ
memo
数理情報工学演習第一 C プログラミング演習 ( 第 5 回 ) 2015/05/11 DEPARTMENT OF MATHEMATICAL INFORMATICS 1 今日の内容 : プロトタイプ宣言 ヘッダーファイル, プログラムの分割 課題 : 疎行列 2 プロトタイプ宣言 3 C 言語では, 関数や変数は使用する前 ( ソースの上のほう ) に定義されている必要がある. double sub(int
RH850の割り込み/例外実現方法 CC-RHアプリケーションガイド
RH850の割り込み / 例外実現方法 CC-RH アプリケーションガイド R20UT3546JJ0101 2018.10.12 ソフトウェア開発統括部 ソフトウェア技術部ルネサスエレクトロニクス株式会社 アジェンダ 概要ページ 03 割り込み / 例外発生時に実行する関数の定義ページ 10 直接ベクタ方式のベクタの定義ページ 17 テーブル参照方式のベクタの定義ページ 25 その他 割り込み制御ページ
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
Arduino をドリトルから 制御する教材の試行 鈴木裕貴 1
Arduino をドリトルから 制御する教材の試行 鈴木裕貴 1 目次 1. はじめに 1.1. 背景と目的 1.2. ScratchとViscuit 1.3. ドリトル 2. 準備 2.1. ArduinoとRaspberry Pi 3. 演習内容 3.1. ドリトル 3.2. 指導内容例 4. まとめ 2 1. はじめに ( 背景 ) 原理 理解 活用社会 3 1. はじめに ( 背景 ) 原理
1. 使用する信号 1.1. UART 信号 UART 通信に使用する信号と接続相手との接続は以下の通りです UART 信号表 番号 CPU 機能名 CPU 信号名 基板コネクタピン番号 方向 接続相手の信号名 1 USART1_TX PA9 CN > RxD 2 USART1_R
TrueSTUDIO 用 L152CD_UART1 の説明 V001 2014/10/22 UART( 非同期シリアル通信 ) で送受信を行う STM32L152C-DISCO のプロジェクトサンプルです STM32L152C-DISCO は STMicroelectronics 社製の Cortex-M3 ARM CPU である STM32L152RCT6 を搭載した基板です 試用版の開発ツール
netmapによる 実践パケット処理プログラミング
netmap による 実践パケット処理プログラミング [email protected] Copyright 2016 Internet Initiative Japan, Inc. 1 netmap とは? a framework for fast packet I/O ピサ大学の Luigi Rizzo 教授が設計した API 送受信パケット用のバッファを予め確保 userland/kernel でその領域を
Wordの学習
Windows10 の基本操作 第 1 章パソコンを学ぶこととは パソコンの動作概要 本体装置 平成 28 年 4 月 NPO 法人六樹会パソコンサロン 2 パソコンの構成 平成 28 年 4 月 NPO 法人六樹会パソコンサロン 3 パソコンの構成 平成 28 年 4 月 NPO 法人六樹会パソコンサロン 4 GUI とは テキスト =2 ページ GUI の要素 Window ( ウィンドウ )
RTC_STM32F4 の説明 2013/10/20 STM32F4 内蔵 RTC の日付 時刻の設定および読み込みを行うプログラムです UART2( 非同期シリアル通信ポート 2) を使用して RTC の設定および読み込みを行います 無料の開発ツール Atollic TrueSTUDIO for
RTC_STM32F4 の説明 2013/10/20 STM32F4 内蔵 RTC の日付 時刻の設定および読み込みを行うプログラムです UART2( 非同期シリアル通信ポート 2) を使用して RTC の設定および読み込みを行います 無料の開発ツール Atollic TrueSTUDIO for ARM Lite 4.2.0 で作成した STM32F4 Discovery 基板用のプロジェクトです
C#の基本
C# の基本 ~ 開発環境の使い方 ~ C# とは プログラミング言語のひとつであり C C++ Java 等に並ぶ代表的な言語の一つである 容易に GUI( グラフィックやボタンとの連携ができる ) プログラミングが可能である メモリ管理等の煩雑な操作が必要なく 比較的初心者向きの言語である C# の利点 C C++ に比べて メモリ管理が必要ない GUIが作りやすい Javaに比べて コードの制限が少ない
部内向けスキルアップ研修 「組込みOS自作入門」
部内向けスキルアップ研修 組込み OS 自作入門 2013 年 12 月 8th ステップ担当 : 松元 本日の内容 スレッドを実装します スレッドとは? OS とは? もくもく会 スレッドで動作するコマンド応答プログラム 必要に応じてプログラムの説明 たとえばこんな動作をさせる 以下の機能を持つ 0.1 秒ごとにLED 点滅 1 秒ごとに液晶パネルに時刻表示 シリアルからのコマンドに応答 一定時間ごとにサービスを実行できるかチェックする
プログラミング基礎I(再)
山元進 クラスとは クラスの宣言 オブジェクトの作成 クラスのメンバー フィールド 変数 配列 メソッド メソッドとは メソッドの引数 戻り値 変数の型を拡張したもの 例えば車のデータベース 車のメーカー 車種 登録番号などのデータ データベースの操作 ( 新規データのボタンなど ) プログラムで使う部品の仕様書 そのクラスのオブジェクトを作ると初めて部品になる 継承 などの仕組みにより カスタマイズが安全
