Technology
Linux
(Linux)
Linuxは、コンピュータや組込み機器を動作させるために使用される、オープンソースのOS基盤です。
厳密には、LinuxはOS全体ではなく、CPU、メモリ、ストレージ、通信機器などのハードウェアを管理する中核部分であるLinuxカーネルを指します。実際の製品では、Linuxカーネルに各種ライブラリ、コマンド、デバイスドライバー、アプリケーションなどを組み合わせたLinuxディストリビューションが使用されます。
Linuxは、リーナス・トーバルズ氏によって開発が始められ、オープンソースとして多くの技術者や企業が開発に参加しながら発展してきました。日本語では「リナックス」と呼ばれることが一般的で、ハカルプラスでもその呼び方をする技術者が多くいます。
OSの役割
- CPUやメモリの管理
- 複数プログラムの実行管理
- ストレージへのデータ保存
- Ethernetや無線通信の管理
- USBやシリアル通信などの入出力制御
- ディスプレイやタッチパネルの制御
- ユーザーやアクセス権限の管理
- 時刻・ログの管理
Linuxディストリビューションとは
Linuxカーネルに、ライブラリ、コマンド、設定ツール、アプリケーションなどを組み合わせ、OSとして使えるようにしたものがLinuxディストリビューションです。
ディストリビューションによって、標準ソフトウェア、設定方法、パッケージ管理、サポート期間、対応CPU、商用サポート、更新方法などが異なります。
組込みLinux
家電、通信機器、表示器、計測機器など、特定の機能を実行する専用機器へ組み込むLinuxは、組込みLinuxと呼ばれます。
組込みLinuxでは、製品に必要な機能を中心に構成し、不要な機能を減らすことで、ストレージ使用量、起動時間、セキュリティ上のリスクなどを抑えます。
Linuxを採用する主な利点
幅広いハードウェアへの対応
一般的なパソコン向けCPUだけでなく、ARM系などの組込み向けCPUにも対応しています。
通信機能を構築しやすい
TCP/IPをはじめとするネットワーク機能があり、Ethernet、無線LAN、Webサーバー、遠隔監視、データ送信などを実装しやすいことが特長です。
ファイルやデータを管理しやすい
計測結果、警報履歴、設定情報、通信履歴などを保存し、検索、転送、バックアップできます。
オープンソース資産を活用できる
通信、暗号化、データベース、画像処理、Web表示などのオープンソースソフトウェアを活用できます。ただし、各ライセンス条件の確認が必要です。
LinuxとリアルタイムOSの違い
一般的なLinuxは、通信、表示、データ保存、データベース、Web機能などの高機能な処理に適しています。
NORTi、μITRON、μC3などのリアルタイムOSは、決められた時間内に処理することが重要なセンサ読み取り、モーター制御、周期演算などに適しています。
製品によっては、時間精度が重要な処理をマイコンとリアルタイムOS、通信や画面表示をLinuxで分担します。
Linuxを採用する際の注意点
ハードウェアとの適合性
CPU、メモリ、ストレージだけでなく、通信、表示器、タッチパネル、USB、シリアル通信などに対応するデバイスドライバーが必要です。
電源断とデータ破損
書き込み中に電源が切れると、ファイルやファイルシステムが破損する可能性があります。読み取り専用化、バックアップ電源、保存領域の分離、障害に強いファイルシステムなどを検討します。
セキュリティ
不要なサービスの無効化、アクセス権限、認証、通信暗号化、更新方法、ログ管理、ネットワーク分離などが必要です。
ソフトウェア更新
OS、ドライバー、ライブラリ、アプリケーションの互換性を確認し、更新失敗時に復旧できる仕組みを設計します。
長期供給と保守
産業用機器では、Linux、CPU、基板、ライブラリのサポート終了を考慮し、開発環境、ソースコード、設定情報、更新方針を管理します。
Linuxを使用したシステムの開発
ブートローダー
電源投入後に最初に動作し、Linuxカーネルをストレージから読み込みます。
Linuxカーネル
CPU、メモリ、通信、ストレージなどのハードウェアを管理します。
デバイスドライバー
センサ、通信回路、表示器、タッチパネルなどをLinuxから利用するためのソフトウェアです。
ルートファイルシステム
Linuxを動作させるためのライブラリ、設定ファイル、コマンド、サービスなどを格納します。
アプリケーション
製品固有の計測、制御、表示、通信、データ保存などを実行します。
ハカルプラスにおけるLinuxの活用
ハカルプラスでは、一部の製品またはシステムにおいて、LinuxベースのOSを用いた開発実績があります。
SBCなどのコンピュータ基板を組み込み、通信、画面表示、データ保存などの機能を持たせる場合、ハードウェアとソフトウェアを一体として設計します。
Linux搭載基板の選定、メモリ・ストレージ容量、センサ・外部機器との接続、通信、表示器、起動時間、異常時復旧、データ保存、電源断対策、更新方法、長期保守などを検討します。
よくある質問
Q. Linuxとは何ですか?
A. コンピュータや組込み機器のハードウェアを管理し、アプリケーションを実行するためのオープンソースのOS基盤です。
Q. LinuxとLinuxディストリビューションの違いは何ですか?
A. LinuxはOSの中核であるカーネル、ディストリビューションはカーネルに各種ソフトウェアを組み合わせたOSです。
Q. Linuxは無料で使用できますか?
A. 無償で利用できるものは多いですが、各ソフトウェアのライセンス条件を確認する必要があります。
Q. LinuxとリアルタイムOSの違いは何ですか?
A. Linuxは通信・表示・データ管理などに適し、リアルタイムOSは決められた時間内の処理が重要な制御に適しています。
Q. 電源を切るだけで故障することはありますか?
A. 書き込み中に突然電源が切れると、データやファイルシステムが破損する可能性があります。
Q. ハカルプラスではLinux製品の開発を相談できますか?
A. 基板選定、組込みソフトウェア、通信、表示、データ保存、外部機器接続、電源断対策などを含めて相談できます。
関連ワード
・NORTi
・Windows10 IoT
・μC3
・μITRON
・C系プログラミング言語(C/C++/C#/Visual C++)
・SBCの組込み
・マイコン制御
・産業用端末・FAコンピュータ(タブレットPC/パネルコンピュータ/FAパソコン/ハンディターミナル)
同じカテゴリの『ハカル技術辞典』を見る