はてなキーワード: RTOSとは
AIの進化によってOS(オペレーティングシステム)は不要になるかという問いは、議論のレイヤーによって答えが大きく変わる面白いテーマです。
結論から言うと、「ユーザーの目に見えるインターフェースとしてのOS」はAIに溶けて消えていく(不要になる)可能性が極めて高いですが、「ハードウェアを制御する黒衣としてのOS」は、形を変えつつも絶対に残り続けると考えられます。
現在、私たちがOSを意識するのは、ファイルをフォルダに整理したり、アプリを起動したり、ウィンドウを並べ替えたりする時です。しかし、AI(自律型エージェント)が進化すると、これらの操作は完全にバックグラウンドへ隠蔽されます。
例えば、「PDFを翻訳して、要約をグラフ化し、メールで送信する」というタスクを、ユーザーはAIに口頭かテキストで伝えるだけになります。AIが裏で必要な機能(現在のアプリに相当するコンポーネント)を動的に組み合わせて実行するため、ユーザーが個別のアプリを立ち上げる必要はなくなります。
そのため、WindowsやmacOS、iOSといった固有のUIを操作するのではなく、AIとの対話そのものが環境(コンテキスト)になります。この意味において、「従来のグラフィカルなOS」は不要、あるいは不可視になります。
一方で、どれだけAIが賢くなっても、物理的な計算資源(ハードウェア)が存在する限り、それを管理する「基盤システム」は不可欠です。
CPU、GPU、メモリ、ストレージ、ネットワークなどの有限な物理リソースを、どの処理にどれだけ割り当てるかを1000分の1秒単位で管理・計算する仕組み(カーネル)は、AIが動くためにも絶対に必要です。
具体的には、メモリの競合を防ぐ、ハードウェアの過熱を抑える、ファイルシステムが破損しないように同期する、といった決定論的(確実・厳密)な制御は、確率論的(曖昧さを含む)なAIの推論にすべてを委ねるにはリスクが高すぎます。
そのため、現在のLinuxや、さらにミニマルに洗練された「AI実行専用の軽量なリアルタイムOS(RTOS)」のような形で、低レイヤーのOSは確実に生き残ります。
将来的には、OSそのものがAIを内包した新しいアーキテクチャに進化していくと予想されています。
上位レイヤー(ユーザーとの対話、タスクの分解、推論)は確率論的なAIが担当し、下位レイヤー(メモリ管理、セキュリティ、ハードウェアの実行)は決定論的なコード(Rustなどで書かれた厳密なシステムが担当する、多層的な構造です。
AIがユーザーの次の行動や、エージェント自身の計算負荷を「能動的推論(Active Inference)」のように予測し、先回りしてハードウェアの電力を最適化したり、メモリを確保したりするような、AIシステムと密結合したOSが主流になるかもしれません。
4. まとめ
不要になるもの:ユーザーが操作する「デスクトップ、ファイル、アプリのアイコン、ウィンドウ」という概念のOS。
形を変えて残るもの:AIという「脳」に、電気(電力)と栄養(計算資源)を安定的かつ安全に供給するための「自律神経系」としてのOS。
AIが進化するほど、OSは「存在感を消し、最も純粋な機械制御の役割に徹する」という形で最適化されていくのではないでしょうか。
要約すると、37歳無能正社員の俺が、職業訓練校に通って未経験のIT系に転職できるか、という相談。
俺はクソ弊社の無賃残業にブチ切れてる無能・一応正社員のアラフォー男性・年収300万強
HTML・CSS・JavaScript・PHPの初歩をドットインストールで習い、自分のWordpressをイジった程度で、壁にぶち当たり中。
ならばと方針転換、転職活動中に危険物乙種4類(ガソリン等を扱う初歩的な資格)を取ったので、
シナジーありそうな電気工事士、ボイラー技士などの資格を取って活かせるビルメンテナンス方面での転職を考える。
求人情報で、職業訓練校の講座を受けることで実務経験に近い扱いを得られるケースを知り、職業訓練校の説明会に行く。
職業訓練校の説明を受けた際に、ITエンジニアを目指す講座の存在を知り、その内容に魅力を感じて再び方針転換。
訓練校の担当者さんいわく、講座を受けることは可能だが、技能習得後の年齢の壁は確かに存在すると忠告を受ける。
皆さんにお聞きしたい。
以下の内容を職業訓練校で習得することで、転職に繋がる技術は身につくだろうか。
カリキュラムは要約すると以下の通り
・Java
・リアルタイムOS(RTOS)を使用したマイコン制御システムの作成
・Linuxの基礎
以上の内容で、ソフトウェアとハードウェア両方の知識を身に着け、サーバサイドエンジニアやIoTエンジニアを目指すというもの。
また、JavaScriptは独学での学習を続け、趣味に関するサイトをWordpressで作成し充実させるという目標はそれとは別に進めていくつもり。
訓練校でプログラム言語を体系立てて学べれば、自己学習の進展にも繋がればと思っている。
睡眠障害持ちのため(夜勤の場合でも家で睡眠できれば問題はないが、ビルメンは基本的に職場に泊まるシフトがある場合が多い)
そこがネックになるのではという危惧はある。
ビルメン系の資格+クレーン車等の資格を合わせて、清掃工場などの管理系も考えてはいるのだが…
これ以上は本題がとっ散らかるのでこれくらいにさせていただく。
なんか書いといたほうがいいような気がしたので書いておく。
なんてところもあれば、中身はARMでLinuxですみたいなところもあるし、その中間でRTOS使ってます。ということもある。
ただ、歴史的経緯として、マイコン制御などと呼ばれていたような時代から組込みソフトウェア開発がはじまって、
時代をくだるにつれて最終製品の機能が高機能化、複雑化するにしたがってソフトウェア開発の規模も比例的に、
あるいは指数関数的に拡大しているわけで、NonOSでアセンブラやCで書くという仕事は相対的に減っている。
(なんせ、ある程度高価格、高付加価値な製品を作らなければ国内メーカーは潰れるしかない)
なので、一番規模が小さいところの仕事はなくなりはしないし、働いている人は食いっぱぐれないとは思うけど、
わざわざ新たに飛び込むのは正直オススメしない。
で、問題は規模の大きい方で、当時マイコン制御をやっていたようなベテランやそれに薫陶を受けた開発者が
「勉強」をせずにこちらの方にコンバートするとどうなるかという話だ。
コンパイラはC++11,C++14であるにもかかわらず、Cもどきのコードを書くし、プロセスは巨大だし、
強烈に古臭いアーキテクチャを擬似的にOS上に構築してしまう。
その結果出現するのは、ひたすら肥大化しアンタッチャブルになったコードと原因不明のバグである。
IoTがどうのこうのなんて言っていても、組み込みが専門じゃない人がラズパイとセンサー買ってきて
一日半あればできるようなことを、ああだこうだやっているようじゃやっぱり生き残る道はないんじゃないかなー。
無い。C言語(++含む)の開発能力で開発競争をしていては、開発が間に合わない。
その言語を介して、おそらくLLVMを通してネイティブへのダイレクトなコンパイルになると思われるからOSの壁はわりと超えやすい。
その関係上、OSに要求される機能はRTOS程度の機能になるだろうが、RTOSその物は余程の性能でない限りLinuxでもユーザーランドとドライバで解決可能。
それに、よく要求されれる機能はLinuxにパッチ当てても可能。
結果論として、OSその物の高機能化勝負にはならない。勝負になるのはOSのエミュレーターというか開発環境。
より開発しやすい環境を整えたほうが勝つ。正確には、自動車が要求する水準までのサービスの開発とテストを高速化して支える技術。カバレッジとかね。
OSその物は限られた天才が作るだろうが、その天才の質は日米共に大差は付かない。もしくは買ってきても構わない。
問題は、その下に必要な大量の普通のプログラマーと、そのプログラマーが作ったものを天才が書いたものと遜色ない品質まで持ち上げるシステム。
要するに、日本刀ではなく、火炎放射器やマシンガンのように普通の兵隊をどこまで強化できるか?という競争になる。
ただしまぁそれは、今の自動車メーカーが考えているようなものではないから、そこの開発装置の競争でGoogleにボロ負けするだろ。
どっちに転ぶのかね、今主流になっている、マルチコア系の技術であるマルチタスクは、スパコンやGPU並みの処理だと
スレッド技術であるLinuxより、RTOS系列のJOB・タスクであるTRON的な考え方の方が、有利であることは事実だけどね。
でもまぁ、そのJOB管理をコンパイラがやってしまおうというCILKもあるわけで、時代がどっちに転ぶかはわかんね。
ただ、スレッドのコンテキストスワップとかを理解しないで、スレッド書いている人が量産されたというバッドノウハウ的な設計がまだまだ多そうだし、
本当は学校でJOBを教えるのがいいけど、そもそも、教えられる人がいないし
時代にIFはねーなーと思う。むずかしい。