page0073
の編集
http://osecpu.osask.jp/wiki/?page0073
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
BracketName
FormattingRules
FrontPage
Fulyn
Fulyn-v2
Fulyn_Samples
Help
InterWiki
InterWikiName
InterWikiSandBox
K
KOR_PIT8254
KWVM.NET
Liva
MANA
MenuBar
OSECPU_FPGA
PG_MANA
PHP
PukiWiki
PukiWiki/1.4
PukiWiki/1.4/Manual
PukiWiki/1.4/Manual/Plugin
PukiWiki/1.4/Manual/Plugin/A-D
PukiWiki/1.4/Manual/Plugin/E-G
PukiWiki/1.4/Manual/Plugin/H-K
PukiWiki/1.4/Manual/Plugin/L-N
PukiWiki/1.4/Manual/Plugin/O-R
PukiWiki/1.4/Manual/Plugin/S-U
PukiWiki/1.4/Manual/Plugin/V-Z
RecentDeleted
SandBox
WikiEngines
WikiName
WikiWikiWeb
YukiWiki
hikalium
hikarupsp
hikarupsp_ELCHNOS
hikarupsp_ELCHNOS_IDE
hikarupsp_FrontEndCode
hikarupsp_WebCPU-VM
hikarupsp_WebCPU-VM_internal
hikarupsp_study_hh4
impressions
impressions0000
jpag0000
jpag0001
jpag0002
jpag0003
jpag0004
jpag0005
lambdalice
mandel59
members
memo0000
memo0001
memo0002
memo0003
memo0004
memo0005
memo0006
memo0007
memo0008
memo0009
memo0010
osask
osecpu4android
page0000
page0001
page0002
page0003
page0004
page0005
page0006
page0007
page0008
page0009
page0010
page0011
page0012
page0013
page0014
page0015
page0016
page0017
page0018
page0019
page0020
page0021
page0022
page0023
page0024
page0025
page0026
page0027
page0028
page0029
page0030
page0031
page0032
page0033
page0034
page0035
page0036
page0037
page0038
page0039
page0040
page0041
page0042
page0043
page0044
page0045
page0046
page0047
page0048
page0049
page0050
page0051
page0052
page0053
page0054
page0055
page0056
page0057
page0058
page0059
page0060
page0061
page0062
page0063
page0064
page0065
page0066
page0067
page0068
page0069
page0070
page0071
page0072
page0073
page0074
page0075
page0076
page0077
page0078
page0079
page0080
page0081
page0082
page0083
page0084
page0085
page0086
page0087
page0088
page0089
page0090
page0091
page0092
page0093
page0094
page0095
page0096
page0097
page0098
page0099
page0100
page0101
page0102
page0103
page0104
page0105
page0106
page0107
page0108
page0109
pagenames
populars
seccamp2013
seccamp2014
seccamp2017
ttwilb
ttwilb-asmi
yao
* 2014年度版のFrontPageの下書き -(by [[K]], 2014.04.30) ** OSECPU-VMとは? -OSEPU-VMはオープンソースプロジェクトです。 --ダウンロードはこちら → [[page0074]] --大雑把な歴史はこちら → [[page0075]] -OSECPU-VMは以下の目的を達成するための仮想マシン本体や、それらに関するツール群、アプリ群、ドキュメント類を開発します。 -読み方は「おせくぷ-ぶいえむ」です。 -プロジェクトの代表は[[K]](川合秀実)です。 ** OSECPU-VMの目的 -(1) 教育 --2013年以降のセキュリティキャンプにおいて、[[K]]は一部の学生をOSECPU-VMの開発に関わらせることで、様々な技法やセキュリティの考え方を具体的に伝えます。 -(2) デバッグ支援とセキュリティ --増え続ける需要に応じてソフトウェア開発者のすそ野が広がっていますが、バグとの戦いは終わっていません。不注意なミスになかなか気づけず、バグ取りに苦労することは珍しくありません。セキュリティホールも根絶の見通しには程遠い状況です。 --それならば、OSも開発環境もライブラリもなにもかもを、デバッグ支援とセキュリティホール発見支援を第一義に設計し直したらどうなるだろうかと[[K]]は考えました。今まではこのような考え方はナンセンスでした。なぜなら実際の演算処理よりも各種のチェックの方が処理時間がかかるくらいにチェックすべきことがあるからです。コンピュータの演算能力は貴重でしたので、この考え方は支持されなかったのです。しかし、近年のコンピュータ技術の発展は素晴らしく、とんでもない演算速度のコンピュータがとても安価で購入できるようになりました。今こそ、このアイデアが試される時なのです! --もちろんOSECPU-VMは今のアーキテクチャモデルにそのままセキュリティチェックを追加するのではありません。それはさすが効率が落ちてもったいないので、セキュリティチェックを効率よくできるモデルも設計しています。 -(3) 互換性 --ライバルであるJavaや.NETは、一度プログラムを書いたらそのプログラムはどの環境でも動く、ということを目指しています。そしてそれはある程度は成功していると思います。しかしこれは「ある程度」でしかないのです。OSECPU-VMはもっと幅広い互換性を目指します。たとえば8bit-CPU上でもOSECPU-VMアプリが実行可能です。 --「一度プログラムを書いたらそのプログラムはどの環境でも動く」ということはとてもいいことです。単に移植の手間を減らすというだけではなく、移植の際に新しいバグを入れてしまうということも防げるからです。 -(4) 世界最高のコード密度 --OSECPU-VMのアプリは、バイナリサイズが驚異的に小さくなる傾向があります。世界一だと思われます。これこそ後世に残しても恥ずかしくないものだと思います。 --OSECPU-VMと同じくらいセキュアで同じくらいの互換性を持っている別のアーキテクチャがあったとして、アプリがどれもぶくぶくと大きなバイナリサイズだったらどうでしょうか。私たちはスッキリしたものを選んで使うべきではないですか?OSECPU-VMのバイナリよりも大きいということは、まだ何か無駄が残っているということです。無駄なもののためにディスクを浪費し、ネットワーク帯域を浪費して、何かうれしいことがあるでしょうか? -(5) 演算速度性能に対する考え方 --OSECPU-VMは速度を犠牲にして、その代わりに今まで速度のためにあきらめられてきたものの多くを追求しようというものです。ですから速度はそれほどは出ません。しかしJITコンパイラ版ではそれなりの速さが出ます。 --そもそもコードの1~2割は実行速度に大きく影響しますが、残りは実行速度にほとんど影響しないものです。この残りの8~9割を受け持つのがOSECPU-VMの役割です。実行速度に影響する部分を細心の注意を払ってOSECPU-VM以外の方法で記述して最高性能を出し、それで残りをOSECPU-VMで記述して結合すれば、全体としてフルパワー比でも1~2割くらいしか遅くならないでしょう。開発コストと性能のバランスを考えれば、これがベストではないかと[[K]]は思います。 -(6) その他 --OSECPU-VMのアプリを作るとき、おかしいことをやってしまってもすぐに教えてくれるので、習得が容易です。わけのわからないバグに悩まされるということが少ないです。ですからその意味でも教育向けといえるかもしれません(もっともアセンブラの教育に向いているかもしれない、という程度ではありますが)。 --OSECPU-VMの仕様は極力シンプルになっています。過去のアーキテクチャとの互換性などは一切考慮していません。複雑になればOSECPU-VMの移植がやりにくくなって「(3) 互換性」の目的に反します。本当に必要な機能だけを、もっとも使いやすくなるやり方で導入しています。 * こめんと欄 #comment
タイムスタンプを変更しない
* 2014年度版のFrontPageの下書き -(by [[K]], 2014.04.30) ** OSECPU-VMとは? -OSEPU-VMはオープンソースプロジェクトです。 --ダウンロードはこちら → [[page0074]] --大雑把な歴史はこちら → [[page0075]] -OSECPU-VMは以下の目的を達成するための仮想マシン本体や、それらに関するツール群、アプリ群、ドキュメント類を開発します。 -読み方は「おせくぷ-ぶいえむ」です。 -プロジェクトの代表は[[K]](川合秀実)です。 ** OSECPU-VMの目的 -(1) 教育 --2013年以降のセキュリティキャンプにおいて、[[K]]は一部の学生をOSECPU-VMの開発に関わらせることで、様々な技法やセキュリティの考え方を具体的に伝えます。 -(2) デバッグ支援とセキュリティ --増え続ける需要に応じてソフトウェア開発者のすそ野が広がっていますが、バグとの戦いは終わっていません。不注意なミスになかなか気づけず、バグ取りに苦労することは珍しくありません。セキュリティホールも根絶の見通しには程遠い状況です。 --それならば、OSも開発環境もライブラリもなにもかもを、デバッグ支援とセキュリティホール発見支援を第一義に設計し直したらどうなるだろうかと[[K]]は考えました。今まではこのような考え方はナンセンスでした。なぜなら実際の演算処理よりも各種のチェックの方が処理時間がかかるくらいにチェックすべきことがあるからです。コンピュータの演算能力は貴重でしたので、この考え方は支持されなかったのです。しかし、近年のコンピュータ技術の発展は素晴らしく、とんでもない演算速度のコンピュータがとても安価で購入できるようになりました。今こそ、このアイデアが試される時なのです! --もちろんOSECPU-VMは今のアーキテクチャモデルにそのままセキュリティチェックを追加するのではありません。それはさすが効率が落ちてもったいないので、セキュリティチェックを効率よくできるモデルも設計しています。 -(3) 互換性 --ライバルであるJavaや.NETは、一度プログラムを書いたらそのプログラムはどの環境でも動く、ということを目指しています。そしてそれはある程度は成功していると思います。しかしこれは「ある程度」でしかないのです。OSECPU-VMはもっと幅広い互換性を目指します。たとえば8bit-CPU上でもOSECPU-VMアプリが実行可能です。 --「一度プログラムを書いたらそのプログラムはどの環境でも動く」ということはとてもいいことです。単に移植の手間を減らすというだけではなく、移植の際に新しいバグを入れてしまうということも防げるからです。 -(4) 世界最高のコード密度 --OSECPU-VMのアプリは、バイナリサイズが驚異的に小さくなる傾向があります。世界一だと思われます。これこそ後世に残しても恥ずかしくないものだと思います。 --OSECPU-VMと同じくらいセキュアで同じくらいの互換性を持っている別のアーキテクチャがあったとして、アプリがどれもぶくぶくと大きなバイナリサイズだったらどうでしょうか。私たちはスッキリしたものを選んで使うべきではないですか?OSECPU-VMのバイナリよりも大きいということは、まだ何か無駄が残っているということです。無駄なもののためにディスクを浪費し、ネットワーク帯域を浪費して、何かうれしいことがあるでしょうか? -(5) 演算速度性能に対する考え方 --OSECPU-VMは速度を犠牲にして、その代わりに今まで速度のためにあきらめられてきたものの多くを追求しようというものです。ですから速度はそれほどは出ません。しかしJITコンパイラ版ではそれなりの速さが出ます。 --そもそもコードの1~2割は実行速度に大きく影響しますが、残りは実行速度にほとんど影響しないものです。この残りの8~9割を受け持つのがOSECPU-VMの役割です。実行速度に影響する部分を細心の注意を払ってOSECPU-VM以外の方法で記述して最高性能を出し、それで残りをOSECPU-VMで記述して結合すれば、全体としてフルパワー比でも1~2割くらいしか遅くならないでしょう。開発コストと性能のバランスを考えれば、これがベストではないかと[[K]]は思います。 -(6) その他 --OSECPU-VMのアプリを作るとき、おかしいことをやってしまってもすぐに教えてくれるので、習得が容易です。わけのわからないバグに悩まされるということが少ないです。ですからその意味でも教育向けといえるかもしれません(もっともアセンブラの教育に向いているかもしれない、という程度ではありますが)。 --OSECPU-VMの仕様は極力シンプルになっています。過去のアーキテクチャとの互換性などは一切考慮していません。複雑になればOSECPU-VMの移植がやりにくくなって「(3) 互換性」の目的に反します。本当に必要な機能だけを、もっとも使いやすくなるやり方で導入しています。 * こめんと欄 #comment
テキスト整形のルールを表示する