はてなキーワード: RTOSとは
要約すると、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はねーなーと思う。むずかしい。