リンク

2015年3月27日金曜日

勉強のあれこれ7

データベース

・関係データベース
データを表として表現したものである。表は、列と行で構成される。表と票の関連付けは、指定された属性の値で行われる。

・スキーマ
表にどのような列を設定するか、その名称、データ型、一意性などの特性を定義したもの

・3層スキーマ
-概念スキーマ
データベースが対象とするデータ全体を記述したもの
-外部スキーマ
データベース利用者が必要とするデータを集めて記述したもの。サブスキーマとは外部スキーマの別の呼び方である。
-内部スキーマ
データベースを記録媒体にどのように格納するかを記述する

・正規化
データの関連を整理すること。通常、第一正規化から第三正規化まで行う。その目的は、データの重複を取り除く、保守しやすくして、データ内容の矛盾の発生を防ぐこと。

・非正規型
まったく正規化が行われていない状態の表。
-第一正規形
非正規形の表から繰り返し現れる列を展開し、繰り返しを取り除いた状態。
-第二正規形
主キーの一部に依存している列を分離することで、すべての属性が主キー全体に従属している状態
-第三正規形
すべての属性が完全関数従属し、かつ主キー以外の列の値によって決まる列を分離した状態

・ストアドプロシージャ機能
使用頻度の高い命令群をプロシージャとしてあらかじめサーバ上に登録しておき、データベースをアクセスる際に、一連の問い合わせ処理をクライアントではなく、サーバ上で実行させることにより処理効率の向上を図る機能。

・ロールフォワード
データベースに物理的な障害が発生した場合、コミットされたデータをバックアップファイルと更新後ジャーナルを用意て障害発生直前の状態に戻す処理のこと。

・分散データベース
ネットワークを介して、分散して蓄積されているデータベースを統一的な操作で利用する技術。クライアントのアプリケーションが分散データベースにアクセスした場合、データの分散を意識することなく、あたかも1台のデータベースサーバからサービスを受けているかのようなインタフェースが提供される。

・データウェアハウス
企業の様々な活動を介して得られた大量のデータを、目的別に整理・統合して蓄積し、意思決定支援などに利用するもの。








2015年3月22日日曜日

勉強のあれこれ6

ソフトウェア・ハードウェア

・ハードリアルタイムシステム
システムの処理が時間内に終了しなかった場合に致命的な問題が発生するシステム
・ソフトリアルタイムシステム
システムの処理が時間内に終了しなくても、致命的な問題は発生しないシステム

・API(Application Program Interface)は、アプリケーションからOSが用意した各機能を呼び出すための仕組みのことである。一般に公開されているので、APIを利用してアプリケーションを効率よく作成することができる。

・仮想記憶方式では、主記憶装置上の実記憶域と補助記憶装置上の仮想アドレス空間をページあるいはセグメントという単位で分割して管理する。ページは固定長の領域であり、セグメントは可変長の領域で、プログラムの中で特定の機能を持つ構成要素である。通常、セグメントは複数のページによって構成される。

・仮想記憶システムでは、プログラム実行中に必要なページが主記録装置上にない(ページファルト)場合は、該当するページを補助記憶装置から主記録装置に読み込まなければならない。このような事象が頻繁に起こって本来の処理が進まなくなる現象をスラッシングという。

・スラッシングが発生すると、そのためにCPUが使われ、本来のアプリケーションの処理が進まなくなる。つまり、アプリケーションのCPU使用率は低くなる。一方、主記録と補助記録の間のページ転送量は増加する。

・システムのスループットを高くするには、タイプAの入出力処理中にタイプBのタスクを処理するのが最も効率が良い、したがって、タイプAのタスクを優先的に処理してから入出力処理に移行し、その間にタイプBのタスクを処理するようにする。そのためには、優先度方式のスケジューリングを採用して、タイプAの優先度を高くするとよい。

・CPUの処理時間を微小な時間に分割し、各タスクに割り当てることでタスクの処理効率を向上させることを、タイムスライシングという。

・スプーリング : 主記録装置と入出力装置間のデータ処理速度の違いによって処理効率の低下が発生する。これに対して、いったんデータを補助記憶装置に格納しておくことでシステム全体の処理効率を向上させるバッファリング機能のこと。

・LRU(Least Recently Used)方式 : もっとも最近使われなくなったデータを取り除き、代わりに新しいデータを取り込むという置き換えアルゴリズムの一つ。

・メモリプール : プログラムの実行中にメモリを動的に確保できるようにあらかじめ用意しておくメモリ領域。複数の固定サイズのメモリブロックに分割する固定長方式と、メモリブロックによってサイズが変わる可変長方式がある。
 固定長方式 : 小さなサイズのメモリ資源もメモリブロックは一定のサイズで確保されるため、メモリの使用効率が悪くなる。メモリブロックの獲得・返却では、メモリプール番号を指定して管理できるので、りょり速度は速くかつ一定になる。
 可変長メモリプール : メモリブロックの獲得と返却を繰り返すことでフラグメンテーションが発生しやすくなるという問題もある。

・セマフォ : 複数のプロセスがメモリやファイルなどを共有しているとき、同時にアクセスすることでデータの破壊や不整合が起こることを防ぐ目的で用いられる。並行動作しているプロセス間で交換される信号を制御する機構。

・ミドルウェア : OSとアプリケーションソフトの間に位置するソフトウェアのことで、データベース管理システムなどがある。

・シリンダ : 複数の磁気ヘッドがヘッドの移動なしに読み書きできるトラックの集まりで、仮想的な同筒とみなしてシリンダという。

・トラック : 一定の速度で回転している磁気ディスク盤上で、1回転で一つの磁気ヘッドが読み込みできる円状の領域

・セクタ : 円状のトラックを放射状に区切った領域で、ディスクからデータを読み書きするときの単位となる。

・CMOS(Complementary Metal Oxide Semiconductor : 相補性金属酸化膜半導体)
 プロセッサの主流として広く使われている半導体。








2015年3月5日木曜日

勉強のあれこれ5

今日もやっていきま~す

問1

負数を2の補数で表すとき、8けたの2進数nに対し-nを求める式はどれか、ここで、+は加算を表し、OR,XORは、それぞれビットごとの論理和、排他的論理和を表す。

ア (n OR 10000000) + 00000001 イ (n OR 11111110) + 11111111
ウ (n XR 10000000) + 11111111 エ  (n XOR 11111111) + 00000001








答え エ

解説

2の補数表現で負の値を表現するには、ビットごとの値を反転してから、1を加える。ビットごとの値の反転には、オール1とのXORを用いる。したがって、1が8ビット並んだ数値とのXORとなる。その結果に値としての1、つまり00000001を加えたることで-nを表現する。

問2

4ビットの2進数1010の1の補数と2の補数の組み合わせはどれか

 1の補数  2の補数
ア 0101   0110
イ 0101   1001
ウ 1010   0110
エ 1010   1001






答え ア

解説

1の補数は、ビットを反転した0101である。
2の補数は、の補数の値に1を加えた0110である。

問3

最上位をパリティビットとする8ビット符号において、パリティビット以外の下位7ビットを得るためのビット演算はどれか

ア 16進数0FとのANDをとる。 イ 16進数0FとのORをとる。
ウ 16進数7FとのANDをとる。 エ 16進数FFとのXORをとる。







答え ウ

解説

最上位ビットを必ず0にして、他のビットはそのままにするには、最上位が0で、残りが1のビットパターン7FとAND演算をとればよい。

問4

ビット数が等しい任意のビット列aとbに対して、等式a = b と同じことを表すものはどこか。ここで、AND,OR,XORはそれぞれ、ビットごとの論理積、論理和、排他的論理和を表す。

ア a AND b = 00...0 イ a OR b = 11....1 ウ a XOR b = 00....0 エ a XOR b = 11...1








答え ウ

解説

XORであれば、XとYが一致した場合はに0になる。

問5

任意のオペランドに対するプール演算Aの結果とブール演算Bの結果が互いに否定の関係にあるとき、AはBの相補演算であるという。排他的論理和の相補演算はどれか。

ア 等価演算 イ 否定論理和 ウ 論理積 エ 論理和







答え ア

解説

あるオベランドXとYに対する排他的論理和と、その相補演算の真理値表を次に示す。これをみると、排他的論理和の相補演算は、等価演算であることがわかる。
   X   Y  |  XOR  |  相補演算
   0   0       0        1
   0   1       1        0
   1   0       1        0
   1   1       0        1





2015年3月4日水曜日

勉強のあれこれ4

今回も問題を解いていきたいと思います!!!!

問1

0000~4999のアドレスをもつハッシュ表があり、レコードのキー値からアドレスに変換するアルゴリズムとして基数変換法を用いる。キー値が55550のときのアドレスはどれか。ここで、基数変換法では、キー値を11進数と見なし、10進数に変換した後、下4けたに対して0.5を乗じた結果(小数点以下は切捨て)をレコードのアドレスとする

ア 0260 イ2525 ウ 2775 エ 4405











答え ア

解説

55550を11進数と見なし、10進数に変換する。

5×11⁴+5×11³+5×11²+5×11¹+0×11⁰
=(((5×11+5)×11+5)×11+5)×11
=(665×11+5)×11 = 80520

その結果の下4ケタに対して0.5を乗じる。

0520 × 0.5 = 260

したがって、アドレスは0260となる。

問2

負の整数を表現する代表的な方法として、次の3種類がある。

a 1の補数による表現
b 2の補数による表現
c 絶対値に符号をつけた表現(左端ビットが0の場合は正、1の場合は負)

4ビットのパターン1101をa~cの方法で表現したものと解釈したとき、値が小さい順になるように三つの方法を並べたものはどれか。

ア a,c,b イ b,a,c ウ b,c,a エ c,b,a





答え エ

解説

1の補数は「0」と「1」を反転したものである。2の補数はそれに1を加えたものである。
 1の補数による表現の場合、「1101」の1の補数は「0010」で、10進数では「2」である。したがって、「1101」はー2となる。
 2の補数による表現の場合、「1101」の2の補数は「0011」で、10進数では「3」である。したがって、「1101」はー3となる。
 絶対値による表現の場合、「1101」は先頭ビットが1だから、10進数では「-5」となる。
 以上より、10進数で小さい順に並べるとc,b,aとなる。

問3

浮動小数点形式で表現された数値の演算結果における丸め誤差の説明はどれか。

ア 演算結果がコンピュータの扱える最大値を超えることによって生じる誤差である。
イ 数表現の桁数に限度があるので、最下位桁より小さい部分について四捨五入や切上げ、切捨てを行うことによって生じる誤差である。
ウ 乗除算において、指数部が小さい方の数値の仮数部の階部分が失られることによって生じる誤差である。
エ 絶対値がほぼ等しい数値の加減算において、上位の有効数値が失われることによって生じる誤差である。






答え イ

解説

コンピュータの数値表現の桁数には制限があるため、最下位けたより小さい部分については、四捨五入や切上げ・切捨てを行うが、この時に発生する誤差を丸め誤差という。

問4

2進数の浮動小数点表示で誤差を含まずに表現できる10進数はどれか

ア 0.2 イ 0.3 ウ 0.4 エ 0.5








答え エ

解説

浮動小数点形式で表示するためには、まず、その10進数を2進数に変換してから、指数部と仮数部を求める。したがって誤差を含まずに表現できるための条件は、2進数に変換して無限小数にならないことである。0.5は2進数では0.1となるので、誤差を含まずに表現できる。
 0.2と0.3と0.4は、2進数に変換すると無限小数となるので、誤差を含んでしまう。

問5

実数aをa=f×r e と表す浮動小数点表示に関する記述として、適切なんのはどれか

ア fを仮数, eを指数, rを基数という
イ fを基数, eを仮数, rを指数という
ウ  fを基数, eを指数, rを仮数という
エ fを指数, eを基数, rを仮数という













答え ア

解説

浮動小数点表示では、実数を基数変換した後、符号・指数・仮数の順に記憶する。仮数とは、2進数表示の場合、実数の小数点の位置を移動して、先頭の1が整数一桁目から始まるか、または小数点以下一桁目から始まるように調整して表示される形式である。このような調整を正規化という。また、指数は小数点を移動したことによって掛けられる基数のべき数のことである。
 例えば、IEEE754形式の場合は次のように表示される。

0.000101 = 1.010000×2⁻⁴
101000.0 = 1.010000×2⁵

したがって、f×r e と表すと、 fは仮数、 eは指数、 rは基数となる。









2015年3月3日火曜日

勉強のあれこれ3

今回は、練習問題を少し取り上げていきたいと思いますぜ!!

問1

数値を2進数で格納数rレジスタがある、このレジスタに正の整数xを設定した後、''レジスタの値を2ビット左にシフトして、これにxを加える''操作を行うと、レジスタの値はxの何倍になるか、ここで、あふれは発生しないものとする。

ア 3 イ 4 ウ 5 エ 6














答え ウ

解説

左に2ビットシフトすることで4倍となる。そこに元の値を加算しているので、

x × 4 + x = 5x となり、 5倍となる。

問2

16進小数0.C を10進小数に変換したものはどれか

ア 0.12 イ 0.55 ウ 0.75 エ 0.84

















答え ウ

解説

16進小数「0.C」の小数第一位の重みは16⁻¹である。ここで、「C」は10進数で12であるから12/16となる。小数にすると0.75になる。

問3

10進数の演算式7÷32の結果を2進数で表したものはどれか

ア 0.001011 イ 0.001101 ウ 0.00111 エ 0.0111

















答え ウ

解説

7÷32は0.21875である。これを2倍する方法で計算する。小数点以下の値を2倍して、1の桁の数字を読む。
0.2875 × 2 = 0.4375 0
0.4375 × 2 = 0.875  0
0.875  × 2 = 1.75   1
0.75   × 2 = 1.5    1
0.5    × 2 = 1.0    1
 0と1の列から、 10進数の0.21875は2進数の0.00111となる。

問4

2進数の1.1011と1.1101を加算した結果を10進数で表したものはどれか。

ア 3.1 イ 3.375 ウ 3.5 エ 3.8














答え ウ

解説

2進数を加算すると、 1.1011 + 1.1101 = 11.1となる。これを、10進表記に変換する。
1 × 2¹ + 1 × 2⁰ + 1 × 2⁻¹ = 3.5

問5

次の式は、何進法で成立するか、 1015 ÷ 5 = 131 (余り0)

ア 6 イ 7 ウ 8 エ 9












答え イ

解説

余りが0の割り算なので掛け算、131×5 = 1015で考える。
最下位の桁の計算は1×5=5なので、6進以上であれば成り立つ。また、桁上がりはない。
次の桁の計算は、3×5=(15)₁₀をn進数に変換したときに下の桁が1になるものである。

(15)₁₀ = (23)₆ = (21)₇ = (17)₈ = (16)₉

したがって、選択肢 イ の 7進法が正解となる。