2003年4月19日(月) 情報コミュニケーションIII A 第2回 コンピュータの仕組み(ソフトウェア編) コンピュータの仕組み コンピュータを構成するもの ハードウェア(Hardware) 物質として存在 手で触れるもの ソフトウェア(Software) ハードウェアを動作させるためのもの プログラムやデータ プログラム ハードウェア(コンピュータ)を利用するためには ソフトウェア(プログラム)が必要不可欠 ハードウェアは2進数しか理解してくれない … 人間は,2進数だけでは理解しにくい (機械語) 2進数 ハードウェアが理解可能 アセンブリ言語 高水準プログラム言語 人間が理解可能 アセンブリ言語(assembly language) コンピュータに対する命令→ 2進数(機械語ともいう) 例えば「AとBを足しなさい」 と命令(コマンド実行) 10001100101000000 0,1の羅列で表現 もう少し分かりやすい表現: アセンブリ言語 例えば「AとBを足しなさい」 add A, B つまりアセンブリ言語とは… 2進数を直接書くよりは人間に分かりやすい コンピュータに対する命令1個について 1行のアセンブリ言語が対応 高水準プログラミング言語 アセンブリ言語でも分かりにくい より人間が理解しやすいほうがいい 高水準プログラミング言語 (high-level programming language) 例えば… 2進数 10001100101000000 = アセンブリ言語 add A,B = 高水準言語 A+B 高水準プログラミング言語の例 言語名 C, C++ COBOL 用途(得意分野) システム記述 事務処理 Fortran, Pascal 科学技術計算 Java 分散協調処理 (ネットワーク対応) 記号処理 文字(テキスト)処理 LISP Perl, Ruby アセンブラとコンパイラ プログラムは最終的には2進数(機械語)に変換 アセンブラ(assembler) アセンブリ言語を2進数に コンパイラ(compiler) 高水準プログラミング言語をアセンブリ言語or2進数に 2進数 (機械語) ア セ ン ブ ラ アセンブリ言語 コ ン パ イ ラ 注意:高水準プログラミング言語から直接 2進数に変換するコンパイラも存在する 高水準言語 ソフトウェアの相互関係 ソフトウェアの中には,よく利用されるものがある プリントアウトするためのもの.ハードディスクから データを読み出すもの. 画面に文字を表示させるもの… こういうものを集めたものを「サブルーチン・ライブラリ」という ワープロ みんなで使おう!! お絵かき WWWブラウザ プリントアウトルーチン システムとアプリケーション ソフトウェアは大きく分けて2種類 アプリケーション・ソフトウェア(application software) ユーザ(普通は人間)に提供される有用なプログラム (ワープロ→Word ,一太郎,表計算→Lotus123, Excel, お絵かきなど→Visio, Photoshop など) システム・ソフトウェア(system software) プログラムにとって有用なサブルーチンなどを提供するも の(プリントアウト,ネットワーク通信など) ユーザ アプリケーション・ソフトウェア システム・ソフトウェア ハードウェア オペレーティング・システム オペレーティング・システム(Operating System) 通称: OS コンピュータの構成要素を管理し,プログラムの実行 効率を高めるためのプログラム群 システム・ソフトウェアの一種 信頼性(reliability),可用性(availability), 保守性( serviceabilit y ) ,一貫性 (inte grity ) , 安全性(security)が必須・・・・RASIS さらに移植性(portability), ユーザ親和性(user-friendliness)も重要 OSの種類 現在よく利用されているOS達 MacOS(Apple社) Macintosh Windows(Microsoft社) Intel系 PC(一般的なパソコ ン) UNIX(AT&T社のベル研究所で開発) 後に様々なプラットホームに移植 商用のもの:Solaris, HP-UX, IRIX 専用のワークステーションで利用 フリー(無料)のもの: FreeBSD,NetBSD,OpenBSD Intel系 PC, PowerPC系, Alpha-chip系 Linux (Linus Torvalds氏が開発) UNIX とほとんど同じだが、厳密にはUNIX ではない その他: OS/2, BeOS, TRON系(BTRON,ITRON)など バッチ処理とタイムシェアリング(1) OSは,たくさんの仕事(ジョブ)をこなす必要あり ユーザやプログラムからの要求 仕事のこなし方は,大きく分けて次の二つ バッチ処理(batch processing) 仕事(ジョブ(job))を待ち行列(queue)に入れて,順にひとつ ずつ処理していく タイム・シェアリング・システム(Time Sharing System) TSS 複数のジョブを時分割で処理 すべてのジョブを少しずつ処理する 注意:ジョブのことをプロセス(process)と呼ぶ バッチ処理とタイムシェアリング(2) バッチ処理 待ち行列(queue) C B A 処理の様子 時間 前のジョブが終わるまで待たされる タイムシェアリングシステム ジョブ C B A 処理の様子 時間 タイムスライス タイムスライスは非常に短いので,あたかも3つのジョブを 同時に実行しているように見える OSの役割 OSはハードウェアの違いを吸収する ユーザあるいはアプリケーションソフトウェアは, ハードウェアの違いを意識する必要はなくなる OSはすべての資源を管理する いくつかの管理プログラムによって実現 プロセス管理,入出力管理,メモリ管理,ファイル管理 ユーザ アプリケーション・ソフトウェア システム・ソフトウェア ハードウェア OSの守備範囲 OSの種類 シングルユーザ・シングルタスク 同時に1ユーザ,同時に1タスク(=ジョブ) CP/M, MS-DOSなど「いにしえの」OSたち シングルユーザ・マルチタスク 同時に1ユーザ,同時に複数タスク MacOS, Windows 3.1/ 95 / 98 / Me など マルチユーザ・マルチタスク 同時に複数ユーザ,同時に複数タスク UNIX, Windows NT / 2000 / XP,MacOS Xなど ファイル・システム ファイル 意味を持ったデータのまとまり Windowsのアイコンの単位 ファイルシステム ファイルをどこに,どういう形式で格納するか? ファイルをどういう方法で取り出すか? に関する取り決め これが決まっていないと,OSはファイルの入出力ができな い(人間の事務作業と同じ) UFS(UNIX), NTFS(Windows NT / 2000 / XP ), FAT(MS-DOS / Windows / 95 / 98 / Me) などOSによっ てもいろいろ UNIXでのファイルシステム ユーザから見えるUNIXのファイルシステム例 実際にハードディスクやメモリ上にどのように格納さ れているかはユーザは関知しない ルート(root)を根とする木構造 local bin :ファイル usr bin :ディレクトリ(directory) Windowsでいうところの フォルダに相当.これも ファイルの一種(複数の ファイルを格納できるファ イル) /(root) spool lpd var log httpd access_log ファイル・パス ファイル・パス(あるいは単にパス(path)) ファイルの場所を表すもの 絶対パス:ルートからそのファイルの場所までのパス 相対パス:ある場所からの相対的なパス パスの作り方 ディレクトリ名を “ / ” で区切る Windows 系では、 “ ¥ ” ルートディレクトリは “ / ” で表す 一つ上のディレクトリは “ .. ” で表す 最後は目的のファイル(ディレクトリ)名 パスの例 local bin usr bin /(root) spool lpd var log httpd access_log 絶対パス: /var/log/httpd/access_log spoolからの相対パス: ../log/httpd/access_log ファイル・フォーマット ファイル・フォーマット(file format) データをファイルに格納する際の取り決め 様々な方法がある 例えば住所録をどういうフォーマットで格納するか? 必要な情報: 名前,住所,電話番号 1. 各項目(フィールド)の長さを決めておく Robert □□□□Kyoto□□□□□116□□ 2. 区切り文字と順番を決めておく Robert,Kyoto,116 3. 簡単だが無駄が多い 各項目に名前を付けておく 無駄はないが区切り文字が 区別のため文字列を そのままではデータ中で使えない “ ”で囲むとよい(CSV: Comma Separated Value) NAME=Robert,ADDRESS=Kyoto,TEL=116 分かりやすいが無駄も多い ファイル名とファイルフォーマット Windowsでは,“.”以降の文字(原則3文字. 拡張子と呼ぶ)でファイルフォーマットを推測 exe… 実行形式ファイル doc… Word ファイル xls… Excel ファイル ppt… PowerPoint ファイル jxw… 一太郎ファイル それぞれの拡張子に応じたアプリケーションを自動起動 (アイコンをクリックして、自動的に開くため) UNIXでは“file”コマンドでファイルフォーマット がある程度分かる ミニレポート 今回の課題 自分の持っているパソコンについて ハードウェアのスペック CPUの種類,メモリおよびハードディスクの容量 付属しているインタフェース, 利用している二次記憶装置 OSの種類 を調べてまとめよ 授業感想,質問等 [email protected] 題名:0419 締め切りは次の講義日の前日(4/25)まで
© Copyright 2024 ExpyDoc