コンピュータ働き
データ入力→加工・蓄積→データ出力

データ情報
データは、特別な意味を持たせていない物の集まり
情報は、データの中で、ある人にとっては意味のある部分

人間コンピュータデータ記憶
人間は知識化して記憶する傾向がある。
コンピュータは、大量のデータを知識化せずに記憶することができる。

コンピュータ構成
ハードウェアとソフトウェア

ハードウェア
ソフトウェアを実行させる装置
コンピュータの基礎的な性能はハードウェアで決まる。

ソフトウェア(プログラム)
コンピュータに実行させる命令をまとめたもの
目的に応じて動作する。
プログラム
コンピュータ上で実際に実行されるもの、命令
ソフトウェア
プログラムが主たる構成要素、範囲が広い。
プログラム仕様書、操作手順書などのドキュメントも含む。

コンピュータ種類
マイクロコンピュータ(マイコン)
スマートフォン(スマホ)
パーソナルコンピュータ(パソコン)
サーバ(サーバ)
メインフレームコンピュータ(汎用機)
スーパーコンピュータ(スパコン)

ハードウェア性能仕組み
性能の進歩
MIPS
仕組みの変化
コンピュータ誕生当時から大きくは変わっていない。

ハードウェア構成
五大装置
演算装置
制御装置
主記憶装置
入力装置
出力装置
補助記憶装置
SSD
HDD

入出力装置
入力装置
キーボード、マウス
スキャナ
バーコードリーダ
センサー
出力装置
ディスプレイ
プリンター
アクチュエータ
入出力装置
タッチパネル

CPU
五大装置の演算装置と制御装置を合わせた装置
コンピュータの中枢部分にあたり、次の働きを担う。
各種装置の制御
プログラム(命令)の実行
データの演算処理
CPUアーキテクチャ

主記憶装置
処理手順であるプログラムと、処理対象のデータを格納する。
CPUからの依頼で、指定場所に対する読み書きを行う。
1バイト(8ビット分)または、1ワードを一つの単位として扱う。
ビット(bit):コンピュータが扱うデータの最小単位
バイト(byte):8ビットが集まった際の単位
ワード:コンピュータで処理するときに基本となるビットの集まり
1ワードが何ビットになるかは、コンピュータの種類で異なる。
単にメモリまたは、メインメモリとも呼ばれる。
半導体メモリ(ICメモリ)
RAMとROM
DRAM(ディーラム):電源が切れるとデータも消える。読み書きの速さ:早い。

フラッシュメモリ(NANDフラッシュ:EEPROMの一種)
データを記憶するための半導体デバイス、読み書きの速さ:遅い。
フラッシュメモリの考案:1980年台、東芝
NOR型→NAND型や3次元化などで、大容量化
スマホなどから、生成AIのためのDC向けへ需要増

補助記憶装置
もともとは主記憶装置に入りきれないプログラム、データを保存する装置
現在は、プログラムやデータを保存したり、持ち運ぶための装置に位置付け
需要に沿って大容量、高速が求められている。
補助記憶装置の例
半導体メモリ
光ディスク
磁気ディスク
磁気テープ

ソフトウェアの分類(分類者によって分類方法が異なる。)
システムソフトウェア
プログラムの実行を支援するソフトウェアの総称
主にOS
アプリケーションソフトウェア
利用者の利用目的を達成するために作成されたソフトウェア
別名、応用ソフトウェア

システムソフトウェア
基本ソフトウェア
コンピュータを動かすために必要なソフトウェア
広義のOSとも呼ばれる。制御プログラム(狭義のOS)はOSの中核を担う。
制御プログラム、サービスソフトウェア、言語処理ソフトウェアからなる。
ミドルウェア
OS上で動作し、特定分野の具体的な機能をアプリケーションソフトに提供
OSとアプリケーションソフトの中間に位置する。
DB管理、NW管理、文字変換、ファイルシステム、暗号化、音声・画像認識など

アプリケーションソフトウェア
共通アプリケーションソフトウェア
不特定多数のユーザーが共通的に利用できる。
一般的にパッケージソフトとして市販されたり、ダウンロード販売(無償を含む)で提供される。
ワープロソフト、ゲームソフト、スマートフォンアプリ、など
個別アプリケーションソフトウェア
個別のユーザーにしか利用されないソフトウェア
ユーザーの多種多様なニーズに応えて開発
一般的に、受託開発で作成される。

サービスソフトウェア
広義のOSに含まれ、利用者が共通的に利用するプログラムの総称
ユーティリティ、ツールなどとも呼ばれる。
プログラム開発用ソフトウェア
OSとともに提供されるユーティリティプログラム

OS (Operating System)
役割
プログラムを効率よく動かす。
プログラムに各種のサービス提供
コンピュータ利用者、操作者にサービスを提供
すべてのプログラムは、OSの管理下で動作する。
ユーザインターフェース(操作系統)の分類
GUI
CUI
OSの分類
タスク
ユーザー

OSのプログラム管理
流れ
1. 利用者はOSにプログラム起動を指示
2. OSは利用者が指定したプログラムを補助記憶装置から探す。
3. 主記憶装置にローディング(コピー)
4. OSは主記憶装置上のプログラムを起動
5. プログラムは実行完了後、OSに通知
6. OSはプログラムが使用していたメモリなどを解放

プログラム(命令)の実行
流れ
1. プログラムはあらかじめ主記憶装置に格納
2. 命令を順番に、CPUに取り込んで実行
3. 実行される命令の内容に従い、データの読み込みと書き込みを行う。

ノイマン型コンピュータ
プログラム内臓方式
逐次制御方式

言語処理ソフトウェア
プログラミング言語で書かれたものをコンピュータ上で実行できる機械語に変換
プログラミング言語
アセンブリ言語
インタプリタ型言語
コンパイラ型言語
機械語
コンピュータが理解できる唯一の言語

構造化プログラミング言語
3つ基本構造
順次
選択(分岐)
繰り返し(ループ)

オブジェクト指向プログラミング言語
オブジェクトを中心にしてシステムをとらえる

コンピュータで扱うデータ
コンピュータ内部では、すべてのデータを数値のみで加工・蓄積
データは、様々な方法で表現できる。
コンピュータは、内部的に「0」と「1」でデータを扱う。
2進数
「0」と「1」で表現された数値

2進数
「0」と「1」の2通りの状態で数を数える方法
基数
数値を表現する際に基礎となる数(2進数では2、10進数では10)
2進数における負の表現
一般的に補数を使用する。

情報の単位
情報量単位
ビット:2進数の1桁
バイト:8ビットをまとめたもの
補助単位
キロ、メガ、ギガ、テラ、ペタ、エクサ
2進接頭辞
コンピュータの容量や記憶装置の大きさを表す情報の単位の一つ
1KiB(キビバイト)= 2の10乗 = 1024byte

数値データ
コンピュータは数値データとして、整数と小数を扱える。
整数と小数いずれも値を2進数で表す。
整数
負の整数を扱う場合、1ビットを使い正負の符号を表す。
少数
10進数の少数を2進数で扱う場合、値によっては誤差が生じる。

文字データ
文字の一つ一つに番号をつけて管理
文字コードのビット数
文字化けの要因

音声データ
1秒間に数千~数万回電圧を測定(サンプリング)
各回の測定で得られた電圧をビット数(ビット深度)に変換し並べる。
データの圧縮
圧縮方式
WAV
FLAC
MP3

画像・動画データ
画像データ
ピクセル
動画データ
フレームレート