計算に特化した機械
・計算機の種類
・ …歯車などの機械的な動きで計算
・ …スイッチ、リレーなどを使用
・電子式アナログ計算機( )
…オペアンプ、ダイオード、コンデンサ等を使用
物理現象を電圧に置き換えて計算
・デジタル電子計算機(コンピュータ)
・ の提唱
コンピュータ史に重大な影響!
・アラン・チューリングの論文に定義されたコンピュータ
テープに格納したプログラムを実行する万能計算機
この機械に通して…
・出力可 →
・出力不可(無限ループ)→
・ コンピュータ(現在のコンピュータの形式)
のものを作成した
→記憶領域に 入っている
(※チューリングマシンと異なり、記憶容量は有限)
現在のコンピュータはノイマンが提唱した基本構成(アーキテクチャ)
・コンピュータ年表
| 名前 | 年 | 特徴 | メモリ |
|---|---|---|---|
| 1942 | 最初の電子計算機 連立方程式が解ける | ||
| 1943 | 暗号解読に利用 WW2時、ドイツのローレンツ暗号を 数週間 → 数時間に短縮 | 真空管 | |
| 1946 | 弾道計算に利用 スイッチや配線の変更で が可能 | 真空管 | |
| 1948 | 初の
コンピュータ プログラムがメモリに内蔵 | 真空管 | |
| 1949 | 初の実用的な
コンピュータ | 真空管 | |
| 1964 | 上位機種への移行にソフトウェアの が不要 → プログラムや周辺機器に互換性あり 名前: | 磁気コアメモリ |
・OS
・OSの定義…
理由 →
OSがどのように進化してきたのか =
・現在のOSの機能
① に対するサービス
② に対するサービス
③ に対するサービス
④ に対するサービス
※ネットワークは で必要不可欠なものになった
ただし、OSの発達には2つの流れがある
・大型(汎用)コンピュータ(メインフレーム)
・パーソナルコンピュータ
・ハードウェア本位の時代
・大型コンピュータの場合
メインフレームとは…
➢ OS以前の実行形態
ENIAC … して論理回路を構成(WiredLogic)
EDSAC … プログラムを読み込む(プログラム内蔵方式)
当時の実行形態
・
・
・
・
人間が直接操作するにはとても不便
→ の登場
➢
→ システムのリセットやプログラムのロードなどの処理を し、
プログラムを できるようにしたもの( )
… 最初のOS
➢ 利用方法の変化
当時のコンピュータは → 無駄に使うともったいない!
の発想
1960年代
同時に計算機資源を共有できないか
を用意して
同じコンピュータを同時利用( )
➢OSへの要求
複数のプログラムの (マルチプログラミング、 )
- の割り当て時間を効率的に配分
- 複数のプログラムが使う を重ならないように管理
- ディスク中のファイルを に管理
- 以上の記憶領域を使えるようにする( ※)
※補助記憶装置を主記憶装置のように使うこと。
これによりOSは大きく進歩⇛OSの基礎
・パーソナルコンピュータの場合
➢ 初期のコンピュータ … 極めて原始的
・MITS社 Altair8800(1975年)
・CPU
・主記憶 Byte(増設4KByte)
・入出力 入力: 出力:
・補助記憶
・OSの機能
→ OSと呼べるのか怪しい
➢ 新しい機器の登場
として新たな機器が登場
・カセットテープ
・フロッピーディスク
これらにより、OSへの要求が発生。
保存場所、読み込み、書き込み、消去など が必要とされた
➢ ファイル管理
・カセットテープ … に記憶
→管理が容易
・ … をディスク上に格納
→ セクタ単位でなく 単位で扱う
➢ ランダムアクセス機能
・AppleⅡ (1978年)
・Intel8080(8bitマイコン)用
・IBM PC (MS-DOS)(1981年)
➢ DOS…DiskOperatingSystem
・Non Multi programing
・Non Virtual memory
→
昔のOSの機能
… アプリケーションプログラムの代わりに を行う機能
・まとめ
➢ 大型コンピュータ … 、 の機能が
比較的初期、ほぼ同時期に登場
➢ パソコン…本格的な は
ユーザインターフェイス中心の時代に登場(Windows95)
はそのもっと後(Windows2000Server)
・アプリケーション本位の時代
・大型コンピュータ
➢ これまでのOSの役割
・ を様々なプログラムが
競合せず使えるようにするための調停役
→
・アプリケーションは
(同じアプリでも )
※ハードウェア開発よりもアプリケーション開発の方がコストが低かった
➢ ハードウェアの変化
・ の変化 … 時代が進むにつれて が低下
・ の変化 … 時代が進むにつれて が上昇
➢ OSの変化
・コンピュータシステムにおけるコストの比重が
から に移る
・OSの役割に変化 … OSが を吸収
・同じアプリケーションが で動作
➢ OSの新しい役割
①異なるハードウェア間でも、同じアプリケーションが動作すること
・ハードウェアの … ハードウェアの違いを吸収
・ハードウェアの … ハードウェアの違いを意識せずに
で様々な装置にアクセスできる
②アプリケーションが必要とする を提供する
例)GUI描画、印刷など
・ (Application Programming Interface)
… OSの持つ や を使用したいとき
アプリケーションが呼び出すインターフェース
<APIの例>
目的はすべて

使用者は 利用できる
<アプリケーションの動作>

① …
➢ ハードウェア抽象化の背景
抽象化は ハードウェアにアクセスすることによって実現
しかし...
・直接アプリケーションがハードウェアを制御するよりも
→ ハードウェア性能が低い場合には歓迎されない
(効率よりもアプリケーションの性能が重視)
・時代の変化によってハードウェアの と が劇的に変化
<参考>ムーアの法則
インテル創業者の一人であるゴードン・ムーアが、1965年に
自らの論文上で唱えた
「半導体の集積率は で になる」
という半導体業界の経験則
・ソフトウェアの開発コストが
・
・
→ 抽象化は必須の役割に
➢ OS/360
IBM System360シリーズ用OS(1964年)(360°全方位への対応を込めて命名)
・ハードウェア抽象化を最初に実現
・OSの歴史上最も重要な製品の一つ
➢ OS/360の特徴
・アプリケーションは 動作
・バッチ処理
・
・
・TSS
・計算機能(事務計算~科学技術計算)→ 汎用機と呼ばれていた
➢ OS/360の功績
・OS/360以降OSは (プラットフォーム)へ
アプリケーションのプラットフォームとして
形式でOSを開発
・パーソナルコンピュータの場合
➢ MS-DOS
80年代の代表的なパソコン用OSで、最低限の抽象化機能を提供
・フロッピーディスクアクセス
・エスケープシーケンスによるカーソル制御
この機能だけを使用する場合は機種を問わず動作(PC-9800シリーズ等)
➢ 当時の実情
・APIに頼らず
→ こうするアプリケーションが多かった
・表示機構、プリンタドライバ、ネットワークなどは
= ハードウェアの一部がOSによって されていなかった
→ アプリケーションがハードウェアを する必要があった
(個別に する必要があった)
➢ Windowsの登場
すべてのハードウェアがOSによって されるようになった
・
・
・ユーザ本位の時代
・ユーザインタフェース
… OSの重要な機能
➢ MS-DOS時代(1981~)…
OSが に対するサービス拡大
→ も拡大
➢ 現在
がOSの役割の中心
・ユーザフレンドリなコンピュータの研究
➢ Xerox社 Palo Alto Research Center(PARC) … 1970年代から研究
・ (1973)… 初のGUI搭載コンピュータ
研究所内や研究機関で使用
・
・
・
・
・
・ (1981)
して商品化
… としては初のGUI搭載機
商品としては失敗
・
・
→ソフトウェアが重い 障害復旧が1hなど
・Starがもたらしたもの( の効果と影響)
しかし、後のシステムに非常に大きな影響
➢ OSの を簡単に
➢ アプリケーションプログラムの変化
・対話の主体 →
・プログラムの構造と作り方に変化
・
・
→ コンピュータ環境全体が
➢パソコンへの影響
・Apple社 (1983)
↓
機能を絞って安価に
↓
(1984) … GUI初の商業的成功例
本格的なGUI時代の到来
・ (1991)
・ (1995)
90年代前半から急激に機能を増やす
→ はパソコンの顔へ
➢ UNIXへの影響
1980年代半ば~ GUI開発競争
・
・Toolkit(XView, Motif)
・デスクトップ環境(CDE, KDE, )
※ … LinuxのGUI環境
・インターネット本位の時代
・ネットワークの流れ
➢ ネットワーク機能( 年代から)
主に汎用機、ワークステーション:BSD UNIX
➢ の普及(1980年代) パソコンに
➢ ネットワークOS(1990年代)
Novell … サーバ用途に特化
しかし、 は
・インターネットの普及
1990年代半ば~
➢ (WWW, Web)
➢ 優秀な (Mosaic → Netscape Navigator)
➢ による一般家庭への普及(米国では市内固定料金)
これらの要因により普及していった
・ブロードバンド・インターネットの夜明け
1990年代末~
、 、 などによる常時接続が基本
→ 前提のOS設計
→ OSの大きな変化の可能性(ASP、分散OSなど)