管理人

SEとして働く管理人「まつ」がつぶやく個人運営サイトになります。 ITの難しい用語や、仕事で感じた事などを中心に"わかりやすさ"を意識して記事にしています。少しでも共感や参考にしていただける人がいたら嬉しいです。

2024/6/10

Visual Basicとは

Visual Basic(ヴィジュアル ベーシック) Visual Basicとは、マイクロソフト社が開発・提供しているプログラミング言語です。 Visual Basicは、Visual Studio(マイクロソフト社が開発・販売している統合開発環境)に組み込まれており、さまざまな種類のアプリケーション開発に用いられています。 Visual Basicの前身は1970年代〜1980年代に開発されていた「Microsoft BASIC」であり、1964年に米ダートマス大学の「ジョン・ケメニー氏」と「トーマス ...

2024/7/24

BASICとは

BASIC(ベーシック) BASICとは BASICとは、1964年に米ダートマス大学の「ジョン・ケメニー氏」と「トーマス・カーツ氏」によって考案された初心者向けのプログラミング言語です。 米ダートマス大学にて教育目的で作られた言語で、当時普及していたプログラミング言語であるFORTRANに似ているところがあります。 最初に開発されたBASICはコンパイラ型だったが、1970年代後半~1980年代のBASICのほとんどはインタプリタ型の言語として登場しています。 コンパイラ型とは、上記図のように人間が書い ...

2024/6/10

アセンブリ言語とは

アセンブリ言語 アセンブリ言語(英:assembly language)とは、プログラミング言語の一つで、コンピュータが直接解釈・実行できる機械語と一対一に対応した言語であり、プログラミング言語の中でも、コンピュータが解釈しやすい低水準言語(低級言語)に分類される言語です。 アセンブリ言語が登場する前は、コンピュータが直接解釈・実行できる機械語が使われていましたが、機械語は人間のプログラマにとっては負担が大きく理解しづらい言語です。 そこで登場したのがアセンブリ言語です。アセンブリ言語は機械語そのものを書 ...

2022/10/7

AFFINGER6でYouTubeの動画を記事に貼り付ける方法

ショートコードを使ってYouTubeを記事に貼り付ける方法 YouTubeの動画をWordPressの記事内に表示させる方法は、色々とありますが、本記事では、AFFINGER6が用意しているショートコードを使った方法を紹介します。 ショートコードを利用するメリットは、YouTube動画の表示速度が速いという点です。AFFINGERを使っている方であれば、ショートコードを使った方法をおすすめします。 以下は「通常の方法(YouTubeのリンクを張り付けた方法)」と「ショートコードを利用した方法」です。本記事 ...

2024/6/12

COBOLとは

COBOL(コボル)とは COBOL(Common Business Oriented Language)とは、1959年に事務処理用に開発されたプログラミング言語です。 1959年当初、低水準言語である「アセンブリ言語」や高水準言語である「FORTRAN」などが存在する中、事務処理用の高水準言語として開発されたのがCOBOLです。 1950年代、事務処理用の言語は開発メーカーごとに異なっていたため、アメリカ政府とシステムメーカーなどが参加するCODASYL(英: conference/committee ...

2022/5/15

FORTRANとは

FORTRAN(フォートラン) FORTRAN(フォートラン)とは、1954年にIBMのジョン・バッカス氏によって考案された世界最初の高水準言語です。 FORTRANの名前は「formula translation」の短縮形であり、科学技術計算の分野で使用されているプログラミング言語です。 FORTRANの開発当時、プログラミング言語はアセンブリ言語(コンピュータが解釈しやすい低水準言語)しか存在していなかったため、数式を数学での表現に近い形で記述できるFORTRAN(人間が解釈しやすい高水準言語)は急速 ...

2022/5/15

低水準言語とは

低水準言語(低級言語) 低水準言語(英:low-level programming language)とは、プログラミング言語のうち、コンピュータが理解できる機械語 もしくは 機械語に近い「アセンブリ言語」などの言語の総称のことで、低級言語とも呼ばれています。 低水準言語機械語に近い言語のため、ハードウェアやCPUに対して直接的な命令を記述することができ、メモリ操作やI/O制御等CPUレベルの操作が可能だが、人間から見ると理解しにくい言語です。 また機械語に近い低水準言語である「アセンブリ言語」で書かれた ...

2024/7/24

高水準言語とは

高水準言語(高級言語) 高水準言語(英:high-level programming language)とは、プログラミング言語のうち、人間が理解しやすいように作られた言語の総称のことで、高級言語とも呼ばれています。 対義語の低水準言語は、プログラミング言語のうち、コンピュータが理解しやすいように作られた言語の総称であり、低級言語とも呼ばれています。 代表的な高水準言語(高級言語) 有名なプログラミング言語である「C言語」「Java」「PHP」「Python」などは高水準言語であり、現在では、ほとんどのソ ...

2024/5/29

【基本情報技術者試験】ページ置換えアルゴリズム

基本情報技術者試験や応用情報技術者試験で出題される「ページ置換えアルゴリズム」の問題。FIFO、LIFO、LRU、LFUの動きを理解していないと難しく感じる問題ですが、動きを理解していればそこまで難しい問題ではありません。 本記事では、ページング方式の「ページ置換えアルゴリズム」について図解を利用して分かりやすく解説しています。 ページング方式のページ置換えアルゴリズム ページング方式とは、仮想記憶(仮想メモリ)の実現方式のひとつで、メモリ領域を「ページ」と呼ばれる一定の大きさの領域に分割し管理する方式の ...

2024/5/27

【基本情報技術者試験】仮想記憶のページング方式

基本情報技術者試験や応用情報技術者試験で出題される「仮想記憶」と「ページング方式」についての問題。ページング方式の動きを理解していないと難しく感じる問題ですが、動きを理解していればそこまで難しい問題ではありません。 本記事では、仮想記憶の実現方法のひとつである「ページング方式」について図解で分かりやすく解説しています。 仮想記憶(仮想メモリ) 仮想記憶とは 仮想記憶とは、仮想的な記憶領域のことであり、仮想メモリやバーチャルメモリとも呼ばれています。 仮想記憶を使用することで主記憶装置(メインメモリ)の容量 ...

2024/5/29

デコード(decode)とは

デコード(decode) デコード(英:decode)とは、エンコードされたデータを元の状態に戻すことです。 次の例では、Base64という規則に基づいて「ABCD」というデータを「QUJDRA==」に変換(エンコード)し、エンコードしたデータ「QUJDRA==」を元の状態に戻しています。(デコード) このようにデータを別の形式に変換する(データ圧縮や暗号化も含む)ことをエンコード(encode)といい、エンコードしたデータを元に戻すことをデコード(decode)といいます。 また、デコードする際に使用す ...

2024/5/31

エンコード(encode)とは

エンコード(encode) エンコード(英:encode)とは、ある形式のデータを一定の規則に基づいて別の形式のデータに変換することです。 次の図は、Base64の規則に基づいて「ABCD」というデータを「QUJDRA==」に変換(エンコード)している例です。 このようにデータを別の形式に変換する(データ圧縮や暗号化も含む)ことをエンコード(encode)といい、エンコードしたデータを元に戻すことをデコード(decode)といいます。 また、エンコードする際に使用する装置やソフトウェアのことをエンコーダ( ...

2022/5/6

LFU(Least Frequently Used)とは

LFU(Least Frequently Used) LFU(Least Frequently Usedの略)とは、キャッシュメモリや仮想記憶(仮想メモリ)が扱うデータのリソースの割り当てを決定するアルゴリズムのことで、最も使用頻度が低いものから順に追い出す方式のことです。 キャッシュメモリや仮想記憶で使用する主記憶装置の容量がいっぱいになったとき、いずれかのデータを追い出して、空き領域を作る必要があります。このときLFUのアルゴリズムでは、最も使用頻度が低いものから順にデータを追い出します。 LFUの動 ...

2022/5/6

LRU(Least Recently Used)とは

LRU(Least Recently Used) LRU(Least Recently Usedの略)とは、キャッシュメモリや仮想記憶(仮想メモリ)が扱うデータのリソースの割り当てを決定するアルゴリズムのことで、最も長い間参照されていないものから順に追い出す方式のことです。 キャッシュメモリや仮想記憶で使用する主記憶装置の容量がいっぱいになったとき、いずれかのデータを追い出して、空き領域を作る必要があります。このときLRUのアルゴリズムでは、最も長い間参照されていないもの(最も過去に使用したもの)から順に ...

2022/5/6

ページ置換えアルゴリズム(FIFO、LIFO、LRU、LFU)

ページング方式のページ置換えアルゴリズム ページング方式とは、仮想記憶(仮想メモリ)の実現方式のひとつで、メモリ領域を「ページ」と呼ばれる一定の大きさの領域に分割し管理する方式のことです。 次の図は、ページング方式のイメージ例です。プログラムを「ページ」単位に分割して仮想記憶に記憶しています。 仮想記憶は"仮想的な記憶領域"です。そのため、実際のデータは主記憶装置に記憶します。ただしページング方式では、ページが必要になるまで主記憶装置にページを読み込みません。(デマンドページング) そして、CPUからの要 ...

2022/5/6

ページアウトとは

ページアウト ページアウト(英:page-out)とは、主記憶装置の容量がいっぱいで新しいページを読み込むことができない場合に、いずれかのページを主記憶装置から補助記憶装置に追い出して空き領域を作る操作のことです。 上記図はページアウトのイメージ例です。主記憶装置上の「ページ1」を補助記憶装置に追い出すことで、主記憶装置に空き領域を作っています。 ページアウトはどういうときに発生するのか? 仮想記憶の現実方法のひとつであるページング方式では、メモリ領域をページと呼ばれる一定の大きさの領域に分割し管理します ...

2022/4/12

ページインとは

ページイン ページイン(英:page-in)とは、補助記憶装置から主記憶装置にページを読み込む操作ことです。 次の図はページインのイメージ例です。補助記憶装置に保存されている「ページ1」を主記憶装置に読み込んでいます。 ページインはどういうときに発生するのか? 仮想記憶の現実方法のひとつである「ページング方式」では、メモリ領域をページと呼ばれる一定の大きさの領域に分割し管理します。 例えば、次のようにプログラムAを仮想記憶に記憶するとき、ページング方式ではプログラムを「ページ」と呼ばれる領域に入るように分 ...

2024/5/27

ページフォールトとは

ページフォールト ページフォールト(英:page fault)とは、仮想記憶(仮想メモリ)を搭載したコンピュータで発生する事象で、物理メモリ上に存在しないページにアクセスしたときに発生する割り込みのことです。 例えば、次の図のようにプログラムAを「ページ1」~「ページ4」に分割して仮想記憶に割り当てたとします。このように「ページ」単位で管理する方式を「ページング方式」といいます。 このとき物理メモリ(主記憶装置)には、まだページを読み込みません。 そのため、CPUからの要求でページにアクセスしようとしても ...

2022/4/12

プリページングとは

プリページング プリページングとはメモリ管理方式の一種で、近い将来参照されると予測したページを事前に主記憶装置(メインメモリ)に読み込んでおく方式のことです。 プリページングの流れ それでは図を利用してプリページングの流れを説明していきます。 例えば、次の図のようにプログラムAを「ページ1」~「ページ4」に分割して仮想記憶(仮想メモリ)に割り当てたとします。このように「ページ」単位で管理する方式を「ページング方式」といいます。 このとき、主記憶装置にはまだページを読み込みません。 そのため、CPUからの要 ...

2022/4/12

デマンドページングとは

デマンドページング デマンドページングとはメモリ管理方式の一種で、CPUからの要求があったページだけを主記憶装置に読み込む方式のことです。 デマンドページングの流れ それでは図を利用してデマンドページングの流れを説明していきます。 例えば、次の図のようにプログラムAを「ページ1」~「ページ4」に分割して仮想記憶に割り当てたとします。このように「ページ」単位で管理する方式を「ページング方式」といいます。 このとき、主記憶装置にはまだページを読み込みません。 そのため、CPUからの要求でページにアクセスしよう ...