コンピューティングの基礎と処理の高速化入門 #1 at connpass で発表したスライドです。 https://liberal-arts-for-tech.connpass.com/event/123273/
![コンピューティングの基礎と高速化入門](https://cdn-ak-scissors.b.st-hatena.com/image/square/c0a3e0d15ab965725e31f415df4e3e9538489cbc/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2Ff94d9ced82384b7a86eae23d01480218%2Fslide_0.jpg%3F12451903)
コンピューティングの基礎と処理の高速化入門 #1 at connpass で発表したスライドです。 https://liberal-arts-for-tech.connpass.com/event/123273/
自作のプログラムから,BIOSの設定を変更する事は可能なのか。 例えばブートデバイス設定やブートシーケンスの設定は, ふつうはPC起動時の「BIOS設定画面」から手動で変更するわけだが, これらの項目を,自作プログラムから書き換える事はできるのか。 (1)BIOSやCMOSなど関連キーワードについて (2)自作プログラムからBIOS/CMOSにアクセスする方法 (3)具体的なサンプルコードと実現方針 (4)結論 (1)BIOSやCMOSなど関連キーワードについて簡単におさらい PCの起動の流れ: ユーザはPCの電源を入れる。 PCのマザーボードに通電する。ここで,マザーボード上には,CPU,ROMまたRAMが設置されている。 ROM内には,BIOSのプログラムが入っている。 ROMとはいえ,フラッシュメモリなので,書き換え可能である。ここの書き換えは,BIOSアップデートを意味する。 RA
はじめに mrubyのエンジンはソースコードを逐次解釈して実行しているわけではなく、専用のバイトコードに変換して保持し、それをVirtualMachineの上で解釈して実行しています。 であれば当然コンパイル済みバイナリファイルというのも存在するわけで、ならば当然どんな仕組みになっているか気になるわけです。 というわけで、大まかなファイルフォーマットについて調べたので今回説明しようと思います。 2013/11/25当時(git hash: f5bd87b9e6d0d8a84cf866b4847c1416e4f5c622 )の物です。 それ以降のmrubyを使用する場合は以下の解説の通りではない可能性があります。 全体の構造 ヘッダーとセッションの配列からなります。 ヘッダーは必ず一つ、セッションは複数個ですが必ず終端セクションで終わります。 ヘッダー C風に書くとこんな感じ ubig8_t
Recent Entries 2024/04/27 Ubuntu 24.04 のインストール & 設定 2023/11/04 WZR-600DHP2 への OpenWRT のインストールと設定 2023/11/02 scrcpy で Android の画面を Ubuntu に表示する 2023/10/29 Ubuntu 24.04 で PT3 を Mirakurun と EPGStation で使う 2023/07/15 LIFEBOOK WU-X/H1 での Ubuntu 23.04 と Windows 11 のデュアルブートと設定 2022/11/22 Ubuntu 22.04 に Mattermost をインストールする ページ一覧へ Archives 2024 (1) 2023 (4) 2022 (7) 2021 (5) 2020 (5) 2019 (6) 2018 (7) 201
この文書は、LLVMアセンブリ言語の参照マニュアルです。 LLVMは、型安全で、低水準な操作ができる、柔軟な、 そして 全ての 高級言語を簡潔に表現できる能力を提供する静的単一代入(Static Single Assignment:SSA)ベースの表現です。 これはLLVMのコンパイル戦略のすべてのフェイズにわたって使用される共通コード表現です。 LLVMコード表現は、3つの異なる形式で使用できるように設計されています。 インメモリコンパイラ(IR)、 ディスク上でのビットコード表現(JITコンパイラの高速ロード対応)、 そして、可読アセンブリ言語表現です。 これは、変形にデバッグや視覚化の自然さを残しながら、 LLVMが効率的なコンパイラ変形および分析に強力な中間表現を提供することを可能にします。 LLVMの3つの異なる形式はすべて等価です。 このドキュメントは人間の判読可能な表現および
ここでは、実行バイナリのオブジェクトフォーマットのうちELFフォーマット (Executable and Linking Format)を補足資料としてみていきます。 それでは、順番に見ていきます。 ELFフォーマットその1 ELFフォーマットについて ELFフォーマットその2 CPU依存部分について(IntelのCPU) (現在のページ) ELFフォーマットその3 OS依存部分について(UNIX System V Release4) 前回までの内容 これまでで、 ELFフォーマットでCPUに依存する部分として ELFヘッダーのe_ident ELFヘッダーのe_machine ELFヘッダーのe_flags 再配置エントリーと再配置の計算 がある についてわかりました。今回はELFフォーマットのOSに依存する部分について見ていきます。 今回は、UNIX System V Release4
ここでは、実行バイナリのオブジェクトフォーマットのうちELFフォーマット (Executable and Linking Format)を補足資料としてみていきます。 それでは、順番に見ていきます。 ELFフォーマットその1 ELFフォーマットについて (現在のページ) ELFフォーマットその2 CPU依存部分について(IntelのCPU) ELFフォーマットその3 OS依存部分について(UNIX System V Release4) 前回までの内容 これまでで、 ELFフォーマットとして ELFヘッダー プログラムヘッダーテーブル セクション セクションヘッダーテーブル セグメント がある ELFヘッダーはセクション、セグメントの情報が記録されている。 プログラムヘッダーテーブルにはプログラムを実行するための情報が 記録されている。 セクションヘッダーテーブルにはセクションの情報が記録さ
ここでは、実行バイナリのオブジェクトフォーマットのうちELFフォーマット (Executable and Linking Format)を補足資料としてみていきます。 それでは、順番に見ていきます。 (現在のページ) ELFフォーマットその1 ELFフォーマットについて ELFフォーマットその2 CPU依存部分について(IntelのCPU) ELFフォーマットその3 OS依存部分について(UNIX System V Release4) 実行バイナリ 実行バイナリはCPUが実行する命令と命令が使用するデータの集まりとなります。 コンピューターが実行ファイルを実行するときにはまず、ファイルの命令とデータをメモリーに 置いて最初の命令を実行する必要があります。このとき最初の命令がどこにあるのかが 分かっていないと実行できません。このためどこから命令を実行するのかといった情報を 実行バイナリにヘッ
最近話題の「日本語入力を支える技術」を途中まで読んだ。 3章がものすごく気合いが入っている。 trie(トライ)というデータ構造の2つの実装、「ダブル配列」と「LOUDS」について詳しく説明がされている。 ダブル配列については、ぼくは以前論文を読んで勉強しようとしたのだが、その時は難しくてあきらめた覚えがある。しかし、この本の説明を読むことで理解ができた。 ありがたい。 感銘を受けたので、この本を教材に友達と2人勉強会をした。 この2人勉強会というのは、ぼくが復習を兼ねて友達に教えるというのがだいたいのスタイル。 しかし、いざやってみるといろいろと難しい。 次のようなところでひっかかるようだ。 例のサイズが小さく、イメージを喚起するのが難しい。 最初の図のノード番号と、最終的なダブル配列上の位置が異なるため、混乱する。 単語終端について言及がないので、どのノードが単語を表しているかがわから
1. Copyright(C) Software Research Associates, Inc. All Rights Reserved. エンジニアなら知っておきたい 「仮想マシン」のしくみ BPStudy #38 (2010/10/29 EBISU303) ネットワークシステムサービス本部 ネットワーク運用・構築部 長谷川 猛 (hasegaw at sra.co.jp) Twitter : @hasegaw ※本資料中の解説内容は、弊社としての 統一的な見解を示すものではありません。 2. 2 自己紹介 所属所属 興味分野興味分野 株式会社SRA ネットワークシステムサービス本部 ネットワーク運用・構築部 現在は提案支援業務に携わる 特にLinux や仮想化技術を得意とする、 雑食系システムエンジニア 主な著書主な著書 『Xen 徹底入門』 初版、第二版(2007、2009年 翔
業界トップ のエンタープライズ Hadoop 企業 Cloudera に入社しました http://www.cloudera.co.jp/ 今年の6月に、「平成21年度 産学連携ソフトウェア工学実践事業報告書」というドキュメント群が経産省から公表されました。 そのうちの一つに、NTTデータに委託されたHadoopに関する実証実験の報告書がありましたので、今更ながら読んでみることにしました。 Hadoop界隈の人はもうみんなとっくに読んでるのかもしれませんけど。 http://www.meti.go.jp/policy/mono_info_service/joho/downloadfiles/2010software_research/clou_dist_software.pdf 「高信頼クラウド実現用ソフトウェア開発(分散制御処理技術等に係るデータセンター高信頼化に向けた実証事業)」という
このドキュメントは Version Control for Designers の日本語訳であり、元のドキュメントと同じくソースコード管理に予備知識がまったくない人を想定している はじめに リポジトリの構造 ブランチ 作業の流れ ブランチを切る その他の便利なツール ベスト・プラクティス はじめに What have you done for me lately? バージョン管理、ソース管理やリビジョン管理とも呼ばれているものはあらゆる開発に必須である。なぜなら基本的にはメールやインスタント・メッセンジャーと同じようなコミュニケーションをとることができるツールでありながら、人々の会話ではなくソースコードを元にして機能することができるからだ。 バージョン管理 他のプログラマと簡単に意思の疎通を図ることができる 開発チームでコードを共有することができる デプロイしている「製品」バージョンを別個
$Id: index.html,v 1.6 2004/07/20 23:08:12 aamine Exp $ この文書は書籍『Rubyソースコード完全解説』のHTML版です。 ただし初校段階の原稿をベースにしているため、 書籍では修正されている間違いが残っている場合があります。 予め御了承ください。 2004-02-16 に全章を公開しました。 目次 まえがき 序章 第 1 部「オブジェクト」 第 1 章「Ruby言語ミニマム」 第 2 章「オブジェクト」 第 3 章「名前と名前表」 第 4 章「クラス」 第 5 章「ガーベージコレクション」 第 6 章「変数と定数」 第 7 章「セキュリティ」 第 2 部「構文解析」 第 8 章「Ruby言語の詳細」 第 9 章「速習yacc」 第 10 章「パーサ」 第 11 章「状態付きスキャナ」 第 12 章「構文木の構築」 第 3 部「評価」 第
- 1 - 高性能プログラミング(Ⅰ)入門編 片桐 孝洋 東京大学情報基盤センター 特任准教授 1.はじめに 本稿は、高性能プログラミングを始める場合の入門的な解説書を目指して執筆した。特に、コ ンパイラが行う最適化手法について、どのような手法や技術があるか説明する。コンパイラが 行う最適化についてユーザが知る必要は無い思われる方もいるかも知れない。しかし、実用コ ードの多くはコンパイラが解析するにはあまりに複雑な書き方がされており、自動最適化は限 界がある。ユーザがコンパイラの理解しやすい書法を習得するのが望ましいが、コンパイラの 最適化手法を知らないと無理である。したがって、高性能化のためコンパイラの最適化につい てユーザが尐しでも理解することが、ユーザのアプリケーション高速化への近道と思う。 本稿の想定事例は、ユーザのスキルに応じ以下のとおりである:(1)コンパイラが最適化しや す
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く