OSの機能は速いと習ったのですが
システムコールは遅いとも聞きました
矛盾しているようですが間違いじゃないですか?
OSの機能なのにシステムコール呼び出しが遅い理由
■ このスレッドは過去ログ倉庫に格納されています
2022/05/18(水) 22:26:11.94ID:NHYhl09k
2022/05/18(水) 22:31:31.72ID:sbCplmon
2022/05/18(水) 23:26:22.64ID:cwnZPj3W
2022/05/23(月) 00:07:06.61ID:KAnLsp+B
5デフォルトの名無しさん
2022/05/25(水) 11:45:22.87ID:Kcsq3bch >>4
OSの機能というのはUnixコマンドのことです
OSの機能というのはUnixコマンドのことです
2022/05/25(水) 12:09:40.10ID:a7QlHf/a
???
2022/05/25(水) 13:06:21.59ID:iso8r4bW
普通のCの関数なんか、中でシステムコール読んでるだけなんだから、
システムコール直接呼ぶほうが速いだろ?
なんで遅いと思うの?
システムコール直接呼ぶほうが速いだろ?
なんで遅いと思うの?
2022/05/25(水) 16:36:44.14ID:a7QlHf/a
shはUNIXのコマンドです
2022/05/25(水) 17:13:23.99ID:f6RSTkPj
たとえばシステムコールでディレクトリ読んだほうがlsで読んだ時より遅い気がするってこと?
気のせいじゃない。
あるいはよっぽどアホな呼び方をしてるとか
気のせいじゃない。
あるいはよっぽどアホな呼び方をしてるとか
10デフォルトの名無しさん
2022/05/25(水) 18:15:38.47ID:Kcsq3bch lsはOSの機能だから速いのに
システムコールは遅いっていうのが
意味がわからないんです
システムコールは遅いっていうのが
意味がわからないんです
2022/05/25(水) 18:49:11.64ID:iso8r4bW
システムコールでファイル一覧取得と、
lsでファイル一覧取得
コード書いて時間計測してみたら?
lsでファイル一覧取得
コード書いて時間計測してみたら?
2022/05/25(水) 18:51:07.37ID:pzbMw6fx
そりゃCPUが特権モードとかに変わるから単純な関数コールというわけには行かずコンテキストの保存、復帰が伴って遅くなるわね。
その上パイプラインストールするしキャッシュミスもする。
その上パイプラインストールするしキャッシュミスもする。
2022/05/25(水) 19:15:07.19ID:CdCNme9c
2022/05/25(水) 19:16:25.00ID:Ak72ckFb
2022/05/25(水) 19:24:56.22ID:DuScdPEV
DOS時代のファイラーならディレクトリ直読み書き換えなんて当たり前だったな
2022/05/25(水) 21:08:42.80ID:1Ax3IUew
こんな事でも15も伸びるのか、、
システムコールでスレッド作れば遅いけど、コンテキストスイッチなどせずに時分割処理を協調的に書けば、それそのものが発生しない。
またメモリ確保などはlibc/mallocなどを通してOSのシステムコールを最終的に呼び出す。
これはOS管理外のメモリなんて存在しないため通常であれば、標準ライブラリが内包しているシステムコールなので速さはシステムコールだけで要求を満たすなら、それで言うまでもない。
しかし、あらかじめメモリプールでドカッと確保して、要求に応じてメモリーマネージメントをするような言語の場合はシステムコールをそもそも何回も呼び出さないため、メモリの配分(≒確保)は速い。
(ただしメモリーの解放処理・再利用に掛かるコストなどは別問題)
またシステムコールで特権命令を使用する場合はCPUにおけるリングプロテクションはOSをクラッシュさせたりすることが無いように何重にも状態のチェックが行われる。
ファイルシステムなどはデバイスドライバにより異なるが、VFS制御をいれるよりもブロックデバイスを直接読み取りしたほうが速い場合もある。
つまりシステムコールは速いのではなく、多くの人が見て優秀な人が書き、何回も呼び出されるため琢磨されて無駄の無いコードで書かれるが、
OSとしての機能を成立させるために、排他制御や複数プロセス・スレッドの切り替え制御、特権制御などを行うため、実行コストは重い。
OSの機能だから速いのではなく、OSの作成者のような同じ技量の人が、”排他処理などを省いて同等の機能を書けたら”その方が速いのである
システムコールでスレッド作れば遅いけど、コンテキストスイッチなどせずに時分割処理を協調的に書けば、それそのものが発生しない。
またメモリ確保などはlibc/mallocなどを通してOSのシステムコールを最終的に呼び出す。
これはOS管理外のメモリなんて存在しないため通常であれば、標準ライブラリが内包しているシステムコールなので速さはシステムコールだけで要求を満たすなら、それで言うまでもない。
しかし、あらかじめメモリプールでドカッと確保して、要求に応じてメモリーマネージメントをするような言語の場合はシステムコールをそもそも何回も呼び出さないため、メモリの配分(≒確保)は速い。
(ただしメモリーの解放処理・再利用に掛かるコストなどは別問題)
またシステムコールで特権命令を使用する場合はCPUにおけるリングプロテクションはOSをクラッシュさせたりすることが無いように何重にも状態のチェックが行われる。
ファイルシステムなどはデバイスドライバにより異なるが、VFS制御をいれるよりもブロックデバイスを直接読み取りしたほうが速い場合もある。
つまりシステムコールは速いのではなく、多くの人が見て優秀な人が書き、何回も呼び出されるため琢磨されて無駄の無いコードで書かれるが、
OSとしての機能を成立させるために、排他制御や複数プロセス・スレッドの切り替え制御、特権制御などを行うため、実行コストは重い。
OSの機能だから速いのではなく、OSの作成者のような同じ技量の人が、”排他処理などを省いて同等の機能を書けたら”その方が速いのである
2022/05/26(木) 00:22:03.72ID:9vBoz3hH
ちょっと待って
lsとかはOSのコマンドだって知ってる?
OSのコマンドはアプリと違ってOSに近い所で動くから速いんだよ
OSの仕組みを勉強した方がいい
アプリ
↓
言語
↓
シェル(ここより下がOS)
↓
カーネル
↓
ハードウェア
こういう流れになってる。
アプリはOSから離れてるから遅いけど
OSのコマンドはOSに近いから速い
lsとかはOSのコマンドだって知ってる?
OSのコマンドはアプリと違ってOSに近い所で動くから速いんだよ
OSの仕組みを勉強した方がいい
アプリ
↓
言語
↓
シェル(ここより下がOS)
↓
カーネル
↓
ハードウェア
こういう流れになってる。
アプリはOSから離れてるから遅いけど
OSのコマンドはOSに近いから速い
2022/05/26(木) 00:23:35.48ID:9vBoz3hH
シェルのパイプもOSの機能だから
パイプを使うとネットワーク通信よりも遥かに
高速に通信できるという特徴がある
パイプを使うとネットワーク通信よりも遥かに
高速に通信できるという特徴がある
2022/05/26(木) 01:11:57.76ID:8b+fRcLu
機械語って聞いた事無いか?w
2022/05/26(木) 06:34:58.81ID:doHcAENt
馬鹿発見スレ乙
2022/05/26(木) 07:44:24.54ID:kn76ebN/
2022/05/26(木) 07:51:18.79ID:kn76ebN/
そうかcshとかbashとかで別々に実装するのは非効率だから
lsコマンドとかは外部になってると思うよ
cdみたいなのとかシェル固有の機能はシェルに入ってるだろうけど
lsコマンドとかは外部になってると思うよ
cdみたいなのとかシェル固有の機能はシェルに入ってるだろうけど
2022/05/26(木) 16:38:30.39ID:0K7pUhl0
2022/05/26(木) 16:42:59.88ID:0K7pUhl0
>>18
シェル自体もOSから見たら単なるアプリの一つにすぎない
シェルのパイプも他のアプリと全く同様に標準入出力切り替えや子プロセス起動などのシステムコールを行なうC標準ライブラリを使っているだけ
当然シェルでやっても自作のアプリでやっても速度は同じ
シェル自体もOSから見たら単なるアプリの一つにすぎない
シェルのパイプも他のアプリと全く同様に標準入出力切り替えや子プロセス起動などのシステムコールを行なうC標準ライブラリを使っているだけ
当然シェルでやっても自作のアプリでやっても速度は同じ
2022/05/26(木) 19:46:18.19ID:VJLso1OZ
>>24
んだな。
仮にシェルがOSと不可分なら特定のOSに複数のシェルが動作可能ってことの説明がつきにくい。
あくまでOSのシステムコールを使いやすくCLIでラッビングしてるアプリケーションがシェル。
んだな。
仮にシェルがOSと不可分なら特定のOSに複数のシェルが動作可能ってことの説明がつきにくい。
あくまでOSのシステムコールを使いやすくCLIでラッビングしてるアプリケーションがシェル。
26デフォルトの名無しさん
2022/05/27(金) 11:41:43.29ID:S0cy91Tb >>10-11
ファイル情報の取得にかかる時間 <<<<< 越えられない壁 <<<<< 表示にかかる時間
ファイル情報の取得にかかる時間 <<<<< 越えられない壁 <<<<< 表示にかかる時間
2022/05/27(金) 11:46:42.46ID:HNJHF6TR
だからlsのソース見てみりゃいいって
普通にシステムコール使ってるだけ
普通にシステムコール使ってるだけ
2022/05/27(金) 13:47:35.58ID:zdoO8Saa
そう。だからOSのコマンドであるlsは
システムコールを使ってるから速いんだよ
システムコールを使ってるから速いんだよ
2022/05/27(金) 14:40:43.55ID:mYFmsEzc
OSの定義に広義狭義があるけど、俺にはそもそも「lsがOSのコマンド」に違和感。
30デフォルトの名無しさん
2022/05/27(金) 15:07:49.44ID:958raIs/ ls は shell の機能
なら判る
なら判る
2022/05/27(金) 15:08:40.55ID:tzFUQxnX
シェルの機能はcdとかだろ
lsは独立したプログラム
lsは独立したプログラム
2022/05/27(金) 16:56:07.39ID:T4Ajrju/
2022/05/27(金) 16:56:22.77ID:T4Ajrju/
>>29へのレスの間違い
2022/05/27(金) 23:02:16.39ID:Uk6q3si0
システムコールもカーネル領域とユーザー領域がある
前者は大抵プロセスやドライバを跨ぐような機能の呼び出しだから遅い
前者は大抵プロセスやドライバを跨ぐような機能の呼び出しだから遅い
2022/05/27(金) 23:23:27.94ID:W+r0e4yZ
ニワカが多すぎる
2022/05/27(金) 23:26:58.54ID:Uk6q3si0
そりゃ普通こんなスレはスルーだし
よっぽど暇じゃなきゃこないよ
よっぽど暇じゃなきゃこないよ
2022/05/28(土) 00:54:24.68ID:pFMuCX7L
2022/05/28(土) 01:40:35.64ID:wXWd2e2S
togetterでもユニケージが言ってることのおかしさがまとめられてるね
これが「超高速開発手法」です。です!
https://togetter.com/li/960555
>「超高速開発手法については、例えば、Linux のオペレーティングシステム(OS)に直接命令を出す「シェルスクリプト」などが挙げられる。」
なぞ理論w
これが「超高速開発手法」です。です!
https://togetter.com/li/960555
>「超高速開発手法については、例えば、Linux のオペレーティングシステム(OS)に直接命令を出す「シェルスクリプト」などが挙げられる。」
なぞ理論w
2022/05/28(土) 01:41:41.80ID:wXWd2e2S
2022/05/28(土) 05:40:43.82ID:GsM4WAAy
>>39
素人相手に小難しい単語並べて煙に巻くコンサルの手本のような記事だなw
素人相手に小難しい単語並べて煙に巻くコンサルの手本のような記事だなw
41デフォルトの名無しさん
2022/05/28(土) 11:26:49.78ID:81XaDMLN2022/05/28(土) 12:04:24.71ID:wnOf4Xgv
シェルスクリプティングを自分等の開発した独自な手法、とか言ってる時点でヤバい会社だと分かる
2022/05/28(土) 12:21:47.21ID:wnOf4Xgv
>>1
遅くない
遅くない
2022/05/28(土) 13:01:20.24ID:HRUpjXKr
>>42
POSIX原理主義「我々が考えた完璧な理論」
というのもある
実態は単に別の人達が作ったPOSIX、に準拠しろと言ってるだけ
w3cに準拠すれば互換性が高くなる
これを我々は「w3c原理主義と名付けた」
我らの理論は完璧だ!
POSIX原理主義「我々が考えた完璧な理論」
というのもある
実態は単に別の人達が作ったPOSIX、に準拠しろと言ってるだけ
w3cに準拠すれば互換性が高くなる
これを我々は「w3c原理主義と名付けた」
我らの理論は完璧だ!
2022/05/28(土) 13:23:58.06ID:R0+ouirM
何に対して遅いのか
秒間呼び出し回数はどの程度なのか
自作システムコールでも作って評価したことがあるのか
秒間呼び出し回数はどの程度なのか
自作システムコールでも作って評価したことがあるのか
2022/05/28(土) 14:52:20.78ID:NEB1gEkf
回答は
気のせいです
気のせいです
47デフォルトの名無しさん
2022/05/29(日) 02:29:25.78ID:tby4sC5N ユニケージのアーキテクチャ
https://unicage.eu/technology/architecture/
ユニケージはユーザースペースではなくOSの一部として動いている証拠
だから速いんだよ
https://unicage.eu/technology/architecture/
ユニケージはユーザースペースではなくOSの一部として動いている証拠
だから速いんだよ
2022/05/29(日) 07:28:24.69ID:d77+Um3N
49デフォルトの名無しさん
2022/05/29(日) 08:57:41.65ID:0qZEsS3g >>44
w3cのほうが良かったけどな。
Google主導のLiving standardは、HTMLを危険なものとしたうえで、「Googleが安全性を検証します」という方式になってしまった。
「Pタグをリストにする」なんてことも可能となってしまったので、もはやタグから意味を知ることはできない。
まあ、自分も仕事上は他社にキャッチアップされないようにハードルを上げることはよくやってるけど。
不思議なのは、虐げられるものほど、Googleを崇拝してることだな。
w3cのほうが良かったけどな。
Google主導のLiving standardは、HTMLを危険なものとしたうえで、「Googleが安全性を検証します」という方式になってしまった。
「Pタグをリストにする」なんてことも可能となってしまったので、もはやタグから意味を知ることはできない。
まあ、自分も仕事上は他社にキャッチアップされないようにハードルを上げることはよくやってるけど。
不思議なのは、虐げられるものほど、Googleを崇拝してることだな。
2022/05/29(日) 09:24:17.38ID:PHSAKkRW
>>48
大福帳方式の何が悪いの?
大福帳方式の何が悪いの?
2022/05/29(日) 09:57:29.65ID:ax9Vi8n6
2022/05/29(日) 09:59:56.40ID:MNYu/GXn
53デフォルトの名無しさん
2022/05/29(日) 17:58:05.09ID:oZLXa3NG cのfwriteを使った方がキャッシュが効いてwrite何回も呼ぶよりも早い、というような話とごっちゃになってるんじゃない
2022/05/30(月) 10:10:13.27ID:N7THyQfE
wsl2ってあまり使う人いなくねwww
https://mevius.5ch.net/test/read.cgi/win/1635677537/
こっちでも言い負かされて敗走したみたいね、原理主義者くん
https://mevius.5ch.net/test/read.cgi/win/1635677537/
こっちでも言い負かされて敗走したみたいね、原理主義者くん
55デフォルトの名無しさん
2022/06/22(水) 19:23:09.33ID:9Vz354uY システム凍る
2023/07/31(月) 05:14:45.99ID:3WyuxSPM
それではまず、10番を押してください
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… [BFU★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★2 [BFU★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★2 [BFU★]
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 [Hitzeschleier★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 中国高官と話す外務省局長の表情、やばい [175344491]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- 小野田経済安保相「すぐに経済的威圧するところへの依存はリスク」😲 [861717324]
- 【高市速報】明日から中国からの輸入が停止すれば2ヵ月で国内の生産業に53兆円の損失発生 [931948549]
- 【悲報】ジャップ、どうやら中国が一方的に戦争仕掛けてくると思ってる模様😰 [616817505]
- 日本政府「高市総理の発言は問題ないと伝え、中国総領事のSNS投稿は問題があると中国に伝えました😊」 [931948549]
