メインフレームのブロックの単位はなんでしょうか?
開発者が決める一塊のデータのサイズ(バイト数)でしょうか?
たとえば下記のデータがあるとして
AAAAABBBCC
ブロックを5とすれば ブロック1=AAAAA、ブロック2=BBBCC
のように扱われるということですか?
それともなにか基準値があるのでしょうか?
固定長データの一行に相当するイメージですか?
可変長の場合はどうなりますか?
プログラミングやJCLで意識することはありますか?
検討違いかもしれないのですが、イメージがわかないので
教えてください。
よろしくお願い致します。
No.1
- 回答日時:
回答します。
メインフレームでのブロックは、ワード(=オクテット)という単位になります。基本的には、データは固定長で扱います。可変長の場合には、一番長いデータを基準にして空欄を埋める形で行いますが、一応最初に使用するブロック長を指定しておきます。
例えば、COBOLでもそうなのですが、データ長を先に宣言しておいて、その値で全てのレコード及びブロック長を定めます。
JCL(ジョブ制御言語)の場合には、起動するプログラムを制御することが目的のため、余り意識する必要はありません。
では。
この回答への補足
ありがとうございます。
もうちょっと質問させてください。
ひとつのトラックに何種類かのファイル(データセット)を記憶させることってあるますよね?
トラックやシリンダをファイルがまたぐようなことってあるのでしょうか?
よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
ブロックとは、ハードディスク装置と制御装置がデータをやりとりする単位です。
プログラムであつかう論理的な処理(レコード)とは関係ありません。>それともなにか基準値があるのでしょうか?
ファイルの先頭から順番に読んで処理する場合は出来るだけ大きい方が効率が良くなります。ただ、約32KB以上に出来ません。可変長ブロックを使うなら最大値を約32KB(正確な数値は忘れました)にしておけばいいでしょう。固定長を使うなら、ディスクの無駄が出ないような最適な値が装置ごとに決まっています。今のディスクはRAIDで、PC用ディスクの高精度版を使って昔のディスク装置をエミュレートしているのであまり意味がないのですが。
固定長レコードの場合は、ブロックサイズはレコードサイズの整数倍にして、レコードがブロックをまたがないようにするのが普通です。
検索すると、こういうページがありました。http://www.arteceed.net/?p=443 RAIDは普通は3390互換にしてあるはずです。
DBのようにランダムにアクセスする場合は、あまり大きなブロックサイズだと、とある200バイトを読むためにも20KBのブロックを読まないといけなかったりする訳で、やや小さめにしたほうがいいです。あまり小さすぎると、シーケンシャルに読む場合に遅くなりますし、また、ディスクの容量も小さくなります(ブロックごとに制御エリアが必要なので)。
>プログラミングやJCLで意識することはありますか?
上に書いたように物理的な話なので、プログラミングで意識することは無いです。実際にファイル(メインフレームだとデータセット)を作成するときにだけ上記のような考えで意識します。作成はJCLで行うので、作成をするのならJCLで指定が必要です。作成しないなら意識しなくていいです(使うだけの場合でも、JCLでブロックサイズを指定することも出来ますが、作成時に指定した値と違う値を指定すると遅くなったりエラーになったりしますので普通は指定しません)。
COBOLやアセンブラだとプログラムでブロックサイズを指定する機能もありますが、メインフレームの場合は普通はそこはゼロを指定しておきます。
実際に入出力で使われるブロックサイズは以下の順番で決まります。
1.プログラムで指定していればそのサイズ
2.プログラムで指定していない(=ゼロを指定している)場合に、JCLで指定していればそのサイズ
3.プログラムでもJCLでも指定していない既存ファイルの場合は、そのファイル属性として持っているサイズ
4.新規作成ファイルで、プログラムでもJCLでも指定していなければブロックサイズが不明なので実行時エラー
PCで使うディスクのブロックは512バイト固定長で、メインフレームの感覚から見るととても短いです。
この回答への補足
ありがとうございます。
レコードの塊がブロックなのですね。
レコードはDBのレコードと同じイメージでしょうか?
一行としてサイズがきまりますよね。
その塊ということは、ブロックはテーブルを分割しているような
感じでしょうか?
固定長の場合は最適な値が装置ごとに決まっているので、レコードのサイズを整数倍した値の中で、最適な値内でもっとも最適な値に近い数字を設定するということでよいでしょうか?
可変長はたぶん、最大値を一行として扱うってことなんですよね。
あと、メインフレームにもDBがあるのですか?
DB2とかですか?
オープン系のDBでブロックサイズを意識したことがないのですが
メインフレーム特有なのでしょうか?
それとも、カラム数を多くしないとかそういうことでしょうか?
メインフレームは磁気ディスクのデータを使用するイメージがありましたが、メインフレームからDBにアクセスしてデータ操作をおこなうようなこともあるのでしょうか?
でも、ブロックについてわかったことは、データの塊で、磁気ディスクの容量に無駄がでないように、また、大きすぎ、小さすぎもやめて設定すること。
ファイル(データセット)作成時に考慮が必要ですが、プログラムやJCLでは意識しなくていいこと。
ありがとうございました。
できれば今回の質問にも答えていただけるとうれしいです。
よろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CAD・DTP JWW-CADでDXF変換後の線が連動して消える 2 2023/01/13 11:09
- livedoor Blog(ライブドアブログ) LINEに下記メッセージが届きました。 ブログリーダーに登録した事はありませんし、利用もしてません。 1 2023/02/28 16:33
- その他(学校・勉強) この中で間違ってある説明はありますか?詳しい方に教えていただきたいです。 A. 1つのプログラムが複 2 2023/07/14 01:15
- X(旧Twitter) Twitterのブロック基準について。 ゲーム上で仲良くなった人とTwitterを交換しました。 チ 0 2022/03/23 11:37
- その他(教育・科学・学問) 小学生にプログラミング(Scratch)を教える方法 2 2022/06/01 06:39
- Facebook ブロックされてる。という事実を目の当たりにするたびにショックを受けてしまいます。 共通の友人がいる人 6 2022/06/13 09:18
- 一戸建て CBブロックの土留について 4 2022/07/02 10:10
- 教えて!goo 今更ながらgooに対する幾つかの質問です。 5 2023/02/14 09:02
- LINE LINEのアカウントについて 正直新しいLINEアカウント作りたいです。 前の職場の人とか昔のもうや 1 2023/05/13 20:21
- X(旧Twitter) 個人Vtuberに関するちょっと怒りと悲しみの質問 4 2023/08/10 03:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
知恵袋よりおしえてgooさんの方...
-
マンション10階から飛び降りた...
-
LINE相手が勝手にブロックされ...
-
インスタの裏垢をブロックされ...
-
5ch のエロ広告を見えないよう...
-
ブロックしたユーザー名の人が...
-
サムスンブラウザでadguardを使...
-
ブロック線図の簡略化について...
-
職場の先輩に、いつの間にかLIN...
-
ブロックした人の質問、何で見...
-
相手のインスタのアカウントを...
-
女性の方に質問です! 物凄く嫌...
-
ここで質問に回答を書いたあと...
-
Instagramの同じ端末のブロック...
-
元彼のラインを私が先にブロッ...
-
元彼からの嫌がらせ?
-
自分に原因があり、嫌われ修復...
-
「ブロックしてほしい」と頼む...
-
Instagramで私をブロックしてき...
-
いちいちブロックするねーって...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マンション10階から飛び降りた...
-
インスタの裏垢をブロックされ...
-
LINE相手が勝手にブロックされ...
-
Instagramの同じ端末のブロック...
-
5ch のエロ広告を見えないよう...
-
「ブロックしてほしい」と頼む...
-
ブロックしたユーザー名の人が...
-
LINEって、スマホ故障したら 勝...
-
相手のインスタのアカウントを...
-
インスタブロックしてた子が ブ...
-
ブロックしましたか?
-
自分に原因があり、嫌われ修復...
-
都合悪くなるとブロック????
-
インスタで裏垢から話しかけた...
-
女性の方に質問です! 物凄く嫌...
-
質問者に、ブロックって あり得...
-
FC2動画っていうサイトを開いた...
-
最近、件名にこんな顔文字「(^O...
-
以前の職場の同期だった女の子...
-
Gmailのブロックについて
おすすめ情報