10点満点をもらえたのが最後のAssignment Activityだけという厳しいコースでした
難しかったというより、成績ってインストラクター次第なんだなと思いました
満点くれない上にコメントもないんだもの
でも最後の最後に気づきましたが、リーディングアサインメントにない研究を引用すればSource and Evidenceの観点を満点にしてもらるみたいです
まあ、Graded QuizとFinal Examが全部満点だったお陰でAは取れそう
相変わらず課題はchatGPTに文章を一旦書いてもらって、そこにReading Assignmentの要約や引用を足していく形で進めました
土日に5時間、平日の夜にDiscussion Forumの返信やSelf Quizをする時間を30分くらいとれば終わります
今回はコースを通して学んだことをメモに残していったのでここに公開しておきます
Final Exam前の復習にとても良かったのでこれからも続けます
Contents
コンピューターの種類
種類 | ユーザー数 | 用途 | 性能・コスト | 代表例 |
Microcomputer | 単一 | 個人用途/事務作業 | 低~中コスト | Intel Core i7 →ノートPC、スマホ |
Minicomputer | 複数 | 中小企業システム | 中~高コスト | IBM 9375 |
Mainframe | 数千 | 大規模基幹システム | 超高コスト・高信頼性 | IBM System/370 (金融システ) scientific research |
Supercomputer | 研究機関 | 科学技術計算 | 超高性能・超高価格 | CRAY-3、富岳 |
世代別PCのキーワード
- 第一世代:Vacuum Tubes(真空管)
- 第二世代:トランジスタ
- 第三世代:ICチップ
- 第四世代:LSI/VLSI
- 第五世代:AIとMachine Learning
ストレージの種類
主な用途 | 特徴 | |
Magnetic Tape | 企業バックアップ 長期アーカイブ | 現在も長期アーカイブ用として使われる シーケンシャルアクセスは高速 |
Floppy Disk | 過去データの小データ転送 | 現在は使われない |
Hard Disk(HDD) | PC/サーバーの主記憶 | DASD (Direct Access Storage Devices) |
Solid State Drive(SSD) | OSの起動 高速なアプリ ゲーム | 高価 |
Optical Disk | メディア配布・アーカイブ→現在はクラウドの方が主流 | 読み取り専用のCD-ROM/DVD-ROM 1回のみ書き込み可能なCD-R/DVD-R 高容量のBlu-rayなどがある |
Von Nuemann Architecture
現代のほとんどのコンピューターの基本設計思想
構成
- Input
- Output
- Memory
- CPU
- 命令実行のCU
- 算術処理のALU
- 小規模データ格納のRegister
プログラムとデータを同じメモリに格納し、CPUが逐次的に処理することでハードウェアを変更しなくてもソフトウェアだけを入れ替えて別の処理が可能に
逐次処理のためCPUとメモリのデータ遅延が課題となり、量子コンピューターでは別のモデルが採用される
文字を0と1で表現する方法
コード | ビット数 | 主な用途 | 特徴 |
Grayコード | nビット | デジタル回路 エンコーダ | 隣接コードで1ビット変化 2進数で3を4に変える場合3ビット一気に変更する必要があるため一部だけ伝達が遅れると間違った値になる。連続値なら1ビットしか変化しないルールを作れば信頼性向上や消費電力の低下を見込める |
BCD | 4ビット/桁 | デジタル表示、金融 | 10進数を直接表現 |
ASCII | 7/8ビット | テキストデータ | 英数字・制御文字を表現 Unicodeの基礎 |
Unicode | 8~32ビット | ASCIIでは表現できない漢字なども含む多言語テキスト | UTF-8/16で効率的に符号化 UTF-8はASCIIと互換性があるがUTF-16はない UTF-16の方が処理が早く、Windowsのメモ帳のUnicodeはUTF-16 |
数値表現
10進数を2で割り続けて余りを最後から順番に並べると2進数になる。16進数なら16で割り続ければ良い。
8進数を2進数に変換するなら、8進数の各桁を2進数にして並べる
2進数を16進数にするなら、2進数を4桁ずつに区切って10進数として読み取り、それぞれ16進数に変換する
小数部については、小数部が0になるまで2をかけ続ける
ex)10進数の 0.375を2進数にすると?
0.375 × 2 = 0.75
0.75 × 2 = 1.5
0.5 × 2 = 1.0
2進数では0.011 つまり、\[\frac{1}{4}+\frac{1}{8}\]
OSの種類
Batch OS | バッチによる一括処理。順番に処理 |
Multi-User OS | 各ユーザーに独立した環境を提供するので同時に利用できる |
Multiprogramming System | 単一のCPUで複数のプログラムを疑似的に同時実行 |
Multiprocessing OS | 複数の物理CPUを搭載。本物の並列処理 |
Real-Time System | 時間厳守 |
Distributed OS | 複数マシンでリソース共有。クラウドコンピューティング |
Mobile OS | スマートフォン、タブレット向けに設計されたOS |
OS Components
- Supervisor
- カーネルとも呼ばれるOSの中核
- プロセスの作成、削除、スケジューリング(CPUの割り当て)を行う
- メモリの割り当て、解法
- CPU・ディスク・ネットワークへのアクセス制御
- ユーザー認証、暗号化
- Shell
- ユーザーとカーネルの仲介
- Integrated Set of Support Utilities
- CLI(コマンドライン)またはGUIで操作するファイル管理、ディスク管理
データベース
DBMSの種類 | データ構造 | 長所 | 短所 | 最適な用途 |
階層型DBMS | ツリー構造 | 親子関係の管理が容易、高速アクセス | 複雑な関係性に対応不可、柔軟性に欠ける | 組織図、ファイルシステム |
ネットワーク型DBMS | グラフ構造 | 多対多関係をサポート、柔軟なデータモデリング | 設計/管理が複雑、専門知識が必要 | サプライチェーン管理、倉庫システム |
リレーショナルDBMS | テーブルと外部キー | データ精度が高い、スケーラブル、ACID特性を保証 | 初期設定/維持コストが高い | 在庫管理、財務システム(MySQL等) |
オブジェクト指向DBMS | オブジェクト形式 | 複雑なデータ(マルチメディア等)に対応、再利用性 | 大量トランザクション処理に不向き | CADシステム、メディアアプリケーション |
オブジェクト関係DBMS | ハイブリッド型 | SQL機能+オブジェクトの柔軟性、複合データ処理 | 習得難易度が高い | eコマース(カスタム属性)、Oracle |
ERモデル | 設計ツール | 関係性を可視化、DB設計を簡素化 | 実際のDBMSへの変換作業が必要 | データベース設計の初期段階 |
- Abstraction:抽象化。ユーザーはテーブル構成を気にせずにデータにアクセスできる
- Independence:独立性。カラムの追加が他の機能に影響しない
- Schema:データベースの構造
- 外部スキーマ:ユーザーから見た構造
- 概念スキーマ:データベースの本質的な構造
- 内部スキーマ:物理的な構造
- ACID
- Atomicity:すべて成功するか、全て失敗するかのどちらか
- Consistency:トランザクション前後で一貫していること
- Isolation:複数のトランザクションが同時に実行されても互いに影響しない
- Durability:システム障害が発生してもデータが残ること
Network
LAN (Local Area Network) | MAN (Metropolitan Area Network) | WAN (Wide Area Network) | |
範囲 | 小規模(建物内、オフィス、家庭) | 中規模(都市やキャンパス) | 大規模(国、大陸、グローバル) |
伝送速度 | 高速(100Mbps~10Gbps以上) | 中速~高速(1Gbps~) | 低速~中速(回線品質に依存) |
コスト | 安価(自社設備で構築可能) | 中コスト(ISPや専用回線利用) | 高コスト(専用回線/VPNが必要) |
管理主体 | 自組織内で管理 | ISPや自治体が関与 | 通信事業者やクラウドプロバイダ |
セキュリティ | 比較的安全(閉域網) | LANよりリスク増 | 暗号化(VPN等)が必須 |
遅延(Latency) | 低遅延 | 中程度 | 高遅延(地理的距離の影響) |
代表的な技術 | Ethernet, Wi-Fi | 光ファイバー, DSL | MPLS, インターネットVPN, SD-WAN |
用途例 | 社内ネットワーク、ホームネットワーク | 大学キャンパス、都市インフラ | グローバル企業、クラウドサービス |
Topology:どうつなぐか
項目 | Star(スター) | Bus(バス) | Ring(リング) | Mesh(メッシュ) |
接続形態 | 全デバイスが中央ハブに接続 | 単一のバスケーブルに全デバイス接続 | デバイスが環状に接続 | 全デバイスが相互接続 |
信頼性 | △(ハブが単一障害点) | ×(バス障害で全体停止) | △(1か所の切断で全体影響) | ◎(冗長性が高い) |
スケーラビリティ | 〇(ハブのポート数に依存) | ×(バスの長さと接続数に制限) | △(追加時にリング切断が必要) | △(配線数が膨大) |
コスト | 〇(ケーブル量は中程度) | ◎(ケーブルが最小) | 〇(シンプルな構造) | ×(配線とポートが大量に必要) |
故障検出 | 容易(ハブ経由で監視可能) | 困難(バス上の問題箇所特定が難しい) | 中程度 | 容易(個別リンクで監視) |
データ衝突 | なし(スイッチ使用時) | あり(CSMA/CDが必要) | なし(トークン制御) | なし(専用リンク) |
用途例 | オフィスLAN、ホームネットワーク | 旧式小規模ネットワーク | 工場制御システム | 軍事ネットワーク、データセンター |
接続に使うデバイス
動作レイヤー | 通信方式 | 用途 | |
Hub | L1(物理層) | 全ポートにブロードキャスト | 旧式LAN(非推奨) 現在はSwitchが使われる |
Switch | L2(データリンク層) | MACアドレス宛てに転送 | 現代の有線LAN ネットワーク内の複数デバイスを接続、データ転送を仲介 |
Router | L3(ネットワーク層) | IPアドレス基にルーティング | 異なるネットワーク間接続 同じプロトコル内 |
Modem | L1(物理層) | デジタル信号とアナログ信号を相互変換 | |
gateway | L7(アプリ層) | 異なるプロトコル・ネットワーク間を変換 |
ネットワークのSecurity Goal
- Confidentiality: 機密性
- Integrity: 完全性
- Availability: 可用性
通信方法
- Simplex: 一方通行(放送)
- Half-duplex: 双方向通信、同時通信不可(トランシーバー)
- Full-duplex: 双方向同時通信(電話)
最新トレンド技術の概要
- Machine Learning
- unsupervised learning: 教師無し学習。大量の入力データを類似度や気息性に基づいて分類する。 Anomaly detection(異常検知)。 finds hidden structures in data
- Cloud Computing
- Elasticity: 弾力性。dynamic scalingができること
- Blockchain
- データをblockとしてそれぞれ独立して管理・保護
- BIg Data
- Velocity: データの生成速度、処理速度
- IoT, Robotics, VR
- sensor: 外部環境の検知
- actuator: 受け取ったデータから動きを作り出す