eil20080714

情報リテラシー実習
Exercise in Information Literacy
§1 UNIXって何
§2 コンピュータって何
UNIXオペレーティングシステム
pp. 3~8
アプリケーションプログラム
メーラ(MUA)、WWWブラウザ、文書処
理プログラム、ゲーム、ワードプロセッサと
いったソフトウェア
オペレーティングシステム
ハードウェアとアプリケーションプログラム
の間の橋渡しをするソフトウェア
カーネル
オペレーティングシステムの中心部分
UNIXオペレーティングシステム
pp. 3~8
基本的なユーザインタフェイスの提供
基本はCUI(Character User Interface)
UNIXオペレーティングシステム
pp. 3~8
実行環境
アプリケーションプログラムが動作するため
の基本的な仕組み
階層的なファイルシステムを提供
複数のソフトウェアを協調させて利用
プロセス間通信やハードウェアがファイ
ルと同じように扱える
さまざまな要素が取り替えられる
仮想記憶がある
UNIXオペレーティングシステム
pp. 3~8
実行環境
パーソナルコンピュータ用オペレーティング
システムと比較して
堅固な保護機能がある
複数のユーザを厳密に区別している
強力なネットワーク機能がある
のような特徴がある
UNIXオペレーティングシステム
pp. 3~8
開発環境
新しいソフトウェアを作るための道具の集合
UNIXは、普通、コンパイラやデバッガとい
った開発用の道具が、オペレーティングシス
テムの一部として含まれている
コミュニティ
哲学
UNIXの種類
pp. 8~10
BSD系
カリフォルニア大学バークレー校を中心に機
能拡張
System V(システムファイブ)系
AT&T社に由来
UNIXの種類
pp. 8~10
ディストリビューション
ソフトウェアの配布
Linuxのディストリビューション
RPM系
RedHat、TurboLinux、VineLinux
Debian系
Debian、KNOPPIX(1CD Linux)
Slackware系
Slackware、Plamo
UNIXとXウィンドウシステム
pp. 10~11
Xウィンドウシステム
GUI(Graphical User Interface)を提供
マサチューセッツ工科大学を中心に開発
さまざまなハードウェアで利用できる
さまざまなメーカで採用されている
ソースプログラムが手に入る
UNIXに関する標準化と規格
p. 11
POSIX(Portable Operating System InterPOSIX(face for Computer Environments)
IEEEが中心になって定められている規格
さまざまな分野で標準化が行われている
SVID(System V Interface Definition)
AT&Tによる、「System V」を名乗るため
の規格
XPG(X/Open Portability Guides)
X/Openによる、ガイドライン
Linux
p. 944
1991年、フィンランドのLinus Torvaldsが
作り始めたIBM PC/AT互換機で動作するUNIX
互換のオペレーティングシステム
USENETなどのコミュニティの助けを借りなが
ら成長
1994年、GPL(GNU General Public
License)の元でインターネット上で配布
Linux
p. 944
当初はIBM PC/AT互換機専用であったが、現
在では、SPARC、DEC Alpha、SGI、Mac
などさまざまなハードウェアで動作
Linus Torvaldsが作ったのは、基本的には、カ
ーネルの部分だけ
コンパイラや基本的なコマンドは、すでに蓄積
されていたものが使われた
Linux
系
1.0
1.2
ChangeLog
リリース年月日
(バージョン)
1994年
3月 13日 (1.0)
1995年
~ 1995年
1996年
3月
8月
6月
2.4
~ 2004年
1999年
~ 2004年
2001年
2月 8日 (2.0.40)
1月 26日 (2.2.0)
2月 25日 (2.2.26)
1月 4日 (2.4.0)
2.6
~ 2008年
2003年
2.0
2.2
~ 2008年
7日 (1.2.0)
2日 (1.2.13)
9日 (2.0)
6月 6日 (2.4.36.6)~
12月 18日 (2.6.0)
4月 17日 (2.6.25.10)~
コンピュータの仕組み
pp. 12~14
コンピュータ(computer)
いろいろな計算をしてくれる機械(計算機)
コンピュータの基本的な部分
メモリ(memory)
情報を記憶しておく
0と1をいくつも並べたもの
この状態の組み合わせが情報(データ)
処理装置(processor)
メモリを読み書きして計算を行う
コンピュータの仕組み
pp. 12~14
ビット(bit)
情報を表すもっとも小さな単位
ビットの列をが数を表現(2進数)
文字も数値(さらにビット列)に直して扱う
バイト(byte)
通常8ビット
全部で256とおりの文字を表現できる
コンピュータの仕組み
pp. 12~14
メモリ番地(memory address)
メモリの中のデータを記憶する場所に割り振
られている数
単に「アドレス(address)」ともいう
アクセス(access)
メモリの中のデータを読み書きすること
多くの場合、1バイトを単位としたデータを
アクセスできるように、1バイトごとにアド
レスが割り当てられる
コンピュータの仕組み
pp. 12~14
16ビットプロセッサ
一度に2バイトのデータをやりとりできる
32ビットプロセッサ
一度に4バイトのデータをやりとりできる
語(word)
一度にやり取りできる情報の単位
効率よく計算を行える単位でもある
語長(word length)
1ワードのビット数
コンピュータの仕組み
pp. 12~14
レジスタ(register)
プロセッサの内部にデータを記憶する場所
クロック(clock)
プロセッサが同期して動く信号
プロセッサは、1クロックの間に、たった1
つの、非常に簡単な仕事をする
命令(instruction)
プロセッサに用意されている仕事
コンピュータの仕組み
pp. 12~14
命令セット(instruction set)
プロセッサが受けつける命令の全体
プログラム(program)
与えられた命令の列
プロセッサは、プログラムを順番に実行する
ことにより、複雑な仕事(計算)をこなす
プログラミング(programming)
プログラムを作ること
コンピュータの仕組み
pp. 12~14
プログラム内蔵方式コンピュータ
(stored program computer)
ノイマン型コンピュータ(von Neumann
program)とも呼ばれる
プログラムをデータの一種としてメモリの中
に格納
プログラムを別のプログラムを使って操作で
きるようになる
コンピュータの仕組み
pp. 12~14
ハードウェア(hardware)
メモリやプロセッサのように実体のあるもの
メモリやプロセッサは、ICやLSIを組み合わ
せた回路
ソフトウェア(software)
プログラムのように実体のないもの
プログラムはメモリの中の情報としてしか存
在しない
UNIXも、ソフトウェアの1つ
コンピュータの手足
pp. 14~18
コンソール(console)
コンピュータを動かしたり止めたり、何をし
ているのかを出力させたりするハードウェア
メモリとプロセッサ、コンソールを一体のも
のと考え、本体とする
オペレータ(operator)
コンソールを使ってコンピュータを操作する
人
コンピュータの手足
pp. 14~18
入出力(I/O)装置
本体とは少し離れた所に置く、データを印刷
したり読み込んだりするハードウェア
通信回線
本体と入出力装置が通信し、データをやり取
りするケーブル
端末
本体から見て通信回線の端につなげられる装
置
コンピュータの手足
pp. 14~18
中央処理装置(CPU)
本体の中のメモリとプロセッサ(入出力装置
に組み込まれているものとは区別される)
周辺装置(peripheral unit)
CPUの外につけられるハードウェア
ディスプレイ(display)
キーボード(keyboard)
マウス(mouse)
プリンタ(printer)
コンピュータの手足
pp. 14~18
主記憶(main memory)
本体の内部メモリ
一次記憶(primary memory)ともいう
長くは保存できない、高価
補助記憶(auxiliary memory)
メモリの中にあるデータを記録し、保存する
ためのハードウェア
二次記憶(secondary memory)ともいう
電源を切った後も保管、大量のデータを記憶
コンピュータの言葉
pp. 18~21
プログラミング言語と処理系
機械(マシン)語(machine language)
コンピュータが直接実行できる命令
メモリにビット列として格納される
大きなプログラムを作るのは不可能
アセンブリ言語(assembly language)
人が読み書きしやすい文字列で機械語を
表現する記法
アセンブラを使って機械語に変換する
コンピュータの言葉
pp. 18~21
プログラミング言語と処理系
高級言語(high level language)
人が使う言葉や概念に基づいて書くこと
のできるプログラミング言語
Fortran、C、COBOL、Java、…
コンパイル(compile)
高級言語で書かれたプログラムを、より
ハードウェアに近い他の言語に変換
ソフトウェアを「コンパイラ」という
コンピュータの言葉
pp. 18~21
プログラミング言語と処理系
ソースプログラム(source program)
コンパイラに与えるプログラム
テキスト形式で記述する
オブジェクトプログラム(object program)
コンパイラが生成したプログラム
そのまま実行できるわけではない
コンピュータの言葉
pp. 18~21
プログラミング言語と処理系
ライブラリ(library)
基本的な処理を個々のプログラムから独
立させて集め、さまざまなプログラムで
利用できるようにしたもの
ランタイムルーチン(runtime routine)
オブジェクトプログラムを実行するとき
に必要となるプログラム
コンピュータの言葉
pp. 18~21
プログラミング言語と処理系
リンク(link)
ライブラリやランタイムルーチンをオブ
ジェクトプログラムに付け足す作業
リンカ(linker)
リンク作業を行うプログラム
インタプリタ(interpreter)
ソースプログラムを直接実行する方式
Lisp、…
コンピュータの言葉
pp. 18~21
プログラミング言語の分類
手続き型言語(procedual language)
命令の実行を明示的に指定する手続きを
単位としてアルゴリズムを記述する
Pascal、Fortran、C、…
オブジェクト指向(object oriented)
物理的、概念的にまとまりのある単位の
枠組みを記述する
Smalltalk、C++、CLOS、ESP、…
コンピュータの服
pp. 21~22
ジョブ(job)
コンピュータで1つの仕事をするために組み
合わせられたプログラム全体
バッチ処理(batch processing)
ジョブをキュー(queue)に蓄えておいて
順番に1つずつ実行する方式
時分割処理(time sharing system)
同時に複数のジョブを実行する(ように見せ
る)方式
コンピュータの服
pp. 21~22
オペレーティングシステム(OS)
プロセス(process)の実行、補助記憶に蓄
えられたデータ(ファイル)の管理、周辺装
置の制御、OSに備えられている機能をユー
ザが使えるようにする、などの役割がある
UNIX
Mac OS
Microsoft Windows
…
いろいろなコンピュータ
pp. 22~27
大型コンピュータ(main frame)
大量のハードウェアによって事務処理や科学
技術計算を高速に行う
IBM System/360(1964年に発表)と同
じ命令セットを持つ
OS/360というOSの流れを汲むものが使わ
れていた
マイクロプログラムでハードウェアの細かい
制御を行う(マイクロプログラム制御)
いろいろなコンピュータ
pp. 22~27
ミニコンピュータ(mini computer)
大型コンピュータよりも規模が小さくて値段
の安いコンピュータ
DEC PDPシリーズ(1960年代に開発)が
始まりであるといわれている
内部仕様が公開されていたので、ユーザが周
辺装置を接続したり、言語処理系を開発した
りが行われた
UNIXと深い関わりがある
いろいろなコンピュータ
pp. 22~27
マイクロプロセッサ(microprocessor)
CPUの機能を1~数個のLSIで実現したもの
コンピュータの小型化、高性能化、低価格化
をもたらした
4ビットの語長を持つIntel 4004(1971年
に開発)が最初
その後、8ビットの語長を持つ8080、Z80
(Zilog)、6809 (Motorola)が開発、
大量生産されるようになる
いろいろなコンピュータ
pp. 22~27
ワークステーション(workstation)
個人あるいは少人数で使うことを前提とし、
対話的に仕事をすることができる
Xerox Alto(1973年に開発)が原型とい
われている
Sun microsystems Sunが最初に商業ベー
スでUNIXを使ったワークステーション
Complex Instruction Set Computerから
Reduced Instruction Set Computerへ
いろいろなコンピュータ
pp. 22~27
パーソナルコンピュータ(PC)
一般のオフィスや家庭を想定し、機能を特定
することで安価に提供
現在、広く使われているPCはIBM PC/AT
互換機とApple Computer Macintosh
PC/ATは、IntelのCPUとMicrosoftのOS
(DOS → Windows)が使われていた
Macintoshは、MotorolaのCPUとApple
ComputerのOS(Mac OS)が使われていた