- 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でも有力視されてるし裾野は広い
コメント