パスワードを忘れた? アカウント作成

「メモリの使用量を減らす」というソフトウェアに効果はあるのか」記事へのコメント

  • by Anonymous Coward on 2020年01月09日 8時23分 (#3742635)

    空きメモリのサイズを見て安心するのって、DOSの頃の感覚だよね。

    今どきはメモリ圧縮もやってるし(Win10-1511以降だっけ?)、
    使用頻度の低い領域の占有サイズなんてたかが知れてるだろうに。

    ページアウトもされておらず、圧縮もされてないなら、これで強制的に
    メモリ空けてもすぐ読み込まれて一時的な効果しかないんじゃないの?

    ここに返信
    • by KAMUI (3084) on 2020年01月09日 10時01分 (#3742685) 日記
      EMSとかXMSとかUMAか、懐かしいよねぇ。コンベンショナルメモリを1KB空けるためにメモリマネージャーの読み込み順を色々試したりして。もう書き方忘れちゃったけどさ。

      OS/2のMVDMでコンベンショナルメモリが700KBとかなってて「今までの苦労は何だったんだ~ッ!」ってなったのも懐かしい記憶(笑)
      • by Anonymous Coward

        HMAとUMBじゃなかったっけ?
        High Memory AreaとUpper Memory Blockかな。
        セグメントとオフセットの隙間を突いてメモリ確保するようなヤツだったかな。

        PC98でVEM486使って色々やって、MSDCEXとFEP組み込んでも600KB以上(覚えてないや、630KBぐらい?)開けられた時は達成感あった気がした。

        • by heavensgate (21016) on 2020年01月09日 17時04分 (#3742945)
          >セグメントとオフセットの隙間を突いてメモリ確保するようなヤツだったかな。

          HMA で、80286 以降のリアルモード時に、セグメントレジスタを FFFF にしておくと over 1MB の領域にそのまま通る(A20ラインが生きていれば)ので、
          0FFFF0~10FFEF までの領域(over 1MB 中の64KB-16B)が利用できる、っつー技ですな。
          --
          -- To be sincere...
        • by Anonymous Coward

          HMAは640kB~1MBの区間でもともと普通にアクセスできる。
          EMSやXMSは拡張メモリで1MB超の領域をHMA領域にマッピングして切り替えて使う。

          • Re:CONFIG.SYS (スコア:3, 参考になる)

            by taka2 (14791) on 2020年01月09日 19時03分 (#3743005) ホームページ 日記

            なんか全然違うよ。

            誤> HMAは640kB~1MBの区間でもともと普通にアクセスできる。
            正> UMAは640kB~1MBの区間でもともと普通にアクセスできる。

            640kB~1MBの区間は「UMA」。
            「HMA」は、1MBを超えた約64kB分のメモリのこと。他のコメントで解説されてるけど、8086のメモリ空間は1MBしかないけど、80286以降の8086互換モード(リアルモード)では裏技的に1MBを64KBほど超えてアクセスできる。

            次に、
            EMSは (MMUによるページングのように)メモリを切り替えることで、1MBのメモリ空間で、1MBを超える量のメモリをアクセスできるようにする方法だけど、その実装方法は問わないので、
            ・ソフトウェア的にスワップイン/スワップアウトするもの(めっちゃ遅い)
            ・ハード的にバンク切り替えするもの
            ・386以降の仮想86モードを使うもの(MMUを使って1MB超の領域から1MBより下にマッピングして切り替える)
            などがある。
            割り当て先はどこでもいい(UMAに限らない)んだけど、コンベンショナルエリアはもったいないからUMAを使うのが普通。

            XMSは、通常の640KBを超えたメモリ空間利用規格の総称で、HMAやUMBも含むんだけど、たいていは、HMAやUMBを除いた、1MB+64Kより後ろの部分を差すことが多い。
            仮想86モードなEMSは、「(HIMEM.SYSなどの)XMSドライバが、1MB超の領域をメモリ管理してる」「(EMM386.SYSなどの)仮想86EMSドライバは、XMSから必要なメモリを取得して、それをMMUでマッピングしてEMSメモリとして提供する」みたいな流れになる。

            なので、
            誤> EMSやXMSは拡張メモリで1MB超の領域をHMA領域にマッピングして切り替えて使う。
            正> 仮想86EMSは、XMSメモリを、UMA領域にマッピングして切り替えて使う。
            となる。
            マッピングの話が出るのは仮想86EMSの場合だけで、一般論的な話にはできない。まあ、それは許しても、
            XMSは割り当て元の「1MB超の領域」の方。で、その割り当て先は「UMA領域」が正しい。

      • by Anonymous Coward

        98から X68の乗り換えたらメモリ足せば足したぶんだけコンベンショナルメモリ(相当)が増えてたので、苦労がなくなった。
        世間的にはソフトが無いことで嘆かれてたが、お金ない学生の身分だともっぱらPDSばかりだったので、むしろソフトが圧倒的に増えた感あった。

        • by nekopon (1483) on 2020年01月09日 13時06分 (#3742805) 日記
          「なければ作る」ですな
        • by Anonymous Coward

          X68030に12MBまで積んだけど、結局有効活用できずじまいだったな。
          お絵描きや3Dやったりしてた訳じゃないし。

          多分6MBぐらいで十分だったと思う。ゲームやるなら4MBあれば良かったし。

          メモリ空間をリニアにアクセスできるってのは、プログラム作る上では非常に楽だった。

          個人的に必要なものは作れば良かったし、ゲームはやりたいのは大体揃ってたし、
          仕事は会社の98だから関係ないしで、ソフトがないって感覚はあんまりなかった。
          仕事を持って帰っても必要なのはテキストエディタぐらいだったし。

          会社で5インチFDDを死守するのが大変だった。
          まあすぐMOメディアに移行したが。

          • by Anonymous Coward

            DOSで500KBぐらいのRGBファイルをBMPに変換するソフト作る必要があって、X68000なら配列ガッツリとって処理すればいいだけなのに、なんでいちいち分割処理しないといけないのか文句言いながら作ったなぁ

            #BMPのファイル構造はなぜかOh!Xから入手

    • by Anonymous Coward

      20世紀の頃だと*BSDにせよLinuxにせよ、メモリやらセキュリティを考えて
      使わないドライバーは読み込まないようカーネルを作り直してたけど
      いつの間にかgenericでいいかあと堕落した自分ならここにいる。

      DOS時代はコンベンショナルメモリをどこまで空けられるかで
      いったい何日ぐらい無駄な努力をしてたっけ…

      • by Anonymous Coward

        コンベンショナルメモリを必要以上に空けるのはパズルのような感覚で楽しんでいた人だけでは?

        • by esuta (40045) on 2020年01月14日 9時55分 (#3744638)

          遊んでた遊んでた (5.0)
          常駐パレットだけは追い出せないものと思っていたが
          今調べたらメモリマネージャレベルの細工でUMBに出せたのね
          30年前に知りたかった

        • by Anonymous Coward

          必要以上にというか、追い出せないもののために、余裕のある時に
          追い出せるものは予め追い出しておきたいって感覚だったんじゃないかな。
          その時になって慌てて試行錯誤するより安心できるし。

          使える領域に制限があったり搭載できるメモリの上限が低かったり
          メモリ自体が高価だったりした時代の感覚。

          で、その感覚を未だに引きずってるような人たちが、この手のもので
          必要以上に空きメモリ増やして安心を得てるイメージ。
          デフラグ画面を見てると心が落ち着くのと同じかな。

          昔は自分でやらなきゃいけない事だったけど、今はOSが勝手にやってくれるし、
          昔は空きメモリがある方が動作が安定してたけ

        • by Anonymous Coward

          まさに。
          パズルみたいでクッソ面白かったよね、あれ。

          • by Anonymous Coward

            取説に記載されていたメモリマップを見ながら「ここの空きは使えるんじゃね?」と詰めた思い出

            • by Anonymous Coward
              QEMMなんて邪道ですよね
              • by JN1RNY (48245) on 2020年01月13日 16時59分 (#3744407) 日記

                最初のマシンに乗ってたのがMS-DOS6.2+Windows3.1。

                カラー印刷しようとすると「コンベンショナルメモリが足りません」と叱られる。
                クソ初心者が図書館で調べる→よく分からん→memmaker.exeつーのがあるんだ、へー
                で、やっと印刷できるようになった。

                なになに、次は「一般保護違反です」とな?
                クソ初心者が(ry

    • by Anonymous Coward

      Windows9x系のシステムリソースを忘れてもらったら困る。
      ローカルヒープをメモリと呼んでいいかどうかは…どうしよう。

    • by Anonymous Coward

      > 空きメモリのサイズを見て安心するのって、DOSの頃の感覚だよね。
       
      おいちゃんはこの頃からかな:

      How Many Pages ?
      N60-BASIC
      By Microsoft (c) 1981
      7100 Bytes free
      OK

      まあ、4ページも使うケースはほぼないけど。

      • by Anonymous Coward

        おいちゃんのPB-100は544ステップだったかな

私はプログラマです。1040 formに私の職業としてそう書いています -- Ken Thompson

処理中...