UNIXおよびUNIX clone環境一般のプログラミングに関する質問スレッド
前スレ
Part9 http://hibari.2ch.net/test/read.cgi/tech/1205795434/
Part8 http://pc11.2ch.net/test/read.cgi/tech/1147946176/
Part7 http://pc8.2ch.net/test/read.cgi/tech/1127373405/
Part6 http://pc8.2ch.net/test/read.cgi/tech/1116908090/
Part5 http://pc8.2ch.net/test/read.cgi/tech/1105723117/
Part4 http://pc5.2ch.net/test/read.cgi/tech/1095843584/
Part3 http://pc5.2ch.net/test/read.cgi/tech/1085930894/
Part2 http://pc5.2ch.net/test/read.cgi/tech/1055110889/
Part1 http://pc2.2ch.net/tech/kako/992/992057422.html
Part3のミラー
http://makimo.to/2ch/pc5_tech/1085/1085930894.html
Part2のミラー
http://makimo.to/2ch/pc5_tech/1055/1055110889.html
UNIXプログラミング質問すれ Part10
■ このスレッドは過去ログ倉庫に格納されています
1unco ◆manko/yek.
2011/04/18(月) 17:06:36.77453デフォルトの名無しさん
2012/04/26(木) 12:40:04.59 mmapすら面倒ならマルチスレッドで作るとか
454デフォルトの名無しさん
2012/04/26(木) 23:12:18.99 CPU、GPUを利用(プログラム)するには?
http://togetter.com/li/293863
http://togetter.com/li/293863
455デフォルトの名無しさん
2012/04/26(木) 23:33:13.30 >>451
dbus使えば?
dbus使えば?
456デフォルトの名無しさん
2012/04/28(土) 20:54:43.28 sigactionについての質問です。
古いソースではsigvecを使っていて、ちゃんとそれが動いているんだけど
私が使っているsignal.hヘッダの中にはsigvecが定義されていません。
どうして動くんでしょうか
古いソースではsigvecを使っていて、ちゃんとそれが動いているんだけど
私が使っているsignal.hヘッダの中にはsigvecが定義されていません。
どうして動くんでしょうか
457デフォルトの名無しさん
2012/04/29(日) 03:02:46.33 obsoleteだから、特に指定しないとcompileは出来ないけど、linkは出来るようになっているんでしょう。
458デフォルトの名無しさん
2012/05/01(火) 15:44:20.25459デフォルトの名無しさん
2012/05/01(火) 15:54:40.31 シェアードメモリ?
460デフォルトの名無しさん
2012/05/01(火) 16:02:34.37 分散オブジェクト?
461デフォルトの名無しさん
2012/05/01(火) 16:07:08.30 単にExcelの制御みたいな感じで、プロセスとか接続気にせず操作したいだけです
462デフォルトの名無しさん
2012/05/01(火) 16:30:28.03 こういうのかなぁ
ttp://ja.wikipedia.org/wiki/Open_Network_Computing_Remote_Procedure_Call
ttp://ja.wikipedia.org/wiki/Open_Network_Computing_Remote_Procedure_Call
463デフォルトの名無しさん
2012/05/01(火) 16:44:26.49464デフォルトの名無しさん
2012/05/01(火) 23:29:29.48 こんばんは。
DJBのqmailとかdaemontoolsのソースを見てて疑問に思いました。
DJBの str_*** のような文字列に対する関数って
for(;;)の中で1文字ごとの処理を連続4回書いてあるのですが、
これって何かメリットがあるのでしょうか?
この人の書くことだから、何か意味はありそうに思えるのだけども。
/* 例えばDJBのstr_len.c */
unsigned int str_len(const char *s) {
const char *t;
t = s;
for (;;) {
if (!*t) return t - s; ++t;
if (!*t) return t - s; ++t;
if (!*t) return t - s; ++t;
if (!*t) return t - s; ++t;
}
}
↓↓↓これでいいように思える↓↓↓
unsigned int str_len(const char *s) {
const char *t;
t = s;
for (;;) {
if (!*t) return t - s; ++t;
}
}
DJBのqmailとかdaemontoolsのソースを見てて疑問に思いました。
DJBの str_*** のような文字列に対する関数って
for(;;)の中で1文字ごとの処理を連続4回書いてあるのですが、
これって何かメリットがあるのでしょうか?
この人の書くことだから、何か意味はありそうに思えるのだけども。
/* 例えばDJBのstr_len.c */
unsigned int str_len(const char *s) {
const char *t;
t = s;
for (;;) {
if (!*t) return t - s; ++t;
if (!*t) return t - s; ++t;
if (!*t) return t - s; ++t;
if (!*t) return t - s; ++t;
}
}
↓↓↓これでいいように思える↓↓↓
unsigned int str_len(const char *s) {
const char *t;
t = s;
for (;;) {
if (!*t) return t - s; ++t;
}
}
465デフォルトの名無しさん
2012/05/02(水) 04:35:53.91 つ loop unrolling
466464
2012/05/02(水) 12:10:30.82 >>465
loop unrollingっての知らなかったです。
ひとつ賢くなりました!
Wikipedia: “毎回の繰り返しごとに発生する「ループの終了」条件のテストを
減少させる(もしくはなくす)事によって、実行速度を向上させる”
・・ですね。
でも、「ループの終了」条件のテストをforにいれず、
結局1行ごとに4行毎回判定してるので、なんとなく関係ないような気が・・
あと一応、測定してみましたが、4行に分けるより、
1行にまとめたほうがわずかばかり速そうです。
※VMware上 Linux x86_64 gcc4.4.6 -O3 で、100000000回ループを30回測定
(なんでそういう結果が出たかは調べていません)
それとも、やっぱり状況によっては 4行書いたほうが最適化とかかかって
速くなったりするものなのでしょうか。
loop unrollingっての知らなかったです。
ひとつ賢くなりました!
Wikipedia: “毎回の繰り返しごとに発生する「ループの終了」条件のテストを
減少させる(もしくはなくす)事によって、実行速度を向上させる”
・・ですね。
でも、「ループの終了」条件のテストをforにいれず、
結局1行ごとに4行毎回判定してるので、なんとなく関係ないような気が・・
あと一応、測定してみましたが、4行に分けるより、
1行にまとめたほうがわずかばかり速そうです。
※VMware上 Linux x86_64 gcc4.4.6 -O3 で、100000000回ループを30回測定
(なんでそういう結果が出たかは調べていません)
それとも、やっぱり状況によっては 4行書いたほうが最適化とかかかって
速くなったりするものなのでしょうか。
467デフォルトの名無しさん
2012/05/02(水) 15:45:45.03 ていうか、djbのスタイルを参考にするのはやめれ。
根性で標準ライブラリを使わん、とか、癖があり過ぎる。
根性で標準ライブラリを使わん、とか、癖があり過ぎる。
468デフォルトの名無しさん
2012/05/02(水) 15:55:45.32 >>466
速度に関する最適化は、普通にコーディングした後に、どうしても速度的な要件を満たせてないときに
限って、ボトルネックがどこか「実際に測定して場所を特定」してから行うもの。
数nsレベルの調整なんかしなくていい。
速度に関する最適化は、普通にコーディングした後に、どうしても速度的な要件を満たせてないときに
限って、ボトルネックがどこか「実際に測定して場所を特定」してから行うもの。
数nsレベルの調整なんかしなくていい。
469464
2012/05/02(水) 16:43:21.92 もちろんスタイルをまねする気も、速度を気にしてるわけではないですよ。
普通の人から見たら、ただの縛りプレイにしかみえないですし。
ただ、偏執狂なんていわれるほどの人だから、
この意味無いように見えるコードも何かあるのかな、と。
daemontoolsはよく使いますので、
コードも見てみようと思ったのが発端です。
普通の人から見たら、ただの縛りプレイにしかみえないですし。
ただ、偏執狂なんていわれるほどの人だから、
この意味無いように見えるコードも何かあるのかな、と。
daemontoolsはよく使いますので、
コードも見てみようと思ったのが発端です。
470デフォルトの名無しさん
2012/05/02(水) 18:07:50.56 本当に意味わかんないなこれ。
4bytes コピーして最適化したつもりが気が変わって無理矢理戻したとか、いや違うな。
素直に strlen() 使った方が最適化してくれていいのになあ。
4bytes コピーして最適化したつもりが気が変わって無理矢理戻したとか、いや違うな。
素直に strlen() 使った方が最適化してくれていいのになあ。
471デフォルトの名無しさん
2012/05/02(水) 18:49:53.19 どうせ最適化がかかるだろうし無駄な書き方ならライセンスで面倒なことが起きないとか?
472デフォルトの名無しさん
2012/05/02(水) 19:01:32.57 >>466
>でも、「ループの終了」条件のテストをforにいれず、
>結局1行ごとに4行毎回判定してるので、なんとなく関係ないような気が・・
そう思う。さらにループ内でtの値が変化するから並列化も期待できないし。
ちなみに>>445の人を真似して(syscallでとんでもないものを紹介してたのはアレだが)
glibcのstrlenを見ると、
http://sourceware.org/git/?p=glibc.git;a=blob_plain;f=string/strlen.c;hb=c0da14cdda1fa552262ce3624156194eef43e973
まずlong intのサイズ毎にビット演算して0バイトがないか調べて(ちょっとトリッキー)、
もしあったら詳細に調べるみたいな感じのことをしてる。
インテルならXMMレジスタ(16バイト)を使うとさらに効果的。https://gist.github.com/77178
>でも、「ループの終了」条件のテストをforにいれず、
>結局1行ごとに4行毎回判定してるので、なんとなく関係ないような気が・・
そう思う。さらにループ内でtの値が変化するから並列化も期待できないし。
ちなみに>>445の人を真似して(syscallでとんでもないものを紹介してたのはアレだが)
glibcのstrlenを見ると、
http://sourceware.org/git/?p=glibc.git;a=blob_plain;f=string/strlen.c;hb=c0da14cdda1fa552262ce3624156194eef43e973
まずlong intのサイズ毎にビット演算して0バイトがないか調べて(ちょっとトリッキー)、
もしあったら詳細に調べるみたいな感じのことをしてる。
インテルならXMMレジスタ(16バイト)を使うとさらに効果的。https://gist.github.com/77178
473デフォルトの名無しさん
2012/05/02(水) 19:07:11.52 いずれにしろ、その部分が、全体の90%の時間を食ってる、10%のコードだ、
ということがわかってからでいいことだな。
ということがわかってからでいいことだな。
474464
2012/05/02(水) 21:40:41.21 結局なにがしたいんだか分からないなー。
>>472
>まずlong intのサイズ毎にビット演算して0バイトがないか調べて(ちょっとトリッキー)、
>もしあったら詳細に調べるみたいな感じのことをしてる。
>インテルならXMMレジスタ(16バイト)を使うとさらに効果的。https://gist.github.com/77178
glibcのstrlen、すごいことしてるんですね。
特にビット演算のマジックナンバーが全然意味分かりませんでしたが、
説明をググったら解説があって、なんとなく分かったような気にはなりました。
なんすか、よく思いつくなと。
もう一個のアセンブラのほうは、
ニーモニックが全然分かってないので辛くて読んでませんが、
とにかく、案外、工夫のしがいがあるものなんですね。
>>472
>まずlong intのサイズ毎にビット演算して0バイトがないか調べて(ちょっとトリッキー)、
>もしあったら詳細に調べるみたいな感じのことをしてる。
>インテルならXMMレジスタ(16バイト)を使うとさらに効果的。https://gist.github.com/77178
glibcのstrlen、すごいことしてるんですね。
特にビット演算のマジックナンバーが全然意味分かりませんでしたが、
説明をググったら解説があって、なんとなく分かったような気にはなりました。
なんすか、よく思いつくなと。
もう一個のアセンブラのほうは、
ニーモニックが全然分かってないので辛くて読んでませんが、
とにかく、案外、工夫のしがいがあるものなんですね。
475デフォルトの名無しさん
2012/05/05(土) 16:38:05.82 非分岐時のみ投機実行のあるRISC系のCPUなら4行展開して意味ありそう。
けどCPUのアーキテクチャにベタベタに依存するコードだし、
遅延スロット埋める投機実行はもっと高度になってるから活躍の場は殆ど無いだろうね。
けどCPUのアーキテクチャにベタベタに依存するコードだし、
遅延スロット埋める投機実行はもっと高度になってるから活躍の場は殆ど無いだろうね。
476デフォルトの名無しさん
2012/06/01(金) 01:43:26.38 シェルスクリプトの質問なんですが、
いちいち別のサーバにログインしたりするのがめんどいので、
一つのシェルスクリプトで、
ローカルマシンとリモートマシンの実行結果を
マージしたりする仕組みって無いんですかね?
#!/bin/sh
num1=$HOME
num2=@$HOME<-例えば@の後ろに何か処理を書くとその処理は設定されたリモートで実行される
echo $num1<-ローカルの$HOME
echo $num2<-リモートの$HOME
いちいち別のサーバにログインしたりするのがめんどいので、
一つのシェルスクリプトで、
ローカルマシンとリモートマシンの実行結果を
マージしたりする仕組みって無いんですかね?
#!/bin/sh
num1=$HOME
num2=@$HOME<-例えば@の後ろに何か処理を書くとその処理は設定されたリモートで実行される
echo $num1<-ローカルの$HOME
echo $num2<-リモートの$HOME
477デフォルトの名無しさん
2012/06/01(金) 11:26:58.67 man rsh
man ssh
man ssh
478デフォルトの名無しさん
2012/06/27(水) 18:49:44.31 Linuxで、ライブラリとかにデバッグ用のシンボルが付いてるかどうかって
どうやったら調べられましたっけ。
どうやったら調べられましたっけ。
479デフォルトの名無しさん
2012/06/27(水) 19:36:48.08 fileコマンドでstrippedと出るか出ないか、かな?
480デフォルトの名無しさん
2012/06/27(水) 19:48:46.08 nm -a
481デフォルトの名無しさん
2012/06/30(土) 07:43:47.53 ncursesのC++実装について分かる方教えてください
482481
2012/06/30(土) 08:23:23.34 自己解決しました
483デフォルトの名無しさん
2012/07/01(日) 22:18:43.78 マルチバイト文字を出力する方法がわかったのですが、
複雑なので他の方の参考になるように
ここに書いておきます
/* cc -o test test.c -lcursesw */
#define _XOPEN_SOURCE_EXTENDED
#include <curses.h>
#include <wchar.h>
#include <locale.h>
int main() {
cchar_t ch;
wchar_t wc[2] = L"あ";
setlocale(LC_ALL, "");
initscr();
setcchar(&ch, wc, 0, 0, NULL);
add_wch(&ch);
getch();
endwin();
return 0;
}
複雑なので他の方の参考になるように
ここに書いておきます
/* cc -o test test.c -lcursesw */
#define _XOPEN_SOURCE_EXTENDED
#include <curses.h>
#include <wchar.h>
#include <locale.h>
int main() {
cchar_t ch;
wchar_t wc[2] = L"あ";
setlocale(LC_ALL, "");
initscr();
setcchar(&ch, wc, 0, 0, NULL);
add_wch(&ch);
getch();
endwin();
return 0;
}
484デフォルトの名無しさん
2012/07/10(火) 04:13:32.60 >>466
アセンブラに直せばわかるのに
アセンブラに直せばわかるのに
485デフォルトの名無しさん
2012/07/10(火) 18:27:57.31 >>483
これじゃ駄目なの?
$ cat test.c
#include <stdio.h>
int main() {
puts("あ");
return 0;
}
$ gcc -o test test.c
$ ./test
あ
これじゃ駄目なの?
$ cat test.c
#include <stdio.h>
int main() {
puts("あ");
return 0;
}
$ gcc -o test test.c
$ ./test
あ
486デフォルトの名無しさん
2012/07/10(火) 18:44:35.03 >>485
cursesでマルチバイト文字をどう扱うかって話だよ
cursesでマルチバイト文字をどう扱うかって話だよ
487デフォルトの名無しさん
2012/07/12(木) 01:18:29.66 素直にncurcesw使えばいいんでないかと思う
488デフォルトの名無しさん
2012/07/25(水) 21:25:11.82 >>484
UNIX界隈にもアセンブリをアセンブラ呼ばわりする人が居るんだな
UNIX界隈にもアセンブリをアセンブラ呼ばわりする人が居るんだな
489デフォルトの名無しさん
2012/07/25(水) 21:35:35.20 アセンブリ言語
490デフォルトの名無しさん
2012/07/28(土) 08:38:10.33 教えてください
静的ライブラリと、LD_PRELOADで指定された共有ライブラリでは、
静的ライブラリのほうが必ず先にロードされる、で正しいでしょうか?
静的ライブラリと、LD_PRELOADで指定された共有ライブラリでは、
静的ライブラリのほうが必ず先にロードされる、で正しいでしょうか?
491デフォルトの名無しさん
2012/07/28(土) 09:26:29.66 静的ライブラリは、実行形式ファイルの生成時にロードされ、リンクされる。
共有ライブラリは、実行形式ファイルの実行時にロードされ、リンクされる。
ということで、タイミングとしては静的ライブラリの方が時間的に早いので
その意味では正しいと思われます。
共有ライブラリは、実行形式ファイルの実行時にロードされ、リンクされる。
ということで、タイミングとしては静的ライブラリの方が時間的に早いので
その意味では正しいと思われます。
492デフォルトの名無しさん
2012/07/28(土) 10:10:31.58 LD_PRELOADで指定されてる方がタイミング的には先だな
493デフォルトの名無しさん
2012/07/28(土) 11:25:17.45 >>492
間違いです。
間違いです。
494デフォルトの名無しさん
2012/07/28(土) 11:31:01.01 くだらないこと気にしてないで重複しない命名規則をだな、
495デフォルトの名無しさん
2012/07/28(土) 11:35:58.83 デバッグ時に使いたいって話だよ
496デフォルトの名無しさん
2012/07/28(土) 11:37:06.57 >>494
経験浅い人は黙ってて
経験浅い人は黙ってて
497デフォルトの名無しさん
2012/08/02(木) 19:32:15.27 pidの分からない複数の子プロセスにシグナルを送る方法はありますか?
498デフォルトの名無しさん
2012/08/02(木) 21:30:52.30 >>497
kill()関数でpidにゼロや負数を入れるといいらしい
kill()関数でpidにゼロや負数を入れるといいらしい
499デフォルトの名無しさん
2012/08/02(木) 22:28:29.91 >>498
ありがとう,解決できました
ありがとう,解決できました
500デフォルトの名無しさん
2012/09/17(月) 22:19:03.43 http://www.cs.miyazaki-u.ac.jp/~date/lectures/image_process2012/labeling201209gp40_uc.c
画像処理ラベリングのプログラミングなんですがこの穴あきをおしえてください
ここで間はなにをするとこなのかおしえてくださいorz
画像処理ラベリングのプログラミングなんですがこの穴あきをおしえてください
ここで間はなにをするとこなのかおしえてくださいorz
501デフォルトの名無しさん
2012/09/17(月) 22:51:30.17 このプログラムを書いた人に訊きなさい
502デフォルトの名無しさん
2012/09/17(月) 23:28:29.51 馬鹿には聞いてません
503デフォルトの名無しさん
2012/09/18(火) 01:14:44.29504デフォルトの名無しさん
2012/09/18(火) 01:23:00.19 >>500 文字化けしてますかね??
for (y=0; y<h; y++){
for (x=0; x<w; x++){
i = y*w +x;
k = init[i];
while ( identical[k] != 0 ){
ここの間
identical[k] = 0; // ダミー
}
final[i] = k;
printf("%3d", final[i]);
}
printf("\n");
}
のとこです
for (y=0; y<h; y++){
for (x=0; x<w; x++){
i = y*w +x;
k = init[i];
while ( identical[k] != 0 ){
ここの間
identical[k] = 0; // ダミー
}
final[i] = k;
printf("%3d", final[i]);
}
printf("\n");
}
のとこです
505デフォルトの名無しさん
2012/09/20(木) 00:24:53.72 豚切りすいません。
超初心者です....
touchでファイル作ろうとしたらpermission denied ってなるんで
chmodでパーミッション変更しようとしてもどうやら元々の奴の権利を変えるだけのモノ?
みたいで、作成できるように権限を変えたいのですが、
どなたか教えてもらえるとありがだいです。
超初心者です....
touchでファイル作ろうとしたらpermission denied ってなるんで
chmodでパーミッション変更しようとしてもどうやら元々の奴の権利を変えるだけのモノ?
みたいで、作成できるように権限を変えたいのですが、
どなたか教えてもらえるとありがだいです。
506デフォルトの名無しさん
2012/09/20(木) 01:22:55.36 ディレクトリにchmod
あと.hogercの確認
あと.hogercの確認
507デフォルトの名無しさん
2012/09/20(木) 05:02:08.38 馬鹿には無理
508デフォルトの名無しさん
2012/09/21(金) 20:51:51.26 505です。
レスありがとうございます。
あれから chmod 777を打ったんですが
Unable to change file mode on
と出てきてしまいました。
レスありがとうございます。
あれから chmod 777を打ったんですが
Unable to change file mode on
と出てきてしまいました。
509505
2012/09/21(金) 22:01:57.26 何度もすいません。
ごめんなさいm(_ _)m
ディレクトリの権限がrootだったのでユーザーから作るのはやめて、
rootでファイルを作りました。
そのファイルというのは~.phpでして、それでhttp://localhost/~.phpをクリックしても
白紙でした。
どうすればPHPの情報が表示されるようになるのでしょうか⁇
ごめんなさいm(_ _)m
ディレクトリの権限がrootだったのでユーザーから作るのはやめて、
rootでファイルを作りました。
そのファイルというのは~.phpでして、それでhttp://localhost/~.phpをクリックしても
白紙でした。
どうすればPHPの情報が表示されるようになるのでしょうか⁇
510デフォルトの名無しさん
2012/09/21(金) 22:37:37.44 プログラミング以前に、操作がままならないんだから、
UNIX板orLinux板の初心者スレに行け。
UNIX板orLinux板の初心者スレに行け。
511デフォルトの名無しさん
2012/10/08(月) 16:57:39.28 オープンソースなLinuxって何でもかんでも無料で大丈夫なんだろうか
512デフォルトの名無しさん
2012/10/08(月) 18:47:25.65 だからGNUやFSFが共産主義的思想に基いているという噂が広まるんだよ
513デフォルトの名無しさん
2012/10/08(月) 19:31:21.24 板違いってことさえわからない頭で考えても無駄。
514デフォルトの名無しさん
2012/10/08(月) 20:09:56.73 >512
それは噂じゃなくて事実www
それは噂じゃなくて事実www
515デフォルトの名無しさん
2012/10/10(水) 14:24:45.90 ディレクトリストリームに関する質問です。
open関数にディレクトリのパスを入れると、ディレクトリストリームという
ものがオープンされると参考書に書かれています。
これは、open関数が"ハードディスク上"のディレクトリの中身の
ディレクトリやファイルの情報を"メモリ上"のstruct dirent構造体に
マップしていっていると考えていいのでしょうか?
あとreaddir関数に関する質問なのですが、この関数の引数のstruct dirent
型のポインタはreaddir関数で+1してから、このポインタに上書き(?)されて
ますか?それとも初めに引き渡されたポインタを保持してますか?
まだ勉強中なので的確な言葉選びができてなくて回りくどい言い回しに
なってそうですが教えてください。
open関数にディレクトリのパスを入れると、ディレクトリストリームという
ものがオープンされると参考書に書かれています。
これは、open関数が"ハードディスク上"のディレクトリの中身の
ディレクトリやファイルの情報を"メモリ上"のstruct dirent構造体に
マップしていっていると考えていいのでしょうか?
あとreaddir関数に関する質問なのですが、この関数の引数のstruct dirent
型のポインタはreaddir関数で+1してから、このポインタに上書き(?)されて
ますか?それとも初めに引き渡されたポインタを保持してますか?
まだ勉強中なので的確な言葉選びができてなくて回りくどい言い回しに
なってそうですが教えてください。
516デフォルトの名無しさん
2012/10/10(水) 15:07:31.31517デフォルトの名無しさん
2012/10/10(水) 15:36:47.63 >>516
すみません間違えました。
open関数じゃなくてopendir関数でした。。。
この辺の認識が正しいかどうかはヘッダファイル見ていけば
わかるんですかね?
ヘッダファイルなんて現時点のスキルで読み始めたら時間かかって
しょうがねえだろうなあと思ってるんですが。
すみません間違えました。
open関数じゃなくてopendir関数でした。。。
この辺の認識が正しいかどうかはヘッダファイル見ていけば
わかるんですかね?
ヘッダファイルなんて現時点のスキルで読み始めたら時間かかって
しょうがねえだろうなあと思ってるんですが。
518デフォルトの名無しさん
2012/10/10(水) 15:45:22.84 >>515
"opendir source code"でググって、ソース読め
"opendir source code"でググって、ソース読め
519デフォルトの名無しさん
2012/10/10(水) 15:46:09.33 >>517
システムコールの本を調べたら
システムコールの本を調べたら
520デフォルトの名無しさん
2012/10/10(水) 16:15:37.67521デフォルトの名無しさん
2012/10/10(水) 16:25:38.33 勉強中なら、ストリームという概念がわかったところで次に行った方が良いんじゃないかと思うけど
まぁ人それぞれだよね。
まぁ人それぞれだよね。
522デフォルトの名無しさん
2012/10/11(木) 00:06:26.42 scp 転送元ディレクトリ/*.* ./test
を実行したときカレントにtestというディレクトリが無いと
testというファイル名でファイルができてしまいます。
testディレクトリがなかったらエラーになるようにしたいのですが
どうしたらいいでしょうか?
を実行したときカレントにtestというディレクトリが無いと
testというファイル名でファイルができてしまいます。
testディレクトリがなかったらエラーになるようにしたいのですが
どうしたらいいでしょうか?
523デフォルトの名無しさん
2012/10/11(木) 00:11:06.80 >>522
そういうプログラムをつくればおk
そういうプログラムをつくればおk
524デフォルトの名無しさん
2012/10/11(木) 00:49:13.63 scp 転送元ディレクトリ/*.* ./test/
526デフォルトの名無しさん
2012/10/19(金) 07:30:16.88 openした際にメモリ上にマップされるFILE構造体のメンバに
ファイルディスクリプタがあると思うのですが、
同じファイルをopenするプロセスが複数あるとき、
それぞれのプロセス内のFILE構造体のメンバである
ファイルディスクリプタは異なる値で、実データへのポインタ
(inodeと対になっているメタデータ)は共有という理解で合ってますか?
ファイルディスクリプタがあると思うのですが、
同じファイルをopenするプロセスが複数あるとき、
それぞれのプロセス内のFILE構造体のメンバである
ファイルディスクリプタは異なる値で、実データへのポインタ
(inodeと対になっているメタデータ)は共有という理解で合ってますか?
527デフォルトの名無しさん
2012/10/20(土) 01:57:02.57 ファイルディスクリプタは、プロセスごとに定義されているので、
偶然同じ値であることがあります。
stdin, stdout, stderr以外にファイルはオープンしてない場合、
次にfopenしたファイルのファイルディスクリプタは3です。
要するにファイルディスクリプタは全プロセスにまたがった固有のIDと見做せません。
偶然同じ値であることがあります。
stdin, stdout, stderr以外にファイルはオープンしてない場合、
次にfopenしたファイルのファイルディスクリプタは3です。
要するにファイルディスクリプタは全プロセスにまたがった固有のIDと見做せません。
528デフォルトの名無しさん
2012/10/20(土) 06:15:36.17529デフォルトの名無しさん
2012/10/20(土) 07:26:12.03 >>528
君のレベルが分かりました
君のレベルが分かりました
530デフォルトの名無しさん
2012/10/21(日) 04:02:48.75 プログラムを走らせると、topで見るとsystem CPUの値が異常に高いのですが、
systemってどんなことをした場合に消費されるのでしょうか?
systemってどんなことをした場合に消費されるのでしょうか?
531デフォルトの名無しさん
2012/10/21(日) 07:06:44.21 ソウルからヨボセヨ 「ハングル輸出」は虚報 2012.10.20 03:01 [韓国]
韓国独自の文字であるハングルは民族的自慢のタネで、10月9日が「ハングルの日」として以前は祭日だった。
しかし祭日が多すぎると休日からははずされたため、復活を望む声が強い。
来年には復活の可能性があるとかで、カレンダー業者が気をもんでいる。
そのハングルをめぐってまずい話が起き問題になっている。
先年、インドネシアの小さな島の部族がハングルを自分たちの「公式文字」に採択したというニュースがあり
「ハングルの優秀性を世界に示した」として官民挙げて大喜びした。
教科書でも紹介されるまでになったのだが、最近、この話はマスコミが誇張したもので「公式文字採択」は虚報と分かった。
政府も教科書や各種展示を手直しすることになったという。
この少数部族というのはスラウェシ島に近いブトン島のチアチア族といい人口は6、7万人とか。
固有の部族語を話しているが、韓国の団体が援助を餌にその部族語の表記にハングルを使うことを勧めた。
その結果「公式文字に採択」となったというのだがインドネシアはローマ字が公用文字。地方の部族が別の文字を
公式文字に採択するのはありえない。
実際は単にハングルを学んでいるといった程度だったのだ。ハングル愛国主義の勇み足である。(黒田勝弘)
http://sankei.jp.msn.com/world/news/121020/kor12102003020000-n1.htm
韓国独自の文字であるハングルは民族的自慢のタネで、10月9日が「ハングルの日」として以前は祭日だった。
しかし祭日が多すぎると休日からははずされたため、復活を望む声が強い。
来年には復活の可能性があるとかで、カレンダー業者が気をもんでいる。
そのハングルをめぐってまずい話が起き問題になっている。
先年、インドネシアの小さな島の部族がハングルを自分たちの「公式文字」に採択したというニュースがあり
「ハングルの優秀性を世界に示した」として官民挙げて大喜びした。
教科書でも紹介されるまでになったのだが、最近、この話はマスコミが誇張したもので「公式文字採択」は虚報と分かった。
政府も教科書や各種展示を手直しすることになったという。
この少数部族というのはスラウェシ島に近いブトン島のチアチア族といい人口は6、7万人とか。
固有の部族語を話しているが、韓国の団体が援助を餌にその部族語の表記にハングルを使うことを勧めた。
その結果「公式文字に採択」となったというのだがインドネシアはローマ字が公用文字。地方の部族が別の文字を
公式文字に採択するのはありえない。
実際は単にハングルを学んでいるといった程度だったのだ。ハングル愛国主義の勇み足である。(黒田勝弘)
http://sankei.jp.msn.com/world/news/121020/kor12102003020000-n1.htm
532デフォルトの名無しさん
2012/10/21(日) 14:04:47.52 >>530
システムモードのCPU使用率が高いということは、つまりカーネルで動作していた時間が
多かったことを意味する。
例えば、ファイルのopen, closeを繰り返してファイルシステムやデバイスドライバばかり
動しているとか
システムモードのCPU使用率が高いということは、つまりカーネルで動作していた時間が
多かったことを意味する。
例えば、ファイルのopen, closeを繰り返してファイルシステムやデバイスドライバばかり
動しているとか
533デフォルトの名無しさん
2012/10/27(土) 22:06:34.21534デフォルトの名無しさん
2012/11/01(木) 00:23:16.28 >>530
メモリ足んなくて、メモリスワップしてるような状況でもsystemが上がりがちですかね。
メモリ足んなくて、メモリスワップしてるような状況でもsystemが上がりがちですかね。
535デフォルトの名無しさん
2012/11/01(木) 09:46:46.73 >>530
状況も説明せんと分かるわけがない
状況も説明せんと分かるわけがない
536デフォルトの名無しさん
2012/11/05(月) 01:34:52.74 思いつくのを適当に列挙すると
・ユーザーランドから無駄にシステムコール発行してる
・ドライバが腐ってる
・ハードが壊れてる
・アタックされてる
かねえ
・ユーザーランドから無駄にシステムコール発行してる
・ドライバが腐ってる
・ハードが壊れてる
・アタックされてる
かねえ
537デフォルトの名無しさん
2012/11/17(土) 19:30:00.85 教えてください
/proc以下の仮想ファイルと同様の仕組みを、自作アプリケーションの内部変数を
外から確認するのに使いたいのですが、それ用のAPIはありますか?
また、ターゲットに考えているアプリはパフォーマンスが非常に重要なのですが、
各種の高速ソフトウェアを動作させることが可能なOS自身が/proc以下を提供しているのだから、
そのような仕組みは処理のボトルネックにはならないだろうと期待しているのですが、どうですか?
/proc以下の仮想ファイルと同様の仕組みを、自作アプリケーションの内部変数を
外から確認するのに使いたいのですが、それ用のAPIはありますか?
また、ターゲットに考えているアプリはパフォーマンスが非常に重要なのですが、
各種の高速ソフトウェアを動作させることが可能なOS自身が/proc以下を提供しているのだから、
そのような仕組みは処理のボトルネックにはならないだろうと期待しているのですが、どうですか?
538デフォルトの名無しさん
2012/11/17(土) 19:37:46.89 text I/Oだから普通にボトルネックになりうる。
mmapを使ってください。
mmapを使ってください。
539デフォルトの名無しさん
2012/11/17(土) 19:49:57.94 >>538
ありがとうございます!
ありがとうございます!
540デフォルトの名無しさん
2012/11/17(土) 23:31:49.74 system()で生成した別プロセスに対してシグナルを送信する場合、典型的にはどれくらいの時間がかかりますか?
(人間の感覚では一瞬ですが、たとえ一瞬でも実際は有限の時間がかかりますよね?)
また、シグナルと同様にプロセス間で非同期の通知をするための高速な方法は他にありますか?
(人間の感覚では一瞬ですが、たとえ一瞬でも実際は有限の時間がかかりますよね?)
また、シグナルと同様にプロセス間で非同期の通知をするための高速な方法は他にありますか?
541デフォルトの名無しさん
2012/11/17(土) 23:45:34.34 シグナルはそんなに速くないよ。
特にシグナルハンドラー使う場合。
ハンドラはカーネル空間でなくてユーザ空間で実行しないといけないから。
システムコールにブロックされる可能性あるから、
シグナル割り込み可能性や再入可能性で調べてみて。
セマフォアやpthread_mutex(ただしプロセス間拡張あるUNIXで)使った方がいいよ。
特にシグナルハンドラー使う場合。
ハンドラはカーネル空間でなくてユーザ空間で実行しないといけないから。
システムコールにブロックされる可能性あるから、
シグナル割り込み可能性や再入可能性で調べてみて。
セマフォアやpthread_mutex(ただしプロセス間拡張あるUNIXで)使った方がいいよ。
542デフォルトの名無しさん
2012/11/18(日) 00:05:08.76543デフォルトの名無しさん
2012/11/18(日) 00:15:04.12 使うシステムコールやマルチスレッドかどうかによる。
ちなみにmsecレベルの応答性なら
高速性は必要とされてない応用にカテゴライズされると思う。
ちなみにmsecレベルの応答性なら
高速性は必要とされてない応用にカテゴライズされると思う。
544デフォルトの名無しさん
2012/11/18(日) 00:21:06.76 >>540
蒔きに火をつける時間と、のろしをあげる時間が必要
蒔きに火をつける時間と、のろしをあげる時間が必要
545デフォルトの名無しさん
2012/11/18(日) 00:26:16.02546デフォルトの名無しさん
2012/11/18(日) 00:28:46.80 マルチスレッドかどうかは、
中断可能じゃないシステムコールを呼んでいる時に
シグナル受けて処理に時間がかかるかどうかに関わってくる。
マルチスレッドなら、シグナル受けるの専用のスレッド置いておけば良い。
中断可能じゃないシステムコールを呼んでいる時に
シグナル受けて処理に時間がかかるかどうかに関わってくる。
マルチスレッドなら、シグナル受けるの専用のスレッド置いておけば良い。
547デフォルトの名無しさん
2012/11/18(日) 00:31:11.12548デフォルトの名無しさん
2012/11/18(日) 04:39:58.63549デフォルトの名無しさん
2012/11/18(日) 14:04:51.05 Intel Xeon Phiを扱えるコンパイラーを教えてちょ
550デフォルトの名無しさん
2012/11/18(日) 15:07:05.74 gcc
551デフォルトの名無しさん
2012/11/18(日) 21:02:49.61 素直にicc使えば?
552デフォルトの名無しさん
2012/11/19(月) 02:02:44.98■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 日経平均の下落率3%超す、財政懸念で長期金利上昇 ★2 [お断り★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 【雑談】暇人集会所part18
- 高市早苗「支持者の理解を得られないので台湾発言を撤回できない」 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
