Linux

ioctlシステムコールについて解説

本記事では、UNIX系OSで主に使用されているシステムコール ioctl についてサンプルコードを用いて分かりやすく解説します。 特徴 ioctl (Input/Output Control) システムコールは、デバイス固有の入出力操作やカ...
OS

仮想化技術(OS)について解説

本記事では、OSの仮想化技術について解説します。 仮想化技術とは OSの仮想化技術とは、物理的なハードウェアの上に複数の仮想的なOSの実行環境を作成することを指します。この技術により、一台の物理マシンの上で独立した複数のOSを同時に稼働させ...
Linux

POSIXについて解説

本記事では、POSIXについて解説します。 POSIXとは POSIX (Portable Operating System Interface) は、UNIX系OS間での移植性と互換性を高めるために開発された一連の標準規格です。POSIX...
Linux

ファイルディスクリプタについて解説

本記事では、ファイルディスクリプタについて解説します。 本記事でのコマンドやプログラムの実行は全て「Ubuntu 22.04 LTS」環境で行っています。 基本的な仕組み ファイルディスクリプタ(ファイル記述子、fd)とは、OSがファイルや...
Linux

標準入出力について解説

本記事では、標準入出力について解説します。 本記事でのコマンドやプログラムの実行は全て「Ubuntu 22.04 LTS」環境で行っています。 概要 標準入出力(Standard Input/Output)は、プログラミングにおいて、プログ...
Linux

デバイスファイルについて解説

本記事では、サンプルコードを用いてデバイスファイルについて解説します。 デバイスファイル概要 デバイスファイルは、OS(オペレーティングシステム)において、アプリケーションによるハードウェアデバイスへのアクセスのためのインターフェースとなる...
Linux

カーネルモジュールについて解説

本記事では、カーネルモジュールの仕組みや扱い方について、サンプルコードを用いて分かりやすく解説します。 カーネルモジュールとは カーネルモジュールとは、OS(オペレーティングシステム)の中核部分であるカーネルに対して動的に追加や削除を行うこ...
OSの仕組み

組み込みシステムで使用されるOSについて解説

組み込みシステムでも、一般的なPCで使用されるWindowsやMacOSのようにOS(オペレーティングシステム)が使用されています。 しかし、組み込みシステムは家電など特定の用途に特化したシステムであるため、一般的なPCで使用されるOSとは...
アセンブリ言語

アセンブリ言語で”Hello world!”を出力するコードを作成・実行してみる

アセンブリ言語の概要について以下の記事で解説しましたが、アセンブリ言語の使い方の詳細は解説できていませんでした。 今回は初心者向けにアセンブリ言語の使い方のイメージが分かるように、書き方を1つずつ説明しながら、"Hello, world!"...
アセンブリ言語

アセンブリ言語について解説

皆さんはアセンブリ言語をご存知でしょうか。プログラマーであれば一度は聞いたことがあると思いますが、最近はあまり使用されておらずイメージが湧かない方も多いと思います。 本記事ではアセンブリ言語の基本的な内容ついて、分かりやすく解説します。 ア...