OSの良し悪しの話
この記事はMMA Advent Calender 2025の1日目の記事です。
はじめに
こんにちは。言い出しっぺのhydrogenです。去年は色々やっていましたが、今年は流石に忙しいので一人アドカレはやりません。
さて、MMA Advent Calenderの季節がやってまいりました。ここで現状のカレンダーの埋まり具合を見てみましょう。

11月30日現在、まだまだ空きが11枠もございます。この機会にアドカレに記事を出してみてはいかがでしょうか。もうここまでくれば、現役OB問わず心がMMAであれば誰でも参加できます。
とりあえず、誰でもいいので残りの空き枠を埋めてくださいおねがいします。
各OSの比較
ここ近年、PCによく使われるOSは基本的にWindows、Linux、MacOS、ChromeOSの4つでしょう。これ以外にもFreeBSDやSolarisなどもありますが、ほぼ見ることはないと思われるので割愛します。
以下に各OSの良し悪しを電通大生視点で簡単にまとめてみました。
Windows
良い点については以下のようにまとめられます。
- 多くのソフトウェアが対応している
- ゲームが豊富
- 周辺機器のドライバが充実している
それぞれ説明していきましょう。
まず、多くのソフトウェアが対応している点についてです。Windowsは最も普及しているOSであるため、ソフトウェア開発者はWindows向けにアプリケーションを作成することが一般的です。それどころかWindows上でしか動作しないソフトウェアも数多くあります。例えば、電通大にてII類MエリアやIII類機械システム工学プログラムの学生がよく使うCADソフトは、Windowsでしか動作しないものも多いです。そのため、これらに進学する学生はほぼ必然的にWindowsを使うことになります。
また、近年ではWSLによってLinuxの環境をWindows上で動作させることができるようになったため、Linux向けのソフトウェアもWindows上で利用可能です。これにより、WindowsユーザーはLinuxの利点も享受できるようになりました。
次に、ゲームが豊富な点についてです。たいていのPCゲームはWindows向けにリリースされており、MacOSやLinuxでは動作しないことが多いです。ゲームを楽しみたい学生にとっては、Windowsは最適な選択肢となります。ただ、近年はマルチプラットフォーム対応のゲームも増えてきており、MacOSやLinuxでも遊べるゲームが増えつつあります。
最後に、周辺機器のドライバが充実している点についてです。やはり多くのユーザーがWindowsを使用しているため、プリンターやスキャナーなどの周辺機器のドライバはWindows向けにリリースされることが多いです。一応他のOSでも動作させることは可能ですが、Windowsでの動作と比較して低速であったり不安定であったりすることがあります。
ただ、良いことばかりではなく以下のような欠点もあります。
- OS自体が重い
- OSの内部が極めて複雑
- CLIが使いづらい
- Microsoftアカウントがほぼ必須
- 余計なお世話が多い
まず、OS自体が重い点についてです。Windowsは多機能である反面、その分リソースを多く消費します。同じスペックのPCであっても、Windowsを使用している場合はLinuxやMacOSと比較して動作が遅く感じられることがあります。特に、他のOSと比較してディスクの容量を多く消費したり、電力を多く消費したりする傾向があります。
次に、OSの内部が極めて複雑である点についてです。Windowsは互換性を重視しているため、古いソフトウェアを動作させるために過去の機能を動作させるための仕組みが多数組み込まれています(例: WoW64、互換モード)。加えて、レジストリという単純なファイルでないデータ管理システムや、アクセス権限がリスト形式で管理されているなど、OSの内部構造が非常に複雑です。MicrosoftがOSの内部構造を公開していないこともあり、OSの挙動を完全に理解することは困難です。
また、WindowsはGUI操作を前提として設計されているため、CLIの使い勝手が他のOSと比較して劣ります。PowerShellやコマンドプロンプトは存在しますが、Linuxのシェルよりも使いづらかったり、機能が劣っていたりします。
例えば、コマンドプロンプトではコマンドの実行結果を変数に格納するのが少々面倒です。以下のように書く必要があります。
for /f "usebackq delims=" %%A in (`dir`) do set RETURN=%%A
echo %RETURN%
一方、Linuxのシェルでは以下のように簡単に書けます。
RETURN=$(ls)
echo $RETURN
PowerShellでは以下のように書けます。ですが、PowerShellのコマンドの出力はオブジェクトであるため、lsの出力をそのまま変数に格納するとオブジェクトの配列が格納されてしまいます。そのため、少し取扱いに注意が必要です。
$RETURN = ls
echo $RETURN
echo $RETURN[0]
さらに、最近のWindowsでは使うためにMicrosoftアカウントがほぼ必須となっています。一応回避する手段(ms-cxh:localonlyやレジストリ書き換え)もありますが、だんだんと塞がれてきており、将来的には完全に必須になる可能性もあります。
最後に、余計なお世話が多い点についてです。例えば、ファイルの拡張子を隠す設定がデフォルトで有効になっていたり、右クリックメニューが必要以上にシンプルにされていたりします。これらはただPCを大きな画面のスマホのように使いたいユーザーには良いかもしれませんが、プログラミングや設計などを行う学生にとっては面倒です。数多あるMicrosoftの悪いところの一つ
Linux
良い点は以下の通りです。
- PCや自分にあったカスタマイズが可能
- (ディストリビューションによるが)軽量で高速
- OSの内部が比較的シンプル
- CLIが強力
- 無料で使える
まず、PCや自分にあったカスタマイズが可能な点についてです。Linuxは基本的に各種機能のソフトウェアが分離されており、ユーザーは自分の好みに合わせて必要なソフトウェアを選択してインストールできます。例えば、デスクトップ環境やシェルを自由に選択できるため、自分の使いやすい環境を構築できます。また、ディストリビューションという形でこれらの環境がある程度まとめられて提供されており、そこからの改造も容易です。
次に、軽量で高速な点についてです。Linuxは必要最低限の機能だけをインストールすることができるため、ほとんど使うことのない機能によって無駄になるリソースが少なく抑えられます。特に古いPCや低スペックのPCでは、Windowsと比較して動作が軽快に感じられることがあります。
また、OSの内部が比較的シンプルである点についてです。Linuxはオープンソースであるため、OSの内部構造が公開されており、さまざまなドキュメントや情報が存在します。また、OSの機能自体も比較的シンプルに設計されているため、十分にコンピューターについて知識のある人であればシステムコールやファイルシステムの構造などを理解しやすいです。オペレーティングシステム論の授業でLinuxを取り扱うのもこのためです。
さらに、CLIが強力な点についてです。Linuxのシェルは非常に強力であり、簡単な競プロの問題ならシェルスクリプトで解けてしまうほどです。また、Linuxはシェルでの操作を前提として設計されているため、GUIがなくても十分に操作可能です。これにより、サーバー用途などでGUIを使わない場合でも快適に操作できます。WindowsではGUIで行う操作をCLIで行うためにはかなりの工夫が必要ですが、Linuxではほとんどの操作がCLIで直接行えます。
ただ、欠点も存在します。
- ソフトウェアの対応状況が悪い
- あまり初心者向けでない
- 基本的に自力でトラブルシューティングが必要
まず、ソフトウェアの対応状況が悪い点についてです。LinuxはWindowsと比較してユーザー数が少ないため、ソフトウェア開発者はLinux向けにアプリケーションを作成することが少ないです。そのため、特定のソフトウェアがLinuxで動作しないことがあります。特に、商用ソフトウェアやゲームなどはLinuxで動作しないことが多いです。一応Wineなどのツールを使うことでWindows向けソフトウェアを動作させることは可能ですが、完全に動作する保証はありません。
また、Linuxは初心者向けでない点についてです。Linuxは多くの設定や操作がコマンドラインで行われるため、初心者にとっては敷居が高いです。一応GUIベースの設定ツールも存在しますが、すべての設定がGUIで行えるわけではありません。そのため学習コストが高くなりがちで、特に初めてLinuxを触る人にとってはハードルが高いと感じることが多いです。
最後に、基本的に自力でトラブルシューティングが必要な点についてです。Linuxは無料であり基本的にPCにプリインストールされているものではないため、トラブル発生時にメーカーのサポートを受けることができません。そのため、自分で情報を漁って解決する必要があります。
基本的に初心者の段階でいきなりLinuxを使うのはあまりおすすめしません。使うにしても一番普及しているディストリビューションであるUbuntuを使うことを推奨します。変な人たちが猛烈に推しているArch Linuxなどは初心者向けではないので避けたほうが無難です。
MacOS
- iPhoneやiPadとの連携が強力
- 安定している
- CLIが強力
まず、iPhoneやiPadとの連携が強力な点についてです。MacOSはApple製品であるため、iPhoneやiPadなどの他のApple製品とシームレスに連携できます。例えば、AirDropを使って簡単にファイルを共有したり、Handoffを使って作業を引き継いだりできます。これにより、Apple製品を複数持っているユーザーにとっては非常に便利です。特に、写真の同期やメッセージの送受信などがスムーズに行えます。
次に、安定している点についてです。MacOSはハードウェアがApple製品に限定されているため、OSとハードウェアの相性問題が少なく、安定した動作が期待できます。特に組み込みのメモリが高速であることや、OSがハードウェアに最適化されていることから、パフォーマンスも良好です。
また、CLIが強力な点についてです。MacOSはUnixベースであり、同系統のLinuxと同様のシェルを利用できます。これにより、Linuxで使える多くのコマンドやスクリプトがMacOSでも利用可能です。特に、開発者にとっては便利な環境が提供されています。
問題点も存在します。ここではLinuxと共通する点は省略します。
- CPUがARMベース
- ハードウェアの自由度が低い
- Apple製品である
まず、CPUがARMベースである点についてです。最近のMacはApple独自設計のCPUを搭載しており、現在クライアントPCで主流のx86アーキテクチャとは異なります。そのため、LinuxやWindows向けに開発されたソフトウェアがそのまま動作しないことがあります。特に、仮想化ソフトウェアを使って他のOSを動作させる場合、ARM版のOSが必要となります。もっとも、MacOS向けに開発されたソフトウェアは基本的にARM版に対応しており、今後も対応が進むと予想されます。
次に、ハードウェアの自由度が低い点についてです。MacOSはAppleのハードウェアでのみ動作するため、ユーザーはハードウェアの選択肢が限られます。事実上、自作PCを作ることは不可能であり、Apple製品の中から選ぶ必要があります。これにより、拡張性が低くなり、メモリやストレージの増設が難しい場合があります。
最後ですが、MacOSはハードウェアと一体となった製品であるため、他のOSとは異なり明確にハードウェア起因の寿命が存在します。Appleは製品のサポート期間を定めており、古いMacは最新のMacOSにアップデートできなくなることがあります。また、OSのアップデートにより、過去のプログラムが動作しなくなることが頻繁にあるなど、互換性の問題も発生します。加えてApple製品であるため、ブランド代という名目で露骨に価格が高く設定されており、コスト面では圧倒的に不利です(SSDを4TBにするだけで18万円が追加でかかるのは明らかに高い)。
ChromeOS
ChromeOSについては正直なところ電通大生視点ではあまりメリットがないため、軽く触れる程度に留めます。
- 軽量で高速
基本的にブラウザベースで動作するため、低スペックのPCでも快適に動作します。
デメリットについては以下の通りです。
- インターネット接続が前提
- 利用可能なソフトウェアが限られている
ChromeOSは基本的にインターネットの接続が前提となっているため、オフラインで使える機能が限られています。また、デフォルトで利用可能なソフトウェアもChromeウェブストアやGoogle Playストアからインストールできるものに限られており、プログラミングや設計などを行う学生にとっては不十分です。
まあ、電通大生でChromeOSをメインに使う人はほぼいないでしょう。
おわりに
以上、無内容なのもどうかと思って書いたことが思った以上に長くなってしまいました。
2日目はUdon君による「X(Twitter)のAPIについて」です。お楽しみに!