※斎藤末広先生が出している宿題メールを利用しています。
★★★★★宿題:情報セキュアド向け★

 本社と工場の間を専用線で接続して,伝票 1 件当たり 192 バイトの本文デー
タに 64 バイトのヘッダを付加した電文を,同期伝送方式で 1 時間当たり
162,000 件送信できるようにしたい。回線速度を 64,000 ビット/秒,回線利用
率を 60% とすると,専用線は最低何本必要になるか。

 ア 2

 イ 3

 ウ 4

 エ 5

64,000 ビット/秒 の回線を 60 % なので
= 8,000 バイト/秒 × 0.6
= 4,800 バイト/秒

192 バイト + 64 バイト = 256 バイト/件

162,000 件/時間
= 45 件/秒

= 45 件/秒 × 256 バイト/件
= 13,520 バイト/秒

13,520 バイト/秒 ÷ 4,800 バイト/秒
= 2.・・・
必要なのは最低3本ないと、伝送できない。
答えは「イ」

■解答■
  情報セキュリティアドミニストレータ午前平成13年問18

 イ 3

> 64,000 ビット/秒 の回線を 60 % なので
> = 8,000 バイト/秒 × 0.6
> = 4,800 バイト/秒
>
> 192 バイト + 64 バイト = 256 バイト/件
>
> 162,000 件/時間
> = 45 件/秒
>
> = 45 件/秒 × 256 バイト/件
> = 13,520 バイト/秒
>
> 13,520 バイト/秒 ÷ 4,800 バイト/秒
> = 2.・・・
> 必要なのは最低3本ないと、伝送できない。

 どうもありがとうございました。

> 伝票1件当たりのデータ長は、本文とヘッダを足して
> (本文)192(バイト)+(ヘッダ)64バイト=256(バイト)
> 256(バイト)×8(ビット/バイト)=2,048(ビット)
> 1時間あたり162,000 件のデータは
> 1秒あたり 162,000(件/時)÷3,600(秒)=45(件/秒)
> 1秒あたりデータ長は 2,048(ビット)×45(件/秒)=92,160(ビット/秒)
> 専用線1本あたりの回線速度に回線利用率をかけると
> 64,000×60(%)=38,400(ビット/秒)
> 必要な専用線の本数は、
> 92,160(ビット/秒)÷38,400(ビット/秒)=2.4(本)で
> 最低3本である。
> よって、(イ)の3が正しい。

 どうもありがとうございました。

> 計算しやすくするため秒単位になおす
> 16200(件/時間)÷60÷60 = 45件/秒
> 単位をそろえるためバイトになおす
> 64000 ÷ 8= 8000(byte)
> 8000(byte) × 60% = 4800(byte/秒)
>
> (192+64)×45 =< 4800 × 必要本数
> これを解くと・・・
> 必要本数は2.4本
> 小数点以下を切り上げて3本

 どうもありがとうございました。

★宿題:ソフトウェア開発技術者向け★

 内部割込みの要因として,適切なものはどれか。

 ア 演算結果がオーバフローした。

 イ 指定した DMA 転送が完了した。

 ウ 電源電圧が低下して,NMI 入力が有効になった。

 エ 未定義の割込みベクトルをもつ割込み入力があった。

【実習課題】Javaその他のプログラムで,内部割り込みを発生させてみよう。

内部割り込みはソフト的な割り込み。
ア・・・正解
イ・・・DMA転送が完了したと外部から連絡がくる。
ウ・・・電源電圧が低下したと外部から連絡がくる。
(NMI:システムで致命的なトラブルが発生したときにNon Maskable つま
り、マスクできない割り込みを発生させ、ソフト側へ伝えるもの)。
エ・・・未定義の割り込みが外部から来たとの連絡。

答えは「ア」

■解答■
  ソフトウェア開発技術者午前平成15年問17

 ア 演算結果がオーバフローした。

> 内部割り込みはソフト的な割り込み。
> ア・・・正解
> イ・・・DMA転送が完了したと外部から連絡がくる。
> ウ・・・電源電圧が低下したと外部から連絡がくる。
> (NMI:システムで致命的なトラブルが発生したときにNon Maskable つま
> り、マスクできない割り込みを発生させ、ソフト側へ伝えるもの)。
> エ・・・未定義の割り込みが外部から来たとの連絡。

 どうもありがとうございました。

> スレッドの練習も兼ねてJavaで書きました。

import java.lang.Thread;
public class test {
public static void main(String[] args) {
XThread x = new XThread();
x.start();
x.interrupt();
}
}
class XThread extends Thread {
volatile boolean loopa = true;
public void run() {
while (loopa) {
try {
sleep(1000);
} catch (InterruptedException e) {
System.out.println("Interrupted!!");
loopa = false;
}
}
}
}

 どうもありがとうございました。