「カーネル」を含む日記 RSS

はてなキーワード: カーネルとは

2020-05-22

anond:20200521225730

プログラミング言語を印象批評している記事に触発されて、自分も印象批評してみようと思う。

JavaScript以外にもブラウザ上でぐりぐりするのにはJava AppletとかFlashとかSilverlightかいろいろあったけれど、結局標準化を成し遂げたHTML5に淘汰されちゃった感じがする。LiveScriptからJavaScript改名されたり、規格を話すときECMA Scriptだったりといろんな別名を持つ。一応、プロトタイプベースオブジェクト指向言語なんだけれど、それを意識してコードを書く人がどれくらいいるかは謎。

Pythonは小さいコードを書くのには楽だけど、これで大きなコードを書くと思わぬ変更で思わぬことが起きるのでつらい。しばらく使うとPythonイヤイヤ病にり患し、goを使うようになるらしいとか、ならないとか。pythonで大規模なコードを万一書こうと思うなら、カバレッジが高いテストを書いてくれと思う。

Javaは初期のころオートボクシング / アンボクシングもなく、ストイックオブジェクト指向言語だった記憶がある。ただ、staticを多用してオブジェクト指向とは程遠いコード簡単に書けるので、Javaで書いているからと言ってオブジェクト指向だと思うのは禁物である

PHPWebネイティブ言語で、初期のころHTTP POST/GETなどで渡された変数がそのままプログラム中に出てくる機能初期化していない変数最初に使うと空文字列あるいは0で初期化するという機能があった。また、文字列数字臨機応変に切り替える機能もあり(今もそうかは知らん)、数字文字比較比較演算子(==)でシームレスにできる。パスワードチェックみたいなコードで===ではなく、==を使っているとPHPを知らないバカ扱いされる。

C#Hello Worldくらいしかいたことないから知らん。monoのような互換環境があるのは知っているけれど、わざわざPC Unix上でmonoを使う気分にはなれなかった。

C++黎明期に使った感じと、C++11以降に使った感じが驚くほど違う言語。今はかゆいところには大抵STLで手が届くし、autoを使えばイテレーション腱鞘炎になることもない。PC Unixにも最初から環境インストールされているか簡単インストールできるので毛嫌いせず使うとよいと思う。

Rubyはぎょっとする変更をよくやるというイメージ。これで書かれたプログラムを長年愛用してきたが、ぎょっとした変更を入れられて動かなくなったのでgoで書き直した。その点ではpythonも3でおいていかれたので嫌い。

CSS...はプログラミング言語なのか?そうか。

TypeScriptは書いたことないから知らない。JavaScriptだと大規模コードを書くとつらいのでTypeScriptを使おうという人がいるのは知っている。大規模なコードを書くとしたら、インタフェースに合った呼び出しかコンパイル時にチェックしてくれるような強く片付けされた言語のほうがよくなってくるというのはわかる。

Cは片付けし、構造化したプログラムを書きやすくしたアセンブラ...というイメージだったんだけど、C99くらいから便利機能がいろいろ入ってそうでもない感じになった印象。昔はCのコードを見たら最適化した後のx86アセンブリが見えていたんだけれど、最近は見えなくなってしまった。子供のころ、本屋で秘伝C言語問答 ポインタ編に出会ったのがこの業界に入るきっかけだったのかもしれない。ほかの言語でいろいろ楽に書けるからカーネルをいじるか、システムコールをたたくかするときくらいしか自分の中では出番がなくなってしまった。

これ以下のランキングのもその気になったら書こうかな。

2020-05-21

いまいちLinuxが好きになれない

いや、もうコンテナ技術とかLinuxに非ずんコンテナに在らずなのはしゃーねーかなーとか思ってはいる。

たださー、なんかオープンソース代表みたいな感じで扱われてるのが気にくわないんだよね。大体のドライバなんてプロプライエタリなもんだし。モノシリックからLSBとか使ってるし。

なにが嫌なのかなと思ってたら昨日のMicrosoftの発表を知って気づいた。DirectX12移植とか、WSL2とかやっほーと思う反面、なんでそんなことしてんのって思うんだわ。

WSL2とかWindowsに同居しすぎだろ。cygwinくらいでいいよ。なんか変に壊れそうで嫌だし、DirectX 12ってAndroidへの移植念頭なのか知らんがなんでそんなことしてんのと思うのだ。

まぁ、メンバーみたら大企業ばっかだからLPICみたいな感じになるのは仕方がないけど、なんかまだ言葉に出来ないけど気持ちわりーんだよなぁ。

高々カーネルなんだけどなぁ。

2020-05-17

anond:20200517214550

ローリングリリースとかカーネルソフトウェア更新追従の早さとか週一回の全システム更新推奨とかの理念の話をしていたわけだけど、まさかDebianとかCentOSとかを使ったことがない人?

2020-04-19

anond:20200419220414

案件としては

リナックスカーネルコントリビューターの1人に

しらなくて、日本人だけどできるかなってカーネル関係案件ふったら

日本人にもできるから大丈夫だろうと

ふつう日本メーカーにふったら炎上たかSOSがとんできておっかしーなー

日本人外注にもできるていどの案件のはずなのにって言われる感じ

2020-04-10

anond:20200410234018

カーネルから取り外すこともできるからマウス関連を取り外してるんだろ

カーネルサイズも小さくなって一石三鳥だ

今の若い人はカーネル再構築もしないので困る

PS4PS3マウスの扱い

キーボードは動くのにマウスは別途アダプタを買わなければならない。

しかPS3・4ともにUNIXカーネルだったはず。

ならカーネルデバイスドライバが組み込まれてるはずなのになぜそれを使わないのだろうか。

同じことをAndroidにも感じたが(こっちはHDD。NTFS3G等)これってDockerみたいに(であってるんだろうか)

コンテナとして分離したプロセスで動いているからってことなんだろうか。

ちなみにAndroid場合WACOMドライバ限定的に6.0でも機能していて、意図的にOFFにされていた。

2020-03-30

独自OSってどこまでが独自OSになるんだろう?

個人的にはOSカーネルを含んでいる派で、Linuxカーネルにもろもろを付け加えたもの独自OSと呼ぶのは違和感がある

2020-03-21

anond:20200321103935

できるかどうかは、できるんだよ。

SDカードからブートする標準環境ってのがでけーんだよ。SSDだと、気にしないチューニングSDだとやんなきゃいけないからな。

どうアプローチするかはあるとしてもカーネルダイエットなんて、いまどきラズパイじゃなきゃやらん。

そのときに、自前じゃ困る。どうやってカーネルチームにみとめさせるかとなる。

ほら必要になってくるだろ?なんだっていいけど、とりあえず、ラズパイSDチューニング

2020-03-20

anond:20200320105605

追記で言えば 長い間確保された動的メモリフラグメントされていてアクセスランダムになる だから プログラムがやるな

カーネルメモリごとページで刈り取ったほうが高速だ マニュアル

anond:20200320105457

Param * name = new classname();

か ちょっとちがったな すまん。プログラム終了時に メモリプログラムで開放すんな それはカーネル仕事

anond:20200320104602

className *Param = NULL;

int main(int argc,const char *argv)

{

Param = new className();

return 0:

}

 

こういうコードのほうが実は合理的

というか、より簡単にかけるように言語を工夫してるんだから

難しく書いている方が間違い 理屈ちゃんとある

この場合プログラム内部にはかかれておらずカーネル側が処理してくれるから しらないとわからねいけど

カーネルの動きを知ってる場合メモリリークではなく こうしたほうがよいとちゃんとわかる

anond:20200320104800

カーネルプログラムに貸し与えたメモリーリージョンごとすべて開放するほうが高速なのに

プログラムが貸し与えられたメモリーをちまちま開放すんな!

2020-03-08

anond:20200308170826

githubという段階で、日本人も参加しているプロジェクトしかならんとおもうが?

LinuxカーネルだろうとWindowsだろうと日本人は参加している

日本人だけとなると小さすぎてわからん

2020-02-23

2020年プログラミング言語解説

Ruby

まつほろひとゆきが作った日本産コンピューター言語パールというコンピューター言語を元に作られていてWebサービスを作るためのフレームワークを搭載している。代表的WebフレームワークtDiary

C

デニス立地さんがNTTで開発した言語マルチクスというOS作成するために作られた。わざと複雑な言語仕様にすることで自分役職ポジションを守ろうとしていたが、思った以上に世の中の人間はこの言語を使いこなしてしまい、超有名な言語になってしまった。スーファミゲーム制作にさえ使えなほどの超高級言語

まじないと呼ばれるプリプロセッサでの書き換えが必要な謎の文字列を埋め込む必要があったり、言語仕様曖昧な部分も多く、同じソースなのに実行環境によって動きが異なる、欠陥言語である。(32bit向けプログラムが64bit環境動作しないなど)

C++

オブジェクト指向言語。すべてのオブジェクト指向言語はこいつから始まった。

主にWindows上で動作するゲームを作るための言語。今ではUnityとか色々なゲーム開発の環境とかあるが、結局はパフォーマンスとか考えたらC++使うことになる。

代表作はOpenGLDirectX、Window10、LibreOffice など

Java

JavaScriptから派生した言語。読み方は(ジャワジャワ島のジャワ。)。もともとはOracle創始者博士趣味作成して、現在Oracleデータベースの基礎となるテクノロジーアプレットという実行するための専用プログラムインストールしないと、Javaで作ったプログラム(.classファイル)は動作しない。マークコーヒーだと思われがちだが、紅茶(ジャワティー)である

アンドロイドOS作成するためにも使われており、アンドロイドOSカーネルJava制御されている。そのため定期的にGCが走るので、アンドロイド端末は定期的に動作を停止することがある(いわゆるプチフリーズ)。

対策するためにはGC戦略見直してヒープ領域サイズメモリに乗せるキャッシュサイズなどの調整が必要であるが、げんざいのGoogleにはこれらを調整する人員はすでにいない。

このように業務データベースから携帯電話まで幅広く使われているので、Java技術があっても市場価値殆どないと言われている。(みんな使えて当たり前)

PHP

晩年政界への進出を目論んでいた松下幸之助が、未来社会を見据えて開発した言語。主にWebアプリケーション作成するために使われている。PはパナソニックのP。を略してPHP

かんたんにシェルコマンドを実行できたり、クエリストリングに代入した値を直接グローバル評価できたりするなど、洗練されていてとても便利な言語である

HTMLメール本文の中にもPHPの処理を書き込むことができる。

この世のすべてのサーバーに実行環境存在するので、PHPコードさえあれば、コンパイル不要でどのような環境でも動作する。

C言語の100倍生産性が高く、WikipediaFacebookSlackなどの超一流のサイトサービスで大量のアクセスを捌いている。

WardPressと呼ばれるフレームワーク(全世界Webサイト3分の1以上はWardPressで作成されている)を作成している言語であり、この言語なくして今のWeb存在していない。

データベースとも親和性がある、などと言われることもあるが特に根拠はない。

Go

韓国人棋士を倒したAIに特化したプログラム言語Googleが開発しており、もともとはDartという名前だったが、汚いという理由でなまえがGoに変わった。そのため現在Dartという言語存在していない。

AIに特化しているというだけあり、低レイヤむけの実行ファイル作成する必要があるため、コンパイル必要ではあるが、だいたいどの環境向けのバイナリも生成することができる。

デフォルトディープラーニングを使うための機能を持っていたり、プログラムを並列実行するための機能が備わっているので、コア数の多い環境で高速に動くプログラムを作りやすい。

JavaScript

Javaの元になったプロトタイプベースオブジェクト指向言語。読み方はジャワエスクリプト。W3Mというブラウザの上でインタラクティブWebサイトを動かすために作成された言語。もともとブラウザの上で動くための言語だったが、後にSafariブラウザに搭載されていたV6エンジンというJavaScript言語の実行エンジンを分離してNPMというJavaScriptを直接実行できる環境となった。

それ以降JavaScriptはブラウザ以外にVRゴーグルの中などで動くようになった。

並列プログラミング不可能な作りのため、コールバックを多用して、スパゲッティコードを量産することができる。

NPMを使う奴らは、JSブラウザ環境で使われる言語であることを全然考えてないため、WebpackとかBabelといった謎の開発環境をシコシコ積み上げている。いつかその塔は爆発し崩れ去ることになるであろう。

jQuery

Javaと同じくJavaScriptから派生した言語Javaとは互換性は無いが、JavaScriptの上位互換があるため、JavaScriptのコードをそのまま実行することができる。

$マークから始まる命令のみで構成されているとても縁起のいいプログラミング言語。おもにパララックスなどを実現するために利用されていて、WardPressなどのドライバとしても使われている。

JavaScriptの改良版であり、現在JavaScriptと言われているプログラム言語の99%はjQueryのことである。そのため現在慣習的にJavaScriptと呼ばれているもののほぼ全てはjQueryである

jQueryを覚えればJavaScriptは覚えなくても良い。などと言われるが、正確にはjQueryを覚えた頃にはJavaScriptも覚えている。というのが正確である

TypeScript

JavajQueryなどと同じくJavaScriptから派生した言語Microsoftが開発した関数型言語。開発時はF#(エフシャープ)というコードネームだった。

型に特化した言語であり、Microsoft製のVSCodeというIDE環境しか開発、実行が出来ない。(ただしMacLinux上でも動作可能)

TypeScriptを動かすにはサーバーVSCodeインストールする必要があり、言語IDEバージョンアップも多いため、メンテナスンスが困難である

Swift

iOSを作るために開発された言語関数型言語

前進となるObjectiv-Cという言語が、気持ち悪い構文であったため開発者が不足しており、このままではOSメンテナンスもままならない、という理由最初バージョンわずか14日間で作られた言語

Apple製品の上でしか動作しない。ビルドが非常に遅く一日に60回が限度である

LISP

((最強の言語。全ては関数であり、値であり、式である。)

(制御構文も、(一種の式であり、値である。)))

2020-02-17

https://jp.leagueoflegends.com/ja-jp/news/dev/dev-null-anti-cheat-kernel-driver/

俺はゲームやらんから記憶いかもだが

Windowsアンチチート製品で、挙動の行儀が悪くて不評を買ってる奴いたよなー

ノーストレスってのは本当かどうか疑わしい

あとはカーネルモードで動かすと脆弱性があった時に怖い

数百万人が遊んでるゲームドライバ脆弱性があってボットネットが組まれたら楽しそうだよな

2020-02-01

職業上の相談なんて、

だれもいない。

カーネルドライバまでやれる(ほんのちょっとだけ)

アプリエンジニア

相談はしても

悩みながら作ってる

2020-01-12

anond:20200112180957

いちおうIT業界はよわい

よわいいわれているが、

企業選抜国際的な記録のGOLDやSILVERランクはとれていくわけだし

カーネルハッカーもいるしITの各分野で著名な活躍をしているハッカーも多いわけだが(日本論文では少ないのかもしれないが)

ほんとうはどこの業界が弱いんだ?

Kubernetesがいっこうに理解できない

仕事Kubernetesというものを使わないといけないので勉強している。

自分理解では

1)CRI仕様を満たすコンテナランタイムがワーカーノードのcgroupsを操作し、

2)kube-proxyカーネルモード場合)はワーカーノードiptables操作し、

3)Envoyサイドカーとして注入された場合は注入されたPodiptables操作し、

4)K8sコントローラとして動くxxプラグインは全部etcd上のリソースwatchポーリングしていて、変更通知が来たらアクションを起こすので必ずkubernetesのコアサービスの後追いをする

原子的な更新をしないとダメもの(etcd、cgroups、iptables仮想ネットワークインタフェースOSストレージマウントポイント)の動きに注目すればきれい理解できる気はしているんだけど、この考え方はあってるんだろうか

CNI CSI CRI といろいろあるけど、、

2020-01-10

Linuxカーネルリスクより利便性取れ(zfsを取り込め)って言ってる奴は頭おかしいんじゃねえのか

2020-01-08

anond:20200108055352

パソコン教育がいまほどではなかった(なくはなかった)時期に会社の一員、チームの一員などで世界的な優秀な記録をとったり、カーネルハッカーを生んだ入りしているのだが

2020-01-01

anond:20200101095800

ワイの尊敬するカーネルメンテナー

人は感情の生き物で論理的理性的とか言うのは気のせいと言っていました

ワイもその意見を支持しま

論理的理性的というのはそうあろうとする信念及び態度であって性質ではありません

2019-12-07

いろんな話はあるけどGPLなんて今どき残ってるわけないじゃん。

残ってたら意図して入れたんだろ?って言われたらどうすんの?

Linuxのカーネルはしかたがないとして

あと今はほとんど無名だけど商用UNIXって知ってるか?

2019-12-01

それこそトラブルが起きたときには、ドライバレベルカーネルレベルまでというタイプだけど

トラブルが起きなきゃいらねー人材なんだろうなと

できることがばれずに困りましたねーとへらへら笑ってるほうが儲かるというなにかを感じる

雨男Z君

Z君と仕事をするようになって僕は雨男という存在を信じるようになった。

雨男と言っても、本当の天候の渕上様的な意味での雨男ではなく、「彼が参加したプロジェクトにはことごとくトラブルが発生する」という意味でだ。僕が知る限りでも、いくつかの転々としたプロジェクトやチームで

などなど、枚挙に暇がない。原因をたどると必ずしも彼一人の責任とばかりは言えないものだったり不可抗力的なものだったりする。にも関わらず彼のいるところでは明らかにそういうトラブルが頻発するので雨男なのである

でも正直言うと、僕はやっぱり原因は彼にあると内心思っている。彼はとにかく粗忽で人並み外れてミスが多い。数行のメールの中で一行目と二行目で矛盾したことを書く。指示をことごとく間違って解釈する。やらなくていいことをわざわざやってミスを作り込む。報告の内容が何度聞いても要領を得ない。そしてミス問題を隠す。一つ一つのエピソードは笑えるものもあるし新人可愛い女の子だったらドジっ子キャラで愛されるかもだけど、この業界10年以上経験があってこれはどうなの。

と書くと絶対ミスは誰にでもあるもの、チェックやレビューする体制をしっかりすべき、報告を隠さないような雰囲気を作れ」と言われるでしょう。うんわかりますよ、全くその通りだと思います一般論としては。でもかなりのことはすでにやっていて、それでも彼の粗忽っぷりはさらにその斜め上を行っているので結果として周囲の負担さらに大きくなっている。それがトラブルを招きこむ要因になってるとしか思えない。

彼は今は別の組織に異動したので今はうまくやっているのかよくわからない。やっぱり使えないと言われて突っ返されてこないことを祈るのみだ。

ログイン ユーザー登録
ようこそ ゲスト さん