mrasu’s blog

読んだ物の内容など

入門 コンピュータ科学 3章, 4章

「入門 コンピュータ科学」の3章、4章です。

入門 コンピュータ科学 ITを支える技術と理論の基礎知識

入門 コンピュータ科学 ITを支える技術と理論の基礎知識


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

3.1 歴史

昔は、システムの実行より準備に時間がかかった
→ 準備を簡略化するためにOSが出来た。(オペレータに指示書を渡せばよくなった)
→ オペレータに渡した後に介入できないので、対話型が出来た
→ 1台を複数人で使いたかったので、タイムシェアリングが出来るようになった(マルチプログラミング)
→ 端末で操作できるようになりデータをマスストレージで管理するようになるとオペレータは消えた

3.2 アーキテクチャ

境が曖昧であるが、ソフトウェアは

  1. アプリケーション (表計算やDB)
  2. ユーティリティ (OSを拡張し、コンピュータの利用に必要な機能を提供するソフトウェア)
  3. ユーザーインタフェース (OSの対話部分, CUI,GUI)
  4. カーネル (ファイルマネージャ、デバイスドライバ、メモリマネージャなど)

で分類できる

ブートストラップは、
ROMにある「ブートローダ」を実行し、
OSをメインメモリに格納し、
処理をOSに移すことで完了する

ブートローダや基本入出力動作などのプログラムはファームウェアと呼ばれ、BIOS, EFI, OpenFirmWareなど(今は、どうなんだろうか)

3.3 マシンの動作を調整する

プロセスの状態は

  1. 準備完了(ready)
  2. 待機中(waiting)

スケジューラはプロセス状態を記録するプロセステーブルを保持する
ディスパッチャはタイムスライスして、プロセススイッチによりマルチプログラミングを実現する
プロセススイッチ時に、割り込みのシグナルをプロセスが送られ、CPUは割り込みハンドラを実行する。
中断した処理状態はメモリに保存される

3.4 プロセス間競合を調整する

セマフォは、フラグで競合が起きないようにするが、状態確認と、フラグ変更の間に割り込みが入ると期待通りに動作しない。
そこで、

  1. 割込不能命令を使用する
  2. 1命令で「チェック+フラグ変更」を実行する

いずれかの方法がとられる。

デッドロックが起きる条件は以下の条件がそろったとき

  1. 共有不能な資源をめぐって競合する
  2. 資源は部分的に要求できる(追加要求が出来る)
  3. 強制的に資源を剥奪できない

なので、デッドロックを回避するには

  1. デッドロック時に資源を剥奪する
  2. 資源を使用させるのではなく、メモリ上に処理内容を記録させ資源が使用可能になった時に処理を実行する
    プログラムからは資源を確保できないので、競合が起きない

3.5 セキュリティ

  1. 外部からの攻撃からの保護
    プロセスの動作記録やログイン試行回数の記録、スニッフィング、セキュリティポリシーの遵守
  2. 内部からの攻撃
    メモリへのアクセス範囲の限定、CPU命令の限定

4章 ネットワークとインターネット

4.1 ネットワークの基礎

色々なネットワークの分類法

  1. 範囲
    LAN, MAN, WAN
  2. 開放さ
    開放型ネットワーク、閉鎖型ネットワーク
  3. ネットワークトポロジ
      バス、スター

メッセージ送信

CSMA/CD: 全マシンに向けてメッセージを出し、衝突したら適当に待つ
CSMA/CA: 通信前に別の通信が無いことを待って確認してから通信することで衝突を避ける

装置

  1. リピータ: 通信の受け渡し(増幅)
  2. ブリッジ: 送信先のバスのみに仲介する(リピータはバカ)
  3. スイッチ: 複数バス接続され、送信先のみに仲介する
  4. ルータ: ネットワーク連結(転送表 (forwarding table))を持つ

プロセス間通信

  1. クライアントサーバーモデル
  2. P2P

分散システム

  1. クラスタコンピューティング
  2. グリッドコンピューティング
  3. クラウドコンピューティング

4.2 インターネット

ISPの階層

  1. ティア1ISP (国際WAN, 超高速超高容量)
  2. ティア2ISP (地域用)
  3. アクセスISP (ケーブル会社レベル)
  4. エンドシステム (PC, 自動車 etc)

IP・ドメインレジストラトップレベルドメイン(TLD)
繋ぐのがDNS

インターネットアプリケーション

  1. email
  2. FTP
  3. telnet, ssh
  4. VoIP (VoIPソフトフォン、アナログ電話アダプタ、VoIPフォン、4G)
  5. インターネットラジオ

4.3 WWW

ブラウザ, webサーバ, HTTP, URL
HTML, XML

4.4 インターネットプロトコル

OSI
TCP/IPプロトコルスイート

TCP vs UDP
IP、転送、経路制御、TTL

4.5 セキュリティ

マルウェア

対策

暗号関連では、
公開鍵暗号認証局、デジタル署名

法的アプローチでは、国際的な問題には対処できないので国際司法裁判所にゆだねなくてはならないが、
アメリカでは独自の法律がある(日本にもあるはず)