サイトトップへ
OSASK.NET
  サイトトップへ       新掲示板(閉鎖済)   Wiki(凍結済)   旧掲示板(廃止済)   ニュース(廃止済)  
2: 2008-09-08 (月) 15:28:00 ソース 3: 2009-11-17 (火) 12:08:05 ソース
Line 7: Line 7:
-.bssセクションというのはそういう性質のものなのに、gccの最新版はデフォルトではひどいことをする。というのは、.dataセクション内の変数うちで初期値がゼロのものを.bssに割り付けようとするのである。.bssは本来ゼロクリアすることを保証してはいないのにだ。 -.bssセクションというのはそういう性質のものなのに、gccの最新版はデフォルトではひどいことをする。というのは、.dataセクション内の変数うちで初期値がゼロのものを.bssに割り付けようとするのである。.bssは本来ゼロクリアすることを保証してはいないのにだ。
-ただしこれにはもちろん理由がある。実はLinuxにしてもWindowsにしても、.bssがゼロクリアされることを保証しているのだ(MS-DOSは保証してない)。だからgccのこの方針は実害がないばかりか、.dataのセクションバイナリイメージが小さくなり、実行ファイルが小さくなる、アプリケーションのロードが速くなるというメリットがある。 -ただしこれにはもちろん理由がある。実はLinuxにしてもWindowsにしても、.bssがゼロクリアされることを保証しているのだ(MS-DOSは保証してない)。だからgccのこの方針は実害がないばかりか、.dataのセクションバイナリイメージが小さくなり、実行ファイルが小さくなる、アプリケーションのロードが速くなるというメリットがある。
--しかしOSASKではそんなことは保証してない。OSASK-HBでも保証してない。「はりぼてOS」でも保証してない。そもそもそんなことを保証する必要がどこにあるのか。セクション本来の意味としては、ゴミデータで埋まっていていいと言っているのになんで数千、数万クロックを費やしてゼロクリアするのか。そのままでいいじゃないか。OSASKやOSASK-HB、そして「はりぼてOS」でさえもtek圧縮をサポートしているので、.data内のゼロの塊やゼロ以外の一定値の連続は数バイトに圧縮されてしまうので、アプリのサイズやロード時間は負けない。+-しかしOSASKではそんなことは保証してない。OSASK-HBでも保証してない。「はりぼてOS」でも保証してない。そもそもそんなことを保証する必要がどこにあるのか。セクション本来の意味としては、ゴミデータで埋まっていていいと言っているのになんで数千、数万クロック(.bss領域の大きさによってはこれをはるかに超える)を費やしてゼロクリアするのか。そのままでいいじゃないか。OSASKやOSASK-HB、そして「はりぼてOS」でさえもtek圧縮をサポートしているので、.data内のゼロの塊やゼロ以外の一定値の連続は数バイトに圧縮されてしまうので、アプリのサイズやロード時間では負けない。むしろ格段に有利だ。
-実はLinuxやWindowsが本来初期化する必要のないはずの.bssをゼロクリアするようになったのには、ちゃんとした理由がある。それは、セキュリティのためだ。たとえばパスワードなどを管理するアプリが走って終了したとしよう。そうするとそのアプリが使ったメモリにはパスワードの残骸が残っているだろう。このメモリをそのまま他のアプリの.bssとして割り当ててしまったら、そしてそのアプリがいきなり自分の.bss領域を覗き込むようなアプリだったら、パスワードが見えてしまうかもしれないわけだ。これはまずい。こういうことが起こらないようにするために、LinuxやWindowsでは.bssはゼロクリアするという方針を決めたということだ。 -実はLinuxやWindowsが本来初期化する必要のないはずの.bssをゼロクリアするようになったのには、ちゃんとした理由がある。それは、セキュリティのためだ。たとえばパスワードなどを管理するアプリが走って終了したとしよう。そうするとそのアプリが使ったメモリにはパスワードの残骸が残っているだろう。このメモリをそのまま他のアプリの.bssとして割り当ててしまったら、そしてそのアプリがいきなり自分の.bss領域を覗き込むようなアプリだったら、パスワードが見えてしまうかもしれないわけだ。これはまずい。こういうことが起こらないようにするために、LinuxやWindowsでは.bssはゼロクリアするという方針を決めたということだ。
*** (2) *** (2)

トップ   差分 バックアップ 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ
新着

目次
メンバー一覧


最新の20件
2016-10-01 2016-09-08
  • @MenuBar.
2016-09-07 2016-09-04 2016-08-15 2015-09-23 2014-07-30 2014-07-04 2014-02-04 2013-10-26 2013-06-21 2013-06-17 2013-06-15 2013-04-02 2013-02-09 2013-02-04 2012-12-25 2012-12-01 2012-05-28 2012-03-31

トピック一覧
一般用コメント最新
新掲示板lina
2016/9/5 20:58
SandBoxゲスト
2016/9/4 12:01
RecentDeletedlina
2015/6/2 19:29
Old-OSASK-MLlina
2014/6/29 9:14
hideyosi/メールhideyosi
2014/1/6 20:17
hideyosi/募集中lina
2013/11/8 19:56

このサイトは川合秀実から委託を受けて、OSASKコミュニティによって管理・運営されています。