高校~社会人の情報学基礎知識講座

オペレーティングシステム

»

完全チューリングマシンは後ろのほうのデータを持ってくることができる。

PC98とかの時代はフロッピーを入れて電源を入れることでそのソフトが起動していた。
それはソフト間の連動がしづらかったということの証左でもあった。
ワープロソフトに絵を入れるとかめっちゃやりづらかったねん...。

PC98なんぞ知らん、という人はファミコン・スーパーファミコン・GBあたりをイメージしてほしい。
カセットを挿さずに電源を入れても何も表示されなかったし、各カセット間でデータの受け渡しとかできなかったでしょう?
ブート領域は各カセットにあり、そのまま起動していったわけですね。

21世紀のコンピュータは基本的にOSを積んでる。
この場合OSが何をしてくれるのかというと、複数ソフト間のリソース割り振りだったり処理優先度の決定をしてくれます。

現在は電源起動⇒マザーボード内のBIOS/UEFIが起動⇒BIOS/UEFIの設定に従ってブートディスクが起動、という流れになっています。
WindowsのドライブがCから始まるのは色々な俗説がありますが、Aドライブ・Bドライブがフロッピーのブートドライブ、Cドライブが外付けHDDその1だったため、
A,Bはいまだにフロッピー用として取ってあってCから始めてる、という説があります。
この辺論争の種なので他の説はコメントください。


このOSという概念を拡張してGUIを最初に作ったのはAppleコンピュータ(スティーブ・ジョブズ追放前時代)。
このGUIの時点でボールマウスとウィンドウシステムの原型をAppleが作っていたのに、マイクロソフトが「Windows」って名前でGUIのOS出したもんだからさぁ特許裁判だ!ってことで和解するまで両社はクッソ仲が悪かったのだ...。


PCのOSについて

PCの場合はWindows / iOS /Linux系がほぼ主軸になっています。
Windowsはサーバー用と個人用とビジネス用とで多少ソフトの制限がありますが(一番多いのはリモートデスクトップ機能の差異)、概ね1シリーズになっています。
iOSはAppleコンピュータのマック系列専用のOSです。BSDベースだったかな?(BSDについては後で触れます。

Linuxは・・・種類と系統がとてもとても多い。
OSという概念が一般に広がったころ、オープンソースの流行もあってUNIXというOSがベル研究所からオープンソースで公開されました。
あとからライセンスを取るようになったため、UNIXを真似して独自開発されたのがLinuxです。

先のiOSのもとになったBSDもUNIXをまねて開発されたため、UNIXはそのクローンを大量に持っています。

Linuxに話を戻しましょう。
UnixライクなOSとしてLinuxがありますが、カーネルという基礎中心部分のみを基本とし、GUIやパッケージマネージャーとかを自由に組み合わせてよいという方針が出されています。
それにより、いろんな目的に応じたLinuxが、すごく一杯の種類が存在します。「Linux 種類」とかでググるといいよ。

エンジニアとしてよく使うLinuxはRed Hat社のRed Hat Enterprise Linux(RHEL)というLinuxかな。
商用で安定性が高いため、サーバー機などによく利用される。RHELのなかで著作権的に問題ないパッケージやソースを基本として再編集したのがCentOSシリーズだったが、
Red Hat社が2020年末に「RHELの後ろではなくRHELの開発用(CentOS Stream)に回す」という方針にしたため混乱が発生している。
https://gihyo.jp/admin/clip/01/linux_dt/202012/24 
代わりに開発者用としてシングルマシン・ユーザであれば16システムまで無料、と無料枠を拡大したがはてさて・・・https://gihyo.jp/admin/clip/01/linux_dt/202101/21

Windowsの代替としてよく利用されるLinuxはUbuntuというシリーズである。口の悪い表現で「貧乏人のWindows」と言われたりも...。
Ubuntu Serverなんてシリーズもあるのでサーバー用途がないわけではない。
ちなみにCentOS系統とはパッケージマネージャーが異なるため、インストール時に使うコマンドがまた違う。

ちなみに、OSが異なるとCPUに対する命令セットが異なるため、異なるOSで同一のソフトを動かすのはほぼ不可能である。
そのため、有料のゲームの大半がWindows用として販売されているため、ゲームをしたいがためだけにWindowsを持っている必要があったりした。

最近はDL販売が多くなり、Mac対応とかも多くなったけど。


PC以外の機器のOSについて

ゲーム機もPlayStationあたりからはOSが乗るようになった。
Nintendo SwitchはBSDベースらしく、著作権表記の中にFreeBSDの記載がある。
switchのjoy-conはTron系( https://monoist.atmarkit.co.jp/mn/articles/1707/07/news029.html )。Tronは日本産のOSでOS開発戦争期に開発された。軽いのが売りで扱いやすいことからIoTのOSとしての採用が多いらしい。PCのOSとしては負けたけど、入っている台数ベースで考えると世界一のOSかもしれない。

スマホは事実上PCと同じなのだが、AndroidとiOS(iPhone)が多い。
AndroidはGoogleによるLinuxフォークなのでLinux分類でいい。
iPhoneのiOSはMacのiOSとは同盟だが別シリーズ・・・だったはず(この辺記憶があいまい)


オマケ

2015年くらいにフィンランド大学を見学しに行った際にLinuxの生みの親リーナスが特集されてたので、撮った写真が見つかった。
貼っとく。なお、元サイズの写真は5MiBちょいなのだがアップロードできなかったので縮小版。

P1040684.jpg

Comment(3)

コメント

匿名

現代のPCもHDDだのSSDだのストレージにインストールされてるだけだけどね。
なんというか(説明省き過ぎで)、この人には教わりたくねーな。

それでいい人は全然構わないんだろうから、自分とは合わないだけなのでお気になさらずどうぞ。

マスター吹越

匿名の方
>現在は電源起動⇒マザーボード内のBIOS/UEFIが起動⇒BIOS/UEFIの設定に従ってブートディスクが起動、という流れになっています。
この「ブートディスク」がHDD/SSDに書き込まれてるわけですねー。うん、この一行書き漏れてますね。ご指摘ありがとうございます。

>なんというか(説明省き過ぎで)、この人には教わりたくねーな。
>それでいい人は全然構わないんだろうから、自分とは合わないだけなのでお気になさらずどうぞ。

困ったことに高校情報科の教科書ってこれより雑なことしか書いてないねん・・・
ということで抜け漏れあるの承知で吹越が自分用教科書の下準備として書いてるのがこのブログになります。(内容に対する編集者ついてないねん)
ご自身に合う書籍とかあったらコメントで紹介ください!

匿名の人

どんな偉い人でもミスや勘違い、間違いはあるものですが、このOSの関する文章はあまりに間違いが多すぎて、スルーするか指摘するか迷いましたが気になるところ書かせて下さい。

GUIやマウスを発明したのは、Apple ComputerではなくXeroxです。
PCの主要OSは、Windows / Mac OSX / Linux です。
※IOSは、iPhone用のOS、またはシスコシステムズのルータ用OSの名称です。
Unixの商用化に対してフォークしたのはLinuxではなくBSDです。
LinuxはLinusさんがMinixの代替となるUnix互換OSを1から開発したものです。
※パクった/まねて開発/貧乏人のWindows・・などなど凡そふさわしくない表記が多い印象です

最後にOSが異なってもシステムコールやAPIが共通なら同じバイナリが動作するはずです。古いWindowsのソフトウェアは別OSであるOS/2やWindowsNTで動作しましたし・・。

その他にもいろいろな箇所が読んでいてムズムズするので、他の人はもっとムズムズしてるんじゃないでしょうか。野暮な指摘してごめんなさい。

コメントを投稿する