オペレーティングシステム

1. URL
2. 担当教員
3. 講義目的
4. 到達目標
5. 授業方法
6. 参考書
7. 成績評価
8. スケジュール
9. 大崎が担当する科目に共通の連絡事項・アドバイス
10. 1. オペレーティングシステムの概要
11. 2. CPU の原理
12. 3. プロセスとスレッド
13. 4. プロセス間通信
14. 5. スケジューリング (1)
15. 6. スケジューリング (2)
16. 7. 前半の総復習
17. 8. メモリ管理 (1)
18. 9. メモリ管理(2)
19. 10. 入出力 (外部 I/O)
20. 11. 入出力 (ユーザインターフェース)
21. 12. ファイルシステム
22. 12. 後半の総復習

11. 入出力 (ユーザインターフェース)

授業の流れ・チーム分けの方針・態度目標

2024-06-14 のものと同じ。

https://lsnl.jp/~ohsaki/lecture/os/2024/#18-1

内容目標

- 文字ベースの端末、GUI (Graphical User Interface)、ネットワーク端末の違いを理解し、他人に説明できるようになる

- 文字ベースの端末で用いられるシリアル通信を理解し、その通信時間を定量的に議論できるようになる。

- GUI に用いられるディスプレイの構造を理解し、フレームバッファの操作に必要なデータ量を定量的に議論できるようになる。

- ネットワーク端末の原理を理解し、その通信時間を定量的に議論できるようになる。

課題

課題 1

端末エミュレータ上で stty コマンドを実行したところ、以下の出力が得られた。

$ stty -a
speed 38400 baud; rows 45; columns 106; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>;
start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk brkint ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl -ixon -ixoff -iuclc -ixany imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke -flusho -extproc

現在、実行中のプロセスを停止したい時にどのキーを押せばよいか。

課題 2

9.6 Kbps の 8 ビットシリアル回線 (スタートビット、 ストップビットともに 1 ビット、 パリティなし) で接続された端末から、 ANSI エスケープシーケンスを用いて画面をクリアし、 画面上に「Hello, World!」を表示するためのメッセージ送信にかかる時間を答えよ。

ANSI escape code
https://en.wikipedia.org/wiki/ANSI_escape_code

課題 3

1920 x 1080 ピクセルで 24 ビットカラーのディスプレイをクリアし、 16x32 ドットの固定幅フォントで画面左上に「Hello, World!」と表示するために、 フレームバッファの VRAM (Video RAM) に計何バイトの書き込みが必要かを答えよ。

課題 4

1920 x 1080 ピクセルで 24 ビットカラーのディスプレイ映像を非圧縮で遠隔地に転送するネットワーク端末を作りたい。 10 フレーム/秒のフレームレートを実現するために必要なネットワークの通信速度を答えよ。 ただし、 ネットワーク端末の実現において、 ディスプレイ映像以外のデータは無視できるほど小さいとする。

略解

課題 1

Ctrl + C (INT シグナル) または Ctrl + \ (QUIT シグナル) 。

課題 2

画面クリアの ANSI エスケープシーケンスは ESC [ 2 J の 4 バイト。 「Hello, World!」は 13 バイト。 1 バイトの送信に、 スタートビット、 データ (8 ビット)、 ストップビットの計 10 ビットの送信が必要である。 従って、 合計すると (4 + 13) * 10 = 170 ビットの送信が必要である。 従って、

 170
---- = 0.0177 [秒]
9600

課題 3

フレームバッファの大きさが 1,920 * 1,080 * 24 = 49,766,400 ビット。 バイト換算すると 49,766,400 / 8 = 6,220,800 バイト。 1 文字の表示に 16 * 32 * 24 / 8 = 1,536 バイトの書き込みが必要。 「Hello, World!」が 13 文字であるから、

6,220,800 + 1,536 * 13 = 6,240,768 バイト (約 6.0 Mバイト)

課題 4

1 枚のフレームのサイズは 1,920 * 1,080 * 24 = 49,766,400 ビット (c.f. 課題 3)。 1 秒間に 10 フレームの伝送が必要であるから、

 49,766,400 * 10 = 497,664,000 ビット/秒 (= 約 475 M ビット/秒)
 

オペレーティングシステム CTF

https://lsnl.jp/~ohsaki/lecture/os/2024/priv/ctf.html

レポート課題 2024-06-28

「レポート課題 2024-04-12」と同じ。

https://lsnl.jp/~ohsaki/lecture/os/2024/#10-10

質問

- 6/28のリフレクションシートを授業終了直後に提出したはずなのですが、関学のメールアカウントに送信完了メールが届いていないということは提出したつもりだっだだけで実際には提出できていないということでしょうか。このレポートを書く際に気付いたのでどうしようも無いことは分かっているのですが、未提出の場合成績にどれくらい影響があるのかが知りたいです。以前に説明済みだったらすみません。

サーバに記録されているデータで採点します。成績評価は「授業中試験 50%、平常リ
ポート 50%」です。

ただ、「単位」や「点数」に興味を向けるのではなく、オペレーティングシステムや
情報工学そのものにぜひ興味を向けてください。

要望

- CTFが終わった後に答えや解説を載せていただきたいです。

回答は公開しませんので、答えがわからないものは解けた人を見つけて聞いてくださ
い。解説は (少なくともヒントは) 提供できると良いのですが、毎週の問題作成で手
いっぱいなので要望には応えられません。

コメント

- 講義ありがとうございました。

- 講義ありがとうございました。

- 昨日締め切りを完全に頭から抜けていました。大変申し訳ございません。

[<19. 10. 入出力 (外部 I/O)] [>21. 12. ファイルシステム]