facebook twitter hatena line google mixi email
★お気に入り追加


■ このスレッドは過去ログ倉庫に格納されています

  • 1
  •  
  • 2014/02/16(日) 01:49:14.42
C言語の入門者向け解説スレッドです。

★前スレ
C言語なら俺に聞け(入門編)Part 124
http://toro.2ch.net/test/read.cgi/tech/1389096769/
★過去スレ
ttp://makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000
★教えて欲しいのではなく宿題を丸投げしたいだけなら
  ↓宿題スレ↓へ行ってください。
C/C++の宿題片付けます 166代目
http://toro.2ch.net/test/read.cgi/tech/1381909900/
★C++言語については避けてください。C++対応明記スレへどうぞ。
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
  # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること。
  # サイズが大きい場合はアップローダ等を利用してください。
ttp://codepad.org/
ttp://ideone.com/
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
【重要】
当たり前の事ですが、2chではコピペ荒らしは禁止されています

ここまで見た
  • 816
  •  
  • 2014/03/29(土) 11:46:51.23
>>913
金庫の中に金庫の鍵がある状態をイメージしろ
動きによってそれに近い状態になるのがでっどろっく

ここまで見た
  • 817
  •  
  • 2014/03/29(土) 11:59:55.49
>>816
バカはたとえ話するな、余計わからんわ。

ここまで見た
  • 818
  •  
  • 2014/03/29(土) 12:49:36.87
デッドロックって dead lock じゃなくて deadlock であって、こう着状態みたいな状況を表す単語だろ。
ようするに、こう着状態になってなきゃデッロドックじゃないんじゃないの?

共有ロックは状況じゃなくて仕組みの名前でしょ。
読むのは複数に許すけど、書くのは排他的っていうやつ。

ここまで見た
  • 819
  •  
  • 2014/03/29(土) 12:54:22.27
結論として OS の支援なしには dead-lock を起こせない、ということで

ここまで見た
  • 820
  •  
  • 2014/03/29(土) 12:58:49.23
>>813
>>共有ロックもデッドロックの一種ですか?

一般的なロック操作では、あるプロセスが資源をロックすると、
ロックが解除するまでの間、新たなロック操作は必ず待たされる
しかし資源へのアクセスが読み出しだけであるならば、
待たせることなく読み出し操作を実行しても、何ら害は無い

そこで、ロック操作を2つに分類し、用途に応じて使い分ける共有ロック方式が考案された
・共有ロック(shared lock) - 読み出しロックともいう
・排他ロック(exclusive lock) - 書き込みロック、更新ロックともいう
また操作の細分化に伴い、これまでロックの状態は
"未ロック" と "ロック中" の2つであったのに対し、
この方式では "未ロック"、"共有ロック中"、"排他ロック中"の3つに増える
ここで、共有ロック中状態における共有ロック操作は待たされることなく成功する
排他ロックは従来のロックと同じく、未ロック状態の時だけ成功する

>つまりデッドロックですか?

共有ロックは、上記のようにロック方式を指す言葉
デッドロックは(>>803で書いたように)ロックに関連したバグの一種であり、
バグだから一般的なロック方式でも共有ロックでも起こりうる

ここまで見た
  • 821
  •  
  • 2014/03/29(土) 13:03:54.86
>>819
このファイルがあるとロックしてるって事な、みたいな取り決めにしておけば、
あとはファイル作れてプロセスを複数同時に動かせれば起こせるんじゃね?

ここまで見た
  • 822
  •  
  • 2014/03/29(土) 15:33:58.33
何らかの手段でプロセス間の相互作用が提供されてなければデッドロックは起こりようがない
プロセス間の相互作用を提供するのはOSの働き

ここまで見た
  • 823
  •  
  • 2014/03/29(土) 16:03:35.08
>>822
ファイルへのアクセス制御はOSの機能なわけですが…w
OSのサポートがなければ同時にファイル作ろうとしてあぼん

ここまで見た
  • 824
  •  
  • 2014/03/29(土) 16:04:06.65
安価ミス

×>>822
>>821

ここまで見た
  • 825
  •  
  • 2014/03/29(土) 16:09:24.24
>>823
ネットワークドライブとかだとあぼんするタイミングが遅れることがある
なのでopenは成功してしまうことがまれに良くある

ここまで見た
  • 826
  •  
  • 2014/03/29(土) 16:54:46.28
>>823
相互作用と言う言葉を辞書で調べてから出直しなさい
お前のようなボンクラが我輩に対して言いがかりつけるのは千年早い

ここまで見た
  • 827
  •  
  • 2014/03/29(土) 17:16:00.99
>>826
ただのプロセス間通信だろ

ここまで見た
  • 828
  •  
  • 2014/03/29(土) 17:17:15.93
OSだってプログラムなんだから、そこまでして書こうと思えば書けるってだけの話だろ

ここまで見た
  • 829
  •  
  • 2014/03/29(土) 17:21:51.61
>>828
ファイルロックは無理!w

ここまで見た
  • 830
  • 片山博文MZジェバンニ
  • 2014/03/29(土) 17:33:15.95
C11なら標準のmutexで排他制御できっぞ

ここまで見た
  • 831
  •  
  • 2014/03/29(土) 17:33:39.96
いやだから、ファイルシステムだってプログラムっつうかデータなんだから
問題を大局的に見れないのは土方PGの性なのかね

ここまで見た
  • 832
  •  
  • 2014/03/29(土) 17:40:38.67
ディレクトリの新規作成で排他制御してる奴があるね

ここまで見た
  • 833
  •  
  • 2014/03/29(土) 17:50:04.83
>>831
そこまで大きな視点で見るなら最初から排他機構を実装すればいいだけでファイルを使う意味は全くないw

>>832
まともなプログラムではない目印にはなるね

ここまで見た
  • 834
  •  
  • 2014/03/29(土) 17:52:18.95
ディレクトリもタダのファイルなんだけどねw

ここまで見た
  • 835
  •  
  • 2014/03/29(土) 17:58:42.91
unix界隈だとロックファイル作って使用中なのを知らせるとか普通にあるけどね。

ここまで見た
  • 836
  •  
  • 2014/03/29(土) 18:12:09.23
セマフォ!セマフォ!
セ!マ!フ!ォ!

ここまで見た
  • 837
  •  
  • 2014/03/29(土) 19:39:55.06
ソフトウェアでプログラムを実行するタイプのciscってどういう事ですか?
そもそもプログラムは全部ソフトウェアじゃないんですか?
ciscは特別なんですか?Cとの違いを教えて下さい

ここまで見た
  • 838
  •  
  • 2014/03/29(土) 19:58:36.68
マイクロコード方式とハードワイヤード方式について調べてみるといいと思います。
インテル8086プロセッサはマイクロコードが使われていました。
NEC製のV30は一部をハードワイヤード化することで高速化を図った互換プロセッサです。
ここら辺を調べるといろいろわかると思いますし、C言語と比較するもので
無いこともわかると思います。
思いました。

ここまで見た
  • 839
  •  
  • 2014/03/29(土) 20:00:43.49
今のpcはpopとかsumとかアセンブラだからマイクロコーード方式なんですか?

ここまで見た
  • 840
  •  
  • 2014/03/29(土) 20:04:46.34
マイクロコードだとCPUにバグが有っても回収しないでパッチを当てることができる

ここまで見た
  • 841
  •  
  • 2014/03/29(土) 20:06:22.57
>>833
お前が勝手にファイルロック言い出しただけやないか!

ここまで見た
  • 842
  •  
  • 2014/03/29(土) 20:11:06.34
cpuの命令語を読んでプログラミングのソースコードを再現することって
できるんですか?

ここまで見た
  • 843
  •  
  • 2014/03/29(土) 20:12:24.03
マイクロコードというのは、CPU内で使われるプログラムです。
CPU上で動作するソフトウェアを書くプログラマが目にすることはありません。
一般的に言って、複雑な動作を伴う命令をCPUが実装するには、すべてをトランジスタで実装するより、
一部をプログラム(マイクロコード)として実装する方がお得だったのです。

ここまで見た
  • 844
  •  
  • 2014/03/29(土) 20:16:28.02
共用体 union って必要?

ここまで見た
  • 845
  •  
  • 2014/03/29(土) 20:19:30.31
>>843
マイクロコードはそれ以上は分割されないんですか?
アセンブラとは別物ですか?

ここまで見た
  • 846
  •  
  • 2014/03/29(土) 20:23:20.74
アセンブラとは全く別ですし、コードと言っても機械(CPU)の一部です。
およそプログラマには関係のない部分ですしおすし。

ここまで見た
  • 847
  •  
  • 2014/03/29(土) 20:24:31.08
CPU内で使われるプログラムを書くプログラマはいないんですか?

ここまで見た
  • 848
  •  
  • 2014/03/29(土) 20:28:44.07
うちの社では佐藤というものがマイクロコードを担当していまして、
製品に使われるほとんどすべてのコードを書いています。
しかしながら、彼はプログラマではなく、エンジニアです。
我々よりちょっとばかり位が高いのです。

ここまで見た
  • 849
  •  
  • 2014/03/29(土) 20:30:36.70
ちなみに彼の年収は2000万を超えるらしいです。
我々の倍近いです。
まさにThe 専門職だと思います。

ここまで見た
  • 850
  •  
  • 2014/03/29(土) 20:32:13.99
>>848
なるほどー
マイクロコードを書く人はプログラマって言わないんですね
アセンブラは誰が担当してるんですか?

ここまで見た
  • 851
  •  
  • 2014/03/29(土) 20:34:43.57
>>849
プログラマーって1000万????
IT企業って何で給料良いんですか?
一つのシステムを開発したら莫大なお金をクライアントから
貰えるんでしょうか?

ここまで見た
  • 852
  •  
  • 2014/03/29(土) 20:37:10.23
アセンブラはソフトウェア関連の事業部では長老連中のほとんどが使えるでしょうね。
しかしながら、活躍の場はあまりないと思います。

ここまで見た
  • 853
  •  
  • 2014/03/29(土) 20:40:52.73
ソフトウェアは長期に亘ってある意味詐欺のような仕事でした。
実利ではなく、ドリームを売って銭を稼いでいたのです。
詐欺師が莫大な利益を得るのは世の常です。

しかしながら、現在ではソフトウェアも実用になりました。
今後の若い人たちは奴隷のように使われることでしょう。
かわいそうに。

ここまで見た
  • 854
  •  
  • 2014/03/29(土) 20:41:22.67
高級言語で書いたソースコードもマイクロプログラムで処理されるわけですよね?
プログラマとエンジニアの仕事のやり取りは必要ないんですか?
合せるところはあると思うのですが

ここまで見た
  • 855
  •  
  • 2014/03/29(土) 20:49:42.67
ガンホーみたいなゲーム会社は良いんじゃね?
給料もよさそう

ここまで見た
  • 856
  •  
  • 2014/03/29(土) 21:09:22.10
vg30dettとかなついな

ここまで見た
  • 857
  •  
  • 2014/03/29(土) 21:40:45.14
整数の平方根を求めるアルゴリズムを教えて下さい。
ググってみたけど、二分法とニュートン法、開平法ぐらいしか見当たりませんでした。
上記以外の平方根を求めるアルゴリズムを知っている人いませんか? 教えて下さい。

ここまで見た
  • 858
  •  
  • 2014/03/29(土) 21:43:15.22
二分法やニュートン法、開平法じゃダメな理由は?

ここまで見た
  • 859
  •  
  • 2014/03/29(土) 21:45:59.34
マイクロコード手書きって、どんな製品作ってんだよ・・・

ここまで見た
  • 860
  •  
  • 2014/03/29(土) 21:47:23.95
>>858
ダメって訳ではないのですが、勉強のために他のアルゴリズムがあれば知りたいのです。

ここまで見た
  • 861
  •  
  • 2014/03/29(土) 21:51:25.02
>>860
モンテカルロ

ここまで見た
  • 862
  •  
  • 2014/03/29(土) 21:51:36.76
開平を筆算で求めるやり方があるでしょ
それをそのままプログラムで組んでみたら?

ここまで見た
  • 863
  •  
  • 2014/03/29(土) 21:53:01.70
三分法(非効率)とか、区間演算とか、計算尺とか

ここまで見た
  • 864
  •  
  • 2014/03/29(土) 21:56:36.09
近似式を使うとか、テーブルで補完するとか

ここまで見た
  • 865
  •  
  • 2014/03/29(土) 22:00:52.49
コプロセッサ使うとか、これ以上は思い付かない

ここまで見た
  • 866
  •  
  • 2014/03/29(土) 22:10:18.29
あ、定義域が有限なら答えをすべて暗記しておくという方法もあるぞ

ここまで見た
  • 867
  •  
  • 2014/03/29(土) 22:19:11.46
>>859
むしろ手書きでないマイクロコードなんてあるんか?

フリック回転寿司
フリック回転寿司
ここまで見た

★お気に入り追加

このページを共有する
facebook twitter hatena line google mixi email
おすすめワード