覇権プログラミング言語Rust、とうとうWindowsカーネルでも使用され始める…まだ学んで無い奴おりゅ?

サムネイル
1 : 2023/07/23(日) 11:05:52.05 ID:RLUa9RoY0

 米国時間7月13日に「Windows 11 Insider Program」のCanaryチャネルでリリースされたBuild 25905では、Rust言語で実装されたWindowsカーネルが一部で展開されているとのこと。Rust製のWindowsカーネルの存在は以前に同社のMark Russinovich氏が自身のTwitterアカウントで明らかにしていたが、これが実際に利用できるようになる。

 Windowsカーネルの開発にはC言語を中心に、アセンブラやC++言語が用いられているが、いずれもプログラマーがメモリを直接管理する仕組みになっている。開発当時のデバイスやハードウェアに厳しいリソース制限があり、そこでパフォーマンスを出すためには必要かつ妥当な選択であったが、開発規模が大きくなるにつれてメモリ管理に関わる不具合が混入する結果にもなった。メモリ安全性の欠如はシステムの安定性を損なうだけでなく、ときに重大なセキュリティリスクとなる。

 そこで注目されているのが、Rust言語だ。Rustはコンパイラーがメモリ管理を厳格にチェックしてくれるため、メモリの安全性を保障できる。習熟に多少時間はかかるが、C/C++と同等の実行速度を確保できるのも魅力で、「Android 13」や「Chromium」のサードパーティライブラリ、速度を重視するアプリケーションなどで採用が広まりつつある。

 Microsoftによると、今回のプレビューではRustによる重要なカーネル機能の初期実装として「win32kbase_rs.sys」にGDIリージョンの新しい実装が含まれているとのこと。まだRust言語の採用はほんの一部でしかないが、次第に拡大されるものとみられる。

 なお、Canaryチャネルは今回の新カーネルに代表されるように、内部的な変更が試される場だ。新機能が次々と披露されるDevチャネルに比べると地味で、動作の安定性も保障されないので注意。

 興味のあるユーザーは「設定」アプリの[Windows Update]セクションでチャネルを切り替えてもよいが、一度Canaryチャネルにしてしまうと他のチャネルに戻せない(クリーンインストールが必要となる)点にも留意したい。本ビルドにはISOイメージファイルが用意されているので、システムが不安定になったり、誤って破壊してしまった場合は、これで再インストールとよいだろう。

Rust言語で開発したWindowsカーネル、Canaryチャネルで展開開始
https://forest.watch.impress.co.jp/docs/news/insiderpre/1516147.html

24 : 2023/07/23(日) 11:07:16.71 ID:6MudesMHM
一般人はカーネル開発しないだろ?
25 : 2023/07/23(日) 11:07:39.60 ID:E9/LIkJF0
RustはUnityで作られてるからC#だろアホ
26 : 2023/07/23(日) 11:08:21.45 ID:ZXnjHKdD0
Rustは流行らないぞ
今とりあえず各社持ち上げてやってるけど、CはもちろんC++も代替できない
たぶんRustの思想を取り入れて洗練させた言語が10年後くらいに登場してそいつが流行る
32 : 2023/07/23(日) 11:11:02.36 ID:zNXxMpv1M
>>26
10年後ってまだ人がコード書いてるのかね
45 : 2023/07/23(日) 11:19:29.05 ID:2myt0/ox0
>>32
どっちにしてもRsutは流行らない
27 : 2023/07/23(日) 11:08:23.05 ID:rfgMBRum0
C程の変態さが不要なC並の速度が出る言語なん?
28 : 2023/07/23(日) 11:09:27.27 ID:tALN9gF10
php(ペーハーペー)で充分
29 : 2023/07/23(日) 11:09:28.04 ID:2myt0/ox0
IT土方専用言語になりそう
30 : 2023/07/23(日) 11:10:11.11 ID:Nj/4+COZ0
perlじゃあかんの?
31 : 2023/07/23(日) 11:10:18.75 ID:dc+qnYgE0
クライアントOSのメモリリークは何十年経っても直らないから意図的なんだろ
Windows serverはリークしないし
51 : 2023/07/23(日) 11:22:50.43 ID:E9/LIkJF0
>>31
どの辺がリークしてんの?
Win10なんて1年以上スリープ運用しても別に快適だが
57 : 2023/07/23(日) 11:29:46.01 ID:6MudesMHM
>>51
Windows Updateしないの?
33 : 2023/07/23(日) 11:12:38.18 ID:HRtMEHhca
おりゅ?←マジで気持ち悪い
SEっていまだに20年前の2chで時間が止まってるよな
34 : 2023/07/23(日) 11:13:11.36 ID:JD5na4ST0
20年前から使ってるわ
35 : 2023/07/23(日) 11:15:28.16 ID:xGKDB1jN0
ドライバ開発が変わりそう。
C言語は面倒なんだよ。
Windbgでカーネルデバッグ出来るようになればやってみようかな?
36 : 2023/07/23(日) 11:15:51.49 ID:rycnoUZA0
Rustみたいなスーパースタイリッシュモダン言語使ったらc+とか古臭い言語に戻れんよ
37 : 2023/07/23(日) 11:16:34.88 ID:P/ecLFmV0
c++にパターンマッチ入ってくれないかなあ
コルーチンもrust方式に直しておくれ
38 : 2023/07/23(日) 11:16:56.48 ID:iehHw9Q30
でも難しいんでしょ…怖いよ
39 : 2023/07/23(日) 11:17:20.38
pythonが捗りすぎなんよ・・
40 : 2023/07/23(日) 11:17:32.25 ID:5bbDlzwg0
プログラミング言語の覇者C++の牙城を崩すことができるのかな?
41 : 2023/07/23(日) 11:18:44.35 ID:kVtgjMRM0
まだ様子見
ちょっと前は関数型がもてはやされたけどもうみんな忘れてる
42 : 2023/07/23(日) 11:19:00.77 ID:lvLIhjHU0
お前らってメモリ直接管理しなきゃいけないような高度なことやってんの?
47 : 2023/07/23(日) 11:20:32.20 ID:JD5na4ST0
>>42
まず自身のPOST管理が出来るようになってから出直しましょう
44 : 2023/07/23(日) 11:19:06.90 ID:K2pn27iQa
所有観念をはっきりはっきりぃ、はっきりとさせなければならないのがよく分からなかった
46 : 2023/07/23(日) 11:20:09.18 ID:QXU+OGdK0
ハードをまともに作れなくなってきた日本だと組み込みのごく一部の人以外は使わないだろな
48 : 2023/07/23(日) 11:20:57.50 ID:leJbOFX50
適当にリファレンス見ればなんとかなるっしょ
49 : 2023/07/23(日) 11:22:40.14 ID:kVtgjMRM0
メモリリークしません

※使わないメモリを合法的に大量に確保し続けないとは言ってない

50 : 2023/07/23(日) 11:22:42.70 ID:NncZagoN0
高級言語しか使わないワイ安定のスルー
52 : 2023/07/23(日) 11:22:54.23 ID:P/ecLFmV0
個人的にはgc言語よりずっと楽だしリークしにくいと思う
gcなんてメモリーしか回収してくれない欠陥品じゃない
54 : 2023/07/23(日) 11:25:48.36 ID://NmPVDp0
カーネルみたいなコアな箇所触らんから絶対覚えないわ
55 : 2023/07/23(日) 11:27:13.99 ID:J54u430/a
c/c++程度でメモリ管理が難しいとか不具合でやすいとかユトリ過ぎだろ
それよりExcelVBAc#とKotlinでwinows/androidのプログラム書いてみたけと不便過ぎる
71 : 2023/07/23(日) 11:42:10.72 ID:P/ecLFmV0
>>55
cとc++じゃ難易度が違いすぎる…
cは機能がショボすぎてコーダーが面倒見なきゃいけないことが多すぎる。dbとかosみたいに長期間起動するタイプのシステム組むのにc選ぶのはマゾすぎ
56 : 2023/07/23(日) 11:28:45.98 ID:rycnoUZA0
普段使いにも使いやすいよ
58 : 2023/07/23(日) 11:30:20.33 ID:vORHCgyc0
Python学ばない内に新しいの出てきたのかよ
60 : 2023/07/23(日) 11:32:56.74 ID:rycnoUZA0
>>58
Python上位互換のmojo🔥も出てくるぞ
65 : 2023/07/23(日) 11:38:23.27 ID:9qA6+bu10
>>58
Rustは初心者向けじゃないから焦らなくていい
Cから進みたいが、C++には行きたくない人向けだ
59 : 2023/07/23(日) 11:31:50.60 ID:dBvFnc1A0
あれだろ?
mallocでfreeすればいいんだろ?
61 : 2023/07/23(日) 11:33:18.88 ID:RaSYDvKA0
できない理由を考えるのではなく!
62 : 2023/07/23(日) 11:34:36.22 ID:QSDjpBMe0
RustがGC言語より楽とかお前ら天才かよ
俺なんかBox Rc RefCel Cell RefMutあたりずらずら並んでるのを見てさようなら…って気分になったぞ
63 : 2023/07/23(日) 11:35:15.89 ID:pDLx6ZAi0
俺のほうが詳しいおーくしょんすれ
64 : 2023/07/23(日) 11:36:35.83 ID:kVtgjMRM0
つーか今起きてるようなバグってメモリリークとかが原因なんか?
66 : 2023/07/23(日) 11:39:06.46 ID:pq7C7vxm0
>>64
目をつぶってる事が多いだけで、メモリリークを起こしてるプログラムが実運用されてる事は多い。
67 : 2023/07/23(日) 11:39:25.51 ID:7k+kR/k20
Pythonが簡単すぎて他が無理なんだが何したらええんや?
Pythonでアプリ作るのは流石に辛くて諦めてるんだが
69 : 2023/07/23(日) 11:41:28.18 ID:NxLuP+/h0
仕組みは素晴らしいんだけどgcがないせいで考えることが多くなって面倒くさい
rustは使わせる言語っていうのを見てしっくりきた
70 : 2023/07/23(日) 11:41:55.08 ID:pq7C7vxm0
メモリリークの静的防止という喜びは何事にも変えがたい。
72 : 2023/07/23(日) 11:42:21.21 ID:9qA6+bu10
Pythonは昔で言うBASIC
BASIC止まりの人は大勢いたので恥じることではないよ
コンピュータの内部的なことを理解できない人はそのままPythonでいい
73 : 2023/07/23(日) 11:45:55.35 ID:Y6/m73dvr
俺はCで書くときはメモリなんて開放しないぞ
mallocしたらプログラム終了までそのままや
ポインタもローカル変数にしとる
どうせ数分後にはプログラムの実行終わってメモリは全部回収されるんやから気にすんな
75 : 2023/07/23(日) 12:18:03.12 ID:EHRIKACc0
>>73
ワイルドだろぉ?
74 : 2023/07/23(日) 12:00:40.76 ID:SgPb8qCh0
カーネルでもドライバーだよ
ドライバーは採用しやすい
linuxでもrustの採用はドライバーからだった
76 : 2023/07/23(日) 12:18:05.84 ID:K3OrNor+0
RPGツクール mvを思い出す
つくったゲームがなぜか途中バグって止まった、調べたらコアスクリプトのメモリリークがあって根本的には解消しないとかだった
続編からは解消された
77 : 2023/07/23(日) 12:22:06.84 ID:v2v+qLeG0
ドライバってプールとか非プールとかメモリ確保がすげーめんどくさいんだけど勝手にやってくれるようになるの?
78 : 2023/07/23(日) 12:30:01.86 ID:pzSo7kpL0
wasmでも有力視されてるし裾野は広い

コメント

タイトルとURLをコピーしました