今日よりちょっと賢い明日、今よりずっと自由な未来

Liberal Arts & IT

Daily

CS1111 Introduction to Computer Scienceの振り返り

投稿日:

10点満点をもらえたのが最後のAssignment Activityだけという厳しいコースでした
難しかったというより、成績ってインストラクター次第なんだなと思いました
満点くれない上にコメントもないんだもの
でも最後の最後に気づきましたが、リーディングアサインメントにない研究を引用すればSource and Evidenceの観点を満点にしてもらるみたいです
まあ、Graded QuizとFinal Examが全部満点だったお陰でAは取れそう

相変わらず課題はchatGPTに文章を一旦書いてもらって、そこにReading Assignmentの要約や引用を足していく形で進めました
土日に5時間、平日の夜にDiscussion Forumの返信やSelf Quizをする時間を30分くらいとれば終わります

今回はコースを通して学んだことをメモに残していったのでここに公開しておきます
Final Exam前の復習にとても良かったのでこれからも続けます

コンピューターの種類

種類ユーザー数用途性能・コスト代表例
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ビットしか変化しないルールを作れば信頼性向上や消費電力の低下を見込める
BCD4ビット/桁デジタル表示、金融10進数を直接表現
ASCII7/8ビットテキストデータ英数字・制御文字を表現
Unicodeの基礎
Unicode8~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光ファイバー, DSLMPLS, インターネットVPN, SD-WAN
用途例社内ネットワーク、ホームネットワーク大学キャンパス、都市インフラグローバル企業、クラウドサービス

Topology:どうつなぐか

項目Star(スター)Bus(バス)Ring(リング)Mesh(メッシュ)
接続形態全デバイスが中央ハブに接続単一のバスケーブルに全デバイス接続デバイスが環状に接続全デバイスが相互接続
信頼性△(ハブが単一障害点)×(バス障害で全体停止)△(1か所の切断で全体影響)◎(冗長性が高い)
スケーラビリティ〇(ハブのポート数に依存)×(バスの長さと接続数に制限)△(追加時にリング切断が必要)△(配線数が膨大)
コスト〇(ケーブル量は中程度)◎(ケーブルが最小)〇(シンプルな構造)×(配線とポートが大量に必要)
故障検出容易(ハブ経由で監視可能)困難(バス上の問題箇所特定が難しい)中程度容易(個別リンクで監視)
データ衝突なし(スイッチ使用時)あり(CSMA/CDが必要)なし(トークン制御)なし(専用リンク)
用途例オフィスLAN、ホームネットワーク旧式小規模ネットワーク工場制御システム軍事ネットワーク、データセンター

接続に使うデバイス

動作レイヤー通信方式用途
HubL1(物理層)全ポートにブロードキャスト旧式LAN(非推奨) 現在はSwitchが使われる
SwitchL2(データリンク層)MACアドレス宛てに転送現代の有線LAN ネットワーク内の複数デバイスを接続、データ転送を仲介
RouterL3(ネットワーク層)IPアドレス基にルーティング異なるネットワーク間接続 同じプロトコル内
ModemL1(物理層) デジタル信号とアナログ信号を相互変換
gatewayL7(アプリ層) 異なるプロトコル・ネットワーク間を変換

ネットワークの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: 受け取ったデータから動きを作り出す

-Daily
-

Copyright© Liberal Arts & IT , 2025 All Rights Reserved Powered by STINGER.