オペレーティングシス テムの役割と機能
コンピュータシステム 第12回講義
http://www.cuc.ac.jp/~miyata/classes/system/
本日の内容
OSとは
OSの役割と機能
OSの種類と歴史
⼊出⼒管理
ファイル管理
ユーザ管理
(プロセス管理とメモリ管理は次回)
2
OS ( Operating System )とは 3
コンピュータの操作・運用を司 るソフトウェアで,基本ソフト ウェアとも呼ばれる
ユーザ・応用ソフトウェア(ア プリケーション)とハードウェ アの中間にあって,ユーザやア プリケーションに対してプログ ラムを実⾏する環境を提供する
コンピュータを動かすために最 低限必要なもの
OS
ハードウェア 応用ソフトウェア ユーザ(利用者)
API
デバイスドライバ
OS の役割
コンピュータ資源(resource) を効率的に利用する
CPU,主記憶,外部記憶,⼊出⼒装置など限られた資源を有効利用する
機種ごとの違いを吸収して,OS上で動くアプリケーションの開発を容 易にする
APIやデバイスドライバ
ユーザがコンピュータをより使いやすくなるための環境を提供する
GUIなど
4
OS の機能 5
カーネル(核)機能︓基本機能
API(Application Program Interface)
OSがアプリケーションに対して提供する関数群(小さなプログラムの集まり)
ユーザーインターフェース
GUI (Graphical User Interface)
CUI (Character User Interface)
プロセス管理 実⾏しているプロセス(タスク)の管理を⾏う。複数のプロセス を同時並⾏に実⾏するマルチタスクを実現する。
メモリ管理 主記憶領域を有効利用するための管理を⾏う。
⼊出⼒管理 ⼊出⼒装置の管理や制御を⾏う。
ファイル管理 補助記憶装置上の情報をファイル単位で管理する。階層的なファ イル管理機構を提供する。
ユーザ管理 複数のユーザが利用できるコンピュータ環境を提供するとともに,
アクセス権限などの管理を⾏う。
OS の種類
主なOS
6
ワークステーション UNIX 1969年。AT&Tベル研究所が開発。初期はCUI環境 だったが,後にX-Windowsと呼ばれるGUI環境が開発 された。
パソコン MS-DOS 1981年。MicroSoft社が開発。PC/AT互換機用のCUI 環境。シングルタスク。1990年代半ばまで。
Windows 1990年にMicroSoft社がWindows 3.1を開発。1995年 にWindows95が爆発的に売れた。GUI環境。現在は WIndows 10
MacOS Apple社が開発。パソコンでは初めてGUI環境を導⼊。
MacOS X 以降はUNIXをベースにしている。
Linux フィンランドの学生だったLinus Benedict Torvaldsが PC/AT互換機用のUNIX互換OSとして開発した。
スマートフォン iOS Apple社が開発。iPhone,iPad 用
Android Google社が開発。Linuxがベース。主にスマホやタブ レット用。
⼊出⼒管理
⼊出⼒装置(ハードディスク,ディスプレイ,キーボードなど)の管 理を⾏う機能
⼊出⼒装置の標準操作⽅法を提供する。
具体的な装置の操作はデバイスドライバが⾏う。デバイスドライバは装置の メーカーが提供する。ハードウェアの差異を吸収。
⼊出⼒装置とのデータ転送が完了するまでの間,効率的にCPUを利用する。
⼊出⼒装置とCPUの間に特別な記憶領域を用意し,処理速度の違いを緩和 する(バッファリング)。
複数のプロセスから同時に利用される装置(ハードディスクなど)の管理 を⾏う。
7
⼊出⼒制御⽅式
PIO(Porgrammed Input/Output)︓プログラム制御⽅式
主記憶と⼊出⼒装置のデータ転送をCPUが制御する
CPUの負荷が大きくなる
DMA(Direct Memory Access)⽅式
CPUを介さずに主記憶と⼊出⼒装置の間で直接データ転送を⾏う
CPUはDMAコントローラ(DMAC)に転送の指⽰を出し,転送完了通知
(割り込み)を待つ。その間CPUは他のタスクが実⾏可能。
8
主記憶 CPU ⼊出⼒装置
DMAC
主記憶 ⼊出⼒装置 CPU
データ データ
データ
ファイル管理
補助記憶装置上の情報はファイルという単位で扱われる
OSは次のような機能を提供する
フォルダやディレクトリとよばれる階層的にファイルを管理する仕組み
(ファイルシステム)
ファイルを作成・読み書き・削除する機能
ファイルの保護(アクセス権限)および共有
9
階層ディレクトリ
ディレクトリ(directory)
ディレクトリはファイルや別の ディレクトリ(サブディレクト リ)を格納することが可能な⼊れ 物
実際にはディレクトリもファイル の一種
フォルダとも呼ばれる
ルートディレクトリ(root directory)
階層構造の最上位にあるディレク トリ
‘¥’または’/’で表す
カレントディレクトリ(current directory)
現在,作業しているディレクトリ
10
¥
Documents Pictures hoge.docx
zemi aaa.xlsx bbb.jpg ccc.png
report.docx presen.pptx ディレクトリルート
パス指定
パス指定
ファイルへの経路をパスという
ディレクトリ名を’¥’または’/’で つないで表記
絶対パス
ルートディレクトリからの経路
‘¥’または’/’で始める
相対パス
カレントディレクトリからの経 路
‘.’はカレントディレクトリを意 味する
‘..’は親ディレクトリ(1つ上の ディレクトリ)を意味する
11
¥
Documents Pictures hoge.docx
zemi aaa.xlsx bbb.jpg ccc.png
report.docx presen.pptx ディレクトリルート
カレントディレクトリがDocumentsだった場 aaa.xlsx, report.docx, bbb.jpgへのパスは 絶対パス
¥Documents¥aaa.xlsx
相対パス aaa.xlsx
¥Documents¥zemi¥report.docx
¥Pictures¥bbb.jpg
zemi¥report.docx ..¥Pictures¥bbb.jpg
ユーザ管理
コンピュータを複数の⼈間で利用できる環境をマルチユーザ環境とい う(1⼈だけのユーザが利用できる場合はシングルユーザ環境という)
OSは次の機能を提供する
登録されたユーザだけが利用できるように認証を⾏う
利用者の登録と,利用者ごとの使える資源の割り当て
利用者固有の情報を保護
スーパーユーザ
コンピュータを管理するために全権限を持つ管理者用のユーザ
UNIX系OSでは ルート(root),Windows系OSでは アドミン(admin)な どと呼ばれる
12