ゼロからの情報システム

  現代社会の情報インフラの仕組みをゼロから学べます.

入出力独立性

情報社会に生きるアナタ.
自動車社会で自動車や高速道路や宅配便のこと知らないで生きていけますか.
情報社会では,スマホやパソコンやインターネットやウェブが,自動車や高速道路や宅配便に相当します.
このサイトは,パソコン使いのパソコン知らず,を対象に情報社会の基盤技術を説明します.

3.23 表計算ソフトの再計算機能も独立性を利用しています

入力作業と表示作業の独立性の発見は,表計算ソフトの秘密を理解するのにも大いに役立ちます.

表計算ソフトのすごいところは,表の1カ所の値を書き換えると,その値が影響を与えるすべての欄(セル)の値を計算し直して,いつも,全体として矛盾のないようにしてくれることです.

自分で計算のやり直しをしないで済むのですから,初めて体験した時は,ひどく感動しました.皆さんはどうでしょうか.

これは表計算ソフトの再計算機能と呼ばれています.どこかの値を修正すると,関係するセルの値を計算し直すからです.

どんな手順でこういうことを実現したのか,は技術者の領分ですから私たちは立ち入りません.しかし,なぜこんなことができるのかと言えば,それは入力と表示の独立性によるのです.

表計算ソフトでは,表の各セルに関連するデータとして,ディスプレイに表示する「値」そのものの他に,その値の計算式や値の表示様式などもRAMに記憶しています.

表の各セルには番地が付けられています.表の各行には上から1から始まる通し番号が付けられ,各列には左から右へとAから始まるアルファベットが付されています.

セルの番地はこの列名と行番号から成ります.F5であれば,F列の上から5番目のセルという具合です.セルの値は利用者が入力しますから,セルの番地は,表計算ソフトにとっては,数式の中の「変数」のようなものです.その番地のセルの値を意味するからです.

セルに関するデータとしてRAMに記憶されている計算式は,そのセルの値を計算するために利用するセルの番地を変数にして記述されています.あるセルの値が変更された時,そのセルの番地を使う計算式を持つセルが,今変わったセルの値の影響を受けると判断できます.

 そのことに気づけば,再計算機能がなぜ実現できるのかの,あらすじを追うのはもう簡単ですね.

3.22 入力をRAMに記憶することが独立性をもたらす

入力済みの文書に変更を加える前項に述べたような作業は,RAMにすでに記憶してあるデータを書き換えるものです.

ところが,空白のところに新しくデータを入力するのと,すでに有るデータを書き換えるのでは,CPUが行う処理内容が異なります.

編集作業の種類によって処理の内容が異なるのですから,作業に応じてプログラムを切り替えることが必要になります.その切り替えをCPUに指示するために,修正する範囲を選択したり,メニューから適当な編集作業を選択するなどするのです.

こうしてプログラムの切り替えができてしまえば,何しろ私たちの作業スピードに比べれば,CPUのスピードは圧倒的ですから,いかにもディスプレイの文字に作業したように感るように,データ処理することができるのです.

例えば,1つの段落を選択し,「編集」メニューの「コピー」を選択します.(あるいは,Ctrl+Cを押します.)すると,CPUは選択した範囲をクリップボードと呼ばれるRAMの特定の位置に書き込みます.

次に,カーソルを望みの位置に移動して,「編集」メニューの「張り付け」を選択します.(あるいは,Ctrl+Vを押します.)すると,選択した段落がその位置に複写されます.

これはプログラムの中で,次のような手順で実現されています.

CPUは,選択された範囲の文字数に合わせて,移動した先のカーソル位置から以降のRAMに記憶された文字データを後に移動します.

これには最後の文字データから必要文字数分だけ後に移動することを繰り返します.それが終わると,最後に移動した文字のあったRAMの場所から始めて,順に,クリップボードの文字データを先頭から順に移動します.

この作業は,CPUのスピードをもってすれば,目にも止まらぬ速さで終わってしまいます.

その上で,今表示している範囲の(変更済みの)データをVRAMに書き込むのです.毎秒60回程度ディスプレイは表示をし直していますから,すぐに表示内容の変化となって反映されるというわけです.

CPUはこうした処理をワープロのプログラムからの指示によって行います.プログラムでこのような処理をするためには,厳密な手順を作り上げることが必要ですが,それは技術者に任せましょう.

 私たち利用者は,そういう厳密な手順を行うプログラムがあって,それによって上記のような処理が行われていること,それが入力作業と表示作業の独立性を利用したものだということを理解すれば十分です.

3.21 入力作業と出力作業の独立性がパソコン作業の柔軟性の源です

パソコンを使って仕事をする時,私たちはディスプレイを見て,キーボードとマウスで作業をします.

GUI環境は,私たちがあたかもキーボードとマウスで,ディスプレイの表示に直接作業をしているような感覚を持つように,工夫されています.しかし,私たちがキーボードやマウスを動かして入力しているのはRAMのどこかへであって,ディスプレイではないことはすでに勉強しました(1.37参照).

ディスプレイの表示は,私たちがRAMへ入力するたびに,瞬間的にプログラム(が,それまでの作業に関してRAMに保存しておいた作業経過に基づいて下した判断)からの指示によってCPUVRAMに変更を加えること,毎秒決められた回数ディスプレイが表示を繰り返していることなどによって可能になるのでした.

要するに,入力の内容をCPUで処理をした結果がディスプレイ上に表示されている,ということです.

このような入力作業と表示作業の独立性は,人手で文字や図などを処理する場合との決定的な違いと言って良いでしょう.

コピー,削除,移動,挿入,修正などが容易なのは,パソコンによる文書作業の特徴です.そのお陰で,気軽に間違えることができます.

実は,これも入力作業と表示作業の独立性から来ることなのです.つまり,ディスプレイに表示している内容に直接入力作業をしているのではないからできることなのです.

文書の一部のコピーと削除では,結果として作られる文書が大きく異なるのですから,それを実現するプログラムも違っているはずです.

このことは,メニューから1つの機能を選択することは,プログラムを,選択された機能に合うものに切り替えることだということに,あらためて気づかせます.

 特殊キーショートカットとして有効なのは,これを押すことによって,入力を処理するプログラムを切り替えることができるからなのです.ワープロを使っている時に,ウィンドウキーを押すとスタートメニューを表示する,というように処理を変えるのです.
プロフィール

ヤッキー

カテゴリ別アーカイブ
タグクラウド
QRコード
QRコード
  • ライブドアブログ